model management tools and technologies · model management tools and technologies michael tiller...

40
Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company

Upload: dangnhi

Post on 17-Apr-2018

222 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Model ManagementTools and Technologies

Michael TillerPowertrain Research Department

Ford Motor Company

Page 2: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Overview

Development ToolsVersion ControlWeb-based Tools

Modelica – Open StandardRepresenting behaviorTranslationModelica-based applications

Page 3: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Tools

Page 4: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Choosing Tools

Tools are like houses:They need a solid foundation to build onYou can always add a coat of paint later

Page 5: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Key Principles (for us)CheapTools and technologies should be

Open – Non-proprietary and well-documentedProven – Scales for real-world applicationsMature – Relatively bug-free

Treat model development like software development

Leverage tools/libraries as appropriate“Redundancy is the root of all evil”

Page 6: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Tools – Version Control

Page 7: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Version Control RequirementsArchive previous versionsArchive developer comments on changesAllow branching for parallel developmentAllow merging for coherent code baseAbility to “diff” changesTag (or label) releasesRetrieve versions by tag, branch or dateCross-platformKeyword substitutionBinary file support

Page 8: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Version Control ToolsClearCase – used extensively

Excellent featuresExpensiveHigh maintenance

CVS – used extensivelyGood features (missing a few nice ones)FreeFairly simple to install and maintain

Perforce – never usedGood compromise

Page 9: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

CVS User InterfacesCommand lineAncillary Tools

TkDiff, CSDiff – Diffing and mergingSeveral GUIs

WinCVS – primary user interfaceTkCVS – Works on Windows/UnixCVSWeb – Web based access

Good example of an open system

Page 10: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Typical UsageCreate a branch for either a bug fix or enhancement

We use eTrackerBug fix branch names use eTracker Ids

Work in parallelClearly identifies all changesAvoid “stepping on toes”

Merge changes

Page 11: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

WinCVS

Create branches and tagsView local changes and/or conflictsView “version tree” for a given fileReview check-in comments“Sandbox” approachhttp://www.wincvs.org/

Page 12: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Tools - Utilizing the Intranet

Page 13: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

CVS WebOverview of the filesystemDownload specific versions of filesView differences between files

http://www.freebsd.org/projects/cvsweb.html

Page 14: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Wiki – Collaborative ToolCollaborative environment

FAQs, user and developer informationTechnical discussions

Web-basedSearchableActive server-side scriptingCustomizableFreeChange tracking, version control and diff-inghttp://twiki.org/

Page 15: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Wiki Screen Shots

Page 16: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

CORBAUsed to allow programs to communicate and interact over networksOpen standardCross-platformSupports every major languageHave not needed this functionality yetTypical example of thought out solution

Page 17: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Modelica

Page 18: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Unclear MessageNot (strictly) about physical modelingInterest in an open specificationFormat for model storage and exchangeFeatures beyond behavioral descriptions

Data handlingCode maintenance

Non-proprietaryScalable

blah blah Modelica blah blah Simulink

Modelica blah blah index

reduction blah

blah blah Modelica blah blah causality

Page 19: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Development Effort

It requires a considerable effort to identify all the issues and then develop solutionsWe wanted to leverage work already doneThe diverse composition of the Modelica Organization provided many views

Page 20: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Capturing InformationEncapsulation (protected, public, encapsulated)Built-in types capture

Units, min & max values, nominal valuesAnnotations – Meta Data

Non-behavioral (e.g. graphical)All tools must preserve this dataStructured/Hierarchical (conceptually like XML)Avoids “kitchen sink” approachUseful for other applications (e.g. FMEA)

Page 21: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Meta-DataAnnotations

Currently used for several things including“Masks”Laying out components and connectionsDocumentation

Completely open-endedCan be associated with models, functions, packages, model instances, etc

Structured commentsPossible to store arbitrary data files in the Modelica model hierarchy

Page 22: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Configuration ManagementExample: Level of fidelity“Redundancy is the root of all evil”Version control provides different dimension sometimes misused, e.g.

Version 1.3 – Model with base halfshaftsVersion 1.4 – Model with stiff halfshaftsVersion 1.5 – Model with slip clutch

We build this into the modelParametrically change whether shaft is rigid or compliantSwap one component for another with a comparable interface

Page 23: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

“Variant” Control

Using “Save As” is problematicVariants are nice because they

Reference other classes (not copy)Do not alter the “base” modelThey explicitly list exactly what has changed (called modifications)

Type safe

Page 24: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Example

model TransmissionWithFrictionextends Transmission(rigidShaft=true, damping=0.72,redeclare Ford.Mechanical.Gears.PlanetaryWithLossesplanetary(ratio=Nr/Ns, efficiency=efficiency));

end TransmissionWithFriction;

Topologicalmodification

New componenttype

Parametricmodification

Reuse anothermodel

Page 25: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

GUI HandlingVariations are handled similarly to LSM

Annotations are used for choices

Page 26: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Representing BehaviorModelica includes both declarative and procedural semantics

Can be used for scripts and functions

Can handle both continuous and discrete behavior

Can be used for things like Petri nets, digital circuits and state charts

Different GUIs might be required to build modelsDifferent simulators may provide different performance for different problem types

Page 27: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Control Logic

Discrete behavior

Page 28: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Control Logic (cont.)model Tdelay "Transition with one input and one output connection"

parameter Real delay=5;protected

Boolean activated;Boolean delay_passed;Boolean fire;Real last_activation_time;

equation//activation of transitionactivated = inTransition.state;//set activation timewhen activated then

last_activation_time = time;end when;//activated and delay passeddelay_passed = activated and ((time - delay) > last_activation_time);//fire commandfire = activated and delay_passed and not outTransition.state;//propagate firing to in and output placesinTransition.fire = fire;outTransition.set = fire;

end TDelay;

Page 29: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Modelica Applications

Page 30: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Sample Package Structuredefinition

(e.g. package)

definition definition

parameter

component

definition

component

equation

annotation

annotation

modifications

definition

component

component

component

definition(e.g. package)

definition definition

component

annotation…

definition

component

component

annotation

constant

definition

equation

equation

equation

Libraries

Model

Page 31: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Modelica ToolsSimulate modelsGenerate documentationBundle models for distributionStyle guideline reportingOther possibilities

Specialized diffing/mergingCode generatorObfuscation/shroudingConversion/transformation utilitiesFormal verification

Page 32: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Example: Dymola LayersDymola uses annotations for:

Icon graphicsDiagram layout (and drawing elements)Documentation

ResultAll captured in the modelViewable in DymolaUsed to generate HTML documentation

Page 33: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Style GuidelinesTypical requirements

Naming conventionsDocumentation requirementsAvoid confusing constructsMake code more reusable/maintainable

Possible to automate the process of checking these guidelines

Report Generator

Page 34: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Translating Representations

Example: (simple) Simulink diagramsRead “.mdl” file, generate an ASTProcess AST and then generate Modelica codeComponents involved:

Continuous: Sum, Sin, GainDiscrete: Triggered Subsystem

Page 35: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Toplevel System

Page 36: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Subsystem

Page 37: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Preserving Information

Block {BlockType SinName “sine"Position [120, 70, 150, 100]SineType “Time-based"Amplitude "1"Bias "0"Frequency "10"Phase “0“Samples “10"Offset "0"SampleTime "0"VectorParams1D on

}

Simulink.Sin sine(Bias=0, Amplitude=1, Phase=0,Frequency=10) annotation(

Simulink(Offset="0",SampleTime="0",VectorParams1D=on,Samples="10",SineType="Time-based"),

extent=[-82,74;-72,84]);

Page 38: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Conclusions

Page 39: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Summary – Tool Philosophy

Handle version control and configuration management differentlyUse open and mature tools and technologies as a foundationBe prepared to customize, this requires

Open standardsApplication Programmer Interfaces (APIs)

Page 40: Model Management Tools and Technologies · Model Management Tools and Technologies Michael Tiller Powertrain Research Department Ford Motor Company. Overview ... ClearCase – used

Summary – Modelica

Captures all kinds of behaviorFairly mature and scalableHandles meta-dataAvoids the “Save As” syndromeRoom for more than simulation tools

Doesn’t have to be a monolithic system