Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

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 2015

2 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

3 Page 3 28 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.

4 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

5 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[*]; } 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 ’+’; } 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); myCustomer = Customer->select c (c.email == myCustomerEmail); total = SumBalances(myCustomer);

6 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

7 Page 7 Alf Implementation in Eclipse/Papyrus 28 September 2015 Validation using OCLInEcore constraints. Alf2UML and UML2Alf transformations using QVT. Parsing Serialization

8 Page 8 Demo Example: Ordering 28 September 2015

9 Page 9 OrderLineItem – Textual View 28 September 2015

10 Page 10 OrderLineItem – getAmount operation 28 September 2015

11 Page 11 OrderLineItem – After compilation 28 September 2015

12 Page 12 OrderLineItem - Constructor 28 September 2015

13 Page 13 Order – Textual representation 28 September 2015

14 Page 14 Order – getAmount operation 28 September 2015

15 Page 15 testOrder – Simple test driver 28 September 2015

16 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


Download ppt "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."

Similar presentations


Ads by Google