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

8. Appendix B: An Example PIF File

B. An Example PIF File This appendix gives an example PIF file for a very over-simplified design process.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; This example design project is composed of four
;;; activities and a design team with four designers. The
;;; precedence network of the activities and the task 
;;; responsibilities of the actors are illustrated below.
;;;
;;; () denotes Activity, [] denotes Actor, and -> denotes
;;; the Performs relationship.
;;;
;;;                     (E-DESIGN) <- [EE2]
;;;                     /       \
;;;                    /         \
;;;    [ARCH1] -> (A-DESIGN)   (D-REVIEW) <- [PM4,ARCH1,EE2,ME3]
;;;                    \         /
;;;                     \       /
;;;                     (M-DESIGN) <- [ME3]
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(define-hierarchy
  (entity
    (activity
      decision)
    (resource
      (actor
        group)
      skill)
    (relation
      creates
      uses
      modifies
      performs
      successor
      prerequisite
      cannot-be-concurrent)))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
;;	Project and Team definitions
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 

(define-frame EXAMPLE-PROJECT
    :own-slots
  ((Instance-Of ACTIVITY)
   (Documentation "A project is the top-level activity of
               this activity elaboration hierarchy.  The
               Components attribute lists the sub-activities of
               the project.")
   (Name |The Example Project Process|)
   (Component ARCHITECTURE-DESIGN-1 ELECTRICAL-DESIGN-2
              MECHANICAL-DESIGN-3 DESIGN-REVIEW-4)
   ))

(define-frame DESIGN-TEAM-1
    :own-slots
  ((Instance-Of  GROUP)
   (Documentation "A project team is a Group.  It has member
               actors, and can itself be viewed as an Actor.")
   (Name |Project Design Team|)
   (Member ARCHITECT-1 ELECTRICAL-ENGINEER-2
           MECHANICAL-ENGINEER-3 PROJECT-MANAGER-4)
   ))

(define-frame TEAM-PERFORMS-PROJECT-1
    :own-slots
  ((Instance-Of PERFORMS)
   (Actor DESIGN-TEAM-1)
   (Activity EXAMPLE-PROJECT)
   ))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
;;	Architectural Design and Architect-1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 

(define-frame ARCHITECTURE-DESIGN-1
    :own-slots
  ((Instance-Of ACTIVITY)
   (Documentation "This is the first activity of the
            example project. It starts when a contract is made.
            It produces an architectural design which will be
            followed by electrical and mechanical design.")
   (Name |Architecture Design|)
   ))

(define-frame ARCHITECT-1
    :own-slots
  ((Instance-Of ACTOR)
   (Name |Robert Callahan|)
   (Skill ARCHITECTURE-MEDIUM)
   ))

(define-frame ARCHITECTURE-MEDIUM
    :own-slots
  ((Instance-Of SKILL)
   (Name |Architecture, Medium-level|)
   ))

(define-frame PERFORMS-2
    :own-slots
  ((Instance-Of PERFORMS)
   (Actor ARCHITECT-1)
   (Activity ARCHITECTURE-DESIGN-1)
   ))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
;;	Electrical Design and Electrical-Engineer-2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 

(define-frame ELECTRICAL-DESIGN-2
    :own-slots
  ((Instance-Of ACTIVITY)
   (Documentation "This is the second activity of the
            project.  This activity can begin only after
            ARCHITECTURE-DESIGN-1 is completed. It can (but
            does not necessarily) occur in parallel with
            MECHANICAL-DESIGN-3.")
   (Name |Electrical Design|)
   ))

(define-frame SUCCESSOR-2
    :own-slots
  ((Instance-Of SUCCESSOR)
   (Predecessor ARCHITECTURE-DESIGN-1)
   (Successor ELECTRICAL-DESIGN-2)
   ))

(define-frame ELECTRICAL-ENGINEER-2
    :own-slots
  ((Instance-Of ACTOR)
   (Documentation "This engineer has two skills, one is
               electrical (high) and the other is mechanical
               (low). She is responsible for both electrical
               design and design review.")
   (Name |Cristina Marconi|)
   (Skill ELECTRICAL-HIGH MECHANICAL-LOW)
   ))

(define-frame PERFORMS-3
    :own-slots
  ((Instance-Of PERFORMS)
   (Actor ELECTRICAL-ENGINEER-2)
   (Activity ELECTRICAL-DESIGN-2)
   ))

(define-frame ELECTRICAL-HIGH
    :own-slots
  ((Instance-Of SKILL)
   (Name |Electrical, High-level|)
   ))

(define-frame MECHANICAL-LOW
    :own-slots
  ((Instance-Of SKILL)
   (Name |Mechanical, Low-level|)
   ))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
;;	Mechanical Design Mechanical-Engineer-3
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 

(define-frame MECHANICAL-DESIGN-3
    :own-slots
  ((Instance-Of ACTIVITY)
   (Documentation "This is the third activity of the
            project.  This activity can begin only after
            ARCHITECTURE-DESIGN-1 is completed. It can (but
            not necessarily) occur in parallel with
            ELECTRICAL-DESIGN-2.")
   (Name |Mechanical Design|)
   ))

(define-frame SUCCESSOR-1
    :own-slots
  ((Instance-Of SUCCESSOR)
   (Predecessor ARCHITECTURE-DESIGN-1)
   (Successor MECHANICAL-DESIGN-3)
   ))

(define-frame MECHANICAL-ENGINEER-3
    :own-slots
  ((Instance-Of ACTOR)
   (Name |Gary Fassbinder|)
   (Skill MECHANICAL-MEDIUM)
   ))

(define-frame PERFORMS-4
    :own-slots
  ((Instance-Of PERFORMS)
   (Actor MECHANICAL-ENGINEER-3)
   (Activity MECHANICAL-DESIGN-3)
   ))

(define-frame MECHANICAL-MEDIUM
    :own-slots
  ((Instance-Of SKILL)
   (Name |Mechanical, Medium-level|)
   ))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Design Review and Project Manager ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define-frame DESIGN-REVIEW-4 :own-slots ((Instance-Of ACTIVITY) (Documentation "This is the last activity of the project. This activity can begin only after both ELECTRICAL-DESIGN-2 and MECHANICAL-DESIGN-3 are completed. It has four responsible actors, and this activity can be viewed as a design-review meeting. All team members must participate.") (Name |Design Review|) )) (define-frame SUCCESSOR-3 :own-slots ((Instance-Of SUCCESSOR) (Predecessor ELECTRICAL-DESIGN-2) (Successor DESIGN-REVIEW-4) )) (define-frame SUCCESSOR-4 :own-slots ((Instance-Of SUCCESSOR) (Predecessor MECHANICAL-DESIGN-3) (Successor DESIGN-REVIEW-4) )) (define-frame PROJECT-MANAGER-4 :own-slots ((Instance-Of ACTOR) (Documentation "This actor is the manager of this project. She is responsible for decision-making whenever a exception occurs during the process of the project. She is also co-responsible for the design-review activity.") (Name |Ann Rollins|) (Skill MECHANICAL-MEDIUM ELECTRICAL-LOW MANAGEMENT-HIGH) )) (define-frame PERFORMS-1 :own-slots ((Instance-Of PERFORMS) (Actor DESIGN-TEAM-1) (Activity DESIGN-REVIEW-4) )) (define-frame MANAGEMENT-HIGH :own-slots ((Instance-Of SKILL) (Name |Management, High-level|) ))

9. References