ws-calendar — archive
Relationships between Components
In iCalendar, there is a Components section which today generally has a member set of 1. When there is more than one component, it tends to be a valarm associated with, say, a vevent, as I understand it.
In WS-Calendar, we anticipate being able to transmit multiple components, and to understand the sequencing of those components by expanding the relationships between the components. Today, the relationships are Child and Parent
On the suggestion of the SGIP PAP04 review group this week, I looked to a well-known Project Scheduling software to see what relationships they supported between tasks. They support 4, and with a lag time for each
Finish-To-Start (FS): Finish of Task A to start of Task B
Start-to-Start (SS): Start of Task A to Start of Task B
Finish-to-Finish (FF): Finish of Task A to Finish of Task B
Start-to-Finish (SF): Start of Task A to Finish of Task B
If the lag time is Zero on each of these, we have:
(FS) Task B starts as soon as Task A Finishes
(SS) Task B Starts when Task A does
(FF) Task A and B finish at the same time
(SF) Task B bust finish when Task A starts
If we wanted to allow the lags, we could use whatever formats of interval are already defined.
<components>
<vtodo>
<dtstamp></dtstamp>
<uid>aaaaaaa1</uid>
<description>first contract</description>
<priority>high</priority>
<summary>defines first behavior to perform in contract with a precisions required of 1 second</summary>
<duration>15m</duration>
<durationPrecision>1s</durationPrecision>
<attach>http://scheduled.services.com/contract1</attach>
<related-to>
<relationship>
<uid>aaaaaaa2</uid><reltype>FS</reltype><lag>0</lag>
</relationship>
</related-to>
</vtodo>
<vtodo>
<dtstamp></dtstamp>
<uid>aaaaaaa2</uid>
<description>second interval</description>
<priority>high</priority>
<summary>defines second behavior to perform in contract with a precision required of 1 second</summary>
<duration>15m</duration>
<durationPrecision>1s</durationPrecision>
<attach>http://scheduled.services.com/contract2</attach>
<related-to>
<relationship>
<uid>aaaaaaa1</uid><reltype>SF</reltype><lag>0</lag>
</relationship>
</related-to>
</vtodo>
<components>
The lag, of course, could be positive or negative. These 4 relationships, with a lag, would be sufficient to define just about any time offsets and orders between components.
tc
“It is difficult to get a man to understand something, when his salary depends upon his not understanding it” -- Upton Sinclair.
Toby Considine
TC9, IncOASIS Technical Advisory Board
TC Chair: oBIX & WS-CalendarTC Editor: EMIX, EnergyInterop
U.S. National Inst. of Standards and Tech. Smart Grid Architecture Committee
Email: [email protected]
Phone: (919)619-2104http://www.tcnine.com/
blog: www.NewDaedalus.com