Preview only show first 10 pages with watermark. For full document please download

Atego Artisan Studio Simulation

   EMBED


Share

Transcript

Atego Artisan Studio Simulation James Hummell Principal Engineer © 2012 Atego 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 © 2012 Atego 2 Atego Solutions Artisan Studio Add-On © 2012 Atego. All Rights Reserved. 3 Artisan Studio Architecture Standalone © 2012 Atego. All Rights Reserved. 4 Artisan Studio Architecture Client/Server © 2012 Atego. All Rights Reserved. 5 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 Hardware Requirements Software Requirements DOORS © 2012 Atego. All Rights Reserved. Studio 6 Repository-based CM – Using Private Sandboxes © 2012 Atego. All Rights Reserved. 7 Repository-based CM – Using Private Sandboxes  Artisan Studio includes a 3-way conflict resolution tool:  Including a diagram differencer for resolving conflicts © 2012 Atego. All Rights Reserved. 8 Modeling © 2012 Atego SysML (System Modeling Language) Same as UML Modified from UML New for SysML Diagram Structure Block Definition Internal Block Requirements Package Behavior State Machine Activity Sequence Parametric © 2011 Atego. All Rights Reserved. 10 Use Case The Four Pillars of SysML 1. Structure «Block» Anti-Lock Controller bdd [Package] Vehicle [ABS] «Block» Library:: Electronic Processor 2. Behavior ibd [Block] Anti-Lock Controller1 «Block» Anti-Lock Controller «Block» Library:: Electro-Hydraulic Valve c1:modulator interface «Block» Traction Detector state machine «BlockProperty» d1 : Traction Detector Los s O fTrac tion/ Gripping «BlockProperty» m1 : Brake Modulator m1 d1 interaction Tire [Traction] stm PreventLockup act «Block» Brake Modulator Detect Loss Of Traction activity/ function Modulate Slipping TractionLoss Braking Force RegainTrac tion/ use definition par [constraint] StraightLineVehicleDynamics [Parametric Diagram] {f = (tf*bf)*(1-tl)} : BrakingForceEquation tf req [Package] Vehicle Specifications [Braking] {F = ma} f Braking Subsystem Specification Vehicle System Specification : AccelerationEquation F c «requirement» Anti-Lock Performance «requirement» Stopping Distance tl bf a x : VelocityEquation v id# id# 4. Parametrics : DistanceEquation 102 337 txt The vehicle shall stop from 60 mph within 150ft on a clean dry surface. txt The Braking subsystem shall prevent wheel lockup under all braking conditions. v a {v = dx/dt} © 2011 Atego. All Rights Reserved. 3. Requirements «deriveReqt» {a = dv/dt} 11 Cross Connecting Model Elements 2. Behavior 1. Structure act PreventLockup [Swimlane Diagram] ibd [block] Anti-LockController satisfies ibd [block] Anti-LockController satisfies [Internal Diagram] «requirement» [Internal BlockBlock Diagram] «requirement» Anti-Lock Anti-Lock Performance Performance ibd [block] Anti-LockController [Internal Block Diagram] d1:TractionDetector d1:TractionDetector «allocate» act PreventLockup [Activity Diagram] :TractionDetector allocatedFrom allocatedFrom c1:modulator «activity»DetectLos d1:Traction «activity»DetectLos c1:modulator Interface OfTraction Of Traction Detector Interface c1:modulator interface m1:BrakeModulator m1:BrakeModulator m1:Brake Modulator allocatedFrom allocatedFrom allocatedFrom allocatedFrom «ObjectNode» «ObjectNode» «activity»Modulate «activity»Modulate TractionLoss: TractionLoss: BrakingForce BrakingForce DetectLossOf Traction Modulate Modulate BrakingForce BrakingForce TractionLoss: allocatedTo «connector»c1:modulatorInterface values DutyCycle: Percentage satisfy «allocate» :BrakeModulator par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram] req [package] VehicleSpecifications req [package] VehicleSpecifications req [package] VehicleSpecifications [Requirements Diagram - -Braking Requirements] [Requirements Diagram Braking Requirements] [Requirements Diagram - Braking Requirements] v.chassis.tire. Friction: v.brake.abs.m1. DutyCycle: v.brake.rotor. BrakingForce: v.Weight: par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram] Vehicle System Vehicle System Vehicle System Specification Specification Specification Braking Subsystem BrakingSubsystem Subsystem Braking Specification Specification Specification «requirement» «requirement» «requirement» «requirement» «requirement» StoppingDistance StoppingDistance StoppingDistance «requirement» Anti-LockPerformance Anti-LockPerformance Anti-LockPerformance id=“102” id=“102” id=“102” text=”The text=”Thevehicle vehicleshall shallstop stop text=”The vehicle shall stop from 150 ftft from6060mph mphwithin within 150 from 60 mph within 150 ft onona aclean cleandry drysurface.” surface.” on a clean dry surface.” VerifiedBy «interaction»MinimumStopp ingDistance id=”337" id=”337" id=”337" text=”Braking text=”Brakingsubsystem subsystem text=”Braking shall wheel shallprevent preventsubsystem wheel lockup lockup shall prevent wheel lockup under underall allbraking braking conditions.” conditions.” under all braking conditions.” SatisfiedBy SatisfiedBy «block»Anti-LockController «block»Anti-LockController «deriveReqt» tf: tf: tf: tl: tl: tl: bf: bf: m: m: bf: f:f: :BrakingForce :BrakingForce Equation Equation :BrakingForce [f (tf*bf)*(1-tl)] [f == (tf*bf)*(1-tl)] Equation f: F: a: a: :DistanceEquation :DistanceEquation [v = dx/dt] [v = dx/dt] :DistanceEquation x: dx/dt] [v = v: x: v.Position:x: v.Position: © 2011 Atego. All Rights Reserved. 4. Parametrics 12 a: a: [F = ma] a: a: v: v: «deriveReqt» «deriveReqt» 3. Requirements F: F: [f = (tf*bf)*(1-tl)] c :Accelleration :Accelleration Equation Equation :Accelleration [F = = ma] ma] [F Equation v: v: :VelocityEquation :VelocityEquation [a = dv/dt] [a = dv/dt] v: :VelocityEquation [a = dv/dt] Data Mining/Data Analysis (ICD Generator)  Generate traditional Systems documentation from modeling information © 2012 Atego 14 Model Execution and Code Generation © 2012 Atego ACS Process Model ACS Transformation Engine IDL/IDL3+ (…) Ada Java C/C++ © 2011 Atego. All Rights Reserved. C# 16 Visual Basic Why use modeling tools?  An altogether different need is to support the automatic generation of “things” from the model Transformation Model Application Artisan Studio Model-based Model TDK ROUNDTRIP transformations CHANGE ACS Model Driven Model Cache Generator FORWARD GENERATE ROUNDTRIP ACS/TDK offers combination of: Speed Flexibility (to define the mapping) CODE Edit/compile code in IDE © 2011 Atego. All Rights Reserved. 17 Code Generation Customization (Transformation Model) «4GGen» QClass 4GGenerator::4GStructure::Class Rules Gen -> "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"; 1 Name : %string Visibility : %string 1 * When (in O : %object) : %numeric 4GGenerator::4GStructure::Attribute «4GEvalOrder» «4GGen» QInterface Rules Gen -> "Interface"_ Name _"{" CR +1 dConstructorGen CR dDestructorGen CR ClassBody -1 "};" CR CR; Data Type : %string Name : %string Default Value : %string Access : %string When (in O : %object) : %numeric «4GGen» QAttribute Rules Gen -> Access":"_ Data Type _ Name [_"=" _ Default Value] ";" CR; 4GGenerator::4GStructure::Operation * When (in O : %object) : %numeric Name : %string Short Return Type : %string Access : %string Text : %string «4GGen» QFakeOperation Rules Gen ->Short Return Type_ Name "(" [Parameter.Gen {", " Parameter.Gen}] ") {}" CR; When (in O : %object) : %numeric © 2011 Atego. All Rights Reserved. 18 Matlab Sync © 2012 Atego Parametric Diagram © 2011 Atego. All Rights Reserved. 20 Add Simulink profile to your model © 2011 Atego. All Rights Reserved. 21 Matlab Syncronizer  Allows mapping of types  Creates parametric block to Matlab block mapping © 2011 Atego. All Rights Reserved. 22 Matlab sample © 2011 Atego. All Rights Reserved. 23 SySim © 2012 Atego : 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 © 2012 Atego. All Rights Reserved. 25 Executable Models: Modeling Use Cases © 2012 Atego. All Rights Reserved. 26 Executable Models: Simulation Use Cases © 2012 Atego. All Rights Reserved. 27 Executable Model Example: Speed Controller © 2012 Atego. All Rights Reserved. 28 Parasolver © 2012 Atego What‘s Needed for System Validation Using Constraints? Typical SE Tasks Features needed  Simulation  Solvable or executable language for constraints  Analysis  Trade Studies  Optimization  Requirements Checking  Risk Assessment  Etc.  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 © 2011 Atego. All rights reserved. 30 Artisan Studio ParaSolver Parts  ParaSolver Profile  User‘s Guide  Tutorial  Example Models © 2011 Atego. All rights reserved. 31 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 © 2011 Atego. All rights reserved. 32 A Simple Example  bdd par [block] Gamma bdd [Package] AdditionBDD «block» Gamma  par c : Real c : Real constraints {c = a + b} add1 : AdditionEqn c : Real a : Real 1 1  od 1 1 alp «block» Alpha a : Real b : Real bet «block» Beta b : Real alp : Alpha bet : Beta a : Real b : Real gamma01 alp = alpha01 bet = beta01 c : Real = 83.0 gamma01 alp = alpha01 bet = beta01 c : Real alp alpha01 alp alpha01 a : Real = 63.0 bet beta01 a : Real = 63.0 b : Real = 20.0 © 2011 Atego. All rights reserved. 33 bet beta01 b : Real = 20.0 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 © 2011 Atego. All rights reserved. 34 SysML Parametric Model Execution: Orchestrating External Solvers & Trade Studies System Trade Inputs MATLAB/Simulink model Simple math relation Excel Mathematica function Key System MoE © 2011 Atego. All rights reserved. + acausal modeling 35 Current and Planned Integrations  Mathematica  OpenModellica  Matlab  Matlab/Simulink  Excel  Planned: CAD/CAE Systems, e.g. Catia © 2011 Atego. All rights reserved. 36 Demos Satellite Power and Weight Analysis Little Eye UAV – Area Covered Analysis © 2011 Atego. All rights reserved. 37 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. © 2011 Atego. All rights reserved. 38