Jintae Lee, Gregg Yost and the PIF Working Group[1]
Version 1.0
December 22, 1994
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; 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|)
))