Contracts in Time

We can think of contracts as a set of events that should happen over time. Perhaps the times are fuzzy or relative to one another, or perhaps they are strict. Either way, there is some passing of time. We can perhaps capture this with a little timeline:

contracts_as_timelines.jpg

This diagram looks like something a project manager would draw. There are perhaps some connections between a project and a contract, since the participants in both must plan out how to deal with the various events and requirements.

Now if we have a few of these contract timelines things are more interesting. We can get a sense for the multiple contracts that a person is engaged in at any given time. They are like tracks in a sequencer, only instead of music we are looking at real life events and expectations:

contracts_like_music_tracks.jpg

This particular metaphor may break down if the contracts are more like programs with various control structures like loops, conditionals, subroutines, or even recursion (what is a recursive contract?). The contract won’t be linear. It will have loops, since certain tasks may come up multiple times. Or if it is recursive it will have spirals. How do we represent the same task happening repeatedly at different times? Is it really the same task, or another instance of an abstract task? For now we can draw it as looping, but then we lose the effect of the timeline, which is unfortunate.

looping_time_contracts.jpg

I’m not sure where this is going, just some notes for tonight. At the very least the timeline view can be used retrospectively on contracts that are already complete.

Leave a Reply