ºÝºÝߣshows by User: bergel / http://www.slideshare.net/images/logo.gif ºÝºÝߣshows by User: bergel / Tue, 17 Dec 2019 17:02:24 GMT ºÝºÝߣShare feed for ºÝºÝߣshows by User: bergel Building Neural Network Through Neuroevolution /slideshow/neuroevolution-206815024/206815024 neuroevolution-191217170224
1 hour class on Neuroevolution. After presenting genetic algorithm, two neurevolutions algorithms are presented, simple and NEAT. Various examples about artificial life and video games are given]]>

1 hour class on Neuroevolution. After presenting genetic algorithm, two neurevolutions algorithms are presented, simple and NEAT. Various examples about artificial life and video games are given]]>
Tue, 17 Dec 2019 17:02:24 GMT /slideshow/neuroevolution-206815024/206815024 bergel@slideshare.net(bergel) Building Neural Network Through Neuroevolution bergel 1 hour class on Neuroevolution. After presenting genetic algorithm, two neurevolutions algorithms are presented, simple and NEAT. Various examples about artificial life and video games are given <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/neuroevolution-191217170224-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> 1 hour class on Neuroevolution. After presenting genetic algorithm, two neurevolutions algorithms are presented, simple and NEAT. Various examples about artificial life and video games are given
Building Neural Network Through Neuroevolution from bergel
]]>
639 3 https://cdn.slidesharecdn.com/ss_thumbnails/neuroevolution-191217170224-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
Roassal presentation /slideshow/roassal-presentation/15089815 2012-roassalsmalltalks-121108151436-phpapp02
]]>

]]>
Thu, 08 Nov 2012 15:14:33 GMT /slideshow/roassal-presentation/15089815 bergel@slideshare.net(bergel) Roassal presentation bergel <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/2012-roassalsmalltalks-121108151436-phpapp02-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br>
Roassal presentation from bergel
]]>
1145 2 https://cdn.slidesharecdn.com/ss_thumbnails/2012-roassalsmalltalks-121108151436-phpapp02-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
2011 famoosr /slideshow/2011-famoosr/8977688 2011-famoosr-110823094855-phpapp01
Minutes from the FAMOOSr workshop which tool place at ESUG, Edinburg ]]>

Minutes from the FAMOOSr workshop which tool place at ESUG, Edinburg ]]>
Tue, 23 Aug 2011 09:48:55 GMT /slideshow/2011-famoosr/8977688 bergel@slideshare.net(bergel) 2011 famoosr bergel Minutes from the FAMOOSr workshop which tool place at ESUG, Edinburg <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/2011-famoosr-110823094855-phpapp01-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> Minutes from the FAMOOSr workshop which tool place at ESUG, Edinburg
2011 famoosr from bergel
]]>
547 1 https://cdn.slidesharecdn.com/ss_thumbnails/2011-famoosr-110823094855-phpapp01-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
2011 ecoop /slideshow/2011-ecoop/8727388 2011-ecoop-110729142840-phpapp02
Code profilers are used to identify execution bottlenecks and understand the cause of a slowdown. Execution sampling is a monitoring technique commonly employed by code profilers because of its low impact on execution. Regularly sampling the execution of an application estimates the amount of time the interpreter, hardware or software, spent in each method execution time. Nevertheless, this execution time estimation is highly sensitive to the execution environment, making it non reproductive, non-deterministic and not comparable across platforms. On our platform, we have observed that the number of messages sent per second remains within tight (±7%) bounds across a basket of 16 applications. Using principally the Pharo platform for experimentation, we show that such a proxy is stable, reproducible over multiple executions, profiles are comparable, even when obtained in different execution contexts. We have produced Compteur, a new code profiler that does not suffer from execution sampling limitations and have used it to extend the SUnit testing framework for execution comparison.]]>

Code profilers are used to identify execution bottlenecks and understand the cause of a slowdown. Execution sampling is a monitoring technique commonly employed by code profilers because of its low impact on execution. Regularly sampling the execution of an application estimates the amount of time the interpreter, hardware or software, spent in each method execution time. Nevertheless, this execution time estimation is highly sensitive to the execution environment, making it non reproductive, non-deterministic and not comparable across platforms. On our platform, we have observed that the number of messages sent per second remains within tight (±7%) bounds across a basket of 16 applications. Using principally the Pharo platform for experimentation, we show that such a proxy is stable, reproducible over multiple executions, profiles are comparable, even when obtained in different execution contexts. We have produced Compteur, a new code profiler that does not suffer from execution sampling limitations and have used it to extend the SUnit testing framework for execution comparison.]]>
Fri, 29 Jul 2011 14:28:38 GMT /slideshow/2011-ecoop/8727388 bergel@slideshare.net(bergel) 2011 ecoop bergel Code profilers are used to identify execution bottlenecks and understand the cause of a slowdown. Execution sampling is a monitoring technique commonly employed by code profilers because of its low impact on execution. Regularly sampling the execution of an application estimates the amount of time the interpreter, hardware or software, spent in each method execution time. Nevertheless, this execution time estimation is highly sensitive to the execution environment, making it non reproductive, non-deterministic and not comparable across platforms. On our platform, we have observed that the number of messages sent per second remains within tight (±7%) bounds across a basket of 16 applications. Using principally the Pharo platform for experimentation, we show that such a proxy is stable, reproducible over multiple executions, profiles are comparable, even when obtained in different execution contexts. We have produced Compteur, a new code profiler that does not suffer from execution sampling limitations and have used it to extend the SUnit testing framework for execution comparison. <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/2011-ecoop-110729142840-phpapp02-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> Code profilers are used to identify execution bottlenecks and understand the cause of a slowdown. Execution sampling is a monitoring technique commonly employed by code profilers because of its low impact on execution. Regularly sampling the execution of an application estimates the amount of time the interpreter, hardware or software, spent in each method execution time. Nevertheless, this execution time estimation is highly sensitive to the execution environment, making it non reproductive, non-deterministic and not comparable across platforms. On our platform, we have observed that the number of messages sent per second remains within tight (±7%) bounds across a basket of 16 applications. Using principally the Pharo platform for experimentation, we show that such a proxy is stable, reproducible over multiple executions, profiles are comparable, even when obtained in different execution contexts. We have produced Compteur, a new code profiler that does not suffer from execution sampling limitations and have used it to extend the SUnit testing framework for execution comparison.
2011 ecoop from bergel
]]>
480 1 https://cdn.slidesharecdn.com/ss_thumbnails/2011-ecoop-110729142840-phpapp02-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
Test beautycleanness /slideshow/test-beautycleanness/8337193 testbeautycleanness-110617075905-phpapp02
a code oriented illustration of test-driven development, incremental software change]]>

a code oriented illustration of test-driven development, incremental software change]]>
Fri, 17 Jun 2011 07:59:02 GMT /slideshow/test-beautycleanness/8337193 bergel@slideshare.net(bergel) Test beautycleanness bergel a code oriented illustration of test-driven development, incremental software change <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/testbeautycleanness-110617075905-phpapp02-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> a code oriented illustration of test-driven development, incremental software change
Test beautycleanness from bergel
]]>
491 3 https://cdn.slidesharecdn.com/ss_thumbnails/testbeautycleanness-110617075905-phpapp02-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
Multi dimensional profiling /slideshow/multi-dimensional-profiling/5770165 2010-profilingobjects-101113133636-phpapp02
]]>

]]>
Sat, 13 Nov 2010 13:36:23 GMT /slideshow/multi-dimensional-profiling/5770165 bergel@slideshare.net(bergel) Multi dimensional profiling bergel <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/2010-profilingobjects-101113133636-phpapp02-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br>
Multi dimensional profiling from bergel
]]>
322 0 https://cdn.slidesharecdn.com/ss_thumbnails/2010-profilingobjects-101113133636-phpapp02-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
Profiling blueprints /slideshow/profiling-blueprints/4710810 2010-profilingblueprinttools-100708083345-phpapp02
Alexandre Bergel, Romain Robbes and Walter Binder, Visualizing Dynamic Metrics with Profiling Blueprints, In Proceedings of the 48th International Conference on Objects, Models, Components, Patterns (TOOLS EUROPE'10), July 2010, LNCS Springer Verlag http://www.bergel.eu/download/papers/Berg10aProfiling.pdf]]>

Alexandre Bergel, Romain Robbes and Walter Binder, Visualizing Dynamic Metrics with Profiling Blueprints, In Proceedings of the 48th International Conference on Objects, Models, Components, Patterns (TOOLS EUROPE'10), July 2010, LNCS Springer Verlag http://www.bergel.eu/download/papers/Berg10aProfiling.pdf]]>
Thu, 08 Jul 2010 08:33:35 GMT /slideshow/profiling-blueprints/4710810 bergel@slideshare.net(bergel) Profiling blueprints bergel Alexandre Bergel, Romain Robbes and Walter Binder, Visualizing Dynamic Metrics with Profiling Blueprints, In Proceedings of the 48th International Conference on Objects, Models, Components, Patterns (TOOLS EUROPE'10), July 2010, LNCS Springer Verlag http://www.bergel.eu/download/papers/Berg10aProfiling.pdf <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/2010-profilingblueprinttools-100708083345-phpapp02-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> Alexandre Bergel, Romain Robbes and Walter Binder, Visualizing Dynamic Metrics with Profiling Blueprints, In Proceedings of the 48th International Conference on Objects, Models, Components, Patterns (TOOLS EUROPE&#39;10), July 2010, LNCS Springer Verlag http://www.bergel.eu/download/papers/Berg10aProfiling.pdf
Profiling blueprints from bergel
]]>
711 1 https://cdn.slidesharecdn.com/ss_thumbnails/2010-profilingblueprinttools-100708083345-phpapp02-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
The Pharo Programming Language /slideshow/the-pharo-programming-language/1912206 pharo-090826174118-phpapp01
Pharo is a Smalltalk dialect programming language. From the pharo-project.org website: "Pharo's goal is to deliver a clean, innovative, open-source Smalltalk environment. By providing a stable and small core system, excellent developer tools, and maintained releases, Pharo is an attractive platform to build and deploy mission critical Smalltalk applications. Pharo is MIT licensed and is steered by a board of benevolent dictators. The board makes final decisions if no consensus can be reached within the community. Pharo fosters a healthy ecosystem of both private and commercial contributors who advance and maintain the core system and its external packages."]]>

Pharo is a Smalltalk dialect programming language. From the pharo-project.org website: "Pharo's goal is to deliver a clean, innovative, open-source Smalltalk environment. By providing a stable and small core system, excellent developer tools, and maintained releases, Pharo is an attractive platform to build and deploy mission critical Smalltalk applications. Pharo is MIT licensed and is steered by a board of benevolent dictators. The board makes final decisions if no consensus can be reached within the community. Pharo fosters a healthy ecosystem of both private and commercial contributors who advance and maintain the core system and its external packages."]]>
Wed, 26 Aug 2009 17:40:28 GMT /slideshow/the-pharo-programming-language/1912206 bergel@slideshare.net(bergel) The Pharo Programming Language bergel Pharo is a Smalltalk dialect programming language. From the pharo-project.org website: "Pharo's goal is to deliver a clean, innovative, open-source Smalltalk environment. By providing a stable and small core system, excellent developer tools, and maintained releases, Pharo is an attractive platform to build and deploy mission critical Smalltalk applications. Pharo is MIT licensed and is steered by a board of benevolent dictators. The board makes final decisions if no consensus can be reached within the community. Pharo fosters a healthy ecosystem of both private and commercial contributors who advance and maintain the core system and its external packages." <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/pharo-090826174118-phpapp01-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> Pharo is a Smalltalk dialect programming language. From the pharo-project.org website: &quot;Pharo&#39;s goal is to deliver a clean, innovative, open-source Smalltalk environment. By providing a stable and small core system, excellent developer tools, and maintained releases, Pharo is an attractive platform to build and deploy mission critical Smalltalk applications. Pharo is MIT licensed and is steered by a board of benevolent dictators. The board makes final decisions if no consensus can be reached within the community. Pharo fosters a healthy ecosystem of both private and commercial contributors who advance and maintain the core system and its external packages.&quot;
The Pharo Programming Language from bergel
]]>
24007 4 https://cdn.slidesharecdn.com/ss_thumbnails/pharo-090826174118-phpapp01-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
2008 Sccc Inheritance /slideshow/2008-sccc-inheritance-presentation/749525 2008scccinheritance-1226589963969611-8
After a short introduction to object orientation, this lecture gives an overview of the Smalltalk programming language. This lecture was given on November 10, 2008, during the summer school on programming languages (http://pleiad.dcc.uchile.cl/pl2008/)]]>

After a short introduction to object orientation, this lecture gives an overview of the Smalltalk programming language. This lecture was given on November 10, 2008, during the summer school on programming languages (http://pleiad.dcc.uchile.cl/pl2008/)]]>
Thu, 13 Nov 2008 07:28:11 GMT /slideshow/2008-sccc-inheritance-presentation/749525 bergel@slideshare.net(bergel) 2008 Sccc Inheritance bergel After a short introduction to object orientation, this lecture gives an overview of the Smalltalk programming language. This lecture was given on November 10, 2008, during the summer school on programming languages (http://pleiad.dcc.uchile.cl/pl2008/) <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/2008scccinheritance-1226589963969611-8-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> After a short introduction to object orientation, this lecture gives an overview of the Smalltalk programming language. This lecture was given on November 10, 2008, during the summer school on programming languages (http://pleiad.dcc.uchile.cl/pl2008/)
2008 Sccc Inheritance from bergel
]]>
493 3 https://cdn.slidesharecdn.com/ss_thumbnails/2008scccinheritance-1226589963969611-8-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
2008 Sccc Smalltalk /slideshow/2008-sccc-smalltalk-presentation/749520 2008scccsmalltalk-1226590122393003-9
After a short introduction to object orientation, this lecture gives an overview of the Smalltalk programming language. This lecture was given on November 10, 2008, during the summer school on programming languages (http://pleiad.dcc.uchile.cl/pl2008/)]]>

After a short introduction to object orientation, this lecture gives an overview of the Smalltalk programming language. This lecture was given on November 10, 2008, during the summer school on programming languages (http://pleiad.dcc.uchile.cl/pl2008/)]]>
Thu, 13 Nov 2008 07:27:49 GMT /slideshow/2008-sccc-smalltalk-presentation/749520 bergel@slideshare.net(bergel) 2008 Sccc Smalltalk bergel After a short introduction to object orientation, this lecture gives an overview of the Smalltalk programming language. This lecture was given on November 10, 2008, during the summer school on programming languages (http://pleiad.dcc.uchile.cl/pl2008/) <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/2008scccsmalltalk-1226590122393003-9-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> After a short introduction to object orientation, this lecture gives an overview of the Smalltalk programming language. This lecture was given on November 10, 2008, during the summer school on programming languages (http://pleiad.dcc.uchile.cl/pl2008/)
2008 Sccc Smalltalk from bergel
]]>
871 4 https://cdn.slidesharecdn.com/ss_thumbnails/2008scccsmalltalk-1226590122393003-9-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
Presentation of Traits /slideshow/presentation-of-traits/491018 traitsalexandre-1214726836697137-8
Traits are a simple composition mechanism for structuring object-oriented programs. A Trait is essentially a parameterized set of methods; it serves as a behavioral building block for classes and is the primitive unit of code reuse. With Traits, classes are still organized in a single inheritance hierarchy, but they can make use of Traits to specify the incremental difference in behavior with respect to their superclasses.]]>

Traits are a simple composition mechanism for structuring object-oriented programs. A Trait is essentially a parameterized set of methods; it serves as a behavioral building block for classes and is the primitive unit of code reuse. With Traits, classes are still organized in a single inheritance hierarchy, but they can make use of Traits to specify the incremental difference in behavior with respect to their superclasses.]]>
Sun, 29 Jun 2008 01:08:16 GMT /slideshow/presentation-of-traits/491018 bergel@slideshare.net(bergel) Presentation of Traits bergel Traits are a simple composition mechanism for structuring object-oriented programs. A Trait is essentially a parameterized set of methods; it serves as a behavioral building block for classes and is the primitive unit of code reuse. With Traits, classes are still organized in a single inheritance hierarchy, but they can make use of Traits to specify the incremental difference in behavior with respect to their superclasses. <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/traitsalexandre-1214726836697137-8-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> Traits are a simple composition mechanism for structuring object-oriented programs. A Trait is essentially a parameterized set of methods; it serves as a behavioral building block for classes and is the primitive unit of code reuse. With Traits, classes are still organized in a single inheritance hierarchy, but they can make use of Traits to specify the incremental difference in behavior with respect to their superclasses.
Presentation of Traits from bergel
]]>
634 2 https://cdn.slidesharecdn.com/ss_thumbnails/traitsalexandre-1214726836697137-8-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
2006 Seaside /slideshow/2006-seaside/167476 2006-seaside-1195128616560900-4
Lecture given at the University of Bern in 2005. Seaside website: http://www.seaside.st]]>

Lecture given at the University of Bern in 2005. Seaside website: http://www.seaside.st]]>
Thu, 15 Nov 2007 04:10:17 GMT /slideshow/2006-seaside/167476 bergel@slideshare.net(bergel) 2006 Seaside bergel Lecture given at the University of Bern in 2005. Seaside website: http://www.seaside.st <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/2006-seaside-1195128616560900-4-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> Lecture given at the University of Bern in 2005. Seaside website: http://www.seaside.st
2006 Seaside from bergel
]]>
2203 7 https://cdn.slidesharecdn.com/ss_thumbnails/2006-seaside-1195128616560900-4-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
2006 Small Scheme /slideshow/2006-small-scheme/167475 2006-small-scheme-1195128574585059-2
Building a Scheme interpreter in Smalltalk. Lectured given at the Engineering school of Annecy (France) in 2006]]>

Building a Scheme interpreter in Smalltalk. Lectured given at the Engineering school of Annecy (France) in 2006]]>
Thu, 15 Nov 2007 04:09:35 GMT /slideshow/2006-small-scheme/167475 bergel@slideshare.net(bergel) 2006 Small Scheme bergel Building a Scheme interpreter in Smalltalk. Lectured given at the Engineering school of Annecy (France) in 2006 <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/2006-small-scheme-1195128574585059-2-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> Building a Scheme interpreter in Smalltalk. Lectured given at the Engineering school of Annecy (France) in 2006
2006 Small Scheme from bergel
]]>
739 3 https://cdn.slidesharecdn.com/ss_thumbnails/2006-small-scheme-1195128574585059-2-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
2004 Esug Prototalk /slideshow/2004-esug-prototalk/167473 2004-esug-prototalk-1195128473264282-3
With prototype-based languages, concretization and abstraction are unified into a single concept a prototype. Prototype-based languages are based on a simple set of principles: object-centered representation, dynamic reshape of objects, cloning and possibly message delegation. However, they all differ in the interpretation and combination of these principles. Therefore there is a need to compare and understand. In this paper we present Prototalk, a research and teaching vehicle to understand, implement and compare prototype-based languages. Prototalk is a framework that offers a predefined set of language data structures and mechanisms that can be composed and extended to generate various prototype-based language interpreters. It presents a classification of languages based on different mechanisms in an operational manner.]]>

With prototype-based languages, concretization and abstraction are unified into a single concept a prototype. Prototype-based languages are based on a simple set of principles: object-centered representation, dynamic reshape of objects, cloning and possibly message delegation. However, they all differ in the interpretation and combination of these principles. Therefore there is a need to compare and understand. In this paper we present Prototalk, a research and teaching vehicle to understand, implement and compare prototype-based languages. Prototalk is a framework that offers a predefined set of language data structures and mechanisms that can be composed and extended to generate various prototype-based language interpreters. It presents a classification of languages based on different mechanisms in an operational manner.]]>
Thu, 15 Nov 2007 04:07:56 GMT /slideshow/2004-esug-prototalk/167473 bergel@slideshare.net(bergel) 2004 Esug Prototalk bergel With prototype-based languages, concretization and abstraction are unified into a single concept a prototype. Prototype-based languages are based on a simple set of principles: object-centered representation, dynamic reshape of objects, cloning and possibly message delegation. However, they all differ in the interpretation and combination of these principles. Therefore there is a need to compare and understand. In this paper we present Prototalk, a research and teaching vehicle to understand, implement and compare prototype-based languages. Prototalk is a framework that offers a predefined set of language data structures and mechanisms that can be composed and extended to generate various prototype-based language interpreters. It presents a classification of languages based on different mechanisms in an operational manner. <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/2004-esug-prototalk-1195128473264282-3-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> With prototype-based languages, concretization and abstraction are unified into a single concept a prototype. Prototype-based languages are based on a simple set of principles: object-centered representation, dynamic reshape of objects, cloning and possibly message delegation. However, they all differ in the interpretation and combination of these principles. Therefore there is a need to compare and understand. In this paper we present Prototalk, a research and teaching vehicle to understand, implement and compare prototype-based languages. Prototalk is a framework that offers a predefined set of language data structures and mechanisms that can be composed and extended to generate various prototype-based language interpreters. It presents a classification of languages based on different mechanisms in an operational manner.
2004 Esug Prototalk from bergel
]]>
964 2 https://cdn.slidesharecdn.com/ss_thumbnails/2004-esug-prototalk-1195128473264282-3-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
2005 Oopsla Classboxj /slideshow/2005-oopsla-classboxj/167470 2005-oopsla-classboxj-1195128431498471-2
Unanticipated changes to complex software systems can introduce anomalies such as duplicated code, suboptimal inheritance relationships and a proliferation of run-time downcasts. Refactoring to eliminate these anomalies may not be an option, at least in certain stages of software evolution. Classboxes are modules that restrict the visibility of changes to selected clients only, thereby offering more freedom in the way unanticipated changes may be implemented, and thus reducing the need for convoluted design anomalies. In this paper we demonstrate how classboxes can be implemented in statically-typed languages like Java. We also present an extended case study of Swing, a Java GUI package built on top of AWT, and we document the ensuing anomalies that Swing introduces. We show how Classbox/J, a prototype implementation of classboxes for Java, is used to provide a cleaner implementation of Swing using local refinement rather than subclassing.]]>

Unanticipated changes to complex software systems can introduce anomalies such as duplicated code, suboptimal inheritance relationships and a proliferation of run-time downcasts. Refactoring to eliminate these anomalies may not be an option, at least in certain stages of software evolution. Classboxes are modules that restrict the visibility of changes to selected clients only, thereby offering more freedom in the way unanticipated changes may be implemented, and thus reducing the need for convoluted design anomalies. In this paper we demonstrate how classboxes can be implemented in statically-typed languages like Java. We also present an extended case study of Swing, a Java GUI package built on top of AWT, and we document the ensuing anomalies that Swing introduces. We show how Classbox/J, a prototype implementation of classboxes for Java, is used to provide a cleaner implementation of Swing using local refinement rather than subclassing.]]>
Thu, 15 Nov 2007 04:07:12 GMT /slideshow/2005-oopsla-classboxj/167470 bergel@slideshare.net(bergel) 2005 Oopsla Classboxj bergel Unanticipated changes to complex software systems can introduce anomalies such as duplicated code, suboptimal inheritance relationships and a proliferation of run-time downcasts. Refactoring to eliminate these anomalies may not be an option, at least in certain stages of software evolution. Classboxes are modules that restrict the visibility of changes to selected clients only, thereby offering more freedom in the way unanticipated changes may be implemented, and thus reducing the need for convoluted design anomalies. In this paper we demonstrate how classboxes can be implemented in statically-typed languages like Java. We also present an extended case study of Swing, a Java GUI package built on top of AWT, and we document the ensuing anomalies that Swing introduces. We show how Classbox/J, a prototype implementation of classboxes for Java, is used to provide a cleaner implementation of Swing using local refinement rather than subclassing. <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/2005-oopsla-classboxj-1195128431498471-2-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> Unanticipated changes to complex software systems can introduce anomalies such as duplicated code, suboptimal inheritance relationships and a proliferation of run-time downcasts. Refactoring to eliminate these anomalies may not be an option, at least in certain stages of software evolution. Classboxes are modules that restrict the visibility of changes to selected clients only, thereby offering more freedom in the way unanticipated changes may be implemented, and thus reducing the need for convoluted design anomalies. In this paper we demonstrate how classboxes can be implemented in statically-typed languages like Java. We also present an extended case study of Swing, a Java GUI package built on top of AWT, and we document the ensuing anomalies that Swing introduces. We show how Classbox/J, a prototype implementation of classboxes for Java, is used to provide a cleaner implementation of Swing using local refinement rather than subclassing.
2005 Oopsla Classboxj from bergel
]]>
605 3 https://cdn.slidesharecdn.com/ss_thumbnails/2005-oopsla-classboxj-1195128431498471-2-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
2006 Esug Omnibrowser /slideshow/2006-esug-omnibrowser/167357 2006-esug-omnibrowser-1195124545545895-3
Smalltalk is not only an object-oriented programming language; it is also known for its extensive integrated development environment supporting interactive and dynamic programming. While the default tools are adequate for browsing the code and developing applications, it is often cumbersome to extend the environment to support new language constructs or to build additional tools supporting new ways of navigating and presenting source code. In this paper, we present the OmniBrowser, a browser framework that supports the definition of browsers based on an explicit metamodel. With OmniBrowser a domain model is described in a graph and the navigation in this graph is specified in its associated metagraph. We present how new browsers are built from predefined parts and how new tools are easily described. The browser framework is implemented in the Squeak Smalltalk environment. This paper shows several concrete instantiations of the framework: a remake of the ubiquitous Smalltalk System Browser, a coverage browser, the Duo Browser and the Dynamic Protocols browser.]]>

Smalltalk is not only an object-oriented programming language; it is also known for its extensive integrated development environment supporting interactive and dynamic programming. While the default tools are adequate for browsing the code and developing applications, it is often cumbersome to extend the environment to support new language constructs or to build additional tools supporting new ways of navigating and presenting source code. In this paper, we present the OmniBrowser, a browser framework that supports the definition of browsers based on an explicit metamodel. With OmniBrowser a domain model is described in a graph and the navigation in this graph is specified in its associated metagraph. We present how new browsers are built from predefined parts and how new tools are easily described. The browser framework is implemented in the Squeak Smalltalk environment. This paper shows several concrete instantiations of the framework: a remake of the ubiquitous Smalltalk System Browser, a coverage browser, the Duo Browser and the Dynamic Protocols browser.]]>
Thu, 15 Nov 2007 03:02:27 GMT /slideshow/2006-esug-omnibrowser/167357 bergel@slideshare.net(bergel) 2006 Esug Omnibrowser bergel Smalltalk is not only an object-oriented programming language; it is also known for its extensive integrated development environment supporting interactive and dynamic programming. While the default tools are adequate for browsing the code and developing applications, it is often cumbersome to extend the environment to support new language constructs or to build additional tools supporting new ways of navigating and presenting source code. In this paper, we present the OmniBrowser, a browser framework that supports the definition of browsers based on an explicit metamodel. With OmniBrowser a domain model is described in a graph and the navigation in this graph is specified in its associated metagraph. We present how new browsers are built from predefined parts and how new tools are easily described. The browser framework is implemented in the Squeak Smalltalk environment. This paper shows several concrete instantiations of the framework: a remake of the ubiquitous Smalltalk System Browser, a coverage browser, the Duo Browser and the Dynamic Protocols browser. <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/2006-esug-omnibrowser-1195124545545895-3-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> Smalltalk is not only an object-oriented programming language; it is also known for its extensive integrated development environment supporting interactive and dynamic programming. While the default tools are adequate for browsing the code and developing applications, it is often cumbersome to extend the environment to support new language constructs or to build additional tools supporting new ways of navigating and presenting source code. In this paper, we present the OmniBrowser, a browser framework that supports the definition of browsers based on an explicit metamodel. With OmniBrowser a domain model is described in a graph and the navigation in this graph is specified in its associated metagraph. We present how new browsers are built from predefined parts and how new tools are easily described. The browser framework is implemented in the Squeak Smalltalk environment. This paper shows several concrete instantiations of the framework: a remake of the ubiquitous Smalltalk System Browser, a coverage browser, the Duo Browser and the Dynamic Protocols browser.
2006 Esug Omnibrowser from bergel
]]>
590 2 https://cdn.slidesharecdn.com/ss_thumbnails/2006-esug-omnibrowser-1195124545545895-3-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
https://cdn.slidesharecdn.com/profile-photo-bergel-48x48.jpg?cb=1576602006 Permanent researcher at INRIA Futurs, Lille, France. More info about myself on http://bergel.eu bergel.eu https://cdn.slidesharecdn.com/ss_thumbnails/neuroevolution-191217170224-thumbnail.jpg?width=320&height=320&fit=bounds slideshow/neuroevolution-206815024/206815024 Building Neural Networ... https://cdn.slidesharecdn.com/ss_thumbnails/2012-roassalsmalltalks-121108151436-phpapp02-thumbnail.jpg?width=320&height=320&fit=bounds slideshow/roassal-presentation/15089815 Roassal presentation https://cdn.slidesharecdn.com/ss_thumbnails/2011-famoosr-110823094855-phpapp01-thumbnail.jpg?width=320&height=320&fit=bounds slideshow/2011-famoosr/8977688 2011 famoosr