the rea-dsl
DESCRIPTION
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. Background and Motivation. Fish Company Business Model. - PowerPoint PPT PresentationTRANSCRIPT
Business Informatics Group
Institute of Software Technology and Interactive Systems Vienna University of Technology
Favoritenstraße 9-11/188-3, 1040 Vienna, Austriaphone: +43 (1) 58801-18804 (secretary), fax: +43 (1) [email protected], www.big.tuwien.ac.at
The REA-DSL
A Domain Specific Language For The Resource-Event-Agent Ontology
C. Sonnenberg, C. Huemer, B. Hofreiter, D. Mayrhofer, A. BracciniTU Vienna, University of Liechtenstein, LUISS University
Dieter Mayrhofer
Background and Motivation
2
Fish Company Business Model
Sy’s Fish Sale Company
The REA Ontology
3
REA Example
• REA meta model
• REA object constellation
inside outside
Motivation
4
Complex REA Models
Creating an easy to understand domain specific language for REA
Systematic Development of Domain Specific Languages
5
By Strembeck and Zdun
1. Identify elements in the REA ontology2. 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
6. Skipped integrating the DSL into a software platform
The REA-DSL
6
Overview
• Old model
• New REA-DSL model: three model types• Duality model• Value chain model• Resource model
Element Description
Event/EventType.
InsideAgent or InsideAgentType.
OutsideAgent or OutsideAgentType.
Resource or Resource Type.
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
Element Description
Event(Type)Series. Indicating multiple Event(Types).
InsideAgentSeries. Indicating multiple InsideAgents
OutsideAgentSeries. Indicating multiple OutsideAgents
ResourceSeries. Indicating multiple Resources.
BulkResource (NailResource). Storing not each individual Resource, just quantity on hold.
BulkResourceSeries. Indicating multiple BulkResources.
T The T indicates, if a resource, agent, or event is an instance or a type
Event
REA Commitments
R1
R3
RS2
RS4
IEventSeries
The REA-DSL
8
Duality Model
Meta model Model instance
The REA-DSL
9
The REA-DSL
10
Value Chain Model
Meta model Model instance
11
PayrollProcess Buying
TruckAcquisition Transport Cleaning Selling
CashDisbursementLabor
LaborAquisition
PaymentForFish
FishObtained
PaymentForTruck
TruckLease
TransportIn
TransportOut
CleanIn
CleanOut
FishSale
Payment
Cash Cash
Cash
Cash
Labor
Labor
Labor
Labor
Labor
Fish
Fish Fish
Fish
FishFishTruck
Truck
Logistics Truck Rental
Cashier Truck Rental
Cashier CashierWorker
Worker
Fisherman
FishermanPurchaserHuman Resource
Driver
Driver
Cleaner
Cleaner Cashier
Salesman Customer
Customer
class REA-PlanningMM
Reciprocity
IncrementPlan DecrementPlan
PlanEntitySet
CommitmentLayer TypeLayer
CommitmentCommits EconomicEv entType
EconomicEv entTypeSeries
Reserv eResource
EconomicResource EconomicResourceType
EconomicResourceSeries
Reserv eAgent
EconomicAgent EconomicAgentType
{XOR} {XOR}
InsideAgent OutsideAgent
InsideAgentSeries OutsideAgentSeries
1 1..*
1
1
1
1
1
1
1
1
1
1
1..* 1
0..*
1 1
0..* 0..*
1
11..*
0..*
1
0..*
1
0..*
1..*
Reci
proc
ityPlanning TypeLevel
Salesman
Customer
CarSale
MechanicSalesman
Car
Customer
IPayment Cash
Cashier Customer
Extras
CarSellCommitment
PayCommitment
T T
T
T
T
DU
ALIT
YOperational Level
CarSale
MechanicSalesman
Car
Customer
IPayment Cash
Cashier Customer
Extras
CommitmentCarSale
Order1/1.3.2011
Order2/4.3.2011
EmployeeType
Salesman
Cashier
Mechanic
Customer
Mr. Woodfield
Mr. Penney
Car
Ferrari/#2S34XXZ
CarType
Ferrari F40
Jaguar RX
VW Golf
CustomerType
RegularCustomer
SpecialCustomer
Employee
John
Max
Rudi
Alex
Mat
Commits
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.
CarSaleType
Regular Sale
CommitmentCarSale
Order1/1.3.2011/
Order2/4.3.2011/
Extra
TomTom/#234ASD
TomTom/#235XYZ
CarCover Fer/#1XXX
EmployeeType
Salesman
Cashier
Mechanic
CarSaleType
Regular Sale
Customer
Mr. Woodfield
Mr. Penney
Car
Ferrari/#2S34XXZ
CarType
Ferrari F40
Jaguar RX
VW Golf
ExtraType
TomTom
CarCover
SaleCommitExtra
Order1/TomTom1
Order1/TomTom2
Order1/CarCover1
CustomerType
RegularCustomer
SpecialCustomer
Employee
John
Max
Rudi
Alex
Mat
Commits
Reserves
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.
Specify #Mechanics
2
CommitmentCarSale
Order1/1.3.2011/2Mecha
Order2/4.3.2011/1Mecha
Extra
TomTom/#234ASD
TomTom/#235XYZ
CarCover Fer/#1XXX
EmployeeType
Salesman
Cashier
Mechanic
CarSaleType
Regular Sale
CarSale
Sale1/7.3.2011
Customer
Mr. Woodfield
Mr. Penney
Car
Ferrari/#2S34XXZ
CarType
Ferrari F40
Jaguar RX
VW Golf
ExtraType
TomTom
CarCover
SaleCommitExtra
Order1/TomTom1
Order1/TomTom2
Order1/CarCover1
SaleStockFlowExtra
Sale1/TomTom1
Sale1/TomTom2
Sale1/CarCover1
CustomerType
RegularCustomer
SpecialCustomer
Employee
John
Max
Rudi
Alex
Mat
Commits
Reserves
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.
Specify #Mechanics
2
CommitmentCarSale
Order1/1.3.2011/2Mecha
Order2/4.3.2011/1Mecha
Extra
TomTom/#234ASD
TomTom/#235XYZ
CarCover Fer/#1XXX
EmployeeType
Salesman
Cashier
Mechanic
CarSaleType
Regular Sale
CarSale
Sale1/7.3.2011
Customer
Mr. Woodfield
Mr. Penney
MechParticipateSale
Sale1/Rudi
Sale1/Alex
Car
Ferrari/#2S34XXZ
CarType
Ferrari F40
Jaguar RX
VW Golf
ExtraType
TomTom
CarCover
SaleCommitExtra
Order1/TomTom1
Order1/TomTom2
Order1/CarCover1
SaleStockFlowExtra
Sale1/TomTom1
Sale1/TomTom2
Sale1/CarCover1
CustomerType
RegularCustomer
SpecialCustomer
Employee
John
Max
Rudi
Alex
Mat
Commits
Reserves
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.
Specify #Mechanics
2
Conclusion
20
• Unambiguous domain specific language
• Easier to understand
• Less complexity
• Tool support
Thank you
21
Thank you!
Backup
22
Backup
The REA-DSL
23
Resource Model
Meta model Model instance
Future Work
24
• Adding commitments to REA
Sale
SalesPerson Customer
Fish Book
Storekeeper
RestaurantSale
PrivateSale
Quantity:int
Future Work
25
• Add properties and derive DB design for enterprise information systems
Future Work
26
• Adding types to REA
Future Work
27
• Extending REA to support policy infrastructure
Future Work
28
• Car and nail resources