Atego Artisan Studio Simulation - MBSE...

37
© 2012 Atego Atego Artisan Studio Simulation James Hummell Principal Engineer

Transcript of Atego Artisan Studio Simulation - MBSE...

Page 1: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

© 2012 Atego

Atego Artisan Studio Simulation James Hummell Principal Engineer

Page 2: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

© 2012 Atego 2

Atego Artisan Studio integrations with Simulink

Artisan Studio with parametrics and Simulink synchronizer

Artisan Studio with parametrics, and state behavior, and code

generation using Simulink synchronizer, Simulink code gen to

C/C++ lib

Artisan Studio using SySim use Simulink during model execution

Artisan Studio with Atego Parasolver uses Simulink as a solution

engine for parametrics, and returns values to Artisan

Artisan Studio state behavior, Internal block definition and ports

using ACE to tie into Simulink blocks and ports

Page 3: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

3 © 2012 Atego. All Rights Reserved.

Atego Solutions

Artisan Studio Add-On

Page 4: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

4 © 2012 Atego. All Rights Reserved.

Artisan Studio Architecture Standalone

Page 5: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

5 © 2012 Atego. All Rights Reserved.

Artisan Studio Architecture Client/Server

Page 6: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

6 © 2012 Atego. All Rights Reserved.

DOORS Synchronizer

Multiple modules per Studio model

−Able to bring requirements from multiple modules into a single Studio

model

−Create traceability in Studio

−Export back to DOORS (including surrogates)

Top Level

System

Requirements

Software

Requirements

Hardware

Requirements

DOORS Studio

Page 7: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

7 © 2012 Atego. All Rights Reserved.

Repository-based CM – Using Private Sandboxes

Page 8: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

8 © 2012 Atego. All Rights Reserved.

Repository-based CM – Using Private Sandboxes

Artisan Studio includes a 3-way conflict resolution tool:

Including a diagram differencer for resolving conflicts

Page 9: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

© 2012 Atego

Modeling

Page 10: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

10 © 2011 Atego. All Rights Reserved.

SysML (System Modeling Language)

Diagram

Structure Behavior

Block

Definition

Internal

Block Package Activity

Use Case

State

Machine

Sequence

New for

SysML

Requirements

Parametric

Modified

from UML

Same

as UML

Page 11: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

11 © 2011 Atego. All Rights Reserved.

ibd [Block] Anti-Lock Controller1

«Block»Anti-Lock Controller

«BlockProperty»d1 : Traction Detector

«BlockProperty»m1 : Brake Modulator

«BlockProperty»d1 : Traction Detector

«BlockProperty»m1 : Brake Modulator

c1:modulator interface

use

interaction

par [constraint] StraightLineVehicleDynamics [Parametric Diagram]

: AccelerationEquation

F c

a

: BrakingForceEquationtf

tl

bf

f

: DistanceEquation

vx

: VelocityEquation

a

v

{f = (tf*bf)*(1-tl)} {F = ma}

{v = dx/dt} {a = dv/dt}

The Four Pillars of SysML

1. Structure

4. Parametrics

2. Behavior

Vehicle SystemSpecification

Braking SubsystemSpecification

«requirement»

id#102

txtThe vehicle shall stop from60 mph within 150ft on aclean dry surface.

Stopping Distance

«requirement»

id#337

txtThe Braking subsystem shallprevent wheel lockup underall braking conditions.

Anti-Lock Performance

req [Package] Vehicle Specifications [Braking]

«deriveReqt»

3. Requirements

bdd [Package] Vehicle [ABS]

«Block»Library::

Electronic

Processor

«Block»Anti-Lock

Controller

«Block»Library::

Electro-Hydraulic

Valve

«Block»Traction

Detector

«Block»Brake

Modulator

d1 m1

definition

Gripping Slipping

LossOfTrac tion/

RegainTrac tion/

stm Tire [Traction]

state machine

Detect Loss Of

TractionTractionLoss Modulate

Braking Force

act PreventLockup

activity/

function

Page 12: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

12 © 2011 Atego. All Rights Reserved.

ibd [block] Anti-LockController

[Internal Block Diagram]

d1:Traction

Detector

m1:Brake

Modulator

c1:modulator

interface

ibd [block] Anti-LockController

[Internal Block Diagram]

allocatedFrom«activity»DetectLosOfTraction

d1:TractionDetector

allocatedFrom «activity»Modulate BrakingForce

m1:BrakeModulator

allocatedFrom«ObjectNode»TractionLoss:

c1:modulator

Interface

act PreventLockup [Activity Diagram]

DetectLossOf

Traction

Modulate

BrakingForceTractionLoss:

par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]

:AccellerationEquation

[F = ma]

:VelocityEquation[a = dv/dt]

:DistanceEquation[v = dx/dt]

:BrakingForceEquation

[f = (tf*bf)*(1-tl)]

tf: bf:tl:

f:

F:

c

a:a:

v:

v:

x:

Cross Connecting Model Elements

1. Structure 2. Behavior

4. Parametrics

act PreventLockup [Swimlane Diagram]

«allocate»

:TractionDetector

«allocate»

:BrakeModulator

allocatedTo«connector»c1:modulatorInterface

DetectLossOf

Traction

Modulate

BrakingForceTractionLoss:

req [package] VehicleSpecifications

[Requirements Diagram - Braking Requirements]

Braking Subsystem

Specification

Vehicle System

Specification

id=“102”

text=”The vehicle shall stop

from 60 mph within 150 ft

on a clean dry surface.”

«requirement»

StoppingDistance

id=”337"

text=”Braking subsystem

shall prevent wheel lockup

under all braking conditions.”

«requirement»

Anti-LockPerformance

«deriveReqt»

ibd [block] Anti-LockController

[Internal Block Diagram]

allocatedFrom«activity»DetectLosOfTraction

d1:TractionDetector

allocatedFrom «activity»Modulate BrakingForce

m1:BrakeModulator

allocatedFrom«ObjectNode»TractionLoss:

c1:modulator

Interface

satisfies«requirement»Anti-LockPerformance

req [package] VehicleSpecifications

[Requirements Diagram - Braking Requirements]

Braking Subsystem

Specification

Vehicle System

Specification

id=“102”

text=”The vehicle shall stop

from 60 mph within 150 ft

on a clean dry surface.”

«requirement»

StoppingDistance

SatisfiedBy

«block»Anti-LockController

id=”337"

text=”Braking subsystem

shall prevent wheel lockup

under all braking conditions.”

«requirement»

Anti-LockPerformance

«deriveReqt»

ibd [block] Anti-LockController

[Internal Block Diagram]

allocatedFrom«activity»DetectLosOf Traction

d1:TractionDetector

values

DutyCycle: Percentage

allocatedFrom «activity»Modulate BrakingForce

m1:BrakeModulator

allocatedFrom«ObjectNode»TractionLoss:

c1:modulator

Interface

satisfies«requirement»Anti-LockPerformance

par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]

:AccellerationEquation

[F = ma]

:VelocityEquation[a = dv/dt]

:DistanceEquation[v = dx/dt]

:BrakingForceEquation

[f = (tf*bf)*(1-tl)]

tf: bf:tl:

f:

F:

m:

a:a:

v:

v:

x:

v.Position:

v.Weight:v.chassis.tire.

Friction:v.brake.abs.m1.

DutyCycle:v.brake.rotor.BrakingForce:

par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]

:AccellerationEquation

[F = ma]

:VelocityEquation[a = dv/dt]

:DistanceEquation[v = dx/dt]

:BrakingForceEquation

[f = (tf*bf)*(1-tl)]

tf: bf:tl:

f:

F:

m:

a:a:

v:

v:

x:

v.Position:

v.Weight:v.chassis.tire.

Friction:v.brake.abs.m1.

DutyCycle:v.brake.rotor.BrakingForce:

req [package] VehicleSpecifications

[Requirements Diagram - Braking Requirements]

Braking Subsystem

Specification

Vehicle System

Specification

VerifiedBy

«interaction»MinimumStopp

ingDistance

id=“102”

text=”The vehicle shall stop

from 60 mph within 150 ft

on a clean dry surface.”

«requirement»

StoppingDistance

SatisfiedBy

«block»Anti-LockController

id=”337"

text=”Braking subsystem

shall prevent wheel lockup

under all braking conditions.”

«requirement»

Anti-LockPerformance

«deriveReqt»

satisfy

3. Requirements

Page 13: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

© 2012 Atego 14

Data Mining/Data Analysis (ICD Generator)

Generate traditional

Systems documentation

from modeling information

Page 14: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

© 2012 Atego

Model Execution and Code Generation

Page 15: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

16 © 2011 Atego. All Rights Reserved.

ACS Process

Model

ACS

Transformation Engine

Ada

Java

C/C++

IDL/IDL3+

(…)

Visual

Basic C#

Page 16: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

17 © 2011 Atego. All Rights Reserved.

An altogether different need is to support the automatic generation of

“things” from the model

Why use modeling tools?

TDK

Transformation

Model

TDK Model-based

transformations

Application

Model

Generator Model

Cache

CODE

Application

Model

CHANGE

CODE

FORWARD

GENERATE ROUNDTRIP

ROUNDTRIP

Artisan Studio

Model

Edit/compile

code in IDE

Model

Driven ACS/TDK offers combination of:

Speed

Flexibility (to define the mapping)

ACS

Page 17: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

18 © 2011 Atego. All Rights Reserved.

Code Generation Customization (Transformation Model)

*

1

*

1

4GGenerator::4GStructure::Class

Name : %string

Visibility : %string

4GGenerator::4GStructure::Attribute

Data Type : %string

Name : %string

Default Value : %string

Access : %string

4GGenerator::4GStructure::Operation

Name : %string

Short Return Type : %string

Access : %string

Text : %string

*

1

*

1

«4GGen»

RulesGen -> "Class"_ Name _"{" CR +1 dConstructorGen CR dDestructorGen CR ClassBody -1 "};" CR CR;ClassBody -> {Attribute.Gen} {Operation.Gen};implGen -> "//TESTING ONLY";dConstructorGen -> "void" _ Name "() {" CR +1 dConstBodyGen -1 CR "}";dDestructorGen -> "void ~" Name "() {" CR +1 dDestBodyGen -1 CR "}";dConstBodyGen -> "stuff iam here;";dDestBodyGen -> "// don't allow destruction" CR +1 "hi";

QClass

When (in O : %object) : %numeric

«4GEvalOrder»

«4GGen»

RulesGen -> "Interface"_ Name _"{" CR +1 dConstructorGen CR dDestructorGen CR ClassBody -1 "};" CR CR;

QInterface

When (in O : %object) : %numeric

«4GGen»

RulesGen -> Access":"_ Data Type _ Name [_"=" _ Default Value] ";" CR;

QAttribute

When (in O : %object) : %numeric

«4GGen»

RulesGen ->Short Return Type_ Name "(" [Parameter.Gen {", " Parameter.Gen}] ") {}" CR;

QFakeOperation

When (in O : %object) : %numeric

Page 18: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

© 2012 Atego

Matlab Sync

Page 19: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

20 © 2011 Atego. All Rights Reserved.

Parametric Diagram

Page 20: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

21 © 2011 Atego. All Rights Reserved.

Add Simulink profile to your model

Page 21: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

22 © 2011 Atego. All Rights Reserved.

Matlab Syncronizer

Allows mapping of types

Creates parametric block to Matlab block mapping

Page 22: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

23 © 2011 Atego. All Rights Reserved.

Matlab sample

Page 23: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

© 2012 Atego

SySim

Page 24: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

25 © 2012 Atego. All Rights Reserved.

: Model Execution for Systems Engineers

Early Validation of Complex Behavior

− Use your existing SysML designs for live model execution

− Enable incremental design, starting with basic behavioral features, adding more capabilities over time

− Enforce consistency of system models with ongoing, dynamic checks

Block Reuse

− Easily reuse your existing subsystems and combine them into different executable scenarios

− Use instance parameters for differentiating the behavior of reused blocks

Page 25: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

26 © 2012 Atego. All Rights Reserved.

Executable Models: Modeling Use Cases

Page 26: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

27 © 2012 Atego. All Rights Reserved.

Executable Models: Simulation Use Cases

Page 27: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

28 © 2012 Atego. All Rights Reserved.

Executable Model Example: Speed Controller

Page 28: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

© 2012 Atego

Parasolver

Page 29: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

30 © 2011 Atego. All rights reserved.

What‘s Needed

for System Validation Using Constraints?

Typical SE Tasks

Simulation

Analysis

Trade Studies

Optimization

Requirements Checking

Risk Assessment

Etc.

Features needed

Solvable or executable

language for constraints

SysML instance model to

express design alternatives in

slot values

Solver technology, which can

handle the acausal

parametrics

Input/Output to common

systems engineering tools

Page 30: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

31 © 2011 Atego. All rights reserved.

Artisan Studio ParaSolver Parts

ParaSolver Profile

User‘s Guide

Tutorial

Example Models

Page 31: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

32 © 2011 Atego. All rights reserved.

In Artisan Studio

Importing the ParaSolver Profile causes the

SysML Profile and the UML Profile to be

included as well

The Tools Menu shows the ParaSolver functions

Page 32: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

33 © 2011 Atego. All rights reserved.

A Simple Example

bdd

par

od

par [block] Gamma

add1 : AdditionEqn

a : Real b : Real

c : Real

bet : Beta

b : Real

alp : Alpha

a : Real

c : Real

constraints{c = a + b}

11

11

bdd [Package] AdditionBDD

«block»

Alpha

a : Real

«block»

Beta

b : Real

«block»

Gamma

c : Real

11

bet11

alp

gamma01

alp = alpha01

bet = beta01

c : Real

alpha01

a : Real = 63.0

beta01

b : Real = 20.0

alp bet

gamma01

alp = alpha01

bet = beta01

c : Real = 83.0

alpha01

a : Real = 63.0

beta01

b : Real = 20.0

alp bet

Page 33: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

34 © 2011 Atego. All rights reserved.

Don‘t Forget...

SysML Parametrics are acausal, so you can calculate

c = a + b with given a and b or

a = c – b with given c and b or...

WITHOUT changing anything in the model

Of course this is a VERY simple example, but this works also for

more complex ones, of course

The Instance model holds all calculated values, enabling the model

to contain more than one alternative

Page 34: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

35 © 2011 Atego. All rights reserved.

SysML Parametric Model Execution:

Orchestrating External Solvers & Trade Studies

Simple math

relation

MATLAB/Simulink

model

Excel Mathematica

function

Key System

MoE

System Trade Inputs

+ acausal modeling

Page 35: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

36 © 2011 Atego. All rights reserved.

Current and Planned Integrations

Mathematica

OpenModellica

Matlab

Matlab/Simulink

Excel

Planned:

CAD/CAE Systems, e.g. Catia

Page 36: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

37 © 2011 Atego. All rights reserved.

Demos

Satellite Power and Weight Analysis

Little Eye UAV – Area Covered Analysis

Page 37: Atego Artisan Studio Simulation - MBSE Solutionsmbse.solutions/wp-content/uploads/2013/04/artisanstudio_simulatio… · Parametrics benefits: • Build a mathematical model of the

38 © 2011 Atego. All rights reserved.

Artisan Studio Benefits

SysML benefits:

• Requirements documentation and traceablity to view the system for

completeness and adherence to the customer needs.

• Express and document your design decisions.

Parametrics benefits:

• Build a mathematical model of the solution to analyze and to verify

requirements against.

ParaSolver benefits:

• Enables the systems engineer to run instances of their design decisions

against the parametrics models created.

• Can run multiple scenarios to figure out the right solution.