Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
research:plomo [2013/09/20 04:44] – jfabry | research:plomo [2013/09/21 09:17] – mdenker | ||
---|---|---|---|
Line 13: | Line 13: | ||
- work on a layered library of algorithms for the Mondrian visualization engine of Moose, | - work on a layered library of algorithms for the Mondrian visualization engine of Moose, | ||
- work on new ways of profiling applications. | - work on new ways of profiling applications. | ||
- | All the efforts will be performed on Pharo http:// | + | All the efforts will be performed on [[http:// |
Line 57: | Line 57: | ||
==== Work Package One Achievements: | ==== Work Package One Achievements: | ||
- | Opal has been further developed, debugged and released. Opal has been integrated as the new compiler for Pharo. It is stable, robust and is the new compiler for day to day development in Pharo3.0. Opal provides the basis needed | + | The compiler framework was used as the basis to build a type system for Pharo: Gradualtalk [Alle13a]. A gradually-typed Smalltalk allows to enable incremental typing of existing programs. The main design goal of the type system is to support the features of the Smalltalk language, like metaclasses and blocks, live programming, |
- | The work consisted to develop | + | |
- | - a new compiler tool chain with differents phase including | + | In the context of the Gradualtalk type system, we have further developed, debugged and released |
- | - several analyses to generate byte codes, | + | advanced reflective model. |
- | - handle the introduction of full closures and | + | |
- | - handling | + | Opal solves three main problems of the old compiler infrastructure: |
- | In essence | + | - The architecture is not reusable |
+ | - compiler can not be parametrized | ||
+ | - the mapping between | ||
+ | |||
+ | In essence | ||
+ | |||
+ | The Opal flexible compiler infrastructure will allow us to build a new generation of reflective systems. Such reflective systems are keys to support tools (profilers) and new language design (AOP, proxies, isolation). We are now in a position to perform a new iteration on the reflective layer and metaobject protocol | ||
==== Work Package Two Achievements: | ==== Work Package Two Achievements: | ||
Line 74: | Line 80: | ||
==== Work Package Three Achievements: | ==== Work Package Three Achievements: | ||
- | Mondrian 2 has been renamed " | + | Over the last 3 years we have developed Roassal, an agile visualization engine. We have dropped the name Mondrian 2 in favor of Roassal. |
+ | Roassal is made to visualize and interact with arbitrary data, defined | ||
- | The book //Deep Into Pharo// | + | Roassal is a visualization engine working on 4 different platforms (Pharo, VisualWorks, |
+ | Roassal is an engine used by several research group worldwide (RMOD, IRC (FR), SCG (CH), Reveal (CH),...) and the foundations of several research publications (profiler, memory manager, program visualizations, | ||
+ | |||
+ | The book //Deep Into Pharo// contains two chapters about Roassal. | ||
==== Work Package Four Achievements: | ==== Work Package Four Achievements: | ||
- | Profiling techniques have been co-developed by RMoD and Pleiad. | + | Profiling techniques have been co-developed by RMoD and Pleiad. |
+ | Understanding the root of a performance drop or improvement requires analyzing different program executions at a fine grain level. Such an analysis involves dedicated profiling and representation | ||
+ | |||
+ | We propose performance evolution blueprint, | ||
Line 105: | Line 118: | ||
* Faster MSE import. | * Faster MSE import. | ||
- | We participated to the new release of Pharo 2.0 and Pharo 3.0. | + | We participated to the new release of Pharo 1.4 and 2.0 and are actively developing Pharo3 (http:// |
+ | PLOMO members contributed many smaller and larger improvements found while doing the research work described in this report. When visiting, PLOMO members take care to organize Pharo Sprints, open meetings focussed on fixing bugs and integrating features. | ||
+ | |||
+ | A small example for how PLOMO directly contributed can be seen with the type system work. While type-checking the code of the Pharo system, a number of problems where detected. Examples where dead code, wrong inheritance relationships between classes and others. All these problems have been fixed in Pharo2. | ||
+ | |||
+ | For Pharo3, PLOMO contributed in a major way: the Opal Compiler replaced the old default compiler infrastructure. | ||
Line 118: | Line 136: | ||
- Enhanced Opal to support type annotations. Opal is developed and maintained by RMoD. | - Enhanced Opal to support type annotations. Opal is developed and maintained by RMoD. | ||
- [[http:// | - [[http:// | ||
+ | - Released Pharo 1.3 (http:// | ||
+ | |||
=== 2012 === | === 2012 === | ||
Line 135: | Line 155: | ||
- Paper: “How (and Why) Developers Use the Dynamic Features of Programming Languages: The Case of Smalltalk”, | - Paper: “How (and Why) Developers Use the Dynamic Features of Programming Languages: The Case of Smalltalk”, | ||
- Paper: “Extensions during Software Evolution: Do Objects Meet Their Promise? ”,
R. Robbes, D. Röthlisberger, | - Paper: “Extensions during Software Evolution: Do Objects Meet Their Promise? ”,
R. Robbes, D. Röthlisberger, | ||
+ | - Released Pharo 1.4 (http:// | ||
+ | |||
Line 144: | Line 166: | ||
- Participated to Moose 4.8 release (http:// | - Participated to Moose 4.8 release (http:// | ||
- Released Pharo 2.0 (http:// | - Released Pharo 2.0 (http:// | ||
+ | - Integrated the Opal Compiler in the Pharo3 development branch. | ||
+ | |||
=== Supervised PhD students === | === Supervised PhD students === | ||
- | - Vanessa Peña, PhD student Universidad de Chile. | + | - Juraj Kubelka, PhD student Universidad de Chile. |
- Juan Pablo Sandoval, PhD student Universidad de Chile. | - Juan Pablo Sandoval, PhD student Universidad de Chile. | ||
- Martin Dias, PhD student, RMoD, Inria. | - Martin Dias, PhD student, RMoD, Inria. | ||
Line 167: | Line 191: | ||
== From PLEIAD to RMoD == | == From PLEIAD to RMoD == | ||
- | * Vanessa Peña and Alexandre Bergel, Aug 15 until Aug 20, 2011. From Aug 20 until Aug 28 they attended [[ESUG|http:// | + | * Vanessa Peña and Alexandre Bergel, Aug 15 until Aug 20, 2011. From Aug 20 until Aug 28 they attended [[http:// |
* Romain Robbes from July 18 until July 24, 2011. Partially funded by Pleiad. | * Romain Robbes from July 18 until July 24, 2011. Partially funded by Pleiad. | ||
* Esteban Allende from July 19 until October 2, 2011. Esteban' | * Esteban Allende from July 19 until October 2, 2011. Esteban' | ||
Line 201: | Line 225: | ||
=== 2011 === | === 2011 === | ||
- | |||
- | * Johan Fabry, Andy Kellens, Simon Denier and Stéphane Ducasse. | ||
* Stephane Ducasse, Manuel Oriol, Alexandre Bergel, // | * Stephane Ducasse, Manuel Oriol, Alexandre Bergel, // | ||
* Johan Fabry, Andy Kellens, and Stéphane Ducasse. AspectMaps: //A Scalable Visualization of Join Point Shadows.// In Proceedings of 19th IEEE International Conference on Program Comprehension (ICPC2011), pages 121–130. IEEE Computer Society Press, Jul 2011 [[http:// | * Johan Fabry, Andy Kellens, and Stéphane Ducasse. AspectMaps: //A Scalable Visualization of Join Point Shadows.// In Proceedings of 19th IEEE International Conference on Program Comprehension (ICPC2011), pages 121–130. IEEE Computer Society Press, Jul 2011 [[http:// | ||
=== 2012 === | === 2012 === | ||
- | + | * Johan Fabry, Andy Kellens, Simon Denier and Stéphane Ducasse. | |
- | * Benjamin Van Ryseghem, Stéphane Ducasse, Johan Fabry, //Spec: a Framework for the Specification and Reuse of UIs and their Models// | + | * Benjamin Van Ryseghem, Stéphane Ducasse, Johan Fabry, //Spec: a Framework for the Specification and Reuse of UIs and their Models// |
- | * Juan Pablo Sandoval, //Tracking Down Software Changes Responsible for Performance Loss//In Proceedings of the 4th International Workshop on Smalltalk Technologies (IWST' | + | * Juan Pablo Sandoval, //Tracking Down Software Changes Responsible for Performance Loss//In Proceedings of the 4th International Workshop on Smalltalk Technologies (IWST' |
- | * Benjamin Van Ryseghem, Stéphane Ducasse, Johan Fabry, Alain Plantec | + | |
- | * Romain Robbes, Johan Fabry, Marcus Denker, | + | |
- | * Romain Robbes, Damien Pollet, Michele Lanza, | + | |
- | * Juan Pablo Sandoval, Alexandre Bergel, Marcus Denker, Stéphane Ducasse, " | + | |
- | * Oscar Callau, Esteban Allend, Johan Fabry, Eric Tanter, Marcus Denker, " | + | |
=== 2013 === | === 2013 === | ||
- | + | * Esteban Allende, Oscar Callau, Johan Fabry, Eric Tanter, and Marcus Denker, " | |
- | * Paper: Juan Pablo Sandoval Alcocer, Alexandre Bergel, Stéphane Ducasse, Marcus Denker -- Performance Evolution Blueprint: Understanding the Impact of Software Evolution on Performance. | + | * Paper: Juan Pablo Sandoval Alcocer, Alexandre Bergel, Stéphane Ducasse, Marcus Denker -- Performance Evolution Blueprint: Understanding the Impact of Software Evolution on Performance. |
* [[http:// | * [[http:// | ||
- | * Paper: | + | * Dehouck Mathieu, Usman Bhatti, Alexandre Bergel and Stéphane Ducasse, Pragmatic Visualizations for Roassal: a Florilegium, |
- | * Paper: | + | * Martin Dias, Damien Cassou and Stéphane Ducasse, Representing Code History with Development Environment Events, in International Workshop on Smalltalk Technologies, |
- | * Paper: | + | * Clément Béra and Marcus Denker, Towards a flexible Pharo Compiler, |
+ | === In Preparation and Under Review === | ||
+ | * Romain Robbes, Johan Fabry, Marcus Denker, //DIE: A Domain Specific Aspect Language for IDE Events//, accepted with major revision at Journal of Universal Computer Science. | ||
+ | * Benjamin Van Ryseghem, Stéphane Ducasse, Johan Fabry, Alain Plantec //Seamless reuse of customizable user interfaces with Spec//, accepted with minor revisions in Elsevier Science of Computer Programs. | ||
+ | * Romain Robbes, Damien Pollet, Michele Lanza, //Improving change prediction by replaying fine-grained development histories//, | ||
==== References ==== | ==== References ==== | ||
Line 241: | Line 262: | ||
[Berg10a] Sébastien Mosser, Alexandre Bergel, and Mireille Blay-Fornarino. Visualizing and Assessing a Compositional Approach of Business Process Design. In Proceedings of 9th International Conference on Software Composition (SC' | [Berg10a] Sébastien Mosser, Alexandre Bergel, and Mireille Blay-Fornarino. Visualizing and Assessing a Compositional Approach of Business Process Design. In Proceedings of 9th International Conference on Software Composition (SC' | ||
- | |||
- |