Presentation is loading. Please wait.

Presentation is loading. Please wait.

Toolbased Language Development J. Fischer, E. Holz, A. Prinz, M. Scheidgen.

Similar presentations


Presentation on theme: "Toolbased Language Development J. Fischer, E. Holz, A. Prinz, M. Scheidgen."— Presentation transcript:

1 Toolbased Language Development J. Fischer, E. Holz, A. Prinz, M. Scheidgen

2 2 WITUL, 27 November 2015 OutlineOutline Problems of modern software engineering – The current situation SMILE-Project Role of common concepts A Toolbased language development Application

3 3 WITUL, 27 November 2015 SituationSituation MDAMDAintegrated use of languagesintegrated languagescomplexlanguagescomplexlanguages different kinds of language definitions different kinds of language definitions domain specific languages languages ambiguities in semantics ambiguities reuse of language concepts reuse of language concepts languageprofilinglanguageprofiling ToolbasedLanguageDevelopmentToolbasedLanguageDevelopment

4 4 WITUL, 27 November 2015 SMILE Project Overview SMILE = Semantic Meta-model-based Integrated Language Environment Semantic Explicit representation of all semantic (meaning-giving) information Meta-model-based Model and Meta-model handling are central Integrated Uniform information handling independent of the level of abstraction, meta-modelling and executeability Language Focuses on language handling & integration and provision of tools Support of small domain specific languages and of proprietary language extensions Environment Complete environment allowing all important operations

5 5 WITUL, 27 November 2015 SMILE Vision 1.Define language semantics explicitly 2.Automatically generate tools from all descriptions 3.Increase the level of abstraction 4.Ease language development by providing tools 5.Handle all common sorts of descriptions: grammars, graphics and semantics 6.Model and meta-model handling is in the centre 7.Main focus is on language handling and integration MDAMDA Integrated use of languages Integrated use of languages Complex languages languages Different kinds of languagedefinitions Different kinds of languagedefinitions Domain specific languages languages Ambiguities in semantics Ambiguities in semantics Reuse of languageconcepts languageconcepts Language profiling profiling ToolbasedLanguageDevelopmentToolbasedLanguageDevelopment 1 2,3,4 3,6 6,7 7 2,3,4,5 3,6 2,5

6 6 WITUL, 27 November 2015 Models Semantics Generated tools SMILE – Tool - Environment Metamodel Grammar Graphical representation Static semantics Transfor- mations Metamodel Parser Editor Translator SMILE SMILE CORE CORE SMILE SMILE CORE CORE SMILESMILE Checker

7 7 WITUL, 27 November 2015 Grammar Metamodel Example - Grammar Tool process::name type parameter... AgentAgentAgentTypeAgentType Semantics Grammar to metamodel mapping Semantics Grammar to metamodel mapping metamodel generation Parser process::name... { metamodel:: AgentClass.create($1); AgentClass.create($1);... }; SYSTEM daemonGame ; signal newGame, endGame, signal newGame, endGame, score(Integer); CHANNEL ser score(Integer); CHANNEL ser NODELAY FROM ENV NODELAY FROM ENV TO daemong WITH newGame, endGame,probe, result ; FROM dae TO gameId, FROM dae TO gameId,win,lose, score ; ENDCHANNEL; ENDCHANNEL; SYSTEM daemonGame ; signal newGame, endGame, signal newGame, endGame, score(Integer); CHANNEL ser score(Integer); CHANNEL ser NODELAY FROM ENV NODELAY FROM ENV TO daemong WITH newGame, endGame,probe, result ; FROM dae TO gameId, FROM dae TO gameId,win,lose, score ; ENDCHANNEL; ENDCHANNEL;

8 8 WITUL, 27 November 2015 Modular Language Definitions – Common Concepts Key observation: Despite syntactical differences languages usually share a set of common concepts! A modellbased language definition should exploit this for Language integration: common concepts directly relate languages to each other common concepts support faster integration of new languages as well as the development of profiles and domain specific languages Reuse: different languages have more commonalities than differences classification leads to hierarchies of concepts these hierarchies can be extended into semantic descriptions and tool development

9 9 WITUL, 27 November 2015 Attributes of Common Language Concepts Common: Different Languages can share the same concepts classifier Namespace GeneralizableElement*supertype content NamedElement String : name ImplicitPackage Package C++ Class Java Class Abstract/Coherent : The most abstract concepts should only describe single distinct characteristics Loose/Pluggable: One must be able to use concepts idependently from other concepts

10 10 WITUL, 27 November 2015  SDL-2000 Development of a Set of Common Concepts Where to look: Known elements – What type systems, computational models, structure mechanisms do we know Decomposition – Find abstractions Comparison – What concepts do languages share and how can they modelled reusable Set of common concepts Known concepts  UMLSDL+ <<decomposition>>

11 11 WITUL, 27 November 2015 A Toolbased Language Development Application

12 12 WITUL, 27 November 2015 You learned about SMILE Metamodel centred, model driven Automatic tool generation from semantic information Integrated language development via common concepts Common concepts – Object orientation in language development Application: A integrated SDL/UML Tool environment

13 13 WITUL, 27 November 2015 Thank You


Download ppt "Toolbased Language Development J. Fischer, E. Holz, A. Prinz, M. Scheidgen."

Similar presentations


Ads by Google