tSev/eV
ID28
,M414
_
1>
Applying
Specialization
to
Process
Models
by
George
M.
Wyner
and
Jintae
Lee
CCS
WP
#187, Sloan
WP
#3835
July
1995
To
be presented
at
theConference
on
Organizational
Computing
Systems,
Milpitas,
CA,
Applying
Specialization
to
Process
Models
George
M.
Wyner
Center for Coordination Science Sloan School of
Management
Massachusetts Institute of
Technology
Cambridge.
MA
02139
phone: 1-617-253-3865
[email protected]
Jintae
Lee
DepartmentofDecision Science University of Hawaii, Honolulu,
HI 96822
phone: 1-808-956-4589 [email protected]
MASSACHIIRFTTSINSTITUTE
JUL 31
1995
ABSTRACT
Object-oriented analysis and design methodologies take full
advantage of the object approach
when
itcomes
to modelingthe objects in a system.
However,
system behavior continuesto be
modeled
using essentially thesame
tools as in traditionalsystems analysis: state diagrams and dataflow diagrams. In this paper
we
extend the notion of specialization to these process representations and identify a set of transformations which,when
applied to a process description, always result inspecialization.
We
analyze specific examples in detail and demonstrate that such a use of specialization is not onlytheoretically possible, but
shows
promise as amethod
forcategorizing and analyzing processes.
We
identify anumber
ofapparent inconsistencies between process specialization and
the object specialization
which
is part of the object-oriented approach.We
demonstrate that these apparent inconsistenciesare superficial andthat the approach
we
take iscompatible withthe traditional notion ofspecialization.
1
INTRODUCTION
As
the literature on object-oriented analysis anddesign attests,specialization is apowerful source of advantage for the design
as well as the implementation of information systems [1, 3, 5, 6, 10, 13, 14, 16]. For example, the specialization hierarchy,
in
which
each object inherits the features of its parent andmodifies
them
incrementally,promotes
reusability andmaintainability, as well as comprehensibility.
When
modeling system behavior, however, object-oriented analysisand design methodologies continue to rely on traditional tools
such as state diagrams and dataflow diagrams.
While
such diagrams capture important aspects of the processes theymodel, they offer limited guidance as to the
ways
inwhich
aprocesscan be improved.
Malone
et al [11] have argued that thislimitationofthe currentapproach to information systems design can be addressed by
employing
a specialization hierarchy ofprocesses
. Inparticular, such a hierarchy offers two majoradvantages: first,
it facilitates the search forexisting processmodels relevant to a given design problem, and thus the systematic consideration
ofa rangeof design alternatives. Second, variants ofexisting
processes can be systematically generated by specializing existing process models.
Implementing
this proposal, however, will require a cleardefinition of
what
itmeans
for one process to be aspecializationof another, and
some
guidelines as tohow
togo about specializing a process in practice. It is with these issues thatthis paper is concerned.The
obvious approach to this problem is to treatthe process as a class with a set ofattributes and then to specialize processesin the
same
way
that objects are specialized, that is, bysubtyping attributes and adding
new
attributes. It is notobvious, however,
how
this approach applies to processdescriptions,
which
are typicallycomplex
aggregates of nodes and arcs. Consider, for example, the two state diagrams inFigure 1.
Diagram
A
containstwostatesR
andS.Diagram
B
isidentical except thata third state
T
has been added. Followingthe usual approach to specialization,
we
might argue that thediagram
with the additional feature,diagram
B, is aspecialization of
diagram
A.However,
onemight
also maintain thatdiagramA
is the specialization, since diagramB
includes all the behaviorsofdiagram A,but not vice versa, and
thusdiagram
A
isa specialcaseofdiagramB.Any
approach tospecializing process representations
must
yield anoperationalization
which
can resolve suchpuzzles.In this paper,
we
propose
anapproach
to processspecialization
which
starts from the notion that any processmodel
defines a process classwhose
instances are specificbehaviors ofasystem.
We
then define specialization as the actof restricting the extension of a process class. That is, one
process is a specialization of another if its instances form a
subset of the instances of the original process.
We
furtherpropose that specialization can be operationalized as a set of "specializing transformations"
which
can be applied to anyprocess description to produce
new
process descriptions whichare specializations.
We
identify such a set of transformationsfor
two
process descriptions, state diagrams and dataflowdiagrams.
We
also provide simpleexamples which
illustratetwo potential advantages of this approach: first, descriptions
can be arranged in a specialization hierarchy
which
facilitates the search for existing processmodels
relevant to a designproblem. Second, variants of existing designs can be systematically generated by
means
of specialization andDiagramA
Figure 1.
Which
diagram is the specialization? Section 2 of the paper develops a generalframework
forprocess specialization. Section 3 applies this approach to state diagrams, deriving a set of transformations which,
when
applied to any state machine, result in a specialization. Section 4 illustrates the potential benefits ofthis approach by
means
ofa restaurantinformation system example. Section 5extends the analysis to dataflow diagrams and section 6 provides anexample of
how
a simple dataflow diagram can bespecialized. Section 7 comparesthis approach to related work. Section 8 identifies and resolves a
number
of apparent inconsistenciesbetween
thisapproach
to processspecialization and the approach taken in the object-oriented
paradigm. In this section,
we
also argue that theupward
propagation that is responsible for this seeming inconsistency
provides a valuable
method
for systematic object-oriented design. Finally, section 9 summarizes the results and suggestsdirections for future research.
2
PROCESS
SPECIALIZATION
Consider a system consisting of one or
more
objects ofinterest. This
may
be an existing systemwhich
is to bemodeled
or anew
system which is to be designed. In eithercase, the systems analyst uses a series ofdiagrams to capture
the
dynamics
of the system, whichwe may
refer to as theprocess model.
Before proceeding with our discussion itis usefulto define our
terms: a system has characteristics
which
may
evolve overtime. These changesin the systemconstitute itsbehavior.
We
define aprocess as a setofbehaviors associated with a system.More
formally:Attribute
Space
The
state ofthe system atany time ischaracterized interms ofsome
setof attributes which are ascribed to the system by an observer.The
exact set of attributesmay
vary considerablyfrom observer to observer and will reflect the abilities and
interests of the observer, available technology, environmental
conditions and so forth.
The
set of attributesemployed
inobserving a system
may
be thought of as aframe
of referencefor thatsystem,one of
many
possible such frames.We
assume thatthe setofattributesemployed
isfixedand finiteand thateach attributecan takeon
some
.setof possible values.We
refer to this set of possible values as therange
of that attribute.We
define an attribute space as the Cartesian product of the attribute ranges ofall the attributes in a frame of reference. Itfollows that
whenever
the system is observed underthat frameof reference its state will correspond to
some
point in thecorresponding attribute space. Furthermore, each point in the
attribute space corresponds to
what
may
be a possible state ofthe system^ although
some
of these pointsmay
refer to stateswhich are in fact notrealizable.
Process
By
behavior
of a systemwe mean
the evolution of thatsystem's state over time, which is to say the path the system
traces out in
some
attribute space.Thus
any description of asystem's behavior is
made
with respect tosome
frame of reference forthat system.A
process isamong
other things a set of possible behaviors.Note that anydescription of a process is
made
with respect tosome
frameof reference for thesystem: the frame of reference corresponding to the attribute space used to describe the setof possible behaviorswhich
constitute that process.As we
shallsee it is possible to develop equivalent descriptions of a
process ina
number
ofdifferentframesofreference.The
set of behaviorswhich
constitute a process is sometimesreferred to as the extension of the process and the individual
behaviors in the extension are
sometimes
referred to asinstances ofthat process.
Refinement
It issometimesuseful to "refine" aframe ofreferenceeitherby
adding an additional attribute or by providing a finer grained
measurement
ofa single attribute.' For example ifthe systemofinterest is an object
moving
in space, one might begin witha frame of reference with attributes for the position, mass, and
velocity ofthe object, and then refine the frame ofreference
either by addinga
new
attribute,forexamplethe temperature ofthe object, or refining an existing attribute, for
example
measuring position to the nearest meter as
opposed
to thenearest kilometer.
More
formally, anattribute space A' is a refinement ofattributespace
A
ifthere is a surjectivemapping
M
fromA'ontoA
(i.e.therange of
M
includes everypoint inA; note thatM
maps
therefinement into the original space rather than vice versa), with
theproperty that
whenever
apointa' in A'describes the stateofthe system, then M(a') also applies.
The
intuition here is thatif you refine your description of the system there are
more
possible state points so that for each point in the original
attribute space there is at leastone point in the refined attribute
space which is adescription ofthe
same
state.An
attribute space A'is said to bea strict refinementifM
isasabove and is notalso injective. Thatis, the inverse of
M
isnota function,or inother words,
A
is not also a refinement of A'.(This eliminates the trivialsense of refinement in which
A
andA' are essentially isomorphic.)
Given A', a refinement of A, then a behaviorb' in A' is said to
bea refinementof a behaviorb in
A
iffor everyx' in b', M(x')is in b, and for every pair of points xl', x2' in b", then ifxl'
precedes x2' in the path, then
M(xr)
precedes or is identical toM(x2'). This last condition has to do with the fact that apath
is adirected curve in attribute space and
we
need tomake
surethat the points are traced out in the
same
order in both curves.The
idea here is that the refined version ofthe behaviormaps
pointby point onto the original behavior. Note that given the finergrained view ofa process
which
results from refinement.The discussionwhichfollowsis inthespirit ofthetreatment ofrefinetnent
and abstraction given by Horning and Randell (8). whoprovide a lucid and
we
must
allow for the possibility thatM(xr)
and M(x2') are identical, and hence that several points in one curvemay
correspxsnd to a single point in the other. Note, too, that it follows fromthis definition thatevery behaviorin
A
will haveat leastone (and possiblymore) refinements in A'.
Similarly, a process p' in A' is said to be a refinement of a process pin A, iffor every behavior in p, all A'-refinements of
that behavior are included in p', and conversely, all behaviors
in p' are A'-refinementsof
some
behaviorin p.Then
itfollowsthat every process in p will have exactly one refinementin A'
and that this refinement is equivalent to the original process description in that both process descriptions lead to the
same
classification of behaviors.
Specialization
We
define specialization as a restriction on the extension ofaprocess: a process pi is a specialization of a process
pO
ifevery instance of pi is also an instance of pO, but not necessarily vice versa. This definitioncan be restated to take
intoaccount frameof reference;there are twocases toconsider: 1
.
Both processes are described using the
same frame
ofreference. In thiscase the extensions ofthe processes are
described in the
same
terms and can becompared
directly.Thus
pi is a specialization ofpO
if and only if theextension of pi as described using the given frame of reference is a subset of the extension of pO as similarly described.
2.
The
processes are described using differentframes
ofreference, but there exists a
"common" frame
ofreference(which is a refinementofboth ofthese}} In thiscase,pi
is a specialization of
pO
ifand onlyifthe refinement of piis a specialization of the refinement of
pO
under thecommon
frame of reference.Thus
this second case isreduced to the first by
means
of refinement.We
propose that one usefulway
to operationalize this notion of specialization is in terms of a setof transformations for anyparticular process representation, which,
when
applied to aprocess description, produce a description of a specialization
of that process.
The two
part definition of specialization suggests thattwo
sorts of transformationswill be needed:A
specializing transformation is an operation which,when
applied to aprocess described using a given representation and
agiven frame ofreference, resultsin a
new
process descriptionunder that representation and frame of referencecorresponding
to a specialization of the original process. Specializing
transformations
change
the extension of a process whilepreserving theframe ofreference.
In contrast, a refining transformation is an operation
which
changes the frameof reference ofaprocess while preservingits
extension, producing a process description of the
same
processundera differentframeofreference.
For each type of transformation there is a related inverse type: ageneralizing transformationacts
on
a process description toproduce a generalization ofthe original process and is thus the
inverse of a specializing transformation. Similarly, an abstracting transformation is the inverse of the refining transformation, producing a
new
description of thesame
Notethatthecoinmon frameof referencemaybeidentical toone ofthegiven
fiames.
process undera frameof reference forwhichthe original frame
is a refinement.
Given
that the refining/abstracting transformations preservethe extension of a process, it follows from our definition of
process specialization that a specializing transformation
composed
with refining/abstracting transformations in anysequence produces a specialization.
The
analogous statement holds for generalizing transformations.A
set of refining/abstracting transformations is said to becomplete
if for any process p described under a frame ofreference, thedescription ofthatprocess under any other frame
of reference can beobtainedby applyingto p afinite
number
of transformationsdrawn
from the set.A
set of specializing transformations is said to be locallycomplete
if for any frame of reference and any processp
described using that frame of reference, then any specialization
ofp described underthat frameof reference can be obtainedby applying to p a finite
number
of transformationsdrawn
fromthe set. This corresponds to the first part ofthe definition of process specialization given above.
There is also a notion of completeness corresponding to the
second part of the definition.
A
set of specializingtransformations and refining/abstracting transformations is
said to be globally
complete
if for any process p, anyspecialization of p for
which
acommon
frame of referenceexists can be obtained by applying to p a finite
number
of transformationsdrawn
from the set.Proposition: Let
A
be a complete set of refining/abstracting transformations and S be a locally complete setofspecializing transformations.Then
A
u
S is globally complete.Proof: Considera process pO and a specializationpi for which
a
common
frame of referenceexists. SinceA
iscomplete, one can apply a finite sequence oftransformations fromA
topO
toproduce its refinement in the
common
frame of reference.By
local
completeness
one
can then apply specializingtransformations to produce the refinement of pi (since it is a
specialization of the refinement of
pO
by
assumption).Finally, by the completeness of
A
one can transform therefinement of pi into pi.
Thus
there is a finite set of transformations fromA
u
S which produces pi frompO.QED.
3
STATE
DIAGRAMS
The
firstexample
of process representationwhich
we
shallconsider is the finite state
machine
or state diagram. Statediagrams are often used to represent the
dynamic
behaviorof systems.The
circles in a state diagram correspond to statesofthe system being modeled, and the arcs connecting those
circles correspond to the events
which
result in transitionsbetween those states.
The
state diagram thus defines a set of possible sequences of events and states.Each
state diagrammust
include at least one initial state (identified by a wedge,also
known
as an "initial state marker") and one final state (identified by a double circle, alsoknown
as a "final statemarker"). All sequences must begin with an initial state and
continue until they terminate with a final state.
The
set ofstates included in a state diagram can be thought of as a one dimensional attribute space
where
the single attribute has valueswhich
correspond to the possible states.A
system behavior corresponds to a sequence of these states and eachstate diagramdefines a process, that is,a setofsuch behaviors.
For example, the state diagram in Figure 2 permits the event sequences ac, abac, ababac, abababac, and so on. This entire
set of sequences can be described by the regular expression a(ba)*c.
Figure 2. Statediagramasa classofpossible event
sequences
Using the approach developed in section two,
we
can then definea statediagram D' to bea specialization ofstatediagramD
ifandonlyifeither:1
.
The
setofsequences permitted by D' is a subset ofthe setofsequencespermitted byD.
2. Either
D
or D' can be refined such that (1) holds. (This essentiallyamounts
to resolving differences in thegranularity of the
two
process descriptionsby
decomposing
states into substates.)In the discussion which follows,
we
will restrict ourselves tochanges of viewpoint
which
involvedecomposing
a givenstate into substates or aggregating states into a single
superstate.
We
will identify a set of transformations whichareglobally complete under this restriction. That is, for any
process p
we
can obtain all specializations ofpwhose
frameofreference differs only in terms of
decomposition
and aggregation.We
will first identify a set of refining/abstractingtransformations which is complete underthis restriction.
Then
we
will identify a setof specializing transformations which islocally complete.
The
(restricted) global completeness then follows from the proposition given at the end of section two.Refining/Abstracting
Transformations
forState
Diagrams
Proposition:
The
following constitutes a complete set ofrefining/abstracting transformations for state diagrams
when
frames of reference differ only by
decomposition
andaggregation:
Refinement by exhaustive decomposition. Replace a stateby a
mutually exclusive collectively exhaustive set of substates.
Add
events corresponding to all possible transitions betweensubstates. For each event associated with the original state,
add acorresponding event foreachofthe substates.
Abstraction
by
total aggregation. If a set of states iscompletely interconnected by events and an identical set of
"external" events is associated with each state in the set (in
other words, if this set of states has the properties of an exhaustive decomposition as described above), replace that set
ofstates by a single state which represents their aggregation. Associate with this state the
same
set of eventswhich
was
associated with each ofthe substates.
The
proof that these transformations are refining andabstracting respectively, together with a proof of the proposition itself
may
be foundin(Wyner
&
Lee, 1995).Specializing
Transformations
for
State
Diagrams
Proposition:
The
following constitutes a locally complete setof specializing transfonnations for state diagrams:
Delete an individual event. This removes a possible transition
between events and thus the
new
diagram is specialized toexclude allbehaviors which involve such a transition.
Delete astate
and
its associatedevents.The new
diagram is specialized to exclude all behaviorswhich
involve the deletedstate.
Deletean initialstatemarker. This transformation issubject to
thecondition that atleast one initialstate marker remains.
The
new
diagram is specialized to exclude all behaviorswhich
begin with the affected state.
Delete afinalstate marker. This transformation is subject to
the condition that at leastone final slate marker remains.
The
new
diagram is specialized to exclude all behaviors which endwith the affected state.
Proof: Forany frameof reference and any processespO andpi described under that frame ofreference, ifpi is aspeciaUzation ofpO then everysequence permitted by pO mustbejjermittedby
pi as well.
Then
all initial states of pimust
also be initialstates ofpO, and similarly for final states. Furthermore, any
state or event in pi must be a state or event in pO as well,
otherwise pi will permit a sequence involving a state or
transition which cannot appear in a sequence ofpO.
Thus
pOincludes all elementsof pi, and one can obtain pi bydeleting
some
setof events, states, initial state markers, and final statemarkers. Since pO is itself finite, there can be only a finite
number
ofsuchdeletions.Thus
pi can be obtained frompO byapplying a finite
number
of transformations from the givenset.
QED.
It follows directly from the propositions proven so far that the
union of the sets of transformations given above is globally
complete (subject to the restriction noted above).
Finally, while the preceding set of transformations is thus
complete it
may
sometimes
be convenient toemploy
other specializing transformations. In particularwe
willmake
useof:
Specialize a state. Replace a state inthe original state diagram by one ofits substates. This transformation can be expressed
in terms of the above set by first exhaustively
decomposing
a state into substatesand then deleting allbutone ofthem.EXAMPLE:
SYSTEM
RESTAURANT
INFORMATION
To
better understandhow
the approachwe
have developed might be ofpractical value,we
present the following stylizedexample
involving a restaurant information system basedloosely on the
work
of Salancik and Leblebici [15]. Thisexample
is chosen because of its relative simplicity, andbecause ofthe extreme familiarityoftherestaurantdomain.
Imagine
thatyou
are asystems
analyst charged withdeveloping an information system to support the operational
side of a large restaurant or chain of restaurants.
You
mightinclude as partofyouranalysis a statediagramrepresenting the
now
of events involved in a "meal transaction" ina restaurant.That is, the flow of events involved in the delivery ofmeals to
customers and the collection ofpayment.
We
will assume that basedon interviews and observationsyou have determined that any meal transaction will becomposed
ofthe following set of five activities: ordering a meal, cooking, serving, eating, and paying. Furthermore your interviews suggest that in the restaurants in question these steps always
occurin a single sequence, leading to the simple state
machine
depictedin Figure3.
Building
aSpecialization
Hierarchy
Having
successfully developed software to support theoperations ofthis first group ofrestaurants, you are called upon
to
modify
the software towork
in three other food serviceenvironments: a fast food restaurant, a buffet, and a church
supper.
Based
on further interviews and analysis you developthe statediagrams
shown
in Figure 4 todescribeeach of these processes.Having observedthat none ofthe fourstate diagrams developed
so far is a specialization of any other,
you
apply the generalizing transformations to generate a generic restaurantprocess for
which
each of the above state diagrams is a specialization: as the diagrams differ only in the events they include, generalizing is simply a matter of adding each of theevents from the other diagrams to the original diagram.
The
resultingdiagram is
shown
in Figure5.checkarrives
Figure3. Slatediagram forfullservice restaurant
*^00^—
(oRDE^
*•^AY
J-^{sERVEy-^|^E
ATJ
fastfoodrestaurant
allyou caneat butfet
churchsupper
Figure 4. Additional restaurant statediagrams
Figure
5.Generalized
restaurant transactionYou
have thus generated the specialization hierarchy depictedin Figure 6. Such hierarchies can contribute to software (and design) reuse by providing a
taxonomy
of previous designsFigure 7. Full service restaurant with buffet
5
DATAFLOW
DIAGRAMS
Having
explored specialization of state diagrams insome
detail,
we
now
turn to dataflow diagrams. In the interests ofbrevity,
we
omitproofsofthe results mentioned.Dataflow diagrams are intendedto
show
thefunctionalityofasystem: the various processes, and the flows of information
and material which link
them
to eachother, to inventories (data stores), and to various agents external to the system.A
dataflowdiagram
(DFD)
consists ofa collection of processes,stores, and terminators linked by flows.
A
simpleexample
taken from
Yourdon
[19, p.141] is given in Figure 8. Thisdiscussion follows the approach taken by
Yourdon
[19, chapter9],towhich the interested readerisdirected for a
more
detailedexposition.
Processes,
shown
as circles in theDFD,
are thecomponent
actions or subprocesses
which
together constitute the overall process or system being represented in the diagram.Each
process is viewed as transforming a set ofinputs,
modeled
by incoming flows, into outputs oroutgoing flows. For example. Receive Order in Figure 8 takes as input a flow of orders and produces as outputs order details, billing information, andnotification of invaUd orders.
Stores, represented by pairs of parallel lines in the
DFD,
are repositories of the data or material carried in the flows.An
incoming flow represents an update to a store, either in the
formof additional data (or material), a modification toexisting data, or the deletion of data.
An
outgoing flow represents access to thedata or material in a store. In thecaseof physical material, an outgoing flow represents an actual transfer of material from the store. However, in the case of information, an outgoing flow is taken as representing a non-destructive read ofthedata in the store. Forexample, the Invoicesstore inFigure 8 is updated by a flow ofbilling information from the
Receive Orderprocess and is asource ofcustomer and invoice information for the CollectPayments process.
Terminators,
shown
as rectangles in theDFD,
represent the actors, external to the system being modeled,which
interactwith the various system processes. Terminators
may
be sources of information and material which flow into the system andmay
also receive information and material which flow out ofthe system. For example. Customers in Figure8 are a source oforders, payments, andpayment
inquiries. Customers alsoreceive invoices, statements, and notification of invalid
orders.
Flows,
shown
asarrows intheDFD,
representthemovement
of information or material between processes, terminators, andstores.
A
flow can diverge into several subflows, which cansignify either that duplicate data/material is being carried in
each subflow, or that the data/material has been split into
separate
components
each ofwhich
is carried in a subflow. Similarly, several flows can converge into a single superflow whichcarries an aggregate ofthe data/materialcontained in theindividual flows.
A
typical flow is "orders" in Figure 8 whichcarriesordersfrom Customers to the Receive Orderprocess.
billing
informaton
This is clearly also true for flows into and out of terminators, since these objects are actors
whose
behavior is at least tosome
extentindependentofthesystem in whichthey act. Is a process instance always accompanied by an instance ofeach ofits flows?
One
can find examples of processes wherethis is true and processes where it is not. For example, in
Figure 8 above, any instance of Ship
Books must
involve allthree flows: an incoming shipping
memo
and books,which
are transformed into an outgoing shipment to the customer.
However,
in thesame
diagram theflow of an orderinto ReceiveOrder
may
result in a flow of orderdetailsinto the Orders storeor the flow of an invalid order back to the customer, but not
both. It
seems
reasonable to expect each process instance tobeaccompanied byat leastoneinflowand one outflow, butone cannot in general say
more
without reference to the semanticsofthe
domain
beingmodeled. This issue appearstorepresent afundamental ambiguityin the dataflowrepresentation: it
would
seem
that there is nodomain
independent interpretation of aDFD
which
permits a consistent definition of its classmembership.
STORE
Figure 9. Synchronization of /lows into
and
out of astore Sincewe
have nodomain
independent interpretation ofaDFD
as defining a class, specializationcannot be extended toDFDs
in a
domain
independent fashion. That is, in general onecannot determine whether one
DFD
is a valid specialization of another without explicatingwhich
flows aremandatory
andwhich
are optional and under what circumstances, informationwhichis notcapturedin the
DFD
itself.These ambiguities in the dataflow
diagramming
technique arewell-known
and resolutions have beenproposed
[7].Interestingly, however,
we
willshow
that it is possible to identify a setof transformations which,when
applied toaDFD,
result in a specialization under any possible interpretation of
the flows, andthis setisrich enough tobeuseful.
The
following transformations are permitted, because itcan beshown
that they result in specializations under any possibleinterpretation of the flows:
Specialization
of
acomponent.
If one specializes anycomponent
(terminator, store, process, or flow) of a dataflowdiagram, the resulting diagram will be a sp>ecialization of the original diagram under any interpretation.
Deletion of a connected collection of
components
whose
borderingcomponents
in the originaldiagram
are all either terminators orstores.To
get the sense ofthis transformation,imagine the original
DFD
as a physical structureconstructed by bonding the variouscomponents
together, and further imaginethat these
bonds
are unbreakable with the exception of anybond between
a flow and either a terminator or store.By
breaking these latter bonds,one
may
insome
cases be able toseparate the diagram into several pieces. This transformation consists of
removing
a singleone
of these pieces whileleaving the rest of the diagram and all its bonds intact (e.g.
Figure 12 below).
Replacement
ofallflows intoand
out of a store by a set ofdirect flows. This is accomplished by having all incoming
flows converge to a single flow
which
then diverges into thevariousoutgoing flows, with the storeomitted, as illustrated in
Figure 10.
The
intuition behind this transformation is that a direct flow between two objects is akind of degenerate specialcase of a flow into and outof a store.
An
interestingexampleof this kind of specialization is the relationship between manufacturing systems
which
use work-in-process inventoryvs. just-in-time systems.
Decomposition of a component.
Any
processin aDFD
canbedecomposed
into a lower levelDFD,
as long as the flows intoand out ofthe decomposition are consistent with the flows in the top leveldiagram.
The
resultingDFD
is a speciaUzation ofthe original
DFD.^
Figure
10. Replacing a store with a flow6
AN
ORDER
PROCESSING
DATAFLOW
DIAGRAM
As
a simpleexample
ofhow
specialization and decomposition can be used in the analysis of a dataflow diagramwe
considerthe orderprocessing
DFD
taken fromYourdon
[19]and depictedin Figure 8 above. This
DFD
illustrates the process by whichorders arereceived, fulfilled,and billed.
Figure 11 depicts an abstraction of the original dataflow
diagram
which
resultswhen
the process ShipBooks
isgeneralized to Ship Product, and the flows labeled "books" are
generalized to productflows.
For this analysis
we
will consider primarily the setof dataflowdiagrams which are generated bydeleting connectedportions of
the
DFD
which
borderon
storesand
terminators.Specialization of
components
will also play a limited role inour analysis.
Specialization
by
Deleting
Connected
Portions
of
the
Dataflow
Diagram
This
DFD
consists of three connected groups ofcomponents
joined by the two stores Orders and Invoices, and the
terminator
Customers.
There
are thus six possiblespecializations whichresultfrom deletingone or
more
ofthesegroups fromthediagram: three specializations inwhich twoof
the groups are deleted, and three specializations in which one
ofthe groups is deleted.
We
will briefly considereach ofthelatter three specializations in turn.
paper, it is worth noting that this problem might be resolved by introducing additionalconstructstoindicate thepresence ofsuchsynchronousflows.
^ Note that strictly speaking, such decomposition must be thought of as a
Cash
inadvance:
order
processing witlino
Collect
Payments
process
Figure 12 depicts a speciaiizationoftlie originai
DFD
in wliictitlie Collect
Payments
process and its associated flows have been deleted. Notethat the flow of orders has been specializedas well to indicate that cash
must
accompany
each order. Inthis specialization any orders without
accompanying
payment
are returned to the customer as invalid, otherwise the order is
forwarded to the Ship Product process and the invoice information is stored in the Paid Invoices store (a
specialization of the original Invoices store which reflects the lackofunpaidinvoices in thissystem).
CUSTOMERS WAREHOUSE product billing information product customername, invoicedetails CUSTOMERS
Figure 11.
Order
processing abstractedfrom
bookstoproducts
CUSTOMERS WAREHOUSE
CUSTOMERS
Figure 12.
Cash
inadvance orderprocessingA
pledge
processing system:order
processingwith
no
Ship
Product
processOne
plausible interpretation of an order processing system inwhich no product is shipped, is a pledge processing system in
which
charitable contributions are pledged and collected.Figure 13 depicts such a system
which
was
obtained byspecializing the original
DFD:
the ShipProduct process and itsassociated flows have been deleted. Receive Order has been
specialized to Receive Pledge,and the various stores and flows
have been specialized appropriately.
Unsolicited offers:
order
processing
with
no
Receive
Order
process
Figure 14 depicts a specializationoftheoriginal
DFD
in whichthe Receive Order process and its associated flows have been
deleted. This diagram might be interpreted as depicting a
process in
which
products are shipped, unasked for, toprospects
who
are then billed for the products. Leaving aside for themoment
the unscrupulous, not to mention illegal nature of this process,we
must address one discrepancy between theprocess as described and the
DFD:
theDFD
represents theOrders and Invoices stores as entirely independent of each
other, and this is not consistent with this unsolicited shipping process. Consider, however, specializations of the Orders
store and Invoices store such that they both contain the
same
document,
which
has both billing information and shipping information.Then
we
can further specialize the diagram torepresent those instances in which the
same
store is used inboth locations in the diagram, as
shown
in Figure 15. This specialization appears to satisfactorily represent the process asdescribed, in that it explicitly represents that each recipientof unasked-for products willbe billed forthose products.
Although
this particular processmay
notsound
realisticbecause of its serious ethical and legal implications, it
illustrates one advantage of this type of analysis,
namely
itsability to generate possibilities that violate
commonly
heldassumptions and norms. In fact,
some
of these pxjssibilitiesare in practice, for
example
when
people are sent software (shareware) or a setof personalized mailing labels along with an invoice that the recipient has no obligation to pay but canpay if he or she likes the product.
Thus
an exploration of process specializations helps one imagine such possibilitiesby calling into question previously
unexamined
assumptions.donorname,
invoice details
3. Nierstrasz is concerned exclusively with state machines, where
we
are interested in applying our approach to anumber
ofprocess representations.4. Probably
most
intriguing is that our definition ofspecialization is almost exactly the opposite of
Nierstrasz's definition of subtyping. For Nierstrasz, a
statemachine which is a subtypemustaccept asuperset of
the sequences accepted by the supertype, otherwise it
cannot be substituted safely for that supertype [17]. For
us, a state machine which is a specialization must accepta
subset of the sequences accepted by its generalization, otherwise it will not represent a restriction in extension. This apparent contradiction is easily resolved
however
by observing that Nierstrasz is actually discussing the statediagram itselfasan object,in contrast with ourapproach which
is focused
on
specializing the process represented bythe statediagram.
The
diagram and the process it represents are not interchangeable anymore
than a thing and thename
for thatthing are interchangeable.
Thus
an instance of the statediagram class is a state diagram object
which
can accept a certain set ofmessages.An
instance ofthe process is a singlebehavior
which
corresponds to one of the messageswhich
Nierstrasz's state
diagram
can accept.We
can acceptNierstrasz's subtyping relationship for state machines without
contradiction, because
we
do notmake
the claim that the statediagram of a process specialization is a specialization of the
statediagram for the original process.
8
ARE THERE
TWO
KINDS
OF
SPECIALIZATION?
As
noted in the introduction and illustrated in Figure 1, therelationship
between
object specialization and processspecialization is not as simple as one might expect.
The
apparent difficulties which arose in the Nierstrasz comparison above are part of a broader set of issues
which
arisewhen
comparing
process specialization to object specialization.The same
pattern emerges in each case; what appear to besignificant inconsistencies
between
thetwo
types ofspecialization disappear
when
one looks into the matter:Issue:
Specialization
by
deletion
Deleting attributes
when
specializing is generally notpermitted because,
among
other things, it violates theprinciple of substitution in that the specialized object cannot
be universally substituted for the original because references to
the missing attribute
may
result in error. Processspecialization, however, appears to
make
extensive use ofthisforbidden "specialization by deletion." For example,
many
ofthe specializing transformations for state diagrams described
above involve deleting parts of the diagram.
A
closerexamination, however, reveals that this is not a case of
deleting attributes:
when
deleting partsofa state diagram oneis altering arepresentation ofthe process butthe things deleted
are not themselves attributes ofthe process.
To
see this, note that object specialization involves subtypingone or
more
attributes, and subtyping is in a sense a kind ofdeletion: one
makes
the type of the attributemore
restrictiveand thus
makes
the setof permissible values smaller(which iskind of like deleting from a list of permissible values). If one
represents the type of an attribute graphically, this subtyping
may
be manifested as deleting elements from the graphical representation.To
take a simple example, consider a numeric attribute withtype:
INTEGER
IN
1-10.One
might choose to representthistype as a list of allowable numbers.
Thus
the typewould
be represented as123456789
10If one specializes by subtyping to
INTEGER
IN
4-7 one mustdeleteelements from therepresentation to obtain:
4 5 6 7
This
may
appear to be "specialization by deletion" if one focuses on the representation, but clearly it is simplyspecialization by subtyping.
While
thisexample
may
appear to be contrived, it is exactlyanalogous to the state diagram example. Deleting transitions
in a state diagram corresponds to subtyping an attribute ofthe
corresponding process.
More
specifically, one attribute oftheprocess associated with any state diagram is the sequence of
states associated with an instance of that process.
When
oneinstantiates the process in the formofa behavior, this attribute
takes on the value corresponding to the sequence of states
associated with that behavior.
The
type ofthis attributemust
be defined so as to restrict the possible values to those
sequences permitted by this process.
As
it turns out, one can represent this type as a collection of production-like ruleswhich areequivalent to the state machine depicted in the state
diagram.
One
can thenshow
that subtyping this attributecorresponds to deleting events or states from the state diagram
[18].
Thus
specialization by deletion can be seen to actually be specialization by subtyping.Issue:
Upward
propagation
vs.downward
propagation
In object specialization hierarchies, inheritance of attributes
flows
downward,
but changes at the leaves of a processhierarchy
seem
to propagateupwards.In fact
we
will argue that thisupward
propagationcan occurinany specialization hierarchy
where
one
is strict aboutsf)ecialization, and that it is potentially of considerable value
to the systems designer.
Consider then what happens to an object in the specialization
hierarchy
when
one changes the attributes of one of itsspecializations (i.e. one of its children). Clearly adding
additional attributes or further subtyping of attributes simply
further specializes the child object and has no effect on the
parent object.
However,
if one forsome
reason needs to"supertype" an attribute ofthe specialization (forexample, one
is validating the object
model
and discoversthat the type of anattributeof
some
object isoverlyrestrictive), a confiictmay
be introduced into the specialization hierarchy if thenew
type ofthis attribute is no longer a subtype of the corresponding
attribute in the parent process.
Then
the child process is nolonger a specialization.
Ifone is to be strict about specialization and it turns out that the
new
change in type is unavoidable, then onewould
have toresolve the situation by modifying the type of the parent object in a similar fashion. This
would
follow logically giventhat the child is a specialization of the parent and the type of
the child is
now
correct. Then, by definition ofspecialization, the type ofthe parent must be at least as inclusive.Now
onesame
issuemay
arise with ils parent with the result (hat achange in a leaf
may
necessitate changes in one ormore
ancestors, possibly all the
way
to theroot ofthe tree.Thus
we
canseethatupward
propagation isatleasta theoreticalpossibility in any specialization hierarchy. It is important to
note thatsuch
upward
propagation is notnormally supported inimplementations of object oriented languages and
would
haveto be carried out manually by a series of edits to the class definitions.
It is also important to note that
upward
propagation occurs onlywhen
one takes a strict approach to specialization. Thatis, the attributes ofaspecialization
must
always be identical toor subtypes of the original attributes If this strict approach is
not enforced, then in the scenario above one
would
be free toadd an inconsistent specialization without
changing
theattributes of the parent, and
upward
propagationwould
not occur.One
would, ofcourse, still be free to choose to modifythe parent to reflect insights gained from developing the
specialization, but there
would
be no automatic support forsuch a process.
The
interesting implication here is that a specialization hierarchymay
exhibit both upward anddownward
propagation.Furthermore, each type of propagation apjjears to offer certain
advantages to the system designer.
The
benefits ofdownward
propagation (inheritance) are wellknown,
and include the ability to define anew
objectincrementally by specifying only those aspects of the object
which
have changed, and thus to inherit all the designknowledge
associated with the parentnode
in the specialization hierarchy.The
benefits ofupward
propagation are thoseadvanced
byMalone
et al in their arguments that a specialization hierarchyofprocesses will allow one to systematically identify a wide range ofdesign alternatives.
Upward
propagationmakes
thispossible
by
forcing all designknowledge
upward from
theleaves to the highest level of abstraction at
which
it isrelevant.
Thus
each process or object in the hierarchy reflectsall the possibilities inherent in its descendants,
which
can inturn lead to the other benefit mentioned by
Malone
et al:generativity. For example,
upward
propagationmay
bring together a set of features originally present in distinct processes,which
can then be recombined in uniqueways
byspecialization.
9
CONCLUSIONS
We
have
exploredhow
specialization can be applied toprocesses so that
we
can maximally benefit from the object-orientedmethods
in process design and implementation. In particular,we
have presented a genericmethod
both fordefining specialization
among
process representations andidentifying a setof transformations, which
when
applied to aparticular process representation, result in process
specialization. Furthermore, this
method
can be used togenerate a
taxonomy
of processes to facilitate the exploration ofdesign alternatives and the reuse of existing designs.We
have also
examined
the relation between process and objectspecialization and resolved seeming inconsistencies.
One
especially interesting result is that if specialization rules are enforced strictly, a specialization hierarchyexhibitsupward
as well as
downward
propagation, andthisupward
propagationoffers significant benefits to the systems designer.
The work
presented in this papermight be extended further inseveral directions:
First, this approach might be extended to additional process representations.
Second,one might explore whether the notion of specializing
and generalizing transformations can be useful in other contexts, for example, the specializing of aggregates.
Third, thisapproachcan be put to the acid test by
embodying
itin an object-oriented analysis and design tool
which
willdemonstrate the extent to which the potential benefits ascribed
tothis
method
are realized in practice.In conclusion, this paper has suggested that specialization, currently applied togreatadvantage in themodeling ofobjects, the nouns ofthe world, can be fruitfully applied to processes,
the verbs of the world, as well. Together, specialization and
abstraction give rise to a
method
of process analysis whichshows
promise as ameans
both for identifyingnew
andinteresting process possibilities
and
for gathering the multitude ofalternatives so generated into process taxonomies whichcan then serve as reservoirsofprocessknowledge
[11].ACKNOWLEDGMENTS
The
authorswould
like to thank Paul Resnick for suggestingthis topic and providing detailed
comments,
as well asTom
Malone
for his feedback and encouragement. In writing thispaper
we
have benefited greatly from discussions with Brian Pentland, Kevin Crowston, Chris Dellarocas, Fred Luconi, andCharley Osborn.
Cheng
Hian Goh,Bob
Halperin, Lorin Hitt,Kazuo
Okamura,
JohnQuimby,
Ignascio Silva-Lepe,Tor
Syvertsen, and Marshall
Van
Alstyne also provided helpfulcomments.
We
would
also like to thank theanonymous
reviewers for their valuable feedback. This research
was
sponsored by the Center for Coordination Science at the
Massachusetts Institute of
Technology
and by the NationalScience Foundation (#IRI-9224093).
10
REFERENCES
[1] Booch, G., Object Oriented Designwith Applications. 1991,
Redwood
City, California:Benjamin/Cummings.
[2] Borgida, A., J. Mylopoulos, and J.W. Schmidt,
The
TaxisDL
SoftwareDescription Language,inDatabaseApplication Engineering with
DAIDA.
Volume
1 of Research ReportsESPRIT. M.
Jarke, Editor. 1993, Springer- Verlag: Berlin, p. 65-84.[3] Coad, P. and E. Yourdon, Object-OrientedAnalysis. 1990,
Englewood
Cliffs,New
Jersey: Prentice-Hall.[4]
De
Antonelhs,V., B.Pernici,and P. Samarati.E-ORM
METHOD:
aFORM
methodology forreusing specifications, in IFIPTC8/WG8.1
Working
Conference ontheObjectOriented
Approach
inInformation Systems. 1991.
Quebec
City, Canada: North-Holland.[5] de
Champeaux,
D. Object-OrientedAnalysisand
Top-Down
Software Development,inECOOP
'91,European
Conference on Object-OrientedProgramming.
1991. Geneva, Switzerland:[61 [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18]
de
Champeaux,
D., L. Constantine, I. Jacobson, S.Mellor,P.Ward,andE.Yourdon.Panel: Structured Analysis
and
Object OrientedAnalysis, inConference on Object-OrientedProgramming:
Systems,Languages,
and
Applications/European
Conference on Object-OrientedProgramming.
1990. Ottawa,Canada: Association for
Computing
Machinery.France, R.B., Semantically Extended
Data Flow
Diagrams:
A
Formal
Specification Tool.IEEE
Transactions on Software Engineering, 1992. 18(4).
Homing,
J.J.and B. Randell, ProcessStructuring.Computing
Surveys, 1973. 5(1): p. 5-30.Krueger,C.W.,Softwarereuse.
ACM
Computing
Surveys, 1992. 24(2): p. 131-183.
Maksay, G. and Y. Pigneur. Reconciling functional decomposition, conceptual modeling,
modular
designand
object orientationforapplication development.inIFIP
TC8/WG8.
1 Working Conference on theObject Oriented
Approach
in Information Systems. 1991.Quebec
City, Canada: North-Holland.Malone, T.W., K. Crowston.J. Lee, andB. Pentland. ToolsforInventing Organizations:
Toward
aHandbook
ofOrganizational Processes,inSecond
IEEE
Workshop
on Enabling TechnologiesInfrastructureforCollaborative Enterprises. 1993.
Morgantown, West
Virginia:Nierstrasz, O.Regular Types forActive Objects, in
Conference onObject-Oriented
Programming:
Systems. Languages,
and
Applications. 1993.Washington, D.C.: Association for
Computing
Machinery.
Rogers, R.V. UnderstatedImplicationsof
Object-OrientedSimulation
and
Modeling,inIEEE
International Conference on Systems,
Man. and
Cybernetics. 1991. Charlottesville, Virginia: IEEE.
Rumbaugh,
J.,M.
Blaha,W.
Premerlani, F. Eddy, andW.
Lorensen, Object-OrientedModelingand
Design. 1991,Englewood
Cliffs,New
Jersey: Prentice Hall.Salancik,G.R. and H.Leblebici, Variety
and
Form
inOrganizing Transactions:
A
GenerativeGrammar
ofOrganization, inResearch inthe Sociology of
Organizations. N.
DiTomaso
andS.B. Bacharach,Editor. 1988, JAI Press: Greenwich, Connecticut, p.
1-31.
Takagaki, K.andY.
Wand.
An
Object-Oriented Information SystemsModel Based
On
Ontology,inIFIP
TC8/WG8.1
Working Conference on the ObjectOriented
Approach
in Information Systems. 1991.Quebec
City,Canada: North-Holland.Wegner,P.andS.B.Zdonik. Inheritance asan
Incremental Modification
Mechanism
orWhat
LikeIsand
Isn'tLike,inEuropean Conference onObject-Oriented
Programming.
1988.Oslo, Norway:Springer- Verlag.
Wyner, G. andJ.Lee, Defining Specializationfor
Process Models. 1995, Technical Report (in
preparation).
[19] Yourdon, E.,
Modem
Structured Analysis.Yourdon
Press
Computing
Series, 1989,Englewood
Cliffs,MITLIBRARIES
IIIIIII
3
9080 00927 9941
a
Date
Due
MIT LIBRARIES