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

Slides:



Advertisements
Similar presentations
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Advertisements

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Lockheed Martin Aeronautics Company © 2001 Lockheed Martin Corporation F-16 Modular Mission Computer Application Software Achieving Cross-Platform Compatibility.
UML an overview.
Component Oriented Programming 1 Chapter 2 Theory of Components.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
Modeling SPARK Systems with UML Xavier Sautejeau SigAda’05 © Sodius.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
SOFTWARE ENGINEERING ONTOLOGY A DEVELOPMENT METHODOLOGY Projects: eLSE & SELBO Iveta Georgieva.
Object-Oriented Analysis and Design
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
1 SWE Introduction to Software Engineering Lecture 15 – System Modeling Using UML.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Object-Oriented Theories for Model Driven Architecture Tony Clark, King’s College, UK. Andy Evans, University of York, UK. Robert France, Colorado University,
A Formal Foundation Supporting MDD --- ZOOM Approach Hongming Liu Lizhang Qin 11/08/2003.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
©Ian Sommerville 2006Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Conceptual modelling. Overview - what is the aim of the article? ”We build conceptual models in our heads to solve problems in our everyday life”… ”By.
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
Formalizing Material Flow Diagrams How can an MDE approach be used to improve the design process of material handling systems? Robert-Jan Bijl.
Using UML Models for the Performance Analysis of Network Systems Nico de Wet and Pieter Kritzinger Department of Computer Science University of Cape Town.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
1/19 Component Design On-demand Learning Series Software Engineering of Web Application - Principles of Good Component Design Hunan University, Software.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Towards Translating between XML and WSML based on mappings between.
Knowledge representation
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
Introduction to MDA (Model Driven Architecture) CYT.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
© GMV S.A., 2004 Property of GMV S.A. All rights reserved 2004/05/13 XML in CCSDS CCSDS Spring Meeting - Montreal Fran Martínez GMVSA 4081/04.
WP 3.3 © Copyright Xactium, TUBS & TUD How to build a set of DSLs: from Theory to Practise Xactium, TUBS, Jendrik Johannes (TUD)
9 th Open Forum on Metadata Registries Harmonization of Terminology, Ontology and Metadata 20th – 22nd March, 2006, Kobe Japan. Presentation Title: Day:
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
XASTRO Metamodel. CCSDS SAWG2 Presentation Outline XASTRO-1 Metamodel XASTRO-2 Metamodel Alignment with Model Driven Architecture.
Kal Bugrara, Ph.DSoftware Engineering Northeastern University Fundamentals Of Software Engineering Lecture V.
Chapter 1 Introduction. Chapter 1 - Introduction 2 The Goal of Chapter 1 Introduce different forms of language translators Give a high level overview.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
Future Work  Formal specification of modeling language semantic is key issue  Reliance on well-established formal models of computation (i.e. finite.
Application Ontology Manager for Hydra IST Ján Hreňo Martin Sarnovský Peter Kostelník TU Košice.
Generating Software Documentation in Use Case Maps from Filtered Execution Traces Edna Braun, Daniel Amyot, Timothy Lethbridge University of Ottawa, Canada.
Challenges in the Business Digital Ecosystems Pierfranco Ferronato, Soluta.net DBE Principal Architect Digital Ecosystem Workshop, 18 May 2005 “Towards.
October 1st 2015 Alexis Fouché 1, Florian Noyrit 1, Sébastien Gérard 1, Maged Elaasar 2 SYSTEMATIC GENERATION OF STANDARD COMPLIANT TOOL SUPPORT OF DIAGRAMMATIC.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
310414IMPLEMENTATION1 IMPLEMENTATIONIMPLEMENTATION SOFTWARE ENGINEERING SOFTWARE ENGINEERING.
Requirement Engineering with URN: Integrating Goals and Scenarios Jean-François Roy Thesis Defense February 16, 2007.
Nigel Baker UWE & CERN/EP-CMA Design Patterns for Integrating Product and Process Models The C.R.I.S.T.A.L. Project ( C ooperative R epositories & I nformation.
OWL Web Ontology Language Summary IHan HSIAO (Sharon)
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Data Format Description Language (DFDL) WG Martin Westhead EPCC, University of Edinburgh
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented.
SysML v2 Formalism: Requirements & Benefits
PRINCIPALES OF OBJECT ORIENTED PROGRAMMING
Enterprise Data Model Enterprise Architecture approach Insights on application for through-life collaboration 2018 – E. Jesson.
Implementing Language Extensions with Model Transformations
Design of Transmission Pipeline Modelling Language
UML profiles.
John D. McGregor Module 6 Session 1 More Design
Implementing Language Extensions with Model Transformations
Software Architecture & Design
Presentation transcript:

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

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 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 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 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 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 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 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 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 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 WITUL, 27 November 2015 A Toolbased Language Development Application

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 WITUL, 27 November 2015 Thank You