PM Content Fields and Values

 


This defines subfields common to several PM performatives.


Time

<time> := "(" <number> "h" <number> "/" <number> "/" <number> ")"

Time strings represent a date in american format, i.e. 3 / 27 / 1998 is the 27th of March in 1998. In
addition the daytime is given as an hour in the 24h/day system. E.g. ( 16 h 3 / 27 1998 ) would be
the 27th of September in 1998, 3pm.

Duration

<duration> := "(" <number> d <number> h ")"

Durations represent time-intervals of a special length, given in days and hours in a very straightforward way. ( 38 d 4 h ) represents a time-interval of 38 days and 4 hours.

Resource

<resource> := "(" <string> <number> ")"

Resources represent a certain amount of a resource or a certain number of objects, e.g. ( power 10000 )
or ( funds 10000 ).  Note, that resource do to contain unit information, e.g. it is not possible
to specify ( founds 10000$ ) or ( power 10kW ). The PM needs to do calculations and comparisons
on resources for a number of algebraic constraints. These are considerably more complicated if you
allow units like kW or MW, or - even worse - currencies like $ or DM.

Product Reference

<product-ref> := "(" <string> <type> ")"
<type>         := "use" | "consume" | "produce"

Product references are not only used to reference a product of a given name, but also specify
what the owner of the reference intends to do with the product. E.g. one task might hold a product-reference ( frame produce ) to produce an engine-frame, another task might want to
use this frame  and keep a reference ( frame use ).
 

Type semantics: