U(ML)2 – The New Driving Force

U(ML)2 – The New Driving Force U(ML)2 – The New Driving Force

ti.fh.bielefeld.de
from ti.fh.bielefeld.de More from this publisher
23.11.2012 Views

1 1 Ames Laboratory US Department of Energy Quo Vadis Systems Engineering? First Experiences with UML 2.0 and the Telelogic Tau Developer Christian Schröder University of Applied Sciences, Bielefeld, Germany Ames Laboratory, US Department of Energy, Ames, Iowa, USA

1<br />

1<br />

Ames Laboratory<br />

US Department of Energy<br />

Quo Vadis Systems Engineering?<br />

First Experiences with U<strong>ML</strong> 2.0 and the Telelogic Tau Developer<br />

Christian Schröder<br />

University of Applied Sciences, Bielefeld, Germany<br />

Ames Laboratory, US Department of Energy, Ames, Iowa, USA


1<br />

1<br />

Main Collaborators<br />

� Dirk Mikosch, Wolfgang Sonntag (Telelogic)<br />

� Peter Braun, Martin Rappl (TU München, Chair of M. Broy)<br />

� Michael von der Beeck (BMW Group)<br />

� Carl K. Chang, Glenn Luecke (Iowa State University)<br />

� Dave Turner (Ames Laboratory)<br />

� Students<br />

� Jan Gatting<br />

� Felix Hartmann<br />

� Jakob Töws<br />

� André Wehe<br />

Ames Laboratory<br />

US Department of Energy


1<br />

1<br />

Contents<br />

� Key Concepts in Systems Engineering<br />

� Pervasive Model-Based Systems Engineering<br />

� Quo Vadis Systems Engineering?<br />

� Recent Advances in Systems Engineering<br />

� FORSOFT II <strong>–</strong> Project Automotive<br />

� U(<strong>ML</strong>)2 <strong>–</strong> <strong>The</strong> <strong>New</strong> <strong>Driving</strong> <strong>Force</strong><br />

� U<strong>ML</strong> 2.0 <strong>–</strong> <strong>New</strong> Challenges<br />

� Conclusions<br />

� U<strong>ML</strong> 2.x <strong>–</strong> <strong>New</strong> Frontiers<br />

Ames Laboratory<br />

US Department of Energy


1<br />

1<br />

Key Concepts in Systems Engineering<br />

Pervasive Model-Based Systems Engineering<br />

� Model-Based:<br />

Ames Laboratory<br />

US Department of Energy<br />

� keep one information model, provide as many views (diagrams,<br />

tools) as necessary<br />

� support information model representation by various notations<br />

� perform model manipulation on views rather than on the model<br />

itself<br />

View 1<br />

View 3<br />

View 2<br />

1<br />

1


1<br />

1<br />

Key Concepts in Systems Engineering<br />

Model-Based Systems Engineering<br />

Ames Laboratory<br />

US Department of Energy<br />

[Source: Douglas R. Hofstadter: Gödel, Escher, Bach: An Eternal Golden Braid]


1<br />

1<br />

Key Concepts in Systems Engineering<br />

� Meta-Model Orientation<br />

Ames Laboratory<br />

US Department of Energy<br />

� structure system information model by means of a meta-model<br />

� employ meta-model patterns to reduce complexity<br />

� provide basis for model transformations and tool coupling<br />

*<br />

SuperReceiver<br />

0..1<br />

Propagator<br />

*<br />

OutPort<br />

FunctionOutPort<br />

attached<br />

0..1<br />

Caller<br />

1<br />

*<br />

Function<br />

1<br />

1<br />

attached<br />

*<br />

FunctionVariable<br />

SubFunction<br />

Variable<br />

0..1<br />

SuperFunction<br />

attached<br />

*<br />

Callee<br />

*<br />

InPort<br />

FunctionInPort<br />

*<br />

SubReceiver<br />

0..1<br />

Delegator


1<br />

1<br />

Key Concepts in Systems Engineering<br />

Meta-Model Orientation <strong>–</strong> Providing a Tool Coupling Mechanism<br />

Ames Laboratory<br />

US Department of Energy<br />

P. Braun, F. Marschall. Transforming<br />

Object Oriented Models with BOTL.<br />

International Workshop on Graph<br />

Transformation and Visual Modeling<br />

Techniques, number 72.3 in ENTCS.<br />

Elsevier Science B. V., 2002.


1<br />

1<br />

Key Concepts in Systems Engineering<br />

� Pervasiveness<br />

Ames Laboratory<br />

US Department of Energy<br />

� use the very same concepts throughout the whole development<br />

process<br />

� define abstraction layers to constrain the design space (and<br />

cope with complexity)<br />

� cf. 3 abstraction layers of MDA* (CIM - computational<br />

independent model, PIM - platform independent model, PSM -<br />

platform specific model)<br />

� use abstraction layers and meta-model (patterns) to structure<br />

information model as well as user model and process<br />

*J. Miller and J. Mukerji. MDA guide version 1.0, May 2003.


1<br />

1<br />

Recent Advances in Systems Engineering<br />

*M. von der Beeck, P. Braun, M. Rappl, C. Schröder, „Automotive U<strong>ML</strong> <strong>–</strong> A Metamodel-<br />

Based Approach for Systems Development”, „U<strong>ML</strong> for Real: Design of Embedded Real-Time<br />

Systems“, Kluwer Academic Publishers, ISBN 1-4020-7501-4, 2003 and references therein<br />

Ames Laboratory<br />

US Department of Energy


1<br />

1<br />

FORSOFT II <strong>–</strong> Automotive<br />

Project Goals<br />

� Define a pervasive model-based methodology for automotive<br />

systems development, i.e.<br />

� an integrated meta-model based information model,<br />

Ames Laboratory<br />

US Department of Energy<br />

� an abstract modeling language, A<strong>ML</strong> <strong>–</strong> Automotive Modeling<br />

Language,<br />

� A<strong>ML</strong>‘s concrete representation aligned to standard U<strong>ML</strong> 1.x,<br />

� a system of structuring abstraction layers,<br />

� a meta-model based requirements engineering method,<br />

� a supporting tool chain consisting of Telelogic DOORS, Telelogic<br />

U<strong>ML</strong> Suite, ETAS ASCET SD


1<br />

1<br />

Automotive Core Concepts<br />

Automotive Modeling Language A<strong>ML</strong><br />

� Starting point: “Don’t invent the wheel again!” <strong>–</strong> use well-known,<br />

recurring and proven Architecture Description Language (ADL)<br />

concepts (i.e. SDL, ROOM, etc.):<br />

Ames Laboratory<br />

US Department of Energy<br />

ADL = Components + Ports + Connectors + Styles<br />

� support formation of variants<br />

� support classification of requirements<br />

� provide notation-free definition<br />

� provide language mappings, i.e. textual and graphical form<br />

� Starting point: ”Don’t wag the dog!” <strong>–</strong> stay close to standards, use<br />

U<strong>ML</strong> 1.x!


1<br />

1<br />

Automotive Core Concepts<br />

Uniform Structuring Mechanism<br />

� System of abstraction layers<br />

� define restrictive views on the system<br />

model to structure and filter information<br />

� each abstraction layer is based upon a<br />

higher, i.e. a more abstract layer<br />

� transitions from a higher layer to lower<br />

layer means restriction of the design<br />

space<br />

Ames Laboratory<br />

US Department of Energy<br />

Signals<br />

Functions<br />

Integrated<br />

Network<br />

System model<br />

Functional Network<br />

Logical Architecture<br />

Technical Architecture<br />

Implementation


1<br />

1<br />

Automotive Core Concepts<br />

Realized pervasive meta-model based approach<br />

A<strong>ML</strong> Metamodel<br />

Requirements<br />

Ames Laboratory<br />

US Department of Energy<br />

«tailors»<br />

U<strong>ML</strong> Metamodel<br />

«classified by» «defined by» «instance of»<br />

«realize»<br />

User Models<br />

meta-model<br />

level<br />

user model<br />

level


1<br />

1<br />

Automotive Core Concepts<br />

Meta-model based approach for Requirements Management<br />

Ames Laboratory<br />

US Department of Energy<br />

A<strong>ML</strong>-Metamodel<br />

Requirements Classification<br />

Requirements<br />

Formal<br />

Requirements<br />

Informal<br />

Requirements<br />

«tailors»<br />

U<strong>ML</strong>-Metamodel<br />

«classified by» «defined by» «instance of»<br />

«evolve»<br />

«realize»<br />

Models<br />

meta-model level<br />

user model level


1<br />

1<br />

Automotive Core Concepts<br />

Informal<br />

Requirements<br />

Ames Laboratory<br />

US Department of Energy<br />

rules for structuring<br />

Formal<br />

Requirements<br />

tight integration<br />

“1:1”<br />

Specification<br />

� Unstructured<br />

� Redundant<br />

� Incomplete<br />

� Inconsistent/ambigious<br />

Structure aligned to<br />

specification<br />

Less redundant<br />

Complete<br />

(Meta-)model based<br />

Consistent


1<br />

1<br />

Automotive Core Concepts<br />

Meta-model oriented derivation of structuring rules<br />

DOORS view<br />

Ames Laboratory<br />

US Department of Energy<br />

1<br />

Project<br />

-Name : String<br />

1<br />

*<br />

1 *<br />

*<br />

Function<br />

LogicalArchitecture<br />

Signal<br />

U<strong>ML</strong> Suite view<br />

ASCET SD view


1<br />

1<br />

Automotive Core Concepts<br />

Example: A<strong>ML</strong> meta-model fragment for the definition of a<br />

function (abstract syntax)<br />

Ames Laboratory<br />

US Department of Energy<br />

*<br />

SuperReceiver<br />

0..1<br />

Propagator<br />

*<br />

OutPort<br />

FunctionOutPort<br />

attached<br />

0..1<br />

Caller<br />

1<br />

*<br />

Function<br />

1<br />

1<br />

attached<br />

*<br />

FunctionVariable<br />

SubFunction<br />

Variable<br />

0..1<br />

SuperFunction<br />

attached<br />

*<br />

Callee<br />

*<br />

InPort<br />

FunctionInPort<br />

*<br />

SubReceiver<br />

0..1<br />

Delegator


1<br />

1<br />

Automotive Modeling Language<br />

� Example: U<strong>ML</strong> 1.x Language Mapping (concrete syntax)<br />

A<strong>ML</strong> Concept<br />

Function<br />

Decomposition<br />

FunctionInPort<br />

FunctionOutPort<br />

Instance<br />

Ames Laboratory<br />

US Department of Energy<br />

U<strong>ML</strong> Language Mapping<br />

Folded Class<br />

Environment Class<br />

Interface Class / Lollipop<br />

Dependency arrow<br />

Component<br />

BasicOperation<br />

«environment»<br />

@WindowLifting<br />

SwitchMovement<br />

[Movement]<br />

WL_FrontLeft<br />

[DriverDoor]


1<br />

1<br />

Automotive Modeling Language<br />

� Example: function definition “WindowLifting”<br />

Ames Laboratory<br />

US Department of Energy<br />

BasicOperation<br />

ChildProtection<br />

RepetitionLock<br />

BlockDetection<br />

SwitchMovement<br />

[Movement]<br />

BOControl<br />

[Control]<br />

CPControl<br />

[ControlFlow]<br />

RLControl<br />

[Control]<br />

UsedMotorTime<br />

[Time]<br />

BDControl<br />

[Control]<br />

SensorSignalsMotor<br />

[CurrentSignals]<br />

UsedMotorTime<br />

[Time]<br />

WindowControl<br />

[ControlFlow]<br />

MotorMovement<br />

[Movement]<br />

«environment»<br />

@WindowLifting<br />

MotorMovement<br />

[Movement]<br />

Motor


1<br />

1<br />

Automotive Modeling Language<br />

� Example: functional network (variant instance view)<br />

Ames Laboratory<br />

US Department of Energy<br />

FL_SwitchMovement<br />

[Movement]<br />

WL_FrontLeft<br />

[DriverDoor]<br />

FL_WindowControl<br />

[Control]<br />

BL_WindowControl<br />

[Control]<br />

WL_BackLeft<br />

[PassengerDoor]<br />

BL_SwitchMovement<br />

[Movement]<br />

FR_SwitchMovement<br />

[Movement]<br />

WL_FrontRight<br />

[DriverDoor]<br />

FR_WindowControl<br />

[Control]<br />

BR_WindowControl<br />

[Control]<br />

WL_BackRight<br />

[PassengerDoor]<br />

BR_SwitchMovement<br />

[Movement]


1<br />

1<br />

Results<br />

� Open(!) integration of 3 CASE<br />

tools<br />

� common metamodel<br />

� transformation based on<br />

models<br />

� Transformation<br />

� graphical and abstract<br />

� Minimized information exchange<br />

� A<strong>ML</strong> specific information vs.<br />

� tool specific information<br />

� Consistent storage of information<br />

by assigning<br />

� global (A<strong>ML</strong> specific) and<br />

� local (tool specific) identifier<br />

Ames Laboratory<br />

US Department of Energy<br />

ASCET-SD<br />

U<strong>ML</strong> Suite<br />

DOORS


1<br />

1<br />

Results<br />

Serious U<strong>ML</strong> 1.x weaknesses detected!*<br />

� missing concept hierarchical decomposition<br />

� divide and conquer (top down)<br />

� building blocks (bottom up)<br />

� bidirectional interface<br />

� missing concept for logical components<br />

� missing concept for mapping to physical components<br />

� missing concept for encapsulation<br />

� black-box approach for just the right level of detail<br />

� …<br />

*M. Broy, M. von der Beeck, P. Braun and M. Rappl: A fundamental critique of<br />

the U<strong>ML</strong> for the specification of embedded systems, unpublished, 2000<br />

Ames Laboratory<br />

US Department of Energy


1<br />

1<br />

Ames Laboratory<br />

US Department of Energy<br />

Time for Divorce!


1<br />

1<br />

U(<strong>ML</strong>)2 <strong>–</strong> <strong>The</strong> <strong>New</strong> <strong>Driving</strong> <strong>Force</strong><br />

Who was first? Egg or Hen?<br />

� A new generation tool: Telelogic’s Tau Developer (released<br />

October 2002)<br />

� A new generation language: U<strong>ML</strong> 2.0 (adopted by OMG June<br />

2003)<br />

Ames Laboratory<br />

US Department of Energy


1<br />

1<br />

U(<strong>ML</strong>)2 <strong>–</strong> <strong>The</strong> <strong>New</strong> <strong>Driving</strong> <strong>Force</strong><br />

� Language benefits for systems engineering<br />

� a picture says more than 1000 words …<br />

Ames Laboratory<br />

US Department of Energy<br />

SDL MSC<br />

U<strong>ML</strong><br />

Other<br />

modeling<br />

languages<br />

[Source: Cris Kobryn, U<strong>ML</strong> 2.0 Roadmap]


1<br />

1<br />

U(<strong>ML</strong>)2 <strong>–</strong> <strong>The</strong> <strong>New</strong> <strong>Driving</strong> <strong>Force</strong><br />

� Tool benefits for systems engineering<br />

� Graphical development tool<br />

� Editing<br />

� Simulation / Verification<br />

� Application generation<br />

� Based on U<strong>ML</strong> 2.0 (as proposed by U2 Partners)<br />

Ames Laboratory<br />

US Department of Energy<br />

� Model-based architecture<br />

� Extensive Model Verification capabilities<br />

� Textual U<strong>ML</strong> syntax<br />

� Open and extendible<br />

� compliant with standards, API’s, “pluggable” interface add-in,<br />

code generators, etc.


1<br />

1<br />

U(<strong>ML</strong>)2 <strong>–</strong> <strong>The</strong> <strong>New</strong> <strong>Driving</strong> <strong>Force</strong><br />

� A new approach! U(<strong>ML</strong>) 2 language mappings for the A<strong>ML</strong><br />

A<strong>ML</strong> Concept<br />

Function<br />

Decomposition<br />

FunctionInPort<br />

FunctionOutPort<br />

Instance<br />

Ames Laboratory<br />

US Department of Energy<br />

U<strong>ML</strong> 2.0 Language Mapping<br />

Active Class<br />

Internal Structure<br />

Port + provided Interface<br />

Port + required Interface<br />

Part<br />

BasicOperation<br />

MotorMovement<br />

UsedMotorTime<br />

Motor<br />

Motor<br />

a_BO:BasicOperation<br />

BOPort


1<br />

1<br />

U(<strong>ML</strong>)2 <strong>–</strong> <strong>The</strong> <strong>New</strong> <strong>Driving</strong> <strong>Force</strong><br />

� Example: function definition for “WindowLifting”<br />

Ames Laboratory<br />

US Department of Energy<br />

a_motor:Motor<br />

active class WindowLifting {1/2}<br />

SwitchMovement, BOControl<br />

a_BO:BasicOperation<br />

BOPort<br />

a_CP:ChildProtection<br />

CPPort<br />

WindowControl<br />

WLPort<br />

a_RL:RepetitionLock<br />

RLPort RLControl WindowControl<br />

UsedMotorTime<br />

a_BD:BlockDetection BDPort<br />

CPControl<br />

MotorMovement<br />

SensorSignalsMotor, UsedMotorTime<br />

BDControl<br />

MotorMovement<br />

WindowControl


1<br />

1<br />

U(<strong>ML</strong>)2 <strong>–</strong> <strong>The</strong> <strong>New</strong> <strong>Driving</strong> <strong>Force</strong><br />

� Example: functional network (variant instance view)<br />

Ames Laboratory<br />

US Department of Energy<br />

WL_FrontLeft:DriverDoor<br />

WindowControl<br />

SwitchMovement<br />

SW_Port<br />

WL_BackLeft:PassengerDoor<br />

WL_FrontRight:DriverDoor<br />

WL_Port<br />

WindowControl<br />

WL_Port<br />

WindowControl<br />

SW_Port<br />

WL_Port WL_Port<br />

SW_Port<br />

SwitchMovement<br />

SwitchMovement<br />

WL_BackRight:PassengerDoor<br />

SW_Port<br />

SwitchMovement


1<br />

1<br />

U(<strong>ML</strong>)2 <strong>–</strong> <strong>The</strong> <strong>New</strong> <strong>Driving</strong> <strong>Force</strong><br />

Conclusion<br />

� Better language support compared to U<strong>ML</strong> 1.x<br />

� bidirectional interfaces/ports, encapsulation, connectors …<br />

� Better tool support<br />

� support for model-based software development due to truly modelbased<br />

tool architecture<br />

� simulation possible! (however, not yet used)<br />

Current work<br />

� Complete A<strong>ML</strong> language mapping to U<strong>ML</strong> 2.0<br />

� U<strong>ML</strong> 2.0 Automotive profile<br />

� Improving tool support<br />

� tailoring Tau Developer to Automotive profile<br />

� Further studies on usage of U<strong>ML</strong> 2.0 in the Automotive Domain<br />

Ames Laboratory<br />

US Department of Energy


1<br />

1<br />

U<strong>ML</strong> 2.0 <strong>–</strong> <strong>New</strong> Challenges<br />

Development and Simulation of CAN Based<br />

ECU Architectures with U<strong>ML</strong> 2.0<br />

Ames Laboratory<br />

US Department of Energy<br />

F. Hartmann 1,2 , D. Mikosch 2 , and C. Schröder 2<br />

1Telelogic Deutschland GmbH, Bielefeld<br />

2University of Applied Sciences, Bielefeld


1<br />

1<br />

U<strong>ML</strong> 2.0 <strong>–</strong> <strong>New</strong> Challenges<br />

Idea:<br />

� Definition of a U<strong>ML</strong> 2.0<br />

CANdb profile<br />

� Import of standard<br />

CANdb into Tau<br />

Developer<br />

Ames Laboratory<br />

US Department of Energy


1<br />

1<br />

U<strong>ML</strong> 2.0 <strong>–</strong> <strong>New</strong> Challenges<br />

� Automatic generation of profile/model elements (nodes,<br />

messages) according to system description in CANdb<br />

Ames Laboratory<br />

US Department of Energy


1<br />

1<br />

U<strong>ML</strong> 2.0 <strong>–</strong> <strong>New</strong> Challenges<br />

� Modeling and simulation of the network within Tau Developer<br />

Ames Laboratory<br />

US Department of Energy


1<br />

1<br />

U<strong>ML</strong> 2.0 <strong>–</strong> <strong>New</strong> Challenges<br />

Automated Model Testing with U<strong>ML</strong> 2.0 and<br />

TTCN 3 <strong>–</strong> Integrating Telelogic’s Tau<br />

Developer and Tau Tester<br />

Ames Laboratory<br />

US Department of Energy<br />

J. Töws 1,2 , D. Mikosch 2 , and C. Schröder 2<br />

1Telelogic Deutschland GmbH, Bielefeld<br />

2University of Applied Sciences, Bielefeld<br />

... more about this project in the near future ...


1<br />

1<br />

Conclusion<br />

Quo Vadis Systems Engineering?<br />

� Eventually U<strong>ML</strong> 2.x will not only merge proven (standard)<br />

languages, but also benefit from the vast field experiences<br />

made by supporting companies and institutions (just look at the<br />

members of the U2 Partners group!)<br />

� Better tool support (and model exchange) due to better<br />

language architecture (eventually leading to MDA)<br />

� Model verification, simulation, testing …<br />

� First chance to realize <strong>–</strong> practically <strong>–</strong> the concept of pervasive<br />

model-based systems engineering within a standardized<br />

language framework<br />

� Further definition and realization of domain profiles<br />

Ames Laboratory<br />

US Department of Energy


1<br />

1<br />

U<strong>ML</strong> 2.x <strong>–</strong> <strong>New</strong> Frontiers<br />

� Model-based Requirements Engineering<br />

� Function-class decomposition method*, i.e.<br />

integration of structured (functional) analysis with<br />

OO approach (joint project with Carl K. Chang, ISU)<br />

� “System-on-Chip design with U<strong>ML</strong>” (initiative<br />

recently started by Grant Martin, Cadence Design<br />

Systems)<br />

� Combined modeling of event driven and<br />

continuous time behavior<br />

� Using U<strong>ML</strong> 2.0 and MPI for automatic code<br />

generation for high performance parallel and<br />

cluster computing (joint project with ISU and<br />

Ames Laboratory)<br />

*C. K. Chang, J. Cleland-Huang, S. Hua and A. Combelles, “On Function-Class<br />

Decomposition”, IEEE Computer, Dec. 2001, pp. 87-93.<br />

Ames Laboratory<br />

US Department of Energy


1<br />

1<br />

Ames Laboratory<br />

US Department of Energy<br />

Thank you for your attention!<br />

email: schroder@ameslab.gov<br />

christian.schroeder1@fh-bielefeld.de


1<br />

1<br />

Supplement<br />

Function-Class Decomposition (abstract by Carl. K. Chang)<br />

In addition to offering a simple yet powerful method for decomposing a system,<br />

function-class decomposition (FCD) produces an architecture that is more<br />

supportive than traditional object-oriented decomposition for several software<br />

engineering tasks. A hybrid method that integrates structured analysis with an<br />

OO approach, FCD identifies classes in parallel with decomposing the system<br />

into a hierarchy of functional modules. Recently, developers extended FCD to<br />

integrate U<strong>ML</strong> concepts. Useful for partitioning a system for distribution, the<br />

FCD hierarchy provides a framework for controlling development in a distributed<br />

software engineering environment. It also helps identify and integrate<br />

components in component-based development and supports the system lifecycle<br />

maintenance phase. Further, FCD addresses many of the initial analysis<br />

and design problems inherent in large and complex OO systems. <strong>The</strong> authors'<br />

experience with testing FCD on several applications validates its compatibility<br />

with OO methodologies and modeling techniques. In addition to supporting the<br />

decomposition process itself, the resulting FCD architecture and related artifacts<br />

support maintenance of the system in the face of changing requirements.<br />

Ames Laboratory<br />

US Department of Energy

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!