Open Code Translation from Executable UML Models

Similar documents
Model-Based Development of Embedded Systems with MDA and xtuml

Evolving / Formalising / Automating an Embedded Real-Time Software Architecture

MODEL-DRIVEN ARCHITECTURE OCH xtuml I PRAKTIKEN

xuml, AADL and Beyond

Role of Executable UML in MDA. Presented by Shahid Alam

First To Market through Translation of Executable UML

MDA Driven xuml Plug-in for JAVA

EXECUTABLE UML. Author : Selo Sulistyo and Warsun Najib

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com

A Comparison of the Booch Method and Shlaer-Mellor OOA/RD

bahmanzamani.com Computer Engineering i Dept. University of Isfahan

Executable UML for Model Driven Architecture

Experiences in the Use of MDA and UML in Developing NATO Standards

Executable UML for Model Driven Architecture

MDSE USE CASES. Chapter #3

Applying Shlaer-Mellor OO technology for a small embedded system

Executable UML. Stephen J. Mellor

F-16 Modular Mission Computer Application Software

Raising the Level of Development: Models, Architectures, Programs

Applying UML Modeling and MDA to Real-Time Software Development

The Shlaer-Mellor Method

Introduction. 1 Robert Block began his book The Politics of Projects[1] in a similar manner.

SysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd

EXECUTABLE UML AND MBSE

MDA, META-MODELLING and MODEL TRANSFORMATION. Introducing new Technology into the Defence Industry

The Eclipse Modeling Framework and MDA Status and Opportunities

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

UP Requirements. Software Design - Dr Eitan Hadar (c) Activities of greater emphasis in this book. UP Workflows. Business Modeling.

All you need are models Anneke Kleppe, Klasse Objecten

Methods for the Development

MDA Distilled Stephen J. Mellor Vice-President Project Technology, Inc.

Textual, executable, translatable UML

SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems

Reusable Object-Oriented Model

Model Driven Development with xtuml and BridgePoint

Whole Platform Foundation. The Long Way Toward Language Oriented Programming

MDA Distilled Stephen J. Mellor Vice-President Project Technology, Inc.

Experiences from the first step in designing an Architecture executing Executable UML semantics in Programmable Logic using VHDL

MDSE PRINCIPLES. Chapter #2

Model Driven Architecture and Rhapsody

Architectural Blueprint

xtuml: Current and Next State of a Modeling Dialect

Modeling and SW Synthesis for

UMLexe UML virtual machine

INTRODUCTION. Chapter #1

COMET. Component and Model-based development Methodology. Adapted from COMET I and COMBINE. COMET Methodology Handbook

Horizontal transformations for models reuse and tool chaining

Model Driven Architecture - The Vision

Executable UML. Stephen J. Mellor Project Technology, Inc.

Conceptual Framework

UML with Action Semantics

Integrating Domain Specific Modeling into the Production Method of a Software Product Line

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling

SoC Design for the New Millennium Daniel D. Gajski

Generating UML diagrams from LEM

Object Security. Model Driven Security. Ulrich Lang, Rudolf Schreiner. Protection of Resources in Complex Distributed Systems

COMPLEX EMBEDDED SYSTEMS

SCOS-2000 Technical Note

Chair of Software. Engineering. Overview. School of Business Informatics and Mathematics. 1. Find out why software engineering is important

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

OMG Specifications for Enterprise Interoperability

SysML, It s Coming Are You Prepared?

Applying MDA to Constrained Environments

Building and Implementing Concurrent Specifications

An Introduction to MDE

Executable and Translatable UML. Stephen J. Mellor Marc J. Balcer

PragmaDev. change request. Emmanuel Gaudin. PragmaDev ITU-T SG17 change request Grimstad June 24,

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

Software Architecture Patterns

Model Driven Development Unified Modeling Language (UML)

Java EE 6: Develop Business Components with JMS & EJBs

INF5120 Modellbasert Systemutvikling Modelbased System development

Composable Code Generation Applied to MDA

DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner. Xiao-Yun WANG PowerDesigner Chief Architect

T.Kozlowski, T. A. Carey, C. F. Maguire, D. Whitehouse, C. Witzig, and S. Sorensen

A Model-Based Development Method for Device Drivers

GMF Tooling 3.0 Vision, Architecture, Roadmap

Isight Component Development 5.9

SoC Design with UML and SystemC. Alberto Sardini Software Engineering Specialist

Developing Shlaer-Mellor Models Using UML

PASS4TEST. Prüfungshilfen für IT Zertifizierungen. Wir bieten Ihnen einen kostenlosen einjährigen Upgrade Service an

MDA and Integration of Legacy Systems: An Industrial Case Study

Requirements and Design Overview

02291: System Integration

System Level Design with IBM PowerPC Models

Practical Model-Driven Development with the IBM Software Development Platform

Coral: A Metamodel Kernel for Transformation Engines

Bridging Pre-Silicon Verification and Post-Silicon Validation and Debug A Pre-Silicon Functional Verification Perspective

Defining Domain-Specific Modeling Languages

European Component Oriented Architecture (ECOA ) Collaboration Programme: Architecture Specification Part 2: Definitions

developer.* The Independent Magazine for Software Professionals

From MDD back to basic: Building DRE systems

What Is NetBeans? Free and open-source based > Open source since June, 2000 > Large community of users and developers

MODEL-DRIVEN DEVELOPMENT OF COMMAND AND CONTROL CAPABILITIES FOR JOINT AND COALITION WARFARE

Tool Paper: Combining Alf and UML in Modeling Tools An Example with Papyrus

A (Very) Short Introduction to Model-Driven Development (MDD)

Model-Driven Architecture/ Development

CSE 333 Lecture 1 - Systems programming

Object Oriented System Development

Transcription:

Open Code Translation from Executable UML Models Erik Wedin erik.wedin@dynamics.saab.se - Information Systems Development Department, Software Systems (RTLIS) - 2002 Saab Bofors Dynamics AB 2002-10-21 Sida 1

Code Generation Techniques Model Based Development models with action semantics Closed code generation the tool vendor is in complete control of how the resulting code performs and looks like Open code generation the user (i.e. Saab) is in complete control of how the resulting code performs and looks like Design by Elaboration design/implementation information is added to the analysis model until the design is complete Design by Translation separates the analysis - what from the design - how via an architecture the architecture contains the design information how the analysis models shall be translated to an implementation 2002-10-21 Sida 2

Executable UML Executable UML is an upcoming standard, based on ongoing work within the OMG (Object Management Group, www.omg.org) Will be a well-defined profile (subset) of UML, extended with precise Action Semantics Possibility to develop SW and HW platform-independent specifications of the problem Supports the OMG Model-Driven Architecture (MDA) initiative PIM - Platform-Independent Model PSM - Platform-Specific Model www.omg.org/mda - models the solution of a problem - models the details of the implementation Executable UML models = Executable Specifications can be executed and simulated (platform independently) can be translated to one/several implementation(s) onto one/several specific platform(s) - without changing the models 2002-10-21 Sida 3

Executable UML - Fundamentals Subset of UML - extended with precise action semantics Provides guidelines for OOA and rules for consistency & completeness of executable UML models Separates the definition of the problem (OOA) from the definition of its implementation (a.k.a. RD-Recursive Design) Documented in the book Executable UML - A Foundation For Model-Driven Architecture, Mellor/Balcer 2002 Executable UML key areas separation of systems into subject matters - Domains each domain is either specified with an executable UML model or is a realised domain (i.e. provided as code) domains are connected with dependencies - Bridges translation of the models into an implementation with a Model Compiler 2002-10-21 Sida 4

Domains and Bridges Each Domain is a separate Subject Matter subject matter problem area distinct objects, rules and policies complete and independent of other domains Key goals ability to re-use a domain without modification ability to replace a domain with another that accomplishes the same mission Domains are connected with Bridges a bridge is a dependency (it is not an API!) a bridge contains mappings of concepts in one domain to concepts in another domain 2002-10-21 Sida 5

Functional Domains Domain Types Application Application Domain(s) Communication GUI Service Domains Non-Functional Domains performance timing tasking persistence environment Architecture Ada Bridge Assembler Architecture Domain(s) Implementation Domains 2002-10-21 Sida 6

Domain Chart Executable UML - Main Diagrams Domain Package Diagram Class Diagram Application Comm IO Architecture Programming Language Object Code Procedure xxxx xxxxx x xxxxxxx xxxx xxxx xxxx xxxxx x xxxxxxx xxxx xxxxx x xxxxxxx xxxx xxxx xxxx xxxx xxxx xxxxx x xxxxxxx xxxx xxxx xxxx xxxxx x xxxxxxx xxxx xxxx xxxx xxxxx x xxxxxxx xxxx xxxx State Chart Action 2002-10-21 Sida 7

Domain Chart Executable UML - Derived Diagrams Package Dependency Diagram (Synchronous) Object Collaboration Diagram (Synchronous) Application Comm IO Architecture Package Dependency Diagram (Asynchronous) Object Collaboration Diagram (Asynchronous) Programming Language Object Code 2002-10-21 Sida 8

Software Architecture Domain The domain which deals with the design and implementation of the system Defines mapping rules between the UML models and the design and implementation patterns Prescribes how thread of control is to be initiated and controlled Prescribes how the code is to be structured and packaged This results in a uniform set of data, function and control structures that are used system-wide The Software Architecture is also called a Model Compiler 2002-10-21 Sida 9

BridgePoint Tool-suite supporting Executable UML Model Builder Verifier Generator Model Debugger - executable UML model construction for each domain - execution/simulation of Executable UML models - translation engine Metamodel of Executable UML - debugging of the translated system at model level a definition of how the UML model is stored in BridgePoint Model Builder the Metamodel is also mentioned as the OOA of OOA a Generation Database is created with the structure of the Metamodel the Generation Database Metamodel is populated with information from the executable UML model prerequisite for open code translation 2002-10-21 Sida 10

BridgePoint Model Builder Translation Process Executable UML Application Model(s) Other Design Executable UML Metamodel (Delivered with BridgePoint) Executable UML Architecture Model Fsdfsdfffffffffffffffffffffffffff Fsdfsdfffffffffffffffffffffffffff sdfddsd sdfddsd ERREREREDDFKMOMJIQOERN ERREREREDDFKMOMJIQOERN CWCNJIWNVIÅSERUVNÅ CWCNJIWNVIÅSERUVNÅ VRWEIVWNVWOIVÄNSDIRNVÄIRVNRÄINRVNTIWTV VRWEIVWNVWOIVÄNSDIRNVÄIRVNRÄINRVNTIWTV NFKMIWEUQIUECNCECNANCAC NFKMIWEUQIUECNCECNANCAC COCIRNANCIANC CNÄCN COCIRNANCIANC CNÄCN CNONCA<NRUCINU CNONCA<NRUCINU ACNECI<URCU<RC ACNECI<URCU<RC FSFSFFSVKSCNÄSV FSFSFFSVKSCNÄSV VEVN<NVOIVBAIRVNIOÄRNVÄVNWRUWR4584VAS VEVN<NVOIVBAIRVNIOÄRNVÄVNWRUWR4584VAS KCNNVBT7VAWNJJVB8WURVERVÖITVWRVIQVBB KCNNVBT7VAWNJJVB8WURVERVÖITVWRVIQVBB W7RVBÖBUBUAWEÖW57BVVBDFHVSHFHHHHHU W7RVBÖBUBUAWEÖW57BVVBDFHVSHFHHHHHU RYVBHNVHFVÖALSVV RYVBHNVHFVÖALSVV FVNÅV9V3VSC FVNÅV9V3VSC NVDSFSBVAÖSFDVÖWLUFVFÖWVAÖSKJDCVKWB NVDSFSBVAÖSFDVÖWLUFVFÖWVAÖSKJDCVKWB ERÖÖÖ ERÖÖÖ C SDFHVBSAYVBWEsd C SDFHVBSAYVBWEsd sd sd sddddddddddddddddddddddddddsswrwekrllköfks sddddddddddddddddddddddddddsswrwekrllköfks LFJSRVIOUYVBSFIVHBWIUERVBHILSHFVIWBVIF LFJSRVIOUYVBSFIVHBWIUERVBHILSHFVIWBVIF Ada Model Compiler Archetypes (Templates & Rules) BridgePoint Generator Manual Implementation Colors (Translation Control) Generation Database Doc Ada Mechanisms (Class Components, Execution Control,...) Ada Compiler Executable Software 2002-10-21 Sida 11

Model Compiler / Software Architecture Main Components Mechanisms execution engine - event handlers, finite state machines, execution control, platform independent platform dependent (OS specific, HW specific, ) used system-wide Archetypes combination of implementation patterns and translation rules the rules fill out the patterns based on information from the UML models Colors used to direct the translation to use different translation rules injection of design decisions during the translation 2002-10-21 Sida 12

xuml-model Classes AC = Aircraft AP = Autopilot TM = Telemetry Manager FA = Fin Actuator G = Guidance TS = Target Seeker MM = Mission Manager Coloring Example MC Executable UML Model AC MM G AP TM = Event = Access MC = Missile Computer MCP = MC Processor TS FA MCP1 Software MCP2 Software G+TM TM AC MM G TM TM AP TS MM MM AP+TS G+TM TS FA MCP2 Interface MCP1 Interface 2002-10-21 Sida 13

Model-Based Maintenance To address application behavior issues Modify the relevant application model and regenerate To address performance-based issues Modify the architecture/model compiler and/or architecture model and regenerate DO NOT MODIFY GENERATED CODE! 2002-10-21 Sida 14

References Mellor/Balcer - Executable UML - A Foundation for Model- Driven Architecture the official book about Executable UML Leon Starr - Executable UML, a case study a hands-on example project Shlaer/Mellor - Modelling the world in states & Modelling the world in data books about Shlaer/Mellor Object-Oriented Analysis, predecessor to Executable UML Leon Starr - Building Shlaer Mellor Models still applicable for Executable UML models 2002-10-21 Sida 15

Project Technology References BridgePoint tools + DesignPoint (model compilers) tools + methodology Kennedy/Carter modeling tools, model compilers + methodology Kabira Inc. systems and tools Rox Software model compilers Object Management Group UML + Executable UML + MDA-Model Driven Architecture SMUG2002 - www.projtech.com - www.kc.com - www.kabira.com - www.roxsoftware.com - www.omg.com -http://www.projtech.com/pubs/confs/2002.html Executable UML Conference in Tucson, Arizona, May 2002 hosted by Project Technology Paper from Ericsson regarding Executable UML usage and Model Compiler development 2002-10-21 Sida 16

Action Semantics Consortium (www.kc.com/as_site/home.html) Members Supported by 2002-10-21 Sida 17