Model-Based Systems Engineering - HAW Hamburgubicomp/...20.12.2009 1 Model-Based Systems Engineering...

Preview:

Citation preview

20.12.2009 1

Model-Based Systems Engineering

System Modeling, Testing and Simulation with UML/SysML and Modelica

Parham VasaielyDecember 2009

Model-Based Systems Engineering

20.12.2009 2

Table of Contents1. Introduction and Motivation

1.1 The OPENPROD Project1.2 System mdoeling with standardized notations (e.g. UML)1.3 System simulation with Modelica1.4 Integration of UML/SysML and Modelica

2. Project fields2.1 The Modeling Environment2.2 The Simulation Environment2.3 The Test Environment

20.12.2009 3

1. Introduction and Motivation (Systems-Engineering)Problem: Increasing complexity of technical systems

-Increased degree of complexity -> need for mastering complexity by e.g. automation-Increased number of involved technologies-SW and HW development is strongly coupled-Component suppliers are involved in system design-Need for system validation long before first physical prototypes are built

Motivation:-Process efficiency and development time and cost reduction in systems development-Time to market reduction-Ensure quality and maturity of system definition in early development stages

Solutions / Enablers: -Model- Based Systems Engineering can help to improve development process efficiency -System validation and tests by simulation in early development stages

20.12.2009 4

1.1 OPENPROD – Introduction and Goals

Open whole-product model-driven systems development modelling and simulation

Goals:-Holistic whole-product model-driven rapid development and design environment-Including support for product business processes. -Open source tools and components for open reusable solutions.-Standardized model representation of products.

Start: June 2009 End: May 2012

20.12.2009 5

1.1 OPENPROD – Involved Partners

APPEDGEConsulting & Engineering

20.12.2009 6

1.3 System Simulation With Modelica

Published by the Modelica Association (www.modelica.org)Declarative, Object-Oriented and Synchronous Language

-Equations and mathematical functions allow acausal modeling, high level specification, increased correctness

-Equation-based; continuous and discrete equations-Acausal modeling supports better reuse of modeling and design

knowledge than traditional classes

Multi-Domain Modeling-Combines electrical, mechanical, thermodynamic, hydraulic,

Biomechanik , control, event, real-time, etc...

Efficient, Non-Proprietary-Efficiency comparable to C; advanced equation compilation, e.g. 300 000

equations, ~150 000 lines on standard PC

20.12.2009 7

1.2 Need for Standardized Model Representations

Challenge à Many domain-specific graphical notations

20.12.2009 8

1.2 Need for Standardized Model Representations

Solution à Standardized notations for systems modeling

BranchA

CompanyA

SystemModel

ComponentSupplier

BranchB

BranchA

BranchB

Customer

20.12.2009 9

1.2 OMG SysML

Graphical modeling language to…Specify… Analyze… Design… Check…

Systems and single System components

U M L 2

S y s M L

S y sM L e x te n sio n s to

U M L

OMG Systems Modeling Language

20.12.2009 10

1.2 OMG SysML to Modelica Code Transformation

Tank«block»

Attributes«variable» area:double=0.5«variable» flowGain:double=0.05«variable» minV:double=0«variable» maxV:double=10«variable» h:double=0.0

qOut:LiquidFlowqIn:LiquidFlow

tSensor:ReadSignal tActuator:ActSignal

within TwoTanks;block Tank

ReadSignal tSensor;ActSignal tActuator;LiquidFlow qIn;LiquidFlow qOut;parameter Real area (unit = "m2") = 0.5;parameter Real flowGain (unit = "m2/s") = 0.05;Real h (start = 0.0, unit = "m");

end Tank;

<<block>>Tank à Tank.mo (Modelica)

20.12.2009 11

1.5 Integration of UML/SysML and Modelica

Generated Modelica Code

System Simulation

System Modeling with UML/SysML/ModelicaML

Putting together UML/SysML and Modelica gives a powerful combination for modelling and simulation of complex systems at any stage of system development.

20.12.2009 12

2. Project Fields

Developing the following environments as Eclipse plug-ins

Eclipse 3.x

MDT

Modeling

Plugin (e.g. Papyrus)

Test

Plugin (e.g. U2TP)

Simulation

Plugin

Open Modelica

GML (SysML,

ModelicaML)

Our fields

20.12.2009 13

2.1 The Modeling Environment

System Structure, Behavior, Requirements

20.12.2009 14

2.2 The Simulation Environment

Why is Simulation important?

-First virtual Prototype-Supports Communication between Developer and Customer-Basic unit for dynamic system tests-Interactive system tests

20.12.2009 15

2.2 Simulation Environment Example

Non-/Interactive Simulation

InteractiveSimulationRuntime

Simulation Center

Sim.Control

create

Comm.

OMC

OMI

Non-InteractiveSim-Runtime

create

MDT Plugin

Comm.

Simulation Plugin

ModelicaFiles (*.mo)

SimulationResults

20.12.2009 16

2.2 Interactive Simulation Runtime Example Implementation

C o n tr olCa lcul atio n

Tra nsfe r

G lo b alD ata

Si m u latio nCo ntro l

Si m u latio nDa taF lo w

R esu lt M a na g er

Or ig. O M com po ne n ts

O M S er v ice Inte rface

O p en Mo del ica In te ra ctive (As Se rve r/S erv ice )

In te ra ctive G U I (As C lien t)

S imu la tion Un its Co m m un ica tion Un its

O M I S ubsy stem (new ) O M S u bs ys tem (o ld)

20.12.2009 17

2.2 Simulation Visualization Exmample

Tank 1 Tank 2

Liquid Source

MaxLevel

Level h

Level h

PlotView

RequirementsEvaluation View

Domain-Specific

Visualization View

20.12.2009 18

2.2 Test Environment - Needs

As an addition to the OPENPROD

Why is Testing important?

-Searching for a failure caused byfails

-Imporve Quality-Verifikation and Validation

20.12.2009 19

2.2 Model Based System Dynamics Testing

Model Based: Formal modeling of informal text based requirements

- Activity Diagram, Sequence Diagram, State Machines…- Visuelle Kontrakte

Dynamic: Using simulation

Die höhe des Tank A soll nicht über 10 m sein, um ein überlaufen des Tankes zu vermeiden. Falls der sperrmechanismus des Controllers B dennoch nicht greift soll ab 10% der max höheder Ablauf C mit hilfe des Ventils D das Wasser abfließen lassen

Max_höhe_Tank_A

Id: 001Beschreibung: Die höhedes Tank A soll nicht über 10 m sein, um ein überlaufen des Tankes zu vermeiden.

20.12.2009 20

2.2 Test Automation

1. Test Case generation

FunctionalSpecification

ActivityDiagramSequence

DiagramStateMachines

2. Test Coverage

3. Test Execution

Model Requirement

Informal Formal Using UML 2 TP

Functional TestCase

20.12.2009 21

References• Sanford Friedenthal, Alan Moore and Rick Steiner, Practical Guide to SysML, 2008• Fritzson Peter. Principles of Object-Oriented Modeling and Simulation with Modelica 2.1,

2004• Modelica Association. Modelica: A Unified Object-Oriented Language for Physical

Systems Modeling: Language Specification Version 3.0, Sept 2007. www.modelica.org• OMG. OMG Unified Modeling Language TM (OMG UML). Version 2.2, February 2009.• OMG. OMG Systems Modeling Language (OMG SysML™), Version 1.1, November

2008.• OMG. OMG UML 2 Testing Profile (U2TP), Version 1.0, July 2007• Acceleo, Eclipse Plug-In. www.acceleo.org/pages/home/en• Papyrus UML, www.papyrusuml.org• Schamai.W, ModelicaML - UML Profile for Modelica, Technical Report

http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-20553• OPENPROD ITEA2 Project Spec 2009 (Non public version)• Robert V. Binder. Testing Object-Oriented Systems, Addison-Wesley, 2000.

20.12.2009 22

Thank you for your attention!

Parham VasaielyParham.Vasaiely@informatik.haw-hamburg.de

Recommended