• No results found

Prüfung von Traceability Links -Workshop

N/A
N/A
Protected

Academic year: 2021

Share "Prüfung von Traceability Links -Workshop"

Copied!
30
0
0

Loading.... (view fulltext now)

Full text

(1)

www.es.tu-darmstadt.de

1

Prüfung von „Traceability

Prüfung von „Traceability

Links“

Links“

-

-

Workshop

Workshop

(2)

www.es.tu-darmstadt.de

2

Agenda des Workshops

Agenda des Workshops

10.00 Begrüßung und Vorstellung der Teilnehmer 10.30 Erörterung der Entwicklungsmethoden

11.30 Mittagspause

12.15 Toolnet-Vorstellung (TU Darmstadt)

13.30 OOSE/RUP (Matthias Riebisch, TU Ilmenau) Diskussion von Prüfungen und Bedingungen 14.50 Kaffeepause

15.00 WOM-Vorstellung (Tobias Zimmermann, EADS) Diskussion von Prüfungen und Bedingungen

(3)

www.es.tu-darmstadt.de

3

Integration and Automatic Maintenance

of Traceability Links between

System Development Tools

Prof. Dr. rer. nat. Andy Schürr

Darmstadt University of Technology

Dept. of Electrical Engineering & Information Technology (Associate Member of Department of Computer Science)

(4)

www.es.tu-darmstadt.de

4

The

The RunningRunning ExampleExample

System requirements SW-Functionality

HW-Design Product Data

Automotive System

Automotive System

Development

Development

(5)

www.es.tu-darmstadt.de

5

Outline

Outline of of PresentationPresentation

DOORS Requirements Eng. Tool Simulink & Stateflow 3. synchronize 1. analyze 2. repair

Meta Modeling &

Model Transformation Techniques and Tools

O

M

G

(6)

www.es.tu-darmstadt.de

6

1.

1.

The

The

MATE Project

MATE Project

(

(

M

M

ATLAB

ATLAB

Simulink

Simulink

&

&

Stateflow

Stateflow

A

A

nalysis and

nalysis and

T

T

ransformation

ransformation

E

E

nvironment

nvironment

)

)

(7)

www.es.tu-darmstadt.de

7

The

The RunningRunning ExampleExample –– Part 1Part 1

Simulink & Stateflow

Analyze

(8)

www.es.tu-darmstadt.de

8

Matlab

Matlab

Simulink/Stateflow

Simulink/Stateflow

• model-driven development of electronic control unit (ECU) software

• specification of control algorithms

• executable block diagram and statechart models

Simulink

(9)

www.es.tu-darmstadt.de

9

Model

Model ReviewReview of of ImplementationImplementation ModelModel 1600 min ≈ 27 h

Number of model modifications

Stürmer, I., Conrad, M., Fey, I., and Dörr, H.: Experiences with Model and Autocode Reviews in Model-based Software Development.

(10)

www.es.tu-darmstadt.de

10

Potentials

Potentials forfor Model Model RefactoringRefactoring OpsOps..

900; 45%

870; 43% 90; 4%

170; 8%

Unmittelbare Reparatur

Reparatur mit User-Feedback Manuelle Änderung notwendig ungeklärt

automatic repair action interactive repair action

manual / creative bug fixes unclassified

Almost 90% bug fixes with semi-automatic

(11)

www.es.tu-darmstadt.de

11

MATLAB

MATLAB Simulink/StateflowSimulink/Stateflow Meta ModelMeta Model

(12)

www.es.tu-darmstadt.de

12

Some

Some GuidelinesGuidelines

GL1: The name of a subsystem consists of characters, digits, and _ ; it starts with a character …

GL2: The name of an Enable Block should be the same as the name of the related Enable Signal

GL3: Blocks may not possess unconnected Inports or unconnected Outports

(13)

www.es.tu-darmstadt.de

13

GL2: Check

GL2: Check OnlyOnly MM--Script Script ProgramProgram

function f_block_h = guideline_2(system, cmd_s) top_h = get_param(bdroot,'Handle');

f_block_h = [];

subsys = get_param(get_param(find_system(top_h, 'BlockType', 'EnablePort'), 'Parent'), 'Handle');

for k=1:length(subsys) subsys_handle = get_param(subsys{k},'Handle'); porth = get_param(subsys{k},'PortHandles'); enable_port_name = get_param(porth.Enable,'Name'); enableh = find_system(subsys{k},'SearchDepth',1, 'BlockType','EnablePort'); enable_block_name = get_param(enableh,'Name'); if ~(strcmp(enable_port_name, enable_block_name)) f_block_h = [f_block_h;subsys_handle]; end end % for end % function

(14)

www.es.tu-darmstadt.de

14

GL2: Check

GL2: Check OnlyOnly OCL ExpressionOCL Expression if self.containedBlock

->exists(b:Block | b.oclIsTypeOf(EnableBlock) ) then

self.containingSubsystemBlock.incomingLine ->select( line | line.dstPort = "enable" )

->collect(qualifiedName) ->intersection (self.containedBlock ->select(b:Block | b.oclIsTypeOf(EnableBlock)) ->collect(qualifiedName) ) ->notEmpty() endif

(15)

www.es.tu-darmstadt.de

15

GL2:

GL2: NonNon--locallocal NamingNaming ConventionConvention

Enable Signal and EnableBlock must have the same name!

Check and repair action

(16)

www.es.tu-darmstadt.de

16

2.

2.

The

The

ToolNet

ToolNet

Project

Project

(

(

COTS Tool Integration

COTS Tool Integration

Framework

(17)

www.es.tu-darmstadt.de

17

The

The RunningRunning ExampleExample –– Part 2Part 2

DOORS Requirements Engineering Tool Simulink & Stateflow synchronize synchronize

(18)

www.es.tu-darmstadt.de

18

DOORS

DOORS –– MATLAB Integration MATLAB Integration ScenarioScenario

DOORS DOORS MATLAB MATLAB Simulink Simulink Traceability Traceability Links Links

(19)

www.es.tu-darmstadt.de

19

Code-Fragment

Consistency

Consistency CheckingChecking ScenarioScenario

MATLAB Objects Model Parser API Adapter MATLAB Model Parser

Definition Meta ModelMOF

SDM Graph Transformation Code-Fragment Analysis Results Model Analyser OCL Constraints Model Transformer Modell DOORS Model Model Parser API Adapter DOORS Objects Trace Link Creator Model Analyser Code-Fragment Analysis Results Model Transformer ???

(20)

www.es.tu-darmstadt.de 20 Code-Fragment Modell Forward Transformation

Forward Transformation ScenarioScenario

DOORS Model Model Parser API Adapter DOORS Objects MATLAB Objects Model Unparser API Adapter MATLAB Model Model Analyser Code-Fragment Analysis Results Model Analyser Model Transformer Model Transformer ??? Model Translator

(21)

www.es.tu-darmstadt.de 21 Code-Fragment Modell Backward

Backward Transformation Transformation ScenarioScenario

DOORS Model Model Unparser API Adapter DOORS Objects MATLAB Objects Model Parser API Adapter MATLAB Model Model Analyser Code-Fragment Analysis Results Code-Fragment Analysis Results Model Analyser Model Trafos Model Trafos ??? Model Translator

(22)

www.es.tu-darmstadt.de

22

Model Integration

Model Integration ScenariosScenarios

• Needed model/document/artefact integration rule sets:

¾ create traceability links only

¾ check traceability link consistency, completeness, …

¾ remove inconsistent traceability links

¾ forward transformation

¾ backward transformation

¾ forward/backward attribute propagation

¾ forward/backward structure modification propagation

¾ …

• Generate all transformation rule sets from single declarative bidirectional model integration rules

(23)

www.es.tu-darmstadt.de

23

OMG Standard + Graph Transformation

OMG Standard + Graph Transformation

MOF 2.x Metamodel Def. Language MOF 2.x Metamodel Def. Language DiaMeta Editor Generator DiaMeta Editor Generator OCL 2.x Constraint Def. Language OCL 2.x Constraint Def. Language SDM Fujaba Graph Transformations SDM Fujaba Graph Transformations TGG (QVT Subset) M2M Translation Def. Language TGG (QVT Subset) M2M Translation Def. Language Velocity, XSLT Code Generator Velocity, XSLT Code Generator TU Dresden University of Kassel University of Paderborn TU Darmstadt University BW Munich TU Darmstadt

(24)

www.es.tu-darmstadt.de

24

Connecting

Connecting MetaMeta--ModelsModels

Traceability Relations with Mapping Rules DOORS Meta Model

+ Matlab Meta Model

(25)

www.es.tu-darmstadt.de

25

TGG

TGG MappingMapping RulesRules

Context

(26)

www.es.tu-darmstadt.de

26

TGG

(27)

www.es.tu-darmstadt.de

27

Generated

Generated Forward Transformation Forward Transformation RuleRule

(28)

www.es.tu-darmstadt.de

28

3.

(29)

www.es.tu-darmstadt.de

29

Traceability Link Definition

Traceability Link Definition

Basic Properties of Traceability Link Types:

• Permitted source and target classes in meta-models

¾ Simple consistency checks

• Multiplicities for both link ends

¾ Simple completeness checks

• Integrity constraints for link types (OCL, Java, … )

¾ Static correctness checks (static semantics)

• Structural integrity rules, …

¾ Automatic creation and checking of links

Additional properties of traceability link type definitions: • Inheritance hierarchies of link types

• Composition of rules for link types (subrules)

(30)

www.es.tu-darmstadt.de

30

„Hard“ Open Problems

„Hard“ Open Problems

Integrated and Distributed Versioning

of Development Artefacts and Links

Representation of

Web of Artefacts and Links

Specification of Integration Rules

for Automatic Link Creatin and Checking

References

Related documents

The second phase of our study included two focus group dis- cussions with an EP of community leaders who reflected on the themes generated from the parent and child focus groups

Using various exchange rate classifications and controlling for macroeconomic variables, that are conventionally associated to inflation, we find that de jure fixed

We assume that the public good is ex ante socially desirable — that is, it is a “ good ” rather than a “ bad ” in aggregate — so that the social planner will want to di- vert

School purchasers may make copies for use by staff and students, but this permission does not extend to additional schools or branches Under no circumstances may any part of this

Emily Oh Navarro, André van der Hoek Software Process Modeling for an Educational – Software Engineering Simulation Game, Department of Informatics, Donald Bren School of

  In 2005, a prescribed burn was conducted to restore the herbaceous native flora in a dolomite glade at Blackacre State Nature Preserve, Jefferson County, Kentucky.. To measure the

“competing multiple rationalities” ITERATIVE , TERRITORIAL , ADAPTIVE LEARNING PROCESS Gener al ele men ts (I SPR A Ca tal o gu e) Environmental components Primary