Process.owl
type: Ontology
version info: $Id: Process.owl,v 1.32 2003/09/19 05:06:47 martin Exp $
comment: Upper-level DAML ontology for Processes. Part of the DAML-S effort; see http://www.daml.org/services/.
imports: owl
imports: Time.owl
imports: Service.owl

sameValuesAs
type: Property
comment: -- 0.7: This is deprecated, in favor of sameValues, defined further below. -- The remaining comments are retained from the 0.6 release: This is a "place-holder" for now, which needs further work. The domain and range will be properties. "X sameValuesAs Y" is used to indicate that properties X and Y take the same values within a given context; that is, within an execution instance of some process. This is used simply to indicate such things as the binding of output property X of a subprocess with input property Y of a subsequent subprocess, within the same parent process.

listOfInstancesOf
type: Property
domain: Class
range: List
comment: The range is a list of classes. This property is defined similarly to DAML+OIL properties having List as range, such as owl:oneOf and owl:intersectionOf, and is meant to be used similarly, with parseType=collection. "Class listOfInstancesOf X Y Z" (for example) is used to indicate the class of lists having an instance of class X as their first member, an instance of class Y as their second member, and an instance of class Z as their third member. An instance of listOfInstancesOf represents an anonymous class, as explained here: http://www.daml.org/services/owl-s/0.9/listOfInstancesOf.html. Note that listOfInstancesOf is provided as "syntactic sugar"; that is, it isn't required to express the intended anonymous class definition. It is provided to allow for shorter, more readable expressions in process definitions. There are some unresolved concerns about the use of this property, which are also explained in the HTML document.

Condition
type: Class
comment: This is a "place-holder" for now, which awaits further work from the DAML/OIL community. An instance of Condition is a logical formula that evaluates to true or false. Eventually we expect this to be defined elsewhere, as part of a DAML+OIL extension allowing for logical expressions.

ceCondition
type: Property
comment: The condition of a conditional effect.
domain: ConditionalEffect
range: Condition

UnConditionalEffect
type: Class
comment: An UnConditionalEffect has no condition.
intersection of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#1

http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#3
type: Restriction
cardinality: 0
on property: ceCondition

coCondition
type: Property
comment: The condition of a conditional output
domain: ConditionalOutput
range: Condition

UnConditionalOutput
type: Class
comment: An UnConditionalOutput has no condition.
intersection of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#4

http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#6
type: Restriction
cardinality: 0
on property: coCondition

ProcessPowerSet
type: Class
comment: This is the power set of Process (defined below); that is, the set of all subsets of Process. This class is needed as the range of certain properties.
same class as: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#7

AtomicProcessPowerSet
type: Class
comment: This is the power set of AtomicProcess (defined below); that is, the set of all subsets of AtomicProcess. This class is needed as the range of certain properties.
same class as: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#8

ParameterPowerSet
type: Class
comment: This is the power set of parameter (defined below); that is, the set of all subproperties of parameter. This class is needed as the range of certain properties.
same class as: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#9

InputPowerSet
type: Class
comment: This is the power set of input (defined below); that is, the set of all subproperties of input. This class is needed as the range of certain properties.
same class as: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#10

OutputPowerSet
type: Class
comment: This is the power set of output (defined below); that is, the set of all subproperties of output. This class is needed as the range of certain properties.
same class as: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#11

PreconditionPowerSet
type: Class
comment: This is the power set of precondition (defined below); that is, the set of all subproperties of precondition. This class is needed as the range of certain properties.
same class as: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#12

EffectPowerSet
type: Class
comment: This is the power set of effect (defined below); that is, the set of all subproperties of effect. This class is needed as the range of certain properties.
same class as: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#13

ProcessModel
type: Class
comment: A ServiceModel describes how a Service works, and a ProcessModel is a type of ServiceModel (the only type being defined for DAML-S). See also the introductory comments to Service.daml.
subclass of: ServiceModel
comment: A ProcessModel can have at most one Process and one ProcessControlModel.
subclass of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#14
subclass of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#15

hasProcess
type: ObjectProperty
comment: It is important to understand that DAML-S conceptualizes a specific process as a *class*, each of whose instances is a particular use/invocation of the process. Thus, each specific process (such as BuyBook in Congo.daml) is a *subclass*, rather than an instance, of Process. This is why the range of hasProcess is specified as ProcessPowerSet (which is the class of all subclasses of Process). In the case of a composite process, indicates the top-level process class.
domain: ProcessModel
range: ProcessPowerSet

ProcessControlModel
type: Class
comment: A ProcessControlModel is used to monitor and control execution of a Process. This is just a "stub" for now; will be developed further in future releases of DAML-S.

http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#14
type: Restriction
max cardinality: 1
on property: hasProcess

http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#15
type: Restriction
max cardinality: 1
on property: hasControlModel

Process
type: Class
comment: The most general class of processes
disjoint union of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#16
comment: A Process can have at most one name, but names need not be unique.
subclass of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#19

CompositeProcess
type: Class
comment: A CompositeProcess must have exactly 1 composedOf property.
intersection of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#20
comment: A CompositeProcess can have at most one invocable property. Similarly for computedInput, computedOutput, computedEffect, and computedPrecondition.
subclass of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#23
subclass of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#24
subclass of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#25
subclass of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#26
subclass of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#27

http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#19
type: Restriction
max cardinality: 1
on property: name

address
type: Property
comment: Address is a machine name, leave it unrestricted for now
domain: Process

docRead
type: Property
comment: Documents that are read by the Process (could be a database, an html form, whatever), range is left unrestricted at this level.
domain: Process

docUpdate
type: Property
comment: Documents that are updated by the Process (could be a database, an html form, whatever), range is left unrestricted at this level.
domain: Process

docWrite
type: Property
comment: Documents that are written to by the Process (could be a database, an html form or other); range is left unrestricted at this level.
domain: Process

expand
type: ObjectProperty
comment: This is a deprecated usage; expandsTo is preferred.
same property as: expandsTo

collapse
type: ObjectProperty
comment: This is a deprecated usage; collapsesTo is preferred.
same property as: collapsesTo

http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#22
type: Restriction
cardinality: 1
on property: composedOf

invocable
type: DatatypeProperty
comment: Invocable is a flag that tells whether the CompositeProcess bottoms out in atomic processes. (If so, it is "invocable".)
domain: CompositeProcess
range: boolean

computedInput
type: Property
comment: A computed input is a single expression that characterizes the inputs required by a composite process, and the conditions under which they are required. This expression may, if needed, tie together 2 or more inputs; for example, "either a credit card number, or a bank account number must be given", or "if product id starts with 'M', no shipping method need be given". Additionally, this expression may refer to things other than inputs; for example; "if user's credit rating is 'excellent' or better, Social Security number is not required", or "if product weight is less than 1 lb., no shipping myth did need be given". A "computed" input is so named because it is meant to be computed automatically by some tool, by inspecting the makeup of the composite process. The language used to represent a computed input is not specified here, and will be the subject of future work; hence, the use of Thing as range. It will require expressiveness greater than that of DAML+OIL.
domain: CompositeProcess
range: Thing

computedOutput
type: Property
comment: A computed output is a single expression that characterizes the outputs required by a composite process, and the conditions under which they are required. See comment for computedInput.
domain: CompositeProcess
range: Thing

computedPrecondition
type: Property
comment: A computed precondition is a single expression that characterizes the preconditions of a composite process, based on the preconditions of its sub processes.
domain: CompositeProcess
range: Thing

computedEffect
type: Property
comment: A computed effect is a single expression that characterizes the effects of a composite process, based on the effects of its sub processes.
domain: CompositeProcess
range: Thing

http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#23
type: Restriction
max cardinality: 1
on property: invocable

http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#24
type: Restriction
max cardinality: 1
on property: computedInput

http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#25
type: Restriction
max cardinality: 1
on property: computedOutput

http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#26
type: Restriction
max cardinality: 1
on property: computedEffect

http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#27
type: Restriction
max cardinality: 1
on property: computedPrecondition

ControlConstruct
type: Class
comment: A ControlConstruct can have at most one currentProcessComponent and one nextProcessComponent property.
subclass of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#30
subclass of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#31

components
type: Property
comment: The components propery of a control construct holds a specific arrangement of subprocesses or control constructs. The range is declared at each subclass of ControlConstruct.
domain: ControlConstruct

ProcessComponent
type: Class
comment: A ProcessComponent is either a Process or a ControlConstruct.
union of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#28
comment: A ProcessComponent can have at most one of each of the restricted properties.
subclass of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#49
subclass of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#50
subclass of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#51
subclass of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#52
subclass of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#53

currentProcessComponent
type: Property
comment: Attribute to keep a pointer to the current process component.
domain: ControlConstruct
range: ProcessComponent

nextProcessComponent
type: Property
comment: Attribute to keep a pointer to the next process component.
domain: ControlConstruct
range: ProcessComponent

http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#30
type: Restriction
max cardinality: 1
on property: currentProcessComponent

http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#31
type: Restriction
max cardinality: 1
on property: nextProcessComponent

ProcessComponentBag
type: Class
comment: A multiset of ProcessComponents
subclass of: List
subclass of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#32

ProcessComponentList
type: Class
comment: A list of ProcessComponents
subclass of: List
subclass of: http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#33

ifCondition
type: Property
comment: The if condition of an if-then-else
domain: If-Then-Else
range: Condition

Repeat-While
type: Class
comment: The repeat while construct
subclass of: ControlConstruct

Repeat-Until
type: Class
comment: The repeat until process
subclass of: ControlConstruct

sameValues
type: Property
domain: ProcessComponent
comment: The range is to be a list of ValueOf.
range: List

startTime
type: ObjectProperty
comment: Start time for the Event
domain: ProcessComponent
range: Instant

endTime
type: ObjectProperty
comment: End time for the Event
domain: ProcessComponent
range: Instant

during
type: ObjectProperty
comment: Event/Process is during Interval, the exact time interval over which the event occurs
domain: ProcessComponent
range: Interval

http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#49
type: Restriction
max cardinality: 1
on property: startTime

http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#50
type: Restriction
max cardinality: 1
on property: endTime

http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#51
type: Restriction
max cardinality: 1
on property: during

http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#52
type: Restriction
max cardinality: 1
on property: timeout

http://lodlaundromat.org/.well-known/genid/4c1be44f8b0e3b68ee3db3a93c7b322b#53
type: Restriction
max cardinality: 1
on property: timeoutAbsolute