The REA-DSL-SMAP slides - (UMM) Development Site

Download Report

Transcript The REA-DSL-SMAP slides - (UMM) Development Site

The REA-DSL
A Domain Specific Language For The Resource-Event-Agent Ontology
C. Sonnenberg, C. Huemer, B. Hofreiter, D. Mayrhofer, A. Braccini
TU Vienna, University of Liechtenstein, LUISS University
Dieter Mayrhofer
Business Informatics Group
Institute of Software Technology and Interactive Systems
Vienna University of Technology
Favoritenstraße 9-11/188-3, 1040 Vienna, Austria
phone: +43 (1) 58801-18804 (secretary), fax: +43 (1) 58801-18896
[email protected], www.big.tuwien.ac.at
Background and Motivation
Fish Company Business Model
Sy’s Fish Sale Company
2
The REA Ontology
REA Example
• REA meta model
• REA object constellation
inside
outside
3
Motivation
Complex REA Models
Creating an easy to understand domain specific language for REA
4
Systematic Development of Domain Specific Languages
By Strembeck and Zdun
1. Identify elements in the REA ontology
2. Derive the abstract syntax of the REA model including the core
language model and the language model constraints (multiple revision
cycles)
3. Define the DSL behavior, i.e. determining how the language elements
of the DSL interact to produce the intended behavior
4. Define the DSL concrete syntax
5. Implement a modeling tool support for the DSL
X
Skipped integrating the DSL into a software platform
5
The REA-DSL
Overview
• Old model
• New REA-DSL model: three model types
•
•
•
Duality model
Value chain model
Resource model
6
REA Commitments
Element
Event
Description
Event/EventType.
Element
Description
Event(Type)Series. Indicating
multiple Event(Types).
EventSerie
Is
InsideAgent or
InsideAgentType.
InsideAgentSeries. Indicating
multiple InsideAgents
OutsideAgent or
OutsideAgentType.
OutsideAgentSeries. Indicating
multiple OutsideAgents
Resource or Resource Type.
ResourceSeries. Indicating
multiple Resources.
RS2
R1
Commitment. An obligation to
perform an event in the near
future.
Solid Reference. EventType
referencing a Resource or Agent.
“reserves”
Dotted Reference. EventType
referencing a ResourceType or
AgentType. “specifies
BulkResource (NailResource).
Storing not each individual
Resource, just quantity on hold.
R3
BulkResourceSeries. Indicating
multiple BulkResources.
RS4
T
The T indicates, if a resource,
agent, or event is an instance or
a type
The REA-DSL
Duality Model
Meta model
Model instance
8
The REA-DSL
9
The REA-DSL
Value Chain Model
Meta model
Model instance
10
11
PayrollProcess
CashDisbursementLabor
Buying
Cash
PaymentForFish
Cash
Labor
Cashier
Cashier Fisherman
Worker
Labor
LaborAquisition
Human Resource
TruckAcquisition
PaymentForTruck
Cash
Fish
CleanIn
Fish
Purchaser Fisherman
Cleaning
Transport
TransportIn
Worker
FishObtained
Selling
Fish
FishSale
Labor
Truck
Labor
Driver
Cashier Truck Rental
TruckLease
Truck
TransportOut
Logistics
Truck Rental
Driver
Fish
Labor
Cleaner
Fish
CleanOut
Cleaner
Salesman Customer
Fish
Payment
Cashier
Customer
Cash
class REA-PlanningMM
Reciprocity
1
1
1
1
DecrementPlan
IncrementPlan
PlanEntitySet
1
1
1
1
CommitmentLayer
TypeLayer
1
0..*
EconomicEv entTypeSeries
1..*
1
Commits
Reserv eAgent
Commitment
1..*
1..*
1
0..*
0..*
1
1
{XOR}
EconomicAgent
InsideAgent
InsideAgentSeries
OutsideAgent
OutsideAgentSeries
1
EconomicEv entType
1
1..*
0..*
Reserv eResource
0..*
0..*
1
EconomicAgentType
{XOR}
1
EconomicResource
EconomicResourceSeries
1
EconomicResourceType
TypeLevel
Planning
CarSale
T
Car
Salesman
T
T
Reciprocity
CarSellCommitment
Salesman Mechanic Customer
Payment
I
T
Customer
T
PayCommitment
Extras
Cashier
Customer
Cash
Operational Level
CarSale
Car
Extras
DUALITY
Salesman Mechanic Customer
Payment
I
Cashier
Customer
Cash
CommitmentCarSale
Order1/1.3.2011
Employee
Commits
Order2/4.3.2011
Car
Ferrari/#2S34XXZ
CarType
Ferrari F40
Jaguar RX
VW Golf
John
Max
Rudi
CarSaleType
Alex
Regular Sale
Mat
EmployeeType
Salesman
Cashier
Mechanic
Customer
Mr. Woodfield
Mr. Penney
CustomerType
RegularCustomer
SpecialCustomer
Order1 is made on 1.3.2011. Salesman John commits to sell a specific car Ferrari #2S34XXZ of Type
Ferrari F40 to the customer Mr. Woodfield.
CommitmentCarSale
Order1/1.3.2011/
Employee
Commits
Ferrari/#2S34XXZ
Order2/4.3.2011/
Ferrari F40
Jaguar RX
VW Golf
Reserves
John
CarType
Car
Max
Rudi
Specify #Mechanics
Alex
2
Mat
CarSaleType
Regular Sale
SaleCommitExtra
Order1/TomTom1
Order1/TomTom2
ExtraType
TomTom
CarCover
Order1/CarCover1
EmployeeType
Salesman
Cashier
Mechanic
Extra
TomTom/#234ASD
TomTom/#235XYZ
CarCover Fer/#1XXX
Customer
Mr. Woodfield
Mr. Penney
CustomerType
RegularCustomer
SpecialCustomer
Order1 is made on 1.3.2011. Salesman John commits to sell a specific car Ferrari #2S34XXZ of Type
Ferrari F40 to the customer Mr. Woodfield. Additionally 2 extras of Type TomTom and 1 extra of Type
CarCover are reserved. For the actual day of the CarSale Event Salesman Max and two not yet known
employees of type Mechanic are reserved.
CommitmentCarSale
Order1/1.3.2011/2Mecha
Employee
Commits
Ferrari/#2S34XXZ
Order2/4.3.2011/1Mecha
Ferrari F40
Jaguar RX
VW Golf
Reserves
John
CarType
Car
Max
Rudi
Specify #Mechanics
Alex
2
CarSaleType
Regular Sale
Mat
SaleCommitExtra
Order1/TomTom1
Order1/TomTom2
ExtraType
TomTom
CarCover
Order1/CarCover1
EmployeeType
Salesman
Cashier
Mechanic
Extra
CarSale
Sale1/7.3.2011
SaleStockFlowExtra
Sale1/TomTom1
Sale1/TomTom2
Customer
TomTom/#234ASD
TomTom/#235XYZ
CarCover Fer/#1XXX
Sale1/CarCover1
Mr. Woodfield
Mr. Penney
CustomerType
RegularCustomer
SpecialCustomer
Order1 is made on 1.3.2011. Salesman John commits to sell a specific car Ferrari #2S34XXZ of Type
Ferrari F40 to the customer Mr. Woodfield. Additionally 2 extras of Type TomTom and 1 extra of Type
CarCover is reserved. For the actual day of the CarSale Event Salesman Max and two not yet known
employees of type Mechanic are reserved.
Sale1 happens on the 7.3.2011 and is connected to the Commitment Order1. The Ferrari #2S34XXZ, two
specific TomToms and one specific CarCover is sold by Salesman Max to the Customer Mr. Woodfield.
CommitmentCarSale
Order1/1.3.2011/2Mecha
Employee
Commits
Ferrari/#2S34XXZ
Order2/4.3.2011/1Mecha
Ferrari F40
Jaguar RX
VW Golf
Reserves
John
CarType
Car
Max
Rudi
Specify #Mechanics
Alex
2
CarSaleType
Regular Sale
Mat
SaleCommitExtra
Order1/TomTom1
Order1/TomTom2
ExtraType
TomTom
CarCover
Order1/CarCover1
EmployeeType
Salesman
Cashier
Mechanic
Extra
MechParticipateSale
Sale1/Rudi
Sale1/Alex
Customer
CarSale
Sale1/7.3.2011
SaleStockFlowExtra
Sale1/TomTom1
Sale1/TomTom2
TomTom/#234ASD
TomTom/#235XYZ
CarCover Fer/#1XXX
Sale1/CarCover1
Mr. Woodfield
Mr. Penney
CustomerType
RegularCustomer
SpecialCustomer
Order1 is made on 1.3.2011. Salesman John commits to sell a specific car Ferrari #2S34XXZ of Type
Ferrari F40 to the customer Mr. Woodfield. Additionally 2 extras of Type TomTom and 1 extra of Type
CarCover is reserved. For the actual day of the CarSale Event Salesman Max and two not yet known
employees of type Mechanic are reserved.
Sale1 happens on the 7.3.2011 and is connected to the Commitment Order1. The Ferrari #2S34XXZ, two
specific TomToms and one specific CarCover is sold by Salesman Max to the Customer Mr. Woodfield.
The two Mechanics Rudi and Alex prepare the car.
Conclusion
• Unambiguous domain specific language
• Easier to understand
• Less complexity
• Tool support
20
Thank you
Thank you!
21
Backup
Backup
22
The REA-DSL
Resource Model
Meta model
Model instance
23
Future Work
• Adding commitments to REA
PrivateSale
Sale
Restaurant
Sale
Quantity:int
Fish
SalesPerson
Customer
Book
Storekeeper
24
Future Work
• Add properties and derive DB design for enterprise information systems
25
Future Work
• Adding types to REA
26
Future Work
• Extending REA to support policy infrastructure
27
Future Work
• Car and nail resources
28