© Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn HEINZ NIXDORF INSTITUT...

13
© Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn HEINZ NIXDORF INSTITUT Universität Paderborn Softwaretechnik Prof. Dr. Wilhelm Schäfer SDM Taskforce Meeting am 8.12.2010 Meta-Modell für Story-Diagramme und Expressions Meta-Modell für Story-Diagramme und Expressions - Dietrich Travkin 08.12.2010 1

Transcript of © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn HEINZ NIXDORF INSTITUT...

Page 1: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn HEINZ NIXDORF INSTITUT Universität Paderborn Softwaretechnik Prof. Dr. Wilhelm.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

HEINZ NIXDORF INSTITUTUniversität Paderborn

SoftwaretechnikProf. Dr. Wilhelm Schäfer

SDM Taskforce Meeting am 8.12.2010

Meta-Modell für Story-Diagramme und Expressions

Meta-Modell für Story-Diagramme und Expressions - Dietrich Travkin 08.12.2010 1

Page 2: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn HEINZ NIXDORF INSTITUT Universität Paderborn Softwaretechnik Prof. Dr. Wilhelm.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

HEINZ NIXDORF INSTITUTUniversität Paderborn

SoftwaretechnikProf. Dr. Wilhelm Schäfer

Motivation

Ziel: Ausdrucksmächtigkeit von Story-Diagrammen erweitern, um

• Matching Constraints zu formulieren• komplexe Algorithmen zu spezifizieren• in Story-Diagrammen fehlende Sprachkonstrukte zu

kompensieren

Vorgehen: textuellen Sprachen einbetten, insb. OCL und Java

• Expressions in beliebigen textuellen Sprachen soweit möglich, Typprüfung bei Ausdrücken ermöglichen

Meta-Modell für Story-Diagramme und Expressions - Dietrich Travkin 08.12.2010 2

Page 3: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn HEINZ NIXDORF INSTITUT Universität Paderborn Softwaretechnik Prof. Dr. Wilhelm.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

HEINZ NIXDORF INSTITUTUniversität Paderborn

SoftwaretechnikProf. Dr. Wilhelm Schäfer

Verwendung von Expressions

Matching Constraints Zuweisungen an Objektattribute Binding von Objekten und Parametern (Zuweisung eines

Variablenwerts) Qualifier bei Links zu qualifizierten Assoziationen Bestimmung von Pfaden (erlaubte Assoziationen, etc.)

Guards bei Transitionen (Bool‘sche Bedingungen, Exceptions)

Rückgabeausdrücke

Algorithmen und Ähnliches

3Meta-Modell für Story-Diagramme und Expressions - Dietrich Travkin 08.12.2010

Page 4: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn HEINZ NIXDORF INSTITUT Universität Paderborn Softwaretechnik Prof. Dr. Wilhelm.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

HEINZ NIXDORF INSTITUTUniversität Paderborn

SoftwaretechnikProf. Dr. Wilhelm Schäfer

Arten von Expressions

Werte: Literale, z.B.: 5, 7.9, „text“, true Variablenwerte (Knoten, Attribute, Parameter, Exceptions) Anzahl gebundener Objekte zu einem Mengenknoten

Zusammengesetzte Ausdrücke: Logische, arithmetische und vergleichende Ausdrücke Methodenaufrufe, ggf. auf Objekten

Ausdrücke in anderen Sprachen: beliebige Ausdrücke in einer textuellen Sprache wie OCL

oder Java

4Meta-Modell für Story-Diagramme und Expressions - Dietrich Travkin 08.12.2010

Page 5: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn HEINZ NIXDORF INSTITUT Universität Paderborn Softwaretechnik Prof. Dr. Wilhelm.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

HEINZ NIXDORF INSTITUTUniversität Paderborn

SoftwaretechnikProf. Dr. Wilhelm Schäfer

Meta-Modell für Werte

5Meta-Modell für Story-Diagramme und Expressions - Dietrich Travkin 08.12.2010

Expression

LiteralExpression EDataTypevalueType

1value: EString

Literale, z.B.: 5, 7.9, „text“, true

Page 6: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn HEINZ NIXDORF INSTITUT Universität Paderborn Softwaretechnik Prof. Dr. Wilhelm.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

HEINZ NIXDORF INSTITUTUniversität Paderborn

SoftwaretechnikProf. Dr. Wilhelm Schäfer

Meta-Modell für Werte

6Meta-Modell für Story-Diagramme und Expressions - Dietrich Travkin 08.12.2010

Expression

LiteralExpression EDataTypevalueType

1value: EString

AttributeValueExpression

ObjectVariable

object 1

EAttribute

EClass

eAttributes 0..*

classifier

1

attribute 1

Variablenwerte: Attribute

Page 7: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn HEINZ NIXDORF INSTITUT Universität Paderborn Softwaretechnik Prof. Dr. Wilhelm.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

HEINZ NIXDORF INSTITUTUniversität Paderborn

SoftwaretechnikProf. Dr. Wilhelm Schäfer

Meta-Modell für Werte

7Meta-Modell für Story-Diagramme und Expressions - Dietrich Travkin 08.12.2010

Expression

LiteralExpression EDataTypevalueType

1value: EString

AttributeValueExpression

ObjectVariableExpression ObjectVariable

objectobject

1

1

EAttribute

EClass

eAttributes 0..*

classifier

1

attribute 1

Variablenwerte: Knoten

Page 8: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn HEINZ NIXDORF INSTITUT Universität Paderborn Softwaretechnik Prof. Dr. Wilhelm.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

HEINZ NIXDORF INSTITUTUniversität Paderborn

SoftwaretechnikProf. Dr. Wilhelm Schäfer

Meta-Modell für Werte

8Meta-Modell für Story-Diagramme und Expressions - Dietrich Travkin 08.12.2010

Expression

LiteralExpression EDataTypevalueType

1value: EString

AttributeValueExpression

ObjectVariableExpression

ObjectSetSizeExpression

ObjectVariable

ObjectSetVariable

objectobject

set

1

1

1

EAttribute

EClass

eAttributes 0..*

classifier

1

attribute 1

Variablenwerte: Anzahl von Objekten zu einem Mengenknoten

Page 9: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn HEINZ NIXDORF INSTITUT Universität Paderborn Softwaretechnik Prof. Dr. Wilhelm.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

HEINZ NIXDORF INSTITUTUniversität Paderborn

SoftwaretechnikProf. Dr. Wilhelm Schäfer

Meta-Modell für Werte

9Meta-Modell für Story-Diagramme und Expressions - Dietrich Travkin 08.12.2010

Expression

LiteralExpression EDataTypevalueType

1value: EString

AttributeValueExpression

ObjectVariableExpression

ObjectSetSizeExpression

ObjectVariable

ObjectSetVariable

objectobject

set

1

1

1

EAttribute

EClass

eAttributes 0..*

classifier

1

attribute 1

ExceptionVariableExpression ExceptionVariableexceptionVariable

1variableName: EString

exceptionType

0..*

ActivityEdge activityEdge

guardException1

0..*Variablenwerte: Exceptions

Page 10: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn HEINZ NIXDORF INSTITUT Universität Paderborn Softwaretechnik Prof. Dr. Wilhelm.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

HEINZ NIXDORF INSTITUTUniversität Paderborn

SoftwaretechnikProf. Dr. Wilhelm Schäfer

Meta-Modell für zusammengesetzte Ausdrücke

10Meta-Modell für Story-Diagramme und Expressions - Dietrich Travkin 08.12.2010

Expression «enumeration»

LogicOperator

«enumeration»

ComparingOperator

«enumeration»

ArithmeticOperator

BinaryExpression

BinaryLogicExpression

ComparisonExpression

ArithmeticExpressionoperator: ArithmeticOperator

operator: ComparisonOperator

operator: LogicOperator

NotExpression

ANDORXOR

LESSLESS_OR_EQUALEQUALGREATER_OR_EQUALGREATERUNEQUAL

PLUSMINUSTIMESDIVIDEMODULO

leftExpr. 1

rightExpr. 1 1

neg.Expr.

Logische, arithmetische und Vergleichsoperatoren

Page 11: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn HEINZ NIXDORF INSTITUT Universität Paderborn Softwaretechnik Prof. Dr. Wilhelm.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

HEINZ NIXDORF INSTITUTUniversität Paderborn

SoftwaretechnikProf. Dr. Wilhelm Schäfer

Meta-Modell für Ausdrücke in anderen Sprachen

11Meta-Modell für Story-Diagramme und Expressions - Dietrich Travkin 08.12.2010

Expression

TextualExpressionexpressionText: Estringlanguage: EstringlanguageVersion: EString

MethodCallExpression

callExpr.

1

ObjectVariabletargetObject0..1

Einbettung anderer Sprachen wie OCL & Java

Page 12: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn HEINZ NIXDORF INSTITUT Universität Paderborn Softwaretechnik Prof. Dr. Wilhelm.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

HEINZ NIXDORF INSTITUTUniversität Paderborn

SoftwaretechnikProf. Dr. Wilhelm Schäfer

Typprüfung in Editoren & Co.

Interfaces für Statische Typprüfung bei Expressions insb. in Editoren:

ExpressionType Checker Auswertung von Expressions:

ExpressionEvaluator Chain of Responsibility von speziellen Checkern und Evaluators für

bestimmte Arten von Ausdrücken Auch: Bestimmen verwendeter Variablen, um zu entscheiden, wann

ein Ausdruck auswertbar ist

12Meta-Modell für Story-Diagramme und Expressions - Dietrich Travkin 08.12.2010

ExpressionTypeChecker

determineResultValue(expression: Expression, variableValues: Map<Variable, Object>): Object

ExpressionEvaluator

determineStaticType(expression: Expression, vars: Set<Variable>): EclassifierdetermineUsedVariables(expression: Expression, vars: Set<Variable>): Set<Variable> Mapping von

Variablen auf ihre Werte (ggf. int, String, MyType,…)

Liste von allen Variablen im Kontext

Page 13: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn HEINZ NIXDORF INSTITUT Universität Paderborn Softwaretechnik Prof. Dr. Wilhelm.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

HEINZ NIXDORF INSTITUTUniversität Paderborn

SoftwaretechnikProf. Dr. Wilhelm Schäfer

Offene Fragen

Expressions für Pfadausdrücke --> Carsten? Spezielle Expressions für Templates nötig?

13Meta-Modell für Story-Diagramme und Expressions - Dietrich Travkin 08.12.2010