/
org.lithopia.basic.cto
84 lines (81 loc) · 1.9 KB
/
org.lithopia.basic.cto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/**
* Sample business network definition.
*/
namespace org.lithopia.basic
/**
* Location in Lithopia visible to satellites owned by a Lithopian
*/
asset LithopiaPlace identified by name {
o String name
o Flagcolor[] flagColors optional
o Flagcolor[] requestSources optional
o Flagcolor[] datasetIds optional
o String owner
}
/**
* An abstract transaction that is related to a LithopiaPlace
*/
abstract transaction LithopiaPlaceTransaction {
--> LithopiaPlace place
}
/**
* A satellite reading for a GPS location identifying a color
*/
transaction Flagcolor extends LithopiaPlaceTransaction {
o String flagColor
o String requestSource
o String datasetId
}
/**
* Changing the owner of the place based on the color identified by a satellite
*/
transaction LithopiaPlaceSold extends LithopiaPlaceTransaction {
-->Lithopian newOwner
}
/**
* Announcing a change of ownership of a place
*/
event LithopiaPlaceTransactions {
--> LithopiaPlace place
o String newOwner
}
/**
* Marriage contract in Lithopia
*/
asset LithopiaMarriage identified by name {
o String name
o String period
o Partners[] partners optional
}
/**
* Partnering, friendship and marriages in Lithopia
*/
abstract transaction LithopiaPartnering {
-->LithopiaMarriage contract
}
/**
* Lithopians entering some contract in pairs or groups
*/
transaction Partners extends LithopiaPartnering {
o String[] newPartner
}
/**
* Announcing a marriage between individuals in Lithopia
*/
event NewPartnershipinLithopia {
-->LithopiaMarriage contract
o Partners[] partners
}
/**
* Marrying someone or few people in Lithopia
*/
transaction Marriage extends LithopiaPartnering {
-->Lithopian partnerMarriage
}
/**
* Lithopian living in Lithopia
*/
participant Lithopian identified by name {
o String name
o String status optional
}