+ All Categories
Home > Technology > The Whole Platform A Language Workbench for Eclipse

The Whole Platform A Language Workbench for Eclipse

Date post: 10-May-2015
Category:
Upload: riccardo-solmi
View: 821 times
Download: 1 times
Share this document with a friend
Description:
Presentation of the Whole Platform Language Workbench at EclipseCon 2008
Popular Tags:
24
© 2008 by Riccardo Solmi; made available under the EPL v1.0 | March 20, 2008 The Whole Platform A Language Workbench for Eclipse Riccardo Solmi University of Bologna and TAS Project Leader, Whole Platform
Transcript
Page 1: The Whole Platform A Language Workbench for Eclipse

© 2008 by Riccardo Solmi; made available under the EPL v1.0 | March 20, 2008

The Whole PlatformA Language Workbench for Eclipse

Riccardo Solmi

University of Bologna and TASProject Leader, Whole Platform

Page 2: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.02

Outline

• Aim: Engineering the production of software• The Whole Platform Components• Usage scenarios

Language developmentData integrationCode generation

• Related works

Page 3: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.03

Aim: Engineering the production of software

• Raise the abstraction level to the domain levelUse domain languages for representing knowledgeSeparate the knowledge from the implementation technologiesInvolve domain experts in the development process

• Bridge the Execution gapRewrite programs into models and model transformationsUse generators to stay up-to-date with current technologies

• Bridge the Data gapSpecify the data formats using the data integration languagesLet the integration tools generate the metamodels and parsers

Page 4: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.04

Whole Platform Components

• Whole Language FrameworkCommon infrastructure for languages and toolingA Java library for Language Oriented Programming

• Whole LanguagesA set of languages acting as a familyModeling, data integration, and transformation languages

• Whole Language WorkbenchA development environment to program at the domain levelBased on Eclipse and GEF

Page 5: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.05

Usage Scenarios

Three Software Product Lines are supported:

• Language DevelopmentDesign and implement a DSL or a GPL

• Data IntegrationLoad, Transform, and Store data sources

• Code GenerationPerform generative tasks

Alternatively, write your own Software Product Lineswith a Language Oriented Programming style

Page 6: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.06

Language Development

• End-to-End Language definitionStructure, persistences, notations, and toolingMetamodels, validators, normalizers, interpreters, translatorsContent assistants, generators, refactorings, analyzers

• Very short and iterable development cycleLive definition and deploying of languages (including behavior)Jump start with generic notations and persistences

• Smoother transition to model driven developmentThe Language Framework for programming andthe Language Workbench for modeling

Page 7: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.07

Models DSL to define Metamodels

FromsimpleDSLs

to full GPLs

Page 8: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.08

Generic Notation: AST RightStart with a generic notation … then write a specific one

Page 9: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.09

Generic Notation: Tabular TreeStart with a generic notation … then write a specific one

Page 10: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.010

XML Generic Persistence

Page 11: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.011

Java Generic Persistence

Page 12: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.012

Actions DSL to define Tooling

Write,deploy

and try

Page 13: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.013

Data Integration

• Wide range of data formats supportedXML Schemas, Grammars, DataBase Schemas, Java

• High level of automation reachedWrite or import the specification of a data formatGenerate the metamodelGenerate the data-to-model and model-to-data transformation

Page 14: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.014

Grammars DSL to specify textual formats

Page 15: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.015

Grammars DSL in actionDucati Marlboro Team Ducati Casey Stoner 01Marco Melandri …

Parse and unparse

From textto model and back

Page 16: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.016

Workflows DSL to compose activities into processes

Page 17: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.017

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) semantics

Page 18: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.018

Artifacts DSL to manipulate workspace and the file system

Page 19: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.019

Queries DSL to perform queries and transformations

Page 20: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.020

Javatemplates

and helpers

Page 21: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.021

Cleareralgorithms

with

Domain SpecificNotations

andPath semantics

Page 22: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.022

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)

Page 23: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.023

References

• Whole Platformhttp://whole.sourceforge.net

• Examples, Screencasts and Tutorialshttp://whole.sourceforge.net/Documentation.html

• Riccardo [email protected]

Page 24: The Whole Platform A Language Workbench for Eclipse

The Whole Platform | A Language Workbench for Eclipse | © 2008 by Riccardo Solmi; made available under the EPL v1.024

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.


Recommended