CongoProcess.owl
type: Ontology
version info: $Id: CongoProcess.owl,v 1.37 2003/09/19 05:06:47 martin Exp $
comment: A B2C bookbuying example of DAML-S (DARPA Agent Markup Language for Services; see http://www.daml.org/services/) usage, illustrating a simple use of the process model. NOTE: This is a sketch; not a complete example. It is designed to illustrate the usage of the process model ontology. The service described here is a book buying (or selling, depending on your perspective) service from www.congo.com. We present two forms of the service. First, there's a one-step form, CongoBuy, with the service treated as ATOMIC; i.e., no interactions between buying and selling agents are required, apart from invocation of the service and receipt of its outputs by the buyer. Given certain inputs and preconditions, the service provides certain outputs and has specific effects. Second, a full-fledged version of the service is specified, showing its composition from its component services. The full-fledged version of the service, FullCongoBuy, includes an arrangement of subprocesses LocateBook, PutInCart, SignIn, CreateAcct, CreateProfile, LoadProfile, SpecifyDeliveryDetails, FinalizeBuy each with its own specification of inputs and outputs. Note: Input, output, precondition, and effect properties of *composite* processes can, in principle, be automatically generated by tools. Since such tools don't yet exist, they have been manually generated for this example. Original Congo example created by Srini Narayanan (srini@ai.sri.com). Major modifications by Mark Burstein, David Martin, Sheila McIlraith, Srini Narayanan, Terri Payne.
imports: owl
imports: Time.owl
imports: Service.owl
imports: Process.owl
imports: CongoProcessDataFlow.owl

FullCongoBuy
type: Class
subclass of: CompositeProcess
subclass of: Restriction
  on property: composedOf
  all values from: Class
    intersection of: Sequence
    intersection of: Restriction
      on property: components
      all values from: Class
        list of instances of: LocateBook
        list of instances of: CongoBuyBook
subclass of: Restriction
  cardinality: 1
  on property: fullCongoBuyBookName
subclass of: Restriction
  cardinality: 1
  on property: fullCongoBuyBookISBN
subclass of: Restriction
  cardinality: 1
  on property: fullCongoBuyCreditCardNumber
subclass of: Restriction
  cardinality: 1
  on property: fullCongoBuyCreditCardType
subclass of: Restriction
  cardinality: 1
  on property: fullCongoBuyCreditCardExpirationDate
subclass of: Restriction
  cardinality: 1
  on property: fullCongoBuyDeliveryAddress
subclass of: Restriction
  cardinality: 1
  on property: fullCongoBuyPackagingSelection
subclass of: Restriction
  cardinality: 1
  on property: fullCongoBuyDeliveryTypeSelection
subclass of: Restriction
  on property: collapsesTo
  all values from: AbstractCongoBuy

LocateBook
type: Class
subclass of: AtomicProcess
subclass of: Restriction
  cardinality: 1
  on property: bookName

CongoBuyBook
type: Class
subclass of: CompositeProcess
subclass of: Restriction
  on property: composedOf
  all values from: Class
    intersection of: Sequence
    intersection of: Restriction
      on property: components
      all values from: Class
        list of instances of: BuySequence
        list of instances of: SpecifyDeliveryDetails
        list of instances of: FinalizeBuy
subclass of: Restriction
  cardinality: 1
  on property: congoBuyBookBookISBN
subclass of: Restriction
  cardinality: 1
  on property: congoBuyBookCreditCardNumber
subclass of: Restriction
  cardinality: 1
  on property: congoBuyBookCreditCardType
subclass of: Restriction
  cardinality: 1
  on property: congoBuyBookCreditCardExpirationDate
subclass of: Restriction
  cardinality: 1
  on property: congoBuyBookDeliveryAddress
subclass of: Restriction
  cardinality: 1
  on property: congoBuyBookPackagingSelection
subclass of: Restriction
  cardinality: 1
  on property: congoBuyBookDeliveryTypeSelection

BuySequence
type: Class
subclass of: CompositeProcess
subclass of: Restriction
  on property: composedOf
  all values from: Class
    intersection of: Sequence
    intersection of: Restriction
      on property: components
      all values from: Class
        list of instances of: PutInCart
        list of instances of: SignInAlternatives
        list of instances of: SpecifyPaymentMethod
subclass of: Restriction
  cardinality: 1
  on property: buySequenceBookISBN
subclass of: Restriction
  cardinality: 1
  on property: buySequenceCreditCardNumber
subclass of: Restriction
  cardinality: 1
  on property: buySequenceCreditCardType
subclass of: Restriction
  cardinality: 1
  on property: buySequenceCreditCardExpirationDate

SpecifyDeliveryDetails
type: Class
subclass of: AtomicProcess
subclass of: Restriction
  cardinality: 1
  on property: deliveryAddress
subclass of: Restriction
  cardinality: 1
  on property: packagingSelection
subclass of: Restriction
  cardinality: 1
  on property: deliveryTypeSelection

PutInCart
type: Class
subclass of: AtomicProcess
subclass of: Restriction
  cardinality: 1
  on property: putInCartBookISBN

SpecifyPaymentMethod
type: Class
subclass of: AtomicProcess
subclass of: Restriction
  cardinality: 1
  on property: creditCardNumber
subclass of: Restriction
  cardinality: 1
  on property: creditCardType
subclass of: Restriction
  cardinality: 1
  on property: creditCardExpirationDate

buySequenceCreditCardNumber
type: Property
comment: NOTE: INTEGER IS NOT SUPPORTED YET IN DAML+OIL
sub property of: input
domain: BuySequence
range: decimal

CreateAcctSequence
type: Class
subclass of: CompositeProcess
subclass of: Restriction
  on property: composedOf
  all values from: Class
    intersection of: Sequence
    intersection of: Restriction
      on property: components
      all values from: Class
        list of instances of: CreateAcct
        list of instances of: CreateProfile
        list of instances of: LoadProfile
subclass of: Restriction
  cardinality: 1
  on property: createAcctSequenceCreateAcctInfo
subclass of: Restriction
  cardinality: 1
  on property: createAcctSequenceCreateAcctOutput

SignInSequence
type: Class
subclass of: CompositeProcess
subclass of: Restriction
  on property: composedOf
  all values from: Class
    intersection of: Sequence
    intersection of: Restriction
      on property: components
      all values from: Class
        list of instances of: SignIn
        list of instances of: LoadProfile
subclass of: Restriction
  cardinality: 1
  on property: signInSequenceSignInInfo

SignIn
type: Class
subclass of: AtomicProcess
subclass of: Restriction
  cardinality: 1
  on property: signInInfo

CreateAcct
type: Class
subclass of: AtomicProcess
subclass of: Restriction
  cardinality: 1
  on property: createAcctInfo
subclass of: Restriction
  cardinality: 1
  on property: createAcctOutput

BookInCatalogueP
type: Class
subclass of: Condition
subclass of: Restriction
  min cardinality: 1
  on property: nameBookInCatalogue

LocateBookOutput
type: Class
subclass of: ConditionalOutput
sub class of: Restriction
  cardinality: 1
  on property: condBookInCatalog
disjoint union of: LocatedBookOutput
disjoint union of: NotFoundBookOutput

creditCardNumber
type: Property
comment: NOTE: INTEGER IS NOT SUPPORTED YET IN DAML+OIL
sub property of: input
domain: SpecifyPaymentMethod
range: decimal