1 / 13

Toolbased Language Development

Toolbased Language Development. J. Fischer, E. Holz, A. Prinz, M. Scheidgen. Outline. Problems of modern software engineering – The current situation SMILE-Project Role of common concepts A Toolbased language development Application. integrated use of languages. complex languages.

ignacioh
Download Presentation

Toolbased Language Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Outline • Problems of modern software engineering – The current situation • SMILE-Project • Role of common concepts • A Toolbased language development Application

  3. integrated use of languages complex languages MDA Toolbased Language Development language profiling reuse of language concepts domain specific languages different kinds of language definitions ambiguities in semantics Situation

  4. 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. Integrated use of languages Complex languages MDA Toolbased Language Development Language profiling Reuse of language concepts Domain specific languages Different kinds of language definitions Ambiguities in semantics SMILE Vision • Define language semantics explicitly • Automatically generate tools from all descriptions • Increase the level of abstraction • Ease language development by providing tools • Handle all common sorts of descriptions: grammars, graphics and semantics • Model and meta-model handling is in the centre • Main focus is on language handling and integration 7 6,7 2,3,4,5 3,6 3,6 2,3,4 2,5 1

  6. SMILE – Tool - Environment Models Graphical representation Grammar Static semantics Transfor- mations Metamodel Metamodel Semantics SMILE Generated tools SMILE CORE SMILE CORE Translator Checker Editor Parser

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

  8. 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 eachother • 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. * NamedElement content String : name Namespace Generalizable Element supertype Implicit Package Java Class C++ Class Package Attributes of Common Language Concepts • Common: • Different Languages can share the same concepts • 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 classifier

  10. Known concepts <<decomposition>>   UML SDL+ 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

  11. A Toolbased Language Development Application

  12. 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. Thank You

More Related