Your SlideShare is downloading. ×
0
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

The Whole Platform A Language Workbench for Eclipse

816

Published on

Presentation of the Whole Platform Language Workbench at EclipseCon 2008

Presentation of the Whole Platform Language Workbench at EclipseCon 2008

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
816
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. The Whole Platform A Language Workbench for Eclipse Riccardo Solmi University of Bologna and TAS Project Leader, Whole Platform© 2008 by Riccardo Solmi; made available under the EPL v1.0 | March 20, 2008
  • 2. Outline • Aim: Engineering the production of software • The Whole Platform Components • Usage scenarios Language development Data integration Code generation • Related works2 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 3. Aim: Engineering the production of software • Raise the abstraction level to the domain level Use domain languages for representing knowledge Separate the knowledge from the implementation technologies Involve domain experts in the development process • Bridge the Execution gap Rewrite programs into models and model transformations Use generators to stay up-to-date with current technologies • Bridge the Data gap Specify the data formats using the data integration languages Let the integration tools generate the metamodels and parsers3 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 4. Whole Platform Components • Whole Language Framework Common infrastructure for languages and tooling A Java library for Language Oriented Programming • Whole Languages A set of languages acting as a family Modeling, data integration, and transformation languages • Whole Language Workbench A development environment to program at the domain level Based on Eclipse and GEF4 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 5. Usage Scenarios Three Software Product Lines are supported: • Language Development Design and implement a DSL or a GPL • Data Integration Load, Transform, and Store data sources • Code Generation Perform generative tasks Alternatively, write your own Software Product Lines with a Language Oriented Programming style5 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 6. Language Development • End-to-End Language definition Structure, persistences, notations, and tooling Metamodels, validators, normalizers, interpreters, translators Content assistants, generators, refactorings, analyzers • Very short and iterable development cycle Live definition and deploying of languages (including behavior) Jump start with generic notations and persistences • Smoother transition to model driven development The Language Framework for programming and the Language Workbench for modeling6 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 7. Models DSL to define Metamodels From simple DSLs to full GPLs7 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 8. Generic Notation: AST Right Start with a generic notation … then write a specific one8 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 9. Generic Notation: Tabular Tree Start with a generic notation … then write a specific one9 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 10. XML Generic Persistence10 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 11. Java Generic Persistence11 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 12. Actions DSL to define Tooling Write, deploy and try12 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 13. Data Integration • Wide range of data formats supported XML Schemas, Grammars, DataBase Schemas, Java • High level of automation reached Write or import the specification of a data format Generate the metamodel Generate the data-to-model and model-to-data transformation13 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 14. Grammars DSL to specify textual formats14 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 15. Grammars DSL in action Ducati Marlboro Team Ducati Casey Stoner 01Marco Melandri … Parse and unparse From text to model and back15 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 16. Workflows DSL to compose activities into processes16 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 17. Code Generation • Model-to-Model transformations • Domain specific notations and tooling for all of the languages involved in a transformation • New Domain Specific Languages • The SQL and XPath feeling and (almost) semantics17 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 18. Artifacts DSL to manipulate workspace and the file system18 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 19. Queries DSL to perform queries and transformations19 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 20. Java templates and helpers20 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 21. Clearer algorithms with Domain Specific Notations and Path semantics21 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 22. Related works • Intentional Domain Workbench (Intentional Software) • DSL Tools (Microsoft) • Meta Programming System (JetBrains) • HyperSenses (Delta Software) • MetaEdit+ (MetaCase) • XMF (Ceteva) • Eclipse Modeling Project openAchitectureWare (openAchitectureWare) AMMA Platform (INRIA) • MDA Specifications (OMG)22 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 23. References • Whole Platform http://whole.sourceforge.net • Examples, Screencasts and Tutorials http://whole.sourceforge.net/Documentation.html • Riccardo Solmi solmi@cs.unibo.it23 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0
  • 24. Legal Notices • The Whole Platform is an open source project licensed under the terms of the GNU Lesser General Public Licence by its owner Dr. Riccardo Solmi. • Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. • Other company, product, or service names may be trademarks or service marks of others.24 The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.0

×