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
{
"$type": "com.fedfork.exec.composition",
"name": "Compose toys",
"description": "ui asks lookup to double n (only even n, per the even policy), passing a progress callback; lookup may ask the page to confirm.",
"instances": [
{
"name": "ui",
"module": "compose"
},
{
"name": "lookup",
"module": "compose",
"input": {
"n": 0
}
},
{
"name": "even",
"module": "compose"
}
],
"handlers": [
{
"name": "confirm",
"description": "The page asks the user."
}
],
"edges": [
{
"from": "ui",
"nsid": "com.example.compose.lookup",
"to": "lookup",
"reason": "ui needs n doubled",
"policies": [
{
"instance": "even",
"entry": "even"
}
]
},
{
"from": "ui",
"nsid": "com.example.compose.confirm",
"handler": "confirm",
"reason": "ui asks the user before acting"
}
],
"limits": {
"depth": 4,
"calls": 20
}
}