a division of data access technologies, inc. combining alf and uml in modeling tools ed seidewitz,...

16
A division of Data Access Technologies, Inc. Combining Alf and UML in Modeling Tools Ed Seidewitz, Model Driven Solutions Jérémie Tatibouet, CEA 28 September 2015

Upload: eustace-ramsey

Post on 18-Jan-2016

218 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: A division of Data Access Technologies, Inc. Combining Alf and UML in Modeling Tools Ed Seidewitz, Model Driven Solutions Jérémie Tatibouet, CEA 28 September

A division of Data Access Technologies, Inc.

Combining Alf and UML in Modeling Tools

Ed Seidewitz, Model Driven SolutionsJérémie Tatibouet, CEA

28 September 2015

Page 2: A division of Data Access Technologies, Inc. Combining Alf and UML in Modeling Tools Ed Seidewitz, Model Driven Solutions Jérémie Tatibouet, CEA 28 September

Page 2

Foundational UML (fUML)

Foundational UML (fUML) is an executable subset of standard UML that can be used to define, in an operational style, the structural and behavioral semantics of systems.

1998 – Action Semantics for the UML RFP

2003 – UML 1.5 with action semantics formalized

2003 – UML 2.0 adopted

2005 – Semantics of a Foundational Subset for Executable UML Models RFP

2008 – fUML 1.0 Beta (based on UML 2.2)

2010 – fUML 1.0 Formal (based on UML 2.3)

2012 – fUML 1.1 Formal (based on UML 2.4.1)

2015 – fUML 1.2 Beta (also based on UML 2.4.1)28 September 2015

Page 3: A division of Data Access Technologies, Inc. Combining Alf and UML in Modeling Tools Ed Seidewitz, Model Driven Solutions Jérémie Tatibouet, CEA 28 September

Page 328 September 2015

Composite Structure

Semantics

Complete Activity Model

Semantics

State Machine Semantics

fUML Scope

Non-Executable

Model Semantics

The semantics of fUML provide the foundation for formally specifying the (execution) semantics of the rest of UML.

Some areas of UML (e.g., use case and requirements models) may not be best formalized

based on an executable semantics foundation.

Interaction Model

Semantics

Foundational Semantics

fUML operational semantics are specified as an execution model

written in fUML itself.

Base Semantics

The base semantics of the subset of fUML used in the execution model are

specified using formal logic.

Page 4: A division of Data Access Technologies, Inc. Combining Alf and UML in Modeling Tools Ed Seidewitz, Model Driven Solutions Jérémie Tatibouet, CEA 28 September

Page 4

Action Language for fUML (Alf)

The Action Language for Foundational UML (Alf) is a textual surface representation for UML modeling elements with the primary purpose of acting as the surface notation for specifying executable (fUML) behaviors within an overall graphical UML model, but which also provides textual notation for structural modeling constructs.

2008 – Concrete Syntax for a UML Action Language RFP

2010 – Alf 1.0 Beta (based on UML 2.4 and fUML 1.0)

2013 – Alf 1.0.1 Formal (based on UML 2.4.1 and fUML 1.1)

28 September 2015

Page 5: A division of Data Access Technologies, Inc. Combining Alf and UML in Modeling Tools Ed Seidewitz, Model Driven Solutions Jérémie Tatibouet, CEA 28 September

Page 5

Textual Modeling in Alf

package CustomerAccounts {public class Customer {

public name : String;

} public class Account {

public balance : Integer;

} public assoc

CustomerAccount {public customer :

Customer;public accounts :

Account[*];}

}

28 September 2015

private import CustomerAccounts;private import Alf::Library::PrimitiveBehaviors::IntegerFunctions::’+’;activity SumBalances(in customer : Customer) : Integer {

return customer.accounts.balance->reduce ’+’;}

myCustomer = Customer->select c (c.email == myCustomerEmail);total = SumBalances(myCustomer);

Page 6: A division of Data Access Technologies, Inc. Combining Alf and UML in Modeling Tools Ed Seidewitz, Model Driven Solutions Jérémie Tatibouet, CEA 28 September

Page 6

Integrated Graphical and Textual Modeling

Specify the behavior of operations textually using Alf

Specify the structural model graphically in UML.

Add additional elements textually.

28 September 2015

Page 7: A division of Data Access Technologies, Inc. Combining Alf and UML in Modeling Tools Ed Seidewitz, Model Driven Solutions Jérémie Tatibouet, CEA 28 September

Page 7

Alf Implementation in Eclipse/Papyrus

28 September 2015

Validation using OCLInEcore constraints.

Alf2UML and UML2Alf transformations using QVT.

Parsing

Serialization

Page 8: A division of Data Access Technologies, Inc. Combining Alf and UML in Modeling Tools Ed Seidewitz, Model Driven Solutions Jérémie Tatibouet, CEA 28 September

Page 8

Demo Example: Ordering

28 September 2015

Page 9: A division of Data Access Technologies, Inc. Combining Alf and UML in Modeling Tools Ed Seidewitz, Model Driven Solutions Jérémie Tatibouet, CEA 28 September

Page 9

OrderLineItem – Textual View

28 September 2015

Page 10: A division of Data Access Technologies, Inc. Combining Alf and UML in Modeling Tools Ed Seidewitz, Model Driven Solutions Jérémie Tatibouet, CEA 28 September

Page 10

OrderLineItem – getAmount operation

28 September 2015

Page 11: A division of Data Access Technologies, Inc. Combining Alf and UML in Modeling Tools Ed Seidewitz, Model Driven Solutions Jérémie Tatibouet, CEA 28 September

Page 11

OrderLineItem – After compilation

28 September 2015

Page 12: A division of Data Access Technologies, Inc. Combining Alf and UML in Modeling Tools Ed Seidewitz, Model Driven Solutions Jérémie Tatibouet, CEA 28 September

Page 12

OrderLineItem - Constructor

28 September 2015

Page 13: A division of Data Access Technologies, Inc. Combining Alf and UML in Modeling Tools Ed Seidewitz, Model Driven Solutions Jérémie Tatibouet, CEA 28 September

Page 13

Order – Textual representation

28 September 2015

Page 14: A division of Data Access Technologies, Inc. Combining Alf and UML in Modeling Tools Ed Seidewitz, Model Driven Solutions Jérémie Tatibouet, CEA 28 September

Page 14

Order – getAmount operation

28 September 2015

Page 15: A division of Data Access Technologies, Inc. Combining Alf and UML in Modeling Tools Ed Seidewitz, Model Driven Solutions Jérémie Tatibouet, CEA 28 September

Page 15

testOrder – Simple test driver

28 September 2015

Page 16: A division of Data Access Technologies, Inc. Combining Alf and UML in Modeling Tools Ed Seidewitz, Model Driven Solutions Jérémie Tatibouet, CEA 28 September

Page 16

Current Limitations and Future Work

• Alf source editing– Auto-completion– Cross-linking– Refactoring

• Alf source-level debugging

• Persistence of Alf in the model

28 September 2015