Introduction to Model-Driven System Development

Similar documents
Certification of Model Transformations

Modeling Requirements, Architectures, Behaviour...

bahmanzamani.com Computer Engineering i Dept. University of Isfahan

Model-Driven Systems Engineering for Netcentric System of Systems With DEVS Unified Process

Model Driven Engineering (MDE)

Semantics-Based Integration of Embedded Systems Models

Horváth Ákos Bergmann Gábor Dániel Varró István Ráth

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

Test and Evaluation of Autonomous Systems in a Model Based Engineering Context

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

The Model Driven (R)evolution. Richard Mark Soley, Ph.D. Chairman and CEO Object Management Group, Inc.

CSSE 490 Model-Based Software Engineering: MDSD and Case Study

Practical Model-Driven Development with the IBM Software Development Platform

Modelling in Enterprise Architecture. MSc Business Information Systems

AUTOMATED BEHAVIOUR REFINEMENT USING INTERACTION PATTERNS

Deliver robust products at reduced cost by linking model-driven software testing to quality management.

Execution of UML models Present and Future of Research and Practice

Towards Open Modular Critical Systems

Overview of lectures today and Wednesday

MDSE USE CASES. Chapter #3

PisaTel Meeting Roma, 29 novembre 2007

An Introduction to MDE

QoS-aware model-driven SOA using SoaML

UMLEmb: UML for Embedded Systems. I. Introduction. Ludovic Apvrille Eurecom, office 470

Integrated modeling: Adopting Architecture Frameworks for Model-based Systems Engineering

Christian Doppler Laboratory

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

BLU AGE 2009 Edition Agile Model Transformation

Software Verification and Validation (VIMMD052) Introduction. Istvan Majzik Budapest University of Technology and Economics

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

Years ago many of us had high expectations for effective database systems to support our requirements analysis and management needs.

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

developer.* The Independent Magazine for Software Professionals

Compositional Model Based Software Development

Raising the Level of Development: Models, Architectures, Programs

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

AADL Requirements Annex Review

Towards UML Profile for Human Machine Interface Applications of In-vehicle Infotainment Platforms

3rd Lecture Languages for information modeling

ISO Compliant Automatic Requirements-Based Testing for TargetLink

Role of Executable UML in MDA. Presented by Shahid Alam

INTRODUCTION. Chapter #1

CSSE 490 Model-Based Software Engineering: More MBSD. Shawn Bohner Office: Moench Room F212 Phone: (812)

Model Driven Engineering

SCADE. SCADE Architect System Requirements Analysis EMBEDDED SOFTWARE

A Model-based, Single-Source approach to Design-Space Exploration and Synthesis of Mixed-Criticality Systems

Transformational Design with

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Model Driven Architecture - The Vision

Requirements Modelling and Software Systems Implementation Using Formal Languages

UNIVERSITY OF OSLO Department of Informatics. Metamodel-based Editor for Service Oriented Architecture (MED4SOA) Master thesis.

Software Engineering from a

idrm: Fixing the broken interface between design and manufacturing

GMF Tooling 3.0 Vision, Architecture, Roadmap

Current State of ontology in engineering systems

Science of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach

Model driven Engineering & Model driven Architecture

Modeling Requirements

Capella to SysML Bridge: A Tooled-up Methodology for MBSE Interoperability

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

WAY OF WORKING TRANSFORMATION TO INTEGRATED MODEL DRIVEN DEVELOPMENT (MDD) AND MODEL- BASED TESTING (MBT)

Introduction to the RAMI 4.0 Toolbox

Tool Support for Tradespace Exploration and Analysis

The PISA Project A Model Driven Development case study

MDSE PRINCIPLES. Chapter #2

Requirements and Design Overview

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Lecture 05 ( ) High-Level Design with SysML. Systeme hoher Qualität und Sicherheit Universität Bremen WS 2015/2016

Best Practices for Model-Based Systems Engineering

A Solution Based on Modeling and Code Generation for Embedded Control System

Unified Modeling Language (UML)

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

All you need are models Anneke Kleppe, Klasse Objecten

Object Management Group Model Driven Architecture (MDA) MDA Guide rev. 2.0 OMG Document ormsc/

Model Driven Engineering (MDE) and Diagrammatic Predicate Logic (DPL)

Business Process Modelling

NoMagic Product Comparison Brief

UML 2.0 State Machines

Transformation of the system sequence diagram to an interface navigation diagram

Model-Driven Verification and Validation

AUTOSAR: from concept to code.

ISO compliant verification of functional requirements in the model-based software development process

Verification of the Requirements Specification

V&V: Model-based testing

The Future of MBSE with MagicDraw Jason Wilson Director, Solution Architecture & Business Development

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel

Introduction to MDE and Model Transformation

Requirements Gathering

Whole Platform Foundation. The Long Way Toward Language Oriented Programming

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Existing Model Metrics and Relations to Model Quality

Integration With the Business Modeler

Modelling (and Analyzing) Interorganizational Communication. Jan Martijn van der Werf

Software Architecture

Model-Based Social Networking Over Femtocell Environments

The Eclipse Modeling Framework and MDA Status and Opportunities

Model based Design. Embedded Systems Engineering Benedikt Huber WS 2010/ Model based Design

OMG Workshop MDA. Tool Chains for MDA? Let's consider leaving our tool chains behind us.

IBM Research Report. Model-Driven Business Transformation and Semantic Web

TRANSITIONING PROJECTS TO A MODEL-BASED APPROACH

Transcription:

Introduction to Model-Driven System Development Ákos Horváth Dept. of Measurement and Information Systems Budapest University of Technology and Economics Department of Measurement and Information Systems

Song writing methods of Simon and Garfunkel

Paul Simon s technique #1 Bridge Over Troubled Water When you're weary Feeling small When tears are in your eyes I will dry them all I'm on your side When times get rough And friends just can't be found Like a bridge over troubled water I will lay me down Like a bridge over troubled water I will lay me down 1. Create music first 2. Write lyrics accordingly 3

Paul Simon s technique #2 The Boxer I am just a poor boy Though my story's seldom told I have squandered my resistance For a pocket full of mumbles such are promises All lies and jests Still a man hears what he wants to hear And disregards the rest When I left my home and my family I was no more than a boy In the company of strangers In the quiet of the railway station running scared Laying low, seeking out the poorer quarters Where the ragged people go Looking for the places only they would know 1. Write lyrics first 2. Compose music accordingly 4

Scarborough Fair (Folk Song) Tell her to find me an acre of land, Parsley, sage, rosemary and thyme; Between the salt water and the sea strand, Then she'll be a true love of mine. A Combined Technique The Side of a Hill (P. Simon) On the side of a hill, a little cloud weeps And waters the grave with its silent tears While a soldier cleans and polishes a gun Canticle (rearranged by A. Garfunkel) On the side of a hill a sprinkling of leaves Washes the grave with silvery tears A soldier cleans and polishes a gun 5

Naming These Techniques Bridge Over Troubled Water When you're weary Feeling small When tears are in your eyes I will dry them all Music Driven Song Development (MDSD) 1. Create music first I'm on your side When times get rough And friends just can't be found Like a bridge over troubled water I will lay me down Like a bridge over troubled water I will lay me down 2. Write lyrics accordingly Lyrics Driven Song Development The Boxer I am just a poor boy Though my story's seldom told I have squandered my resistance For a pocket full of mumbles such are promises All lies and jests Still a man hears what he wants to hear And disregards the rest When I left my home and my family I was no more than a boy In the company of strangers In the quiet of the railway station running scared Laying low, seeking out the poorer quarters Where the ragged people go Looking for the places only they would know 6 1. Write lyrics first 2. Compose music accordingly

Applying the Principle to Software Systems MDSD = Model Driven Software Development / Engineering Model Bridge Over Troubled Water When you're weary Feeling small When tears are in your eyes I will dry them all I'm on your side When times get rough And friends just can't be found Like a bridge over troubled water I will lay me down Like a bridge over troubled water I will lay me down Code Music Lyrics 7

Model Driven System Engineering

Terminology MDSE = Model Driven System Engineering MDSD = Model Driven System Development MDD = Model Driven Development MDE = Model Driven Engineering MBSE = Model Based Systems (Software) Engineering MDSE MDE > MDSD MDD > MBSE MDA = Model Driven Architecture o Design methodology proposed by OMG (Object Management Group) o A specific realization of Model Driven Software Engineering Related concepts Platform model Platform specific model (PSM) o MDT (Model Driven Testing) MBT (Model Based Testing) Platform independent model (PIM) 9

Model Driven Architecture Example Platform Independent Model Platform Specific Model Code Application 10

Why to model? 11

Why to model? Better documentation Better understanding 12

Why to model? Generate code 13

Why to model? Can I return to Normal operation from Faulty state? Better analyzability 14

Why to model? Generate tests o state coverage test1: N, S, F test2: N, M o transition coverage N,S,I,N,M,I,N,S,F o path coverage from all states to all other states e.g. from Initialization to Faulty: NSF, NSI NSF, NMI NSF, NSI NMI NSF, NMI NSI NSF 15

What is a model? Model System describes Mapping the model is based on the original system Reduction it reflects only an important/relevant segment Replaceable can be used in place of the original system for a limited feature 16

What is a model? Structured representation of the information A railway station is composed of signals, tracks and points. Tracks can be connected to each other. Signals are located at both ends of the track. 17

Terminology / Metamodel / Modeling Language What is a model? Graphical syntax Signal s1...... Points p1 Track t1... Instance model diagram Instance model abstract syntax... Signal s1... Track t1... Signal s2...... Track t2... Points p1 Signal s3... Signal s4... Points p2 18

Model vs. Diagram Diagram o A view of the model o Important aspects from a given viewpoint are shown Model o All the elements and their relations... Signal s1... Track t1... Signal s2...... Track t2... Points p1 Signal s3... Signal s4... Points p2 19

How to process a model? Define interesting model parts (patterns) Find in the model (pattern matching) o Result: match sets s11,s12,t1 s21,s22,t2 Apply some operation o modify model o create other model o generate artefact pattern p1 (s1,s2,t) { Signal(s1); Signal(s2); Track(t); locatedat(s1,t); locatedat(s1,t); protectedby(t,s1); protectedby(t,s2); } 21

What is needed for MDSE? The Three Pillars Modeling Language o Defines elements and their relationship o Defines syntax and semantics o What type of elements can be used during modeling? o E.g. SysML Development Methodology o Defines the steps of analyzing and designing the system o Defines the usage of the model elements and diagrams o How shall the model be built? o E.g. SYSMOD (SYStem MODeling) by Tim Weilkiens, OOSEM, Rational Harmony Proper! Tool o E.g. MagicDraw, Enterprise Architect, IBM Rational Rhapsody 22

What is needed for MDSE? + Two extra things Domain knowledge o Should know what to model Distinguished team o Should have people who have the ability and experience to create good models 23

What types of models can be used? Static models o Defines the static aspects of the system including data, design and architecture. o e.g., E-R model Dynamic models o Defines or describes the dynamic behavior of the system. Usually demonstrates execution. o e.g., State machine 24

What types of models can be used? Model Transformations Typically we use these levels Engineering models UML, SysML, Domain Specific Models Levels of verification algorithms Higher level formalisms: Dataflow, Petri-net,... Low level mathematical formalisms: Automatons, SAT,... 25

What types of modeling languages can be used? General Purpose Modeling languages o Languages that can be applied to any domain for modeling purpose o e.g., State machines, Petri-nets, SAL, UML, SysML Domains Specific Modeling languages o Languages that are specifically designed for a certain domain o e.g., AutoSAR, Mathematica, Logo, AADL, etc 26

What can be done with MDSE? DOCUMENTATION o Support requirements specification Textual based extended with models (diagrams) o Support system design Mind based documented VERIFICATION o Check consistency, completeness, well-formedness ANALYSIS o Analyze / simulate parts of the system to determine or derive properties Applied separately for a selected component E.g. for a communication protocol: consensus is always reached Integrated into the model based development process SYNTHESIS o Synthetize some parts of the system design, application or other artefacts 27

Analysis in Model Driven System Engineering System Design Formal verification Engineering model (e.g. SysML) Automated Model Generation Formal model Backtracing results Analysis 28

Synthesis in Model Driven System Engineering MDSE framework Platform model Platform independent model (PIM) Platform specific model (PSM) Possibilities o o o o o o Platform independent platform specific Configuration generation Code generation Monitor generation Test Case generation Documentation generation Tool Support o Workflow Based Execution Test cases Configuration Configures Application / HW Monitor program Monitors Program code 29 Tests Application / System

Model-Driven Engineering of Critical Systems Traditional V-Model Model-Driven Engineering DO-178B/C: Software Considerations in Airborne Systems and Equipment Certification (RTCA, EUROCAE) Steven P. Miller: Certification Issues in Model Based Development (Rockwell Collins) Main ideas of MDE early validation of system models automatic source code generation quality++ tools ++ development cost-- 30

How to apply Model Driven Engineering? 32

Summary What is a model? o Abstraction of the real world o Built from elements defined by the modeling language (metamodel) Why to model? o Document, verify, analyze, synthesize What are needed for modeling? o Language + methodology + tool + domain knowledge + expertise What types of models to use? o General purpose vs. domain specific o Engineering vs. mathematical (~ semi-formal vs. formal) o For modeling behavior and structure How to process models? o By means of model queries and transformations 33