iso 15944-4 (the rea ontology) ontology = categories of interest in a domain and the relationships...
TRANSCRIPT
ISO 15944-4 (the REA ontology)• ontology = categories of interest in a domain and the
relationships among them• REA is a business enterprise (economic & accounting)
ontology with:– Exchanges– Policies– Plans
• For interoperability, REA is used:– in ISO Open-edi (ISO 15944-4)
– UN/CEFACT – as specialization module for the UMM
• For enterprise system, see Workday model• Standards use follows academic work of Geerts and
McCarthy• Interoperability use needs to move up the Obrst scale,
but frame-based semantics enable collaboration state machine
Normative business process pattern of REA model
Economic Event
Economic Agent
stockflow
duality
Economic Resource
participation
Cookie-Monster (the customer) and Elmo (the entrepreneur) meet in the (real or virtual) marketplace, thus setting the
stage for an Economic Exchange
Cookie-Monster (the customer) and Elmo (the entrepreneur) engage in a
SHIPMENT (transfer of Cookie Inventory)
Give
Take
Economic Resource
inside participatio
n
outside participatio
n
stock-flow
Economic Event
Economic Agent
Economic Agent
Economic Agent
Economic Agent
Economic Resource
duality
Economic Event
stock-flow
inside participatio
n
outside participatio
n
Cookie-Monster (the customer) and Elmo (the entrepreneur) engage in
a PAYMENT (transfer of Cash)
Give
Take
Economic Resource
inside participatio
n
outside participatio
n
stock-flow
Economic Event
Economic Agent
Economic Agent
Economic Agent
Economic Agent
Economic Resource
duality
Economic Event
stock-flow
inside participatio
n
outside participatio
n
Product#
Description
Price
QOH
P-1 Chocolate Chip
1.05 200
P-2 Chocolate .95 205
P-3 Peanut Butter
1.00 97
P-4 Pecan 1.10 257
Invoice#
Receipt Timestam
p
Amount Applied
I-1 2JUL0830 14.75
I-2 3JUL0800 2.00
I-2 5JUL0800 18.00
I-3 8JUL1145 9.90
I-4 8JUL1145 9.20
Invoice# Dollar Amoun
t
Date
Salesperson
Employee#
Customer #
I-1 14.75 1JUL E-1234 C-987
I-2 20.00 2JUL E-1235 C-888
I-3 9.90 3JUL E-1236 C-999
I-4 9.20 5JUL E-1237 C-999
Product# Invoice# Quantity
P-2 I-1 5
P-3 I-1 10
P-3 I-2 20
P-4 I-3 9
P-1 I-4 4
P-3 I-4 5
COOKIES
SALE
COOKIES-stockflow-SALE
SALE-duality-CASH_RECEIPT
Story of why this invoice amount to $14.75 ??
• Who ?• What ?• When ?
• Over what time period ?– Present and past
– Policy future
– Scheduled future
The REA Model (ISO Open-edi accounting & economic ontology) is a pattern for a business process
What actually occurred
What could be or should be
Rtype Etype Atype
Resource Event Agent
Color-coded time expansion
Harry
Jane
Named Set of Objects
Tom
Dick
Ashley
Typ
ifica
tio
n
Salespeople
Tom
Dick
Ashley
Abstraction
Harry
Jane
Named Set of Objects with Labeled Clusters
Group & Name Clusters Cashiers
Named Set of Groups
Cashiers
Salespeople
Economic Agent Type
Economic Agents
Operational Level
Planning & Control level
Economic Resource
EconomicEvent
Economic Agent
stock-flow participation
Economic Resource
Type
Economic Event Type
Economic Agent Typepolicy
typify typify typify
policy
meronymic
0..*1..1
PK
receive
duality
provide
0..*
stockflow
{incomplete, disjoint}
«EventType»ExpeditionType- expeditionTypeName PK
- expedExpectedTimeLength- standardUndiscountedSlotFee- expeditionTypeCapacity
«EconomicResource» SupplyItem
- supplyItemTypeNumber PK- supplyItemPrice- supplyItemQOH--
«EconomicResourceType»
SupplyItemCategory- supplyItemCategoryName PK- monthlySaleAmountOfSIC---
«EconomicAgentType»
EmployeeType
- employeeType PK- startingWageForEmpType- countOfEmployeesForType--
«EconomicEvent»
Expedition- expeditionNumber PK- slotsFilledForScheduleExped- actualDuration- scheduledExpeditionDate
«EconomicEvent» ExpeditionTicket
- ticketNumber PK- discountedSlotCharge- total$AmountOfSupplyItems- countOfSlotsOnThisTicket
«EconomicResourceType»
AircraftType- aircraftTypeName PK- aircraftSeatingCapacity- aircraftFuelCapacity--
«EconomicResource» Aircraft
- aircraftEngineNumber PK- dateAircraftManufactured- aircraftName CK--
«EconomicAgent»
Employee- employeeNumber PK- employeeName-
«EconomicAgent»
ExpeditionWorker
- employeeNumber PK--
«EconomicAgent»
Guide- employeeNumber PK- dateQualifiedAsAGuide-
«EconomicAgent» BookingAgent
- employeeNumber PK- bookingAgentCommRate-
«EconomicAgent»
Pilot- employeeNumber PK- dateOfInitialPilotLicense-
«EconomicAgentGroup» People
- peopleName PK- approximatePopulation-
«EconomicAgent»
Client- clientNumber PK- clientName-
«EconomicEvent» CashReceipt
- remittanceAdvceNum PK- $AmountOfRemitAdvice- clientCheckNumber
«BusinessLocation»
Location- locationName PK- locationMapCoords CK-
distance- distanceBetween policy-sequence
- sequenceOfLocationOnTour
policy- qualifies- hoursFlown
stockFlow- quantityOfItemOnThisTicket
policy-count- countOfEmployeeType
«EconomicResource» Cash
- cashAccountNumber PK- cashAccountBalance-
receive
provide
participat1stockflow
participate
participate
policy
policy
typify
typify
typify1
0..*
0..*
0..*
site
0..*
0..*
0..*
0..*
0..*0..*
0..*
0..*
0..*
1..1
0..*
0..*0..*
0..*
0..*
0..*
0..*
0..*
0..*
0..*
0..*
0..*
1..*
1..*
1..*
0..*
0..*
0..*
0..*
0..*
1..1
1..1
0..1
1..1
1..1
1..1
1..1
0..10..*
0..*
lead
groupgroup
0..* 0..*
0..1 0..1
0..*
typify
0..1
start finish
meronymic
0..*1..1
PK
receive
duality
provide
0..*
stockflow
{incomplete, disjoint}
«EventType»ExpeditionType
- expeditionTypeName PK- expedExpectedTimeLength- standardUndiscountedSlotFee- expeditionTypeCapacity
«EconomicResource» SupplyItem
- supplyItemTypeNumber PK- supplyItemPrice- supplyItemQOH-
«EconomicResourceType»
SupplyItemCategory- supplyItemCategoryName PK- monthlySaleAmountOfSIC
«EconomicAgentType»
EmployeeType- employeeType PK
- startingWageForEmpType- countOfEmployeesForType
«EconomicEvent»
Expedition- expeditionNumber PK- slotsFilledForScheduleExped- actualDuration- scheduledExpeditionDate
«EconomicEvent» ExpeditionTicket
- ticketNumber PK- discountedSlotCharge- total$AmountOfSupplyItems- countOfSlotsOnThisTicket
«EconomicResourceType»
AircraftType
- aircraftTypeName PK- aircraftSeatingCapacity- aircraftFuelCapacity
«EconomicResource» Aircraft
- aircraftEngineNumber PK- dateAircraftManufactured- aircraftName CK-
«EconomicAgent» Employee
- employeeNumber PK- employeeName
«EconomicAgent» ExpeditionWork
er- employeeNumber PK
«EconomicAgent»
Guide- employeeNumber PK- dateQualifiedAsAGuide
«EconomicAgent» BookingAgent
- employeeNumber PK- bookingAgentCommRate
«EconomicAgent»
Pilot- employeeNumber PK- dateOfInitialPilotLicense
«EconomicAgentGroup»
People
- peopleName PK- approximatePopulation
«EconomicAgent»
Client- clientNumber PK- clientName
«EconomicEvent» CashReceipt
- remittanceAdvceNum PK- $AmountOfRemitAdvice- clientCheckNumber
«BusinessLocation»
Location- locationName PK- locationMapCoords CK
distance
- distanceBetween policy-sequence
- sequenceOfLocationOnTour
policy- qualifies
- hoursFlown
stockFlow
- quantityOfItemOnThisTicket
policy-count
- countOfEmployeeType
«EconomicResource» Cash
- cashAccountNumber PK- cashAccountBalancereceive
provide
participatestockflow
participate
participate
policy
policy
typify
typify
typify
0..*
0..*
0..*
site
0..*
0..*
0..*
0..*
0..*0..*
0..*
0..*
0..*
1..1
0..*
0..*0..*
0..*
0..*
0..*
0..*
0..*
0..*
0..*
0..*
0..*
1..*
1..*
1..*
0..*
0..*
0..*
0..*
0..*
1..1
1..1
0..1
1..1
1..1
1..1
1..1
0..10..*
0..*
lead
groupgroup
0..* 0..*
0..1 0..1
0..*
typify
0..1
start finish
What actually occurred
What could be or should be
Rtype Etype Atype
Resource Event Agent
Color-coded time expansion
What is planned or scheduled
Commit Event
Rtype
Etype
Atype
Negotiation
Identification
Planning
Post-Actualization
Actualization
Extended Business Process Model (ISO 15944-1
Accounting Model
Whole Business
Process Model
commitment reciprocal
fulfills
commitment
fulfills
economic event
duality economic event
Economic Event
Economic Resource
Economic Agent
stockflow provide
receive
Economic Commitment
reciprocal
fulfills
duality
Resource Type
typifiesspecifies
Event Type
Agent Typespecifies
specifies
typifies
typifies
participate
policy
policy
policy
1. Green – “What has occurred” – REA, duality, stockflow {consume, produce}, participation {provide, receive}
2. Yellow – What could be or should be – TYPES, typify, policy
3. Purple – What is planned or scheduled – COMMITMENTS, specify, fulfill, reciprocal, triggers
- manufacturingRunNumber PK- actualTotalT&MCost- toDateRunLaborCost- toDateRunMaterialCost- actualQuantityProduced
«EconomicEvent»Manufacturing Run
-operationTypeName PK
-standardSequence
«EventType»Operation Type
-employeeTypeName PK-startingWage
«AgentType»Employee Type
- scheduledOperationNumber PK
- scheduledSequence
«EconomicCommitment»Scheduled Manufacturing Operation
quantityOfRawMaterialPerUnit
policyBM
-scheduledMinutes
specify1
-minutesparticipate
-minutesUsed
used
-laborMinutesPerUnit
policyOL
-standardUnitCost-qOH
«EconomicResourceType»Raw Material Type
-rawMaterialCatalogNumber PK
-minutesNeededPerUnit
policyTM
-dateAcquired
«EconomicResource»Raw Material
-rawMaterialTagNumber PK
-quantityOwned
«EconomicResourceType»Tool-Machine Type
-toolMachineTypeDescription PK
-standardUnitCost
-qOH
«EconomicResourceType»Medical Equipment Type
-medicalEquipmentCatalogNumber PK
-standardGramWeight
-dateAcquired
«EconomicResource»Tool-Machine
-toolMachineNumber PK
-totalMinUsedSinceAcquis
-scheduledMinutes
specify
-scheduledQuantity
specify
- productionOrderNumber PK -budgetedTotalLaborCost-budgetedTotalMaterialCost
- projectedQuantityProduced
«EconomicCommitment»Scheduled Manufacturing Run
- budgetedTotalTool&MachineCost
-quantityUsed
used
-minutesparticipate
-minutesparticipate
- initiationTimestamp PK
- actualDuration
«EconomicEvent»Manufacturing Operation
- actualSequence
duality
participate
specify
produce
participate
typify
policyBM
fulfill
1..1
1..*
-medicalEquipTagNumber PK-actualGramWeight
«EconomicResource»Medical Equipment
-employeeNumber PK-employeeName
«EconomicAgent»Employee
-wage-dateHired
-employeeNumber PK
«EconomicAgent»Machinist
-employeeNumber PK
«EconomicAgent»Assembler
-employeeNumber PK
«EconomicAgent»Electrician
-employeeNumber PK
«EconomicAgent»Scheduler
-employeeNumber PK
«EconomicAgent»Supervisor
reciprocal
fulfill
typify
typify
typify
consume
participate
specifyspecify
1..1
1..1
1..1
1..1
1..1
0..*
0..*
0..*0..*
0..*
0..*
0..*
0..*
0..* 0..*
0..*
0..1
0..1
0..1
0..1
0..10..1
1..*
1..*
1..*1..*
1..*
1..*
1..*
{complete, disjoint}
0..*
0..*
0..*
0..*
0..*
0..*
0..*
1..1
1..1
1..1
1..1
1..*
1..*
1..*
0..*
0..*
0..*
0..*
0..*1..1
1..1
0..*
1..*
1..*
typify
1..1
0..*
• Who ?• What ?• When ? • Over what time period?• Why? (duality + sf = value chain)
The REA Model (ISO Open-edi accounting & economic ontology) is a pattern for a business process
A business process takes one or more kinds of input and creates an output that is of greater value to the
customer .
Conversion Process
labor
cookie ingredient
s
Acquisition Process
cash
cookies Revenue Process
cash
A value chain is a purposeful network of conversions and exchanges aimed at assembling the individual components of a final product (i.e., its portfolio of attributes) of value to
the customer
• Who ?• What ?• When ? • Over what time period?
The REA Model (ISO Open-edi accounting & economic ontology) is a pattern for a business process
• How? (through a series of small events that move business processes through to completion)
• Why? (duality + sf = value chain)
A business process takes one or more kinds of input and creates an output that is of greater value to the
customer .
Conversion Process
labor
cookie ingredient
s
Acquisition Process
cash
cookies Revenue Process
cash
A value chain is a purposeful network of conversions and exchanges aimed at assembling the individual components of a final product (i.e., its portfolio of attributes) of value to
the customer
• publish catalog
• make sales contact
• negotiate customer order
• ship goods (ee)
• send invoice
• accept payment (ee)
Workflow is a series of business events that progress a business
process through its phases, leading to eventual completion (ordering is determined by state machine
mechanics).
BT Phase Example Business Event
Planning Seller publishes Catalog
Buyer sends CatalogRequest to Seller
Seller sends Catalog to Prospective Buyer
Identification Buyer sends AvailabilityandPriceRequest to Seller
Seller returns AvailabilityandPriceResult to Buyer
Negotiation Buyer sends Offer to Seller
Seller sends CounterOffer to Buyer
Buyer accepts details of CounterOffer on Shipment and proposes PaymentSchedule
Seller accepts PaymentSchedule, completing Contract specification (alternatively, another CounterOffer would loop or a NonAcceptance would suspend or abandon the Business Transaction)
Actualization Seller sends an AdvanceShippingNotice when goods are prepared for shipping
Buyer sends ReceivingReport to Seller when inspected goods are accepted
Seller sends an Invoice to Buyer after parts are shipped
Buyer sends RemittanceAdvice to Seller with information about payment of the Invoice
Post-Actualization
Buyer sends WarrantyInvocation to Seller
An Example Business Process with Business Events Grouped in ISO 15944-1 Phases
Economic Event
Economic Resource
Economic Agent
stock-flow inside
outside
Economic Agreement
Economic Commitment
Economic Claim
materializes
settles
fulfills
establish
duality
Economic Resource
Type
typifyspecifies
Economic Event Type
Economic Agent Type
specifies
specifies
typify
typify
reciprocal
Business Processgoverns
Business Event
Business Process Phases
workflowValue Chain
networked
aggregate
EconomicResourceType
Candidate<<BusinessEvent>>
publishCatalogPlanned
<<BusinessEvent>>
sendAvail&PriceRequest
Proposed <<BusinessEvent>>
sendOffer
Identified
<<BusinessEvent>>
returnAvailabilityAndPriceResult
<<BusinessEvent>>
acceptOffer
Specified <<BusinessEvent>>
sendReceivingReport
Actualized
State Machine Diagram for Economic Resource Type
BUYER SELLER
<Business Event>
publishCatalog
<SharedBusinessEntityState>
:PlanningPhase
[InService]
<Business Event>
sendCatalog
<SharedBusinessEntityState>
:EconomicResourceType
[Candidate]
<SharedBusinessEntityState>
:PlanningPhase
[WaitingStart]
<Business Event>
generateResourceNeeds
<Business Event>
sendCatalogRequest
<SharedBusinessEntityState>
:EconomicAgent
[Candidate]
<Business Event>
receiveCatalog
<SharedBusinessEntityState>
:PlanningPhase
[Complete]
BUYER SELLER
<Business Event>
sendAvailabilityAndPriceRequest
<InternalBusinessEntityState>
:Order
[Prepared]
<Business Event>
sendOffer
<SharedBusinessEntityState>
:NegotiationPhase
[InService]
<Business Event>
receiveOffer
<SharedBusinessEntityState>
:EconomicResourceType
[Proposed]
<Business Event>
prepareOrder
<SharedBusinessEntityState>
:EconomicResourceType
[Planned]
<SharedBusinessEntityState>
:IdentificationPhase
[InService]
<Business Event>
returnAvailabilityAndPriceResult
<SharedBusinessEntityState>
:EconomicResourceType
[Identified]
<SharedBusinessEntityState>
:IdentificationPhase
[Complete]
BusinessProcess
BusinessProcess
BusinessProcess
Enterprise #1
BusinessProcess
BusinessProcess
BusinessProcess
Enterprise #3
Enterprise #2
BusinessProcess
BusinessProcess
BusinessProcess
Collaboration Perspective: Trading Partner vs. Independent
Independent view of Inter-enterprise events
Trading Partner view of Inter-enterprise events (upstream vendors and downstream customers)
Dotted arrows represent flow of goods, services, and cash between different companies; solid arrows represent flows within companies
Japan expert contribution to 15944-4, 22 Oct 2001, Victoria BC ,
embedded accounting & economic semantics
means better interoperability
“Scruffie” “Neat”The world consists of: 1. Classes or objects that are
• particulars--universals;
• occurrents--continuants;
• concrete--abstract;
2. associations between these entities/objects that are of the form• <particular , universal> e.g. is-instance-of,
• <particular , particular> e.g. is-part-of (also u-u)
• <universal , universal> e.g. isa (is-subtype-of)
3. declarations, procedures, and constraints
Need progress towards formal logic that enhances frame semantics with completeness, decidability, etc.
«EconomicEvent»
CashDisbursement
«EconomicResource»
Cash
stockflow3
«EconomicEvent»
ServiceAcquisition
duality1
+ -
stockflow1
stockflow2
«EconomicResource»
Service(not usually materialized)
«ResourceType»
ServiceType
-quantity or amount
typify
«EconomicEvent»
ServiceConsumption- «EconomicEvent»
Some Inflow
«EconomicResource»
AggregateResource
duality2 stockflow4
+
1. duality2 is often done by matching or absorption costing
2. Service acquisition event in the payroll cycle is signaled by:
• Time Card for hourly
• time period passage for salary (combination of period & person)
3. Use of services is often embedded in the actual worker’s event participation
Conceptual Congruency -- typical cases 1. typify2. fulfill3. parallel inputs 4. stockFlow (of services) 5. portfolio construction
A
B
association
1..1
1..1
-employeeNumber-buyerRating
«EconomicAgent»Buyer
-rawMaterialProductNumber
«EconomicResource»RawMaterial
-stepRequisitionNumber
«EconomicCommitment»ScheduledStep-standardQuantityForStep
specify1
1..*
0..*
-quantity-unitCost
stockflow
1..*
0..* 0..1
fulfill
-unitPrice-quantity
specify2
1..*
0..*
-vendor#-vendorAddress
«EconomicAgent»Vendor
1..1
0..*
participate2
1..1
0..*
provide(participate)
-jitAnalysisDocument#-jitAnalysisProcessDuration-
«BusinessEvent»JIT-Analysis
0..*
1..*
participate3
0..*1..1
participate1
0..*
1..1
1..*
0..1
analyzes
0..1
-purchaseOrder#-dueDate-POamount$
«EconomicCommitment»PurchaseOrder
0..*results
0..*
0..1
sourceOf
0..*
receive(participate)
-shipmentReceivingReport#-arrivalDate
«EconomicEvent»Shipment
UML – patterned use of meronymic associations to reflect component structures
<<EconomicEvent>>
Expedition
expeditionNumber PK schedExpeditionDate slotsFilled
componentOf
0..*1..1
PK
<<EconomicEvent>>
ExpeditionTicket
ticketNumber PK discountSlotCharge numberOfSlots countOfSlotsOnTicket
Associations with Plane, Pilot, Guide, Location
Associations with Client, Supply Items, Booking Agent
Other REA component possibilities:
• Agent: Team – TeamMember
• Resource: ResourceBundle -- ResourceComponent