Documente Academic
Documente Profesional
Documente Cultură
COMPUTATION
Summary report
GROUP 6
Jon Rey L. Lumayag
Roldman Brix Lobitaa
Genevieve Rizada
Rowel Montilla
Ptera: An Event-Oriented
Model of Computation
An
event-oriented
model-defines
collection
of
events
in
time.
Ptera (for Ptolemy event relationship actors), first given by Feng et al.
(2010) is designed to interoperate well with other Ptolemy II models of
computation, to provide model hierarchy, and to handle concurrency in a
deterministic way.
11.1 Syntax and Semantics of Flat Models
A flat (i.e., non-hierarchical) Ptera model is a graph containing vertices
connected with directed edges, such as shown in Figure 11.1, which contains
two vertices and one edge
In a hierarchical Ptera model, vertices can also represent sub models,
which may be other Ptera models, FSMs, actor models using some other
Ptolemy II director, or even custom Java code. The only requirement is that
their behavior must be defined to conform with the actor abstract semantics.
the time at which the event is scheduled to occur (i.e., at the time stamp of
that event).
Ptera events may be associated with actions, which are shown inside
brackets in the vertex.
instances
in
an
event
queue
that are
Instances
of
IncreaseA
and
IncreaseB
1.0
1.0
1.0
IncreaseA
IncreaseA
Increase
1
0
2
0
A
10
0
1.0
1.0
1.0
1.0
Increase
Increase
Increase
IncreaseA
B
0
1
B
0
2
B
0
10
1
10
Time 1.0
Event IncreaseA
A 2
B 10
1.0
Increase
A
10
10
Time 0.
1.0
1.0
1.0
1.0
Increase
Increase
Increase
Increase
nt Ini
t
A 0
B 0
Eve 0
Time 1.0
1.0
1.0
Increase
Increase
nt A
A 9
B
9
A
10
B 8
Eve Increase
1.0
1.0
1.0
1.0
Increase
Increase
Increase
Increase
nt Ini
t
A 0
B 0
Eve 0
Time 1.0
1.0
1.0
1.0
Increase
Increase
Increase
nt B
A 8
A
9
B
9
A
10
B 9
10
10
Eve Increase
Table 11.1: Four possible execution traces for the model in Figure 11.4.
Figure 11.5: A scenario where event E0 schedules E1 and E2 after the same
delay.
11.1.7 Priorities
For events that are scheduled by the same event with the same delay ,
priority numbers can be assigned to the scheduling relations to force an
control critical sections (as would be the case for imperative programming
languages).
The final event, End, is a special class of event that removes all events in
the queue. Final events are used to force termination even when there are
events remaining in the event queue. They are shown as filled vertices with
double-line borders.
b) Sequentially perform tasks until G is
satisfied
Figure 11.6: Two design patterns for
controlling tasks.
11.1.10 Application-Oriented Examples
In this section, we describe two simple Ptera models that have properties
that are similar to many systems of interest. We begin with a simple
A Ptera model within a DE model will execute either when an input event
arrives from the DE model or when a timeout expires on a scheduling
relation.
A scheduling relation may be tagged with a triggers attribute that specifies
port names separated by commas. This can be used to schedule an event in
a Ptera submodel to react to external inputs. The attribute is used in
conjunction with the delay to determine when the event is processed.
Suppose that in a model the triggers parameter is p 1, p 2, , p n. The
event is processed when the model time is -greater than the time at which
the scheduling relation is evaluated or one or more DE events are received
at any of p 1, p 2, , p n. To schedule an event that indefinitely waits for
input, Infinity may be used as the value of .