The REA-DSL

Preview:

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 Presentation

Citation preview

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) 58801-18896office@big.tuwien.ac.at, 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

Recommended