-
Pamela Dyer authoredPamela Dyer authored
Event_Sharing_in_Composite_Events.mp 4.81 KiB
/*┬────────────────────────────────────────────────────────┐
│*│ ┌─[ Title and Authors ]──────────────────────────────┐ │
│*│ │ Event Sharing in Composite Events │ │
│*│ │ Created by Kristin Giammarco and Mike Collins │ │
│*│ │ 2021-11-11 │ │
│*│ └────────────────────────────────────────────────────┘ │
│*│ │
│*│ ┌─[ Purpose ]────────────────────────────────────────┐ │
│*│ │ To illustrate how to share events within composite │ │
│*│ │ events. │ │
│*│ └────────────────────────────────────────────────────┘ │
│*│ │
│*│ ┌─[ Description ]────────────────────────────────────┐ │
│*│ │ This model shows the use of COORDINATE statements │ │
│*│ │ to perform event sharing inside of composite │ │
│*│ │ events. This operation uses nested COORDINATE │ │
│*│ │ statements to navigate the event hierarchy. │ │
│*│ └────────────────────────────────────────────────────┘ │
│*│ │
│*│ ┌─[ References ]─────────────────────────────────────┐ │
│*│ │ "Example 3: Data Flow" from Auguston, M. "Monterey │ │
│*│ │ Phoenix System and Software Architecture and │ │
│*│ │ Workflow Modeling Language Manual" (Version 4). │ │
│*│ │ 2020. Available online: │ │
│*│ │ https://wiki.nps.edu/display/MP/Documentation │ │
│*│ │ │ │
│*│ │ Example02_DataFlow_EventSharing. Available online:│ │
│*│ │ https://nps.edu/mp/models > Language_concepts │ │
│*│ └────────────────────────────────────────────────────┘ │
│*│ │
│*│ ┌─[ Search Terms ]───────────────────────────────────┐ │
│*│ │ behavior, data flow; event sharing │ │
│*│ └────────────────────────────────────────────────────┘ │
│*│ │
│*│ ┌─[ Instructions ]───────────────────────────────────┐ │
│*│ │ Run for Scopes 1 and up. │ │
│*│ ├─[ Run Statistics ]─────────────────────────────────┤ │
│*│ │ Scope 1: 3 traces in less than 1 sec. │ │
│*│ │ Scope 2: 28 traces in less than 1 sec. │ │
│*│ │ Scope 3: 165 traces in less than 1 sec. │ │
│*│ └────────────────────────────────────────────────────┘ │
└*┴───────────────────────────────────────────────────────*/
SCHEMA Event_Sharing_in_Composite_Events
ROOT System: { Writer, File, Reader };
Writer: (* ( working | writing ) *);
/* writing events should precede reading */
File: (+ writing +) (* reading *);
/* Share writing events within Writer and File
composite events*/
COORDINATE $a: Writer FROM System,
$b: File FROM System
DO COORDINATE $c: writing FROM $a,
$d: writing FROM $b
DO SHARE $c $d; OD;
OD;
Reader: (* ( reading | working ) *);
/* Share reading events within Reader and File
composite events*/
COORDINATE $a: Reader FROM System,
$b: File FROM System
DO COORDINATE $c: reading FROM $a,
$d: reading FROM $b
DO SHARE $c $d; OD;
OD;