Xactium xDSLs Run Models Not Code Tony Clark

Slides:



Advertisements
Similar presentations
Integration of MBSE and Virtual Engineering for Detailed Design
Advertisements

Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Component Development for the Component Description Framework (CDF) Training Dr.-Ing. Ulrich Dinger.
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
IAAnalyzer: Towards a Model-Driven Modeling and Analysis Framework for C ONNECT(ors) Massimo Tivoli, University of L’Aquila (UNIVAQ)
Visualization Kenny Inthirath.  Reviewing a Suitable Technique to Use  Scope and Purpose  What types of models can be represented?  Architectural.
Alternate Software Development Methodologies
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Model Driven Development: What went right? What went wrong? What needs to happen? Tony Clark Middlesex University London, UK
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.
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.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
IBM Software Group © 2005 IBM Corporation University of Nantes Eclipse dayMarch 2005 The Eclipse Modeling Framework and the IBM Model Transformation Framework.
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
Introduction to MDA (Model Driven Architecture) CYT.
Tools for Diagrammatic Specifications Stian Skjerveggen Supervisors: Yngve Lamo, Adrian Rutle, Uwe Egbert Wolter.
Agenda 1. Introduction 2. Overview of SU-MoVal 3. OCL-based Model Validation 4. QVT-based Transformations 5. Demo of SU-MoVal 6. Conclusion and Future.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
Copyright © 2009 AtlanMod. All Rights Reserved Frédéric Jouault & Hugo Bruneliere AtlanMod team (INRIA & Mines de Nantes) Possible Benefits of Bridging.
Vision The ultimate IDE/CASE tool should supports all steps in the software development process. Current tools perform only minimal semantic-level analysis.
WSMX Execution Semantics Executable Software Specification Eyal Oren DERI
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Selected Topics in Software Engineering - Distributed Software Development.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
1 OCL Tools Supervised by Prof. Daniel Amyot May Khalil Nadia Spido Submitted to Professor Daniel Amyot in partial fulfillment of the requirements for.
1 Introduction to Software Engineering Lecture 1.
Evaluation of Development Tools for Domain-Specific Modeling Languages D. Amyot, H. Farah, J.-F. Roy with contributions from Y. Chu and N. Janmohamed SAM.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Graphical Modeling Framework (GMF) Richard C. Gronback Project Lead.
December 4, ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
The Spoofax Language Workbench Rules for Declarative specification of language and IDEs Lennart C. L. Kats and Eelco Visser Delft University of Technology.
Cross Language Clone Analysis Team 2 February 3, 2011.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
1 Budapest University of Technology and Economics Department of Measurement and Information Systems Budapest University of Technology and Economics Fault.
Multi-disciplinary Approach for Industrial Phases in Space Projects Evolution of classic SE into MBSE Harald EisenmannAstrium Satellites Joachim Fuchs.
ECLIPSE RICH CLIENT PLATFORM Part 1 Introduction.
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
CHESS Methodology and Tool Federico Ciccozzi MBEES Meeting Sälen, January 2011 January 2011.
SysML 2.0 Formalism: Requirement Benefits, Use Cases, and Potential Language Architectures Formalism WG December 6, 2016.
SysML v2 Formalism: Requirements & Benefits
Domain Specific Product Description Exchange
Execute your Processes
Java Workflow Tooling (JWT) Release review: JWT v0
Java Workflow Tooling (JWT) Release review: JWT v0
Implementing FOP Framework
Software Architecture & Design
Presentation transcript:

Xactium xDSLs Run Models Not Code Tony Clark

Overview Developments in Modelling Technology xDSLs – A Modelling Methodology Xactium. xDSL Technology. Details of an Application: The Xactium BMS Product. Conclusion

Modelling Technology Development Assembler HLLs SymbolicOO Scripting Structured Design OOD Formal Executable UML MDA DSL Agile xDSL

Generate Code From Models Compiler Platform Source Code Source Code bin System Model System Model

Run the Model System Model System Model Platform xDSL Engine Compiler Source Code Source Code

Code Generation Pros – Stand-alone. – Arbitrary extension. – No-proprietary platform. – Efficiency. Cons – Complexity. – Platform Dependence. – Two Representations. – No Domain Specific Semantics. – Difficult to provide tool support. – Difficult to dynamically update.

xDSLs Pros: Complete Model of application. Mix of graphical and textual syntax. Can be used for simulation, analysis, real app or code gen. High fidelity. Single representation. Dynamic updates. Reduced time and increased agility. Technology agnostic. Cons: Careful about proprietary engines. Careful about efficiency. Careful about expertise. More effort up front.

Xactium Provide model-based solutions. Eclipse based applications. Started in Developed an xDSL engine – XMF. New product for 2007: Business Motivation Solution (BMS) Require model based technology to be agile and flexible.

Xactium -Applications Applications : Aerospace Integrated Modular Avionics – configuration checking. Testing – run the test case models against application. Application Simulations – e.g. satellite payload. Business Management Information – match goals and information system to progress. Service Oriented Architecture – executable design of component interfaces. Interactive Applications – agile system development through incremental process definition. Transformation: XMI transformation against a proprietary API.

An xDSL Example Xactium-BMS answers questions WHAT and WHY in business planning. Applications include: – Mergers and Acquisitions. – Verification of Standards. – Business Plan Analysis. – Impact Analysis. – Planning and Monitoring Business Change. BMS based on emerging BMM OMG standard that includes many business concepts. BMS-Solutions rely on technology for flexible and complex analysis of the concepts.

BMS Concepts: Goals

BMS Concepts: Sub- Goals

BMS Concepts: Tactics

BMS Concepts: Units

BMS Solution Rules A business goal g is OK when: – It has at least one supporting tactic t; and – The tactic is established by an organization unit. A business goal g is OK when all its child goals are OK. An organization unit uses a single unit of resource for each tactic it establishes. An organization unit cannot use more resource than it owns.

Demo

BMS as an xDSL Application BMS has DSL syntax: the diagrams. Code generation not appropriate – want to interact with the models. Interaction and analysis involves an engine that processes BMM data. Example is just one of many different ways of analysing BMM information. Require technology that supports flexible dynamic processing of BMM models.

xDSL Technology xDSL can be implemented in any technology. Some are better than others. Xactium uses the following components: An xDSL architecture consisting of: Eclipse as a tool platform for standards and inter- operability. EMF as a basic data format and to generate data editors. GMF as a means of generating GEF-based diagram editors. XMF as an xDSL engine.

Graphical Editor (GMF) Graphical Editor (GMF) Technology Repository Textual xDSL Information Textual xDSL Information Model Data Model Editors (EMF) Model Data Model Editors (EMF) xDSL Eclipse Model Execution Engine (XMF) Output Graphical xDSL Functionality

EMF/GMF/XMF Connectivity EMF Model GMF Model Menus Plugin Menu Handlers XMF xDSL Def

BMS Tool with xDSL

BMM Model

BMS Results Model

XMF Features Meta-programming engine. Object-oriented. Extensive high-level programming features. Rich model processing facilities. Language extension facilities. Open architecture. Seamless Java integration. Dynamic. Written in itself. Can be embedded

BMM Class Definitions in XMF context Goal metaclass JavaClass extends BMM_Element pprintString(model) "Goal " + self.getName() + " is supported by: " + self.getSupported_by().asSeq() ->collect(t | t.getName()) ->separateWith(", ") toString() "Goal(" + self.getName() + ")" end

Language Fragments Selection from a x:T from Collection when Guard do Body else Alternative end Produce a (Goal,Tactic,Unit) Body end

Language Fragments Check each element in a x in Collection do Body end Use a unit of Guarded Condition do Body end

xDSL tactic:Tactic from goal.getSupported_by() unit:Organization_Unit from self.getElements() when unit.establishes(tactic) and resources.lookup(unit.getName()) > end end goal.getComposed_of().isEmpty() child in goal.getComposed_of() do self.ok(child.getName(),resources,results,succ,fail) end

xDSL Language Engineering OK manages a table of resources. Use, increments a usage count for a Body end is shorthand for... let name = Unit.getName() then usage = resources.lookup(name) then resources = resources.bind(name,usage – 1) in Body end

Syntax Class Syntax classes extend the XMF Use extends unit : Performable body : Performable ! end end

Grammars Define a grammar for the syntax class: context extends OCL.grammar Use ::= '(' u = Exp ')' b = Exp 'end' { Use(u,b) }. end

Desugar the Syntax Translate Use to the basic language: context desugar() [| let name =.getName() then usage = resources.lookup(name) then resources = resources.bind(name,usage - 1) in end |] end

Review xDSLs is an approach to system development. xDSLs provide advantages over code gen. xDSLs can be built using any technology, but… … some technologies make it easier than others… …XMF has been designed to support xDSLs Integrated with EMF/GMF Xactium planning XMF Open Source edition in BMS is an xDSL application based on XMF available in 2007.