© Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn HEINZ NIXDORF INSTITUT...
-
Upload
feirefiz-alt -
Category
Documents
-
view
113 -
download
0
Transcript of © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn HEINZ NIXDORF INSTITUT...
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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