The PIF Process Interchange Format and Framework

The PIF Process Interchange Format and Framework

Jintae Lee, Gregg Yost and the PIF Working Group[1]
Version 1.0

December 22, 1994


Table of Contents
1. Abstract
2. Introduction
3. History and current status
4. PIF
5. Alphabetic Class Reference
6. Extending PIF
7. Appendix A: PIF Syntax
8. Appendix B: An Example PIF File
9. References

5. Alphabetic Class Reference

ACTIVITY
ACTOR
CANNOT-BE-CONCURRENT
CREATES
DECISION
ENTITY
GROUP
MODIFIES
PERFORMS
PREREQUISITE
RELATION
RESOURCE
SKILL
SUCCESSOR
USE


ACTIVITY

Parent classes: ENTITY

Attribute             Value Type                       Multiple Values Allowed    
Component             ACTIVITY                                    Yes             
Precondition          RESTRICTED-KIF-SENTENCE                                     
Postcondition         RESTRICTED-KIF-SENTENCE                                     
Status                SYMBOL                                      Yes             
Attribute descriptions:

Many preconditions and postconditions can be expressed in PIF without using the Precondition and Postcondition attributes of ACTIVITY. For example, the USE relation between an activity A and a resource R implies that one of A's preconditions is that R is available. In general, the Precondition and Postcondition attributes of ACTIVITY should only be used to express conditions that cannot be expressed any other way in PIF. Doing so will maximize the degree to which a process description can be shared with others.


ACTOR

Parent classes: RESOURCE -> ENTITY

Attribute             Value Type                       Multiple Values Allowed    
Skill                 SKILL                                       Yes             
Attribute descriptions:

* Skill: Skills that an ACTOR has.

An ACTOR represents a person, group, or other entity (such as a computer program) that participates in a process.


CANNOT-BE-CONCURRENT

Parent classes: RELATION -> ENTITY

Attribute             Value Type                       Multiple Values Allowed    
Activity              ACTIVITY                                    Yes             
Attribute descriptions:

* Activity: A set of activities that cannot be executed concurrently.

Activities among which this relation holds cannot be executed concurrently. Conversely, activities without this relation among them are assumed to be concurrently executable.


CREATES

Parent classes: RELATION -> ENTITY

Attribute             Value Type                       Multiple Values Allowed    
Activity              ACTIVITY                                                    
Resource              RESOURCE                                    Yes             
Attribute descriptions:


DECISION

Parent classes: ACTIVITY -> ENTITY

Attribute             Value Type                       Multiple Values Allowed    
If                    RESTRICTED-KIF-SENTENCE                                     
Then                  SUCCESSOR                                   Yes             
Else                  SUCCESSOR                                   Yes             
Attribute descriptions:

A DECISION is a special kind of activity that represents conditional branching. If the RESTRICTED-KIF-SENTENCE in its If attribute is satisfied, the next activities in the process flow are those specified in the SUCCESSOR relations in the Then attribute. If not, the next activities are those specified in the SUCCESSOR relations in the Else attribute.


ENTITY

Parent classes: None. ENTITY is the root of the PIF class hierarchy.

Attribute             Value Type                       Multiple Values Allowed    
Component             ENTITY                                      Yes             
Documentation         STRING                                                      
Name                  SYMBOL                                                      
User-Attribute        Quoted list                                 Yes             
Attribute descriptions:

(User-Attribute `(Color RED GREEN) `(Weight 120))


GROUP

Parent classes: ACTOR -> RESOURCE -> ENTITY

Attribute             Value Type                       Multiple Values Allowed    
Cardinality           INTEGER                                                     
Member                ACTOR                                       Yes             
Member-Type           CLASS (subclasses of ACTOR                  Yes             
                      only)                                                       
Attribute descriptions:

A GROUP is a group of actors. In PIF, a GROUP is defined to be a special kind of ACTOR. So, for example, one can specify that some activity is performed by a group of people rather than by a single individual. In the future, PIF will probably support multiple inheritance. When it does, GROUP will also be a subclass of a SET type that supports general features of sets of objects. For now, we define GROUP as a subclass of ACTOR that defines a few additional set-related attributes such as Cardinality and Member-Type.


MODIFIES

Parent classes: RELATION -> ENTITY

Attribute             Value Type                       Multiple Values Allowed    
Activity              ACTIVITY                                                    
Resource              RESOURCE                                    Yes             
Attribute descriptions:


PERFORMS

Parent classes: RELATION -> ENTITY

Attribute             Value Type                       Multiple Values Allowed    
Actor                 ACTOR                                                       
Activity              ACTIVITY                                    Yes             
Attribute descriptions:


PREREQUISITE

Parent classes: RELATION -> ENTITY

Attribute             Value Type                       Multiple Values Allowed    
Required-activity     ACTIVITY                                    Yes             
Activity              ACTIVITY                                                    
Attribute descriptions:

This relation represents that the activity in Required-activity must be completed before the activity in Activity can begin. The distinction between the PREREQUISITE relation and the SUCCESSOR relation is subtle. PREREQUISITE represents which activities must have been completed before another activity begins, but does not specify precisely when those other activities actually occur. SUCCESSOR represents the flow of control in a process [[arrowhorizex]] that is, the precise order in which activities will actually occur.


RELATION

Parent classes: ENTITY

Attribute descriptions: None, currently.

Currently, RELATION objects have no attributes of their own. PIF uses it as an abstract parent class for more specific relation classes such as USES and PERFORMS.


RESOURCE

Parent classes: ENTITY

Attribute descriptions: None, currently.

A RESOURCE is an entity that is needed in some way to perform an activity. This includes people (represented by the ACTOR subclass in PIF), physical materials, time, and so forth. The PIF Working Group has discussed adding attributes such as Consumable, Sharable and so forth, but so far no decision has been made on what attributes are appropriate.


SKILL

Parent classes: RESOURCE -> ENTITY

Attribute descriptions: None, currently.

A SKILL object represents expertise possessed by actors. As yet, we have not decided on any attributes that are unique to SKILL objects, as the examples we have used in developing PIF make little use of skill information.


SUCCESSOR

Parent classes: RELATION -> ENTITY

Attribute             Value Type                       Multiple Values Allowed    
Predecessor           ACTIVITY                                                    
Successor             ACTIVITY                                    Yes             
Attribute descriptions:

An activity X is a SUCCESSOR of activity Y if X begins after Y completes and no other activities occur between X and Y. A successor relation is unconditional (that is, activity X always immediately follows activity Y) unless it appears as a value of either the Then or Else attribute of a DECISION object. Intuitively, SUCCESSOR relations corresponds to the flow arrows in a process flowchart.

The SUCCESSOR and PREREQUISITE relations are subtly different. See the description of PREREQUISITE for details.


USE

Parent classes: RELATION -> ENTITY

Attribute             Value Type                       Multiple Values Allowed    
Activity              ACTIVITY                                                    
Resource              RESOURCE                                    Yes             
Attribute descriptions:

6. Extending PIF