ExperienceUsingtheJILProcessProgrammingLanguage tospecifydesignprocesses StanleyM.SuttonJr.,BarbaraStaudtLerner,andLeonJ.Osterweil ComputerScienceDepartment UniversityofMassachusetts Amherst,Massachusetts01003 ABSTRACT Softwaredesignisacomplexprocessthatrequiressignicanthumaninvolvement,collaboration,andcoordinateduseoftoolsandartifacts.Softwaredesignmethodsdescribesoftwaredesigningeneraltermsbutneglectmanydetailsthatareimportanttoexecutingspecicdesignprocesses.Aprocessprogramthatdenes adesignprocessclearlyandpreciselyshouldbeanimportantaidtosupportingandreasoningabouttheprocess.thedemandsplacedonaprocessprogramming languageindeningasoftwaredesignprocessaregreat, includingtheneedforexiblecontrolow,errorhandling,resourcemanagement,agentcoordination,and artifactconsistencymanagement.thispaperdescribes theuseofjil,aprocessprogramminglanguage,inthe denitionofaprocesssupportingboochobject-oriented design.thepaperillustratestheneedforprecisionand clarityindeningsoftwareprocesses,anditindicates howvariousofthefeaturesofjilareeectiveinmeetingtheseneeds. 1Introduction Softwaredevelopmentandmaintenancearewidely agreedtobeparticularlycomplexundertakings.they entailthedevelopmentandmanagementofdiversesoftwareartifacts,throughthecoordinationofvarioushumanandautomatedagents,underthecontrolofnumerouscomplexprocesses.webelievethateective processescanbekeyinsuccessfullycoordinatingagents todeveloptheneededartifacts.ourworkaimstoproduceprocessesthataredemonstrablyeectiveinthese ways.amajorobstacleinpresentingdemonstrablyeffectiveprocesseshasbeenthelackoflanguagesthatare adequatevehiclesforthis. Inourpastworkwehavepresentedlanguagesdesigned tosupporttheclearandpreciseexpositionofprocess. MostrecentlywehaveproposedthattheJIL[16]processprogramminglanguageincorporatesamixoffeaturesandabstractionsthatseemtooerpromiseof supportingtheclearandpreciseexpositionofcomplex ThisworkwassupportedbytheAdvancedResearchProjects AgencyundergrantF30602-94-C-0137andF30602-97-2-0032. softwareprocessideas.whilejilseemspromising,its successhascertainlynotyetbeendemonstrated. Inthispaperwedescribeaneorttovalidatewhether JILcanbeusedtoclearlyandpreciselyexpresscomplex softwareprocesses.weselectedapopularsoftwaredesignmethod,boochobjectorienteddesign(bood), andattemptedtodeterminewhichlanguagefeatures areneededinordertoexpresstheprocessforperformingbood.wealsoevaluatedthedegreetowhichthe featuresandabstractionsincorporatedintojilsupport theseneeds. JILcurrentlyexistsasaprototypelanguagespecicationthatismorecompleteanddetailedinsomeareas thaninothers.onemajorgoaloftheworkdescribed herewastoidentifyareasinwhichfurtherelaboration isneeded,andareasinwhichevolutionofthecurrent languagenotionsisindicated. Theremainderofthispaperisorganizedasfollows.Section2providesbackgroundonobject-orienteddesign processesandindicatessomeofthechallengingaspects oftheseprocesses.section3providesanoverviewofthe JILprocessprogramminglanguage.Section4thendiscussesindetailsomespecicsemanticcomplexitiesof designprocesses,drawingonboodforexamples,and showshowjilcanbeusedtoaddressthosecomplexities.section5presentsanevaluationofourexperience, andsection6describesourstatusandfuturework. 2ObjectOrientedDesignProcess Designisaninherentlycomplexactivitythatisbecomingincreasinglycriticalassocietyanditsinfrastructurebecomeincreasinglycomputerized.Numerousresearchershaveproposedobject-orienteddesignmethods tohelpdesignersapproachdesignprocessesinasystematicfashionwiththegoalofachievinghigherqualitydesignsasaresult[3,11,5,19,7].numeroustools,such asrationalrose,graphicaldesigner,andparadigm Plus1havebeendevelopedtosupportthesemethods, 1RationalRose{http://www.rational.com/products/rose/; GraphicalDesigner{http://www.advancedsw.com/;Paradigm Plus{http://www.platinum.com/products/appdev/pplusps.htm. SubmittedtoICSE'98 1
butthesetoolsareprimarilyaimedatassuringthatdesignartifactsareexpressedincorrectnotation.theydo notaimtosupporttheprocessesbywhichtheseartifactsaredeveloped,evaluated,andevolved.aprocess programcanprovidetheframeworkthatallowssuch toolstobeusedeectivelywithintheguidelinesofthese methods[12]. Evenwhenaspecicmethodisused,object-oriented designremainsanactivitythatisinherentlyiterative, hasaexibleowofcontrol,and,perhapsmostimportantly,islargelydrivenbyhumaninnovation.unlike workowapplications,whichareoftenmoremechanical innature,designprocessesmustallowforagreatdealof exibility,reactivity,andexceptionmanagement.moreover,theusersofaprocessmustfeelthatitisproviding supportandguidanceratherthanauthoritariancontrol. Inthispaper,weuseBoochObjectOrientedDesign (BOOD)[3]asanexamplemethodtodemonstratehow theconstructsinjilprovidethefunctionalitytomeet thedemandsofdesignprocessspecication.bood consistsoffourmainsteps:identifyingclassesandobjects,identifyingthesemanticsoftheclassesandobjects,identifyingtherelationshipsbetweentheclasses andobjects,andimplementingtheclassesandobjects. Thesestepsarerepeatediteratively,typicallystarting withhighlevelsofabstractionanditerativelyadding lowerlevelsofabstraction.eachofthesemajorsteps isfurthersubdividedintosmallersteps.weshowhow JIL'sstepcompositionandproactivecontrolmodelcan meettheseneeds. Inmanycases,thechoiceofwhichsubstepstouseand theorderinwhichtheyareappliedislefttothedesigner.forexample,duringtheidenticationofclasses andobjects,adesignercanapplyanyofthetechniques ofclassicalobject-orientedanalysis,behavioranalysis, orusecaseanalysis.weshowhowjilcansupportthis freedomofchoice.insomecases,however,aproject managermightrequiretheuseofaparticulartechnique, inwhichcasearenementoftheboodprocessprogramcouldrequiretheuseofthattechniqueratherthan makingitoptional.bymodifyingtheprocessprogram, thesevariationsinthemethodcanbespeciedandenforced. ThesuccessfulcompletionofaBOODstepischaracterizedbywell-formednessconditionsondesignartifacts suchasthoserepresentingthedenitionofclasses,objects,andtheirrelationships.thesearemilestonesof theboodprocessandarerepresentedaspostconditionsinthejilprocessprogram.jil'sreactionand exception-handlingmechanismssupportprecisespecicationofactionstotakeintheeventthatpostconditions donothold. Itshouldbeclearfromthisdiscussionthattheroleof humansinthedesigniscentralevenwhenthedesignis formalizedwithaprocessprogram.humansareresponsibleforperformingmanyofthesteps,oftenchoosing whichstepstoperform,checkingmostofthepostconditions,andxingproblemsthatresultinfailuresofthe postconditions.jilsupportshumansinthesetasks, butitalsoprovidestheabilitytotracktheprogress ofthedesignprocess,toassistintheassignmentand reassignmentofstepstoagents,bothhumanandautomated,andtomanagecontentionforresourcesamong theagents.thevalueofthesecapabilitiesincreaseswith morecomplexdesignsandlargerdesignteams. 3OverviewofJIL JIL[16]isaprocess-programminglanguageintendedto supportthedevelopmentofhigh-levelprocessabstractionsthroughacollectionofpowerfulandeasytouse semanticconstructs.jilrepresentsprocessesascompositionsofsteps.thespecicationofastepisdened intermsofanumberofelements.eachelementdenes aspecicaspectofstepsemantics,suchasdata,control, resourceusage,orconsistencyrequirements.formost elements,theactualelementdenitionsappearinaseparatebody.inthissection,wegiveaavorofjilby presentinganexamplestepspecicationanddescribing theelementsthatappearinstepspecications. Figure1containsanexamplestepspecicationinJIL. ThisspecicationrepresentstherststepoftheBOOD process.whilethisexampledoesnotincludeallpossibleelementsofastepspecication,itisrepresentative oftheirbasicstyle.elementsnotpresentinthisexamplewillbeseeninlaterexamples.briey,theelements ofastepspecicationareasfollows: Objectsanddeclarations:Parametersandlocal datausedbythestep. Resources:Specicationsofresourcesneededbythe step,includingpeople,software,andhardware.people mayberepresentedasspecicindividualsorbyroles andskills.softwaremayincludetools,services,and systems.hardwaremayincludecomputersystemsand non-computerobjects. Steps:Identicationofthesubstepsofastep(which arethemselvessteps).thesubstepsareusedwithinthe controlowelementsdescribedbelow. Activity:Identicationoftheunitcontaininganimperativedenitionoftheactionsthesteptakeswhenit isinvoked.thisistypicallyanembeddingofsubstep invocationsintotraditionalprogrammingconstructs.2 2Notethatactivityasusedinthispapergenerallyreferstoa JILlanguageconstruct,nottoelementsofadesignmethodasin Booch[3]. SubmittedtoICSE'98 2
STEPBooch_ProcessIS OBJECTS Req_file: FILE; Data_dictionary: DICTIONARY; Interface_file: FILE;... STEPS: Identify_Classes_and_Objects; Identify_Class_and_Object_Semantics; Identify_Class_and_Object_Relationships; Implement_Classes_and_Objects; Propagate_Requirements_Update; ACTIVITY:Booch_Process_Activity; REACTIONS:Booch_Process_Reactions; PRECONDITIONS: FROMRequirements_ConstraintsUSE Approved(Requirements_File);... POSTCONDITIONS: FROMDesign_ConstraintsUSE Interface_Files_Complete( Data_Dictionary,Interface_Files);... HANDLERS:Booch_Process_Handlers; ENDBooch_Process Figure1:SpecicationforStepBoochProcess Reactions:Identicationoftheunitthatspecies programmedreactionstotriggeringevents.eventsmay includeartifactupdates,processcontrolevents,and non-localexceptions,whilethereactionstypicallyincludesubstepinvocations. Stepexecutionconstraints:Restrictionsonthe relativeexecutionorderofsubsteps.thesecanbeused toconstraintheruntimebehavioroftheactivitiesand reactionsortodrivesubstepexecutiondirectly. Preconditions, constraints, postconditions: Consistencyconditionsthatmustbesatised(respectively)priorto,throughout,andsubsequenttotheexecutionofthestep.Conditionsmayrefertoproduct, process,orresourcestate. Handlers:Identicationofhandlersforlocalexceptions.Handlerscaninvokesubsteps,thusexception handlingcanusethefullpowerofjiltorecoverfrom errors. Theelementsinastepspecicationrepresentavariety ofsemanticsthatareimportanttothedenition,analysis,understanding,andexecutionofsoftwareprocesses ingeneral.stepsareimportantnotonlyasaprocess modelingconstructinandofthemselves,butalsoasa mechanismforbindingandscopingthesemanticsrepresentedbythesevariouselements. AssuggestedbytheexampleinFigure1,JILisafactoredlanguage.Bythiswemeanthateachelementmay beincludedoromittedfromastepspecicationasisappropriateforthestepathand,leadingtoaspecication withorwithoutthecorrespondingfactor.togivejust someexamples,resourcespecicationsorstepexecution constraintsmaybeomitted(asintheexample),orthe activityorreactionsmaybeomitted,orpreconditions andpostconditionsmaybeomitted.thisfactoredapproachallowsprocessestobespeciedinjustenough detail,andinjustthoseterms,thatarerelevanttothe processandtotheneedsofthepeopleandtheorganizationforwhichitisbeingdened.thecombinationof powerfulsemanticconstructswithafactoredlanguage designleadstoalanguagethatisbothexpressiveand exible,therebypromotingprecision,adaptability,and easeofuse. TheJuliaprocess-executionengineisdesignedtosupporttheexecutionofJILprocessprograms(JILstands forjuliainputlanguage).juliawillprovideavarietyofservicesrelatedtotheexecutionofjilprocess programsandmanagementofjilprocesses.thejulia architectureisdiscussedinmoredetailin[15];relevant aspectsarediscussedherewhereappropriate. 4SupportingDesignProcesses Designmethodsaretypicallydescribedinrelativelygeneralterms,omittingmanydetailssoastobeadaptable to,andadoptableby,awidevarietyoforganizations andprojects.ineect,theydenegenericprocessarchitectures[13].designmethodsalsotypicallyemphasizenominalbehavior,thatis,theydescribehowthe designprocesswouldproceedunderidealconditions. Theytendtoomitaspectsrelatedtohandlingerrors, propagatingchanges,andaccommodatinginconsistencies.additionally,designmethodstendtofocusonthe actionsofanindividualdesigneranddonotaddress collaborationamongdesignersortheallocationofresourcestoindividualdesigners.thus,theactualexecutionofdesignprocessesrequiresaddressingmanyissues andperformingmanyactivitiesthatarenotdenedby designmethods.thehandlingoftheseadditionalissuesandactivitiesisasignicantlycomplicatingfactor inactualsoftwaredesignprocesses. Ifactualsoftwaredesignprocesses(asopposedtoprocessarchitectures)aretobedened,thentherangeof relevantconcernsmustbeaddressed.moreover,pro- SubmittedtoICSE'98 3
cessdenitionsshouldbeclearandprecise,soasto promoteunderstandabilityandfacilitateexecutionconsistentwiththeintendeddenition.however,design processeshaveanumberoffeaturesthatmakethemtoo complextobedescribedeectivelyusingsimplework- owmodelsorstandardprogramminglanguages.these featuresofdesignprocessesrevolvearoundthehuman creativeelement,theneedtocopewithachangingenvironment,theiterationandbacktrackingthatarecommonplaceyetunpredictableindesign,themanagement ofteamsofdesignerscontendingforlimitedresources, andtheneedforensuringconsistencyofdesignartifacts eventhoughtheyarebeingdevelopedbymultipledesignersinparallel. Programminglanguagesarecomputationallypowerful buttheirabstractionsarerelativelylowlevelanddo notspeakdirectlytomanyprocessconcerns.workow languagestendtobehigherlevelbutrelativelylimited computationally.forexample,theytypicallylacksupportforsomeimportantkindsofprocesssemantics(e.g., exceptionhandling).manylanguageshavebeenproposedforsoftwareprocessprogramming,butmanyof thesebearcloseresemblancetoprogramminglanguages (e.g.,[4,14,10,9,8,1])ortoworkowlanguages(e.g., [6,2]),andthustheytendtosuerfromthesamelimitations.Inthissection,weelaborateonselectedaspects ofdesignprocesseswithexamplesfrombood,providingexplanationofhowjilsupportstheseaspectsof thedesignprocess.theparticularaspectsofdesign processesweaddressareexiblecontrolow,coordinationofpeopleandtools,copingwitherrors,andartifact consistency. 4.1FlexibleControlFlow Onemajorchallengeindeningadesignprocessliesin providingenoughclarityandprecisiontoassurethecreationofadesignthathasthespecicqualityattributes thathavebeenselectedfortheparticularproject.at thesametime,though,designersmustretainenough exibilitywithintheapprovedprocesstousetheircreativetalentseectively.agooddesignprocessmust alsobeabletoreacttoeventsthatmightaectthenormalowofcontrolthroughtheprocess,suchaschanges intherequirementsoridenticationofanerrorinthe design.inthissection,weprovidesomeexamplesofthe needforclear,precise,yetexiblecontrolowindesign processes,includingthenominalprocessowandreactionstoevents,anddescribehowjiladdressesthese needs. 4.1.1DescribingtheNominalProcessBOODisdescribedintermsofasequenceofsteps.Thestepsare decomposedintoactivities.theorderinwhichtheactivitiesareperformedandthemannerinwhicheach activityisperformedareleftunspecied.forexample, therststepofboodistoidentifytheclassesand objectsforthedesign.theactivitiesincludeclassical object-orientedanalysis,behavioranalysis,anduse-case analysis.booddoesnotspecifyanorderfortheseactivities,oreven,infact,whetherallmustbecarried out.suchquestionsmaybedeterminedbytheorganization,project,orindividualdesignerresponsiblefor thedesign. JILsimilarlydescribesaprocessasacollectionofsteps, whichmaybedividedintosubsteps.jilprovidesavarietyofconstructsforspecifyingthecontrolowbetween stepsandtheirsubsteps.bymeansoftheseconstructs processcontrolowmaybedescribedsimplyorindetail,strictlyorexibly.decisionpointscanbeexplicitly represented,andthosedecisionsmaybemadebyhuman orautomatedagents. JILsupportssimplespecicationsofprocesscontrol owthroughthestepexecutionconstraints.these arestepcompositionoperatorsthattakeastheirargumentsstepsornestedstepcompositionoperators. TheORDEREDoperatorspeciesthatstepsmustbeexecutedinthegivenorder;thisissimplebutrigid.Three otheroperatorsintroducevariousdegreesofexibility intoprocessexecution.theunorderedoperatorspeci- esthatstepsmustbeexecutedinsomesequence,but onethatisnotdenedbytheprocessprogram.the PARALLELoperatorspeciesthatthegivenstepsmust beexecutedaccordingtosomenondeterministicserialor concurrentinterleaving.anexampleshowingthecompositionofoperatorsisshownbelow: Ordered(Parallel(Classical_OO_Analysis; Behavior_Analysis; Use_Case_Analysis), Review_Class_Diagram); AnotherusefulstepcompositionoperatoristheTRY, whichspeciesthatthegivensubstepsaretobeexecutedinthegivenorder,butstoppingwhenonesucceeds.inbood,theneedforthiscontrolconstructis apparentwhenconsideringthesubstepsinvolvedinimplementingclassesandobjects.ifthechosenstandard strategyforimplementingaclassfails,thenacustom implementationistriednext.thiseectisachieved withthetryoperator: TRY(UNORDERED( Look_for_Inheritance, Look_for_Objects_to_Delegate_to, Look_for_Parameterized_Class), Custom_Implementation); Thestepexecutionconstraintsoersimple,clear,preciseconstructorsforspecifyingprocesscontrolows SubmittedtoICSE'98 4
withstrictorexiblebehaviorsandtheopportunityfor humaninvolvementinguidingprocesscontrol.however,theyarenotcomputationallygeneral.fordetailedprocessprogramming,jiloersactivitiesand REACTIONS(thelatterarediscussedinSection4.1.2). TheactivitybodyofaJILstepprovidesforimperative programmingofproactiveprocesscontrolows,thatis, whatthestepshoulddowhenitisinvoked.thejil commandsyntaxincludesfamiliarformsofiterationand branchingstatements.jilalsoaddsaparallelcommandandcommandsbywhichsubstepscanbeinvoked asthreadsorseparateprograms.(theprogrammingof parallelworkowsinjilisdiscussedatlengthin[17].) AnexampleofanactivitybodyrepresentinganimplementationforstepIdentifyClassesAndObjectsispresentedinFigure2.Theprocessprogramforthisactivity,althoughmorecomplexthantheexamplesofstep executionconstraints,isstillstraightforward.moreover,itispreciseandclearaboutmanyimportantaspectsoftheprocess.theclassesandobjectsareiterativelyidentiedandreviewed.theidenticationis performedaccordingtoapreferredanalysistechnique; thetechniqueusedmayvaryfromiterationtoiteration withinasingleexecutionofthestep.theanalysistechniqueisselectedbyaprogrammedstepthatisdenedas partoftheprocess.theimplementationofthatstepis notshownhere,but,dependingontheimplementation, thepreferredtechniquemightbedeterminedbyqueryingtheprojectmanager,queryingthedesignengineer, orqueryingaprojectdatabase.inanycase,theprecise functionusedinselectingthepreferredanalysistechniqueisdenedexplicitlybytheprocessprogrammer, anddierentselectionfunctionsmaydistinguishdierentdesignprocesses.theclassdiagramthatresults fromanalysisisreviewedattheendofeachiteration. Iterationcontinuesuntiltheclassdiagrampassesreview oruntilthedeadlineforthestepisnear(inwhichcase anexceptionisraised). Itiseasytoimagineothersignicantdetailsoftheprocessthatmightbeprogrammeddierently.Forexample,thepreferredanalysistechniquemightbeobtained onceperinvocationofthestepinsteadofonceperiterationoftheloop,orwhenthedeadlineisimminent anextensionmightberequestedinsteadofraisingan exception,ortheiterationthatisnowwithinthestep mightbemovedoutsidethestep.noneofthesespecic issuesissignicantfortheboochmethod,buttheyare indicativeofthewiderangeofconcernsthatmustbe addressedinanexecutableprocess,andallcanbestated preciselyandclearlyinajilstepactivitybody. Althoughtheprocessprogramforthisactivityis straightforward,itwouldbediculttocapturethispro- cessanditsvariantsusingjustthestepexecutioncon- ACTIVITYBODY Identify_Classes_And_Objects_ActivityIS BEGIN Get_Deadline(Deadline); Identify_And_Review:LOOP INVOKESUBPROCESS Get_Preferred_Analysis_Technique(Technique); CASETechniqueIS WHENClassical=>INVOKESUBPROCESS Classical_OO_Analysis(...); WHENBehavioral=>INVOKESUBPROCESS Behavior_Analysis(...); WHENUse_Case=> INVOKESUBPROCESS Use_Case_Analysis(...); ENDCASE; INVOKESUBPROCESSReview_Class_Diagram( Class_Diagram_Approved); exitwhenclass_diagram_approved; IFDeadline_Near(Deadline)THEN RAISEDeadline_Violation; ENDIF; ENDLOOPIdentify_And_Review; ENDIdentify_Classes_And_Objects_Activity; Figure2:ExampleofJILActivityBody straintsorothercomparablysimpleexecutionmodels. ThedicultyisthateventraditionalprogramminglanguageconstructssuchasJILincludes(iteration,branching,etc.)comeinavarietyofformsandreadilyenable theprogrammingofanevenwidervarietyofcompositecontrolstructures.simplecontrollanguagescanbe elaboratedtoaddressmoreandmorefeatures,butat somepointtheyceasetobesimple.whilethejilstep constraintlanguagemaycontinuetoevolvetoimprove theusefulnessofitsconstructs,wewillcontinuetokeep themsimple.activitiesareavailableforcomplicated processesthatcanbemostclearlyexpressedusingtraditionalprogrammingcommands. 4.1.2ReactingtoEventsDuringdesign,thereare typicallyeventsthatoccuroutsideofanindividualdesigner'sactivitythataecttheactivity.forexample,a changetotherequirementsofasystemmayimpactthe designthatisinprogress.booddoesnotdescribesuch externaleventsorhowtodealwiththem.anexecutable processprogram,however,mustbeabletodoso.at aminimum,arequirementschangemustbeevaluated todetermineitsimpactonthedesign.ifadesignisaf- SubmittedtoICSE'98 5
fectedbythechange,thecurrentdesignmustbehalted andmodiedtoaccommodatethechange.changing onecomponentofthedesignmighthaverippleeects onotherpartsofthedesignandperhapseventhebudgetandschedule.again,evaluatingtheeectsofthe changeandadjustingthedesigntoaccommodatethe changerequireextensivehumaninvolvement.theprocesscanassistinsendingnoticationstothedesigners workingonrelatedpartsofthedesign. JILprovidestheREACTcontrolconstructforprogrammingreactionstoevents.Reactionsareattachedto steps.areactionspecicationidentiestheeventto whichthereactionoccursandtheactiontotakeinresponsetothatevent.reactionsmaybeusedincombinationwith,orinsteadof,anactivitybody.ifa stepcontainsbothanactivityandreactions,thereactionscanexecuteinparallelwiththeactivity.reactionscanrespondtoeventsbasedonchangesinartifact state(e.g.,productupdates),changesinprocessstate (e.g.,stepinitiationandtermination),changesinresourcestate(e.g.,aresourcebecomesavailable),and programmer-denedevents(whichmustbeexplicitly signaled). Thefollowingshowsareactionfromthetop-levelBOOD step(figure1): REACTTORequirements_File.UpdateBY INVOKESUBPROCESS Propagate_Requirements_Change; ENDIF; ENDREACT; Thereactionoccursinresponsetotheupdateofthe requirementsle.thereactionistoinvokeasubstepto propagatetheupdatethroughthedesignproduct.this subprocessisitselfastep.inasimpleform,thismight justsendelectronicmailtoallthedesigners.amore complexformofthisstepmightanalyzetheportionof therequirementsthatchanged,and,usinginformation abouttherelationshipsbetweentherequirementsand thedesign,informonlytheaecteddesigners. 4.2CoordinationofPeopleandTools OnelimitationofBOODandotherdesignmethodsis thattheyfocusontheactivitiesthatasingledesigner undertakes.inrealdesignprocesses,however,teams ofdesignersworkconcurrentlytocompleteadesign. Asaresult,apracticaldesignprocessmustaugmenta designmethodwithmanagementactivitiestoschedule andcontroltheuseoflimitedresourcesandtoassign taskstoindividualdesigners.inthissection,wedescribehowjilsupportsthesemanagementactivities. 4.2.1ResourceManagementTocompleteadesign, adesignerrequiresvariousresourcessuchastheartifactsthatserveasinputstothedesignstepandtools andhardwareusedtoassistinthecompletionofthe step.thedesignermayproduceadditionalartifacts thatserveasinputstootherdesignsteps.fromamanager's(orprocess's)perspective,eachdesignerisalsoa resourcebringinguniqueskillstothedevelopmentteam. Whenmultipledesignersworktogether,itisclearthat resourcecontentionbecomesanimportantissue.forexample,concurrentmodicationofdesignartifactsmust becontrolled,theworkloadshouldbebalancedacross theavailabledesigners,individualdesignersshouldbe assignedtasksconsistentwiththeirskills,computerresourcescannotbeoverloaded,anduseofsoftwaretools mustadheretolicensingconstraints. Juliaprovidesaresourcemanagementcomponentthat allowsaprojectmanagerorprocessprogrammertode- nearesourcemodelintermsofasetofprogrammerdenedattributes.theresourcesareorganizedintoa classicationhierarchy.ajilprogramcanreserveand acquireresourceseitherbynamingaspecicresourceor byrequestingaresourcethathasparticularattribute values(includingresourcesofaparticulartype).by usingattribute-valuespecicationstoacquireresources insteadofexplicitnaming,theresourcemanagement systemcanassignresourcesintelligentlytobalancethe loadacrosstheresourcesandadjustforchangesinthe availableresources,allowingthedenitionandexactexecutionoftheprocesstobeguidedbyresourcerequirementsandavailability. Whenthestepisexecuted,theJILinterpreterinJulia processestheresourcespecicationstoobtaintheindicatedresourcesfromthejuliaresourcemanager.julia'sresourcemanagerisamodulethatcouldbeimplementedintheformofahuman,oranautomated system,orasynergisticcombinationofthetwo..if thespeciedresourcescannotbegranted,thejilinterpreterraisesanexception,asdiscussedinsection4.3. Thescarcityorabundanceofresourceshasimportant eectsonexecutionofaprocess.yettheprocessdenitioncannotbespecictothedetailsofresourceavailability.thus,forexample,abundantresources(e.g.,. skilleddesigners)maywellenableconsiderableparallelizationofeort.butitisunreasonabletowritedifferentprocessprogramstodepictdierentdegreesof parallelization.theseparationofresourcespecication injil,fromresourcebindinginjulia,enablesthewritingofonesingleclear,preciseprocessprogramthatwill executedierentlyunderdierentresourceavailability situations. 4.2.2ExternalExecutionAgentsAtsomepointin anydesignprocess,itisnecessarytorelyuponthetalentsofthedesignersandthecapabilitiesofthesoftware toolstocompletethetask.thedevelopmentofadesign SubmittedtoICSE'98 6
issubstantiallyahuman,creativeactivitythatisfacilitatedbyavarietyofsoftwaretools.theconsistency ofadesignisevaluatedwithrespecttoconditionsthat requireamixofmanualandautomatedevaluation.to asignicantdegree,then,thepurposeofadesignprocessandprocessprogramistodene,coordinate,and supporttheworkofpeopleandtools.jilsupportsthe incorporationofpeopleandsoftwaretoolsthroughthe conceptofexternalagents,whichcanbehumanorautomated.activitiesinajilprocesscanbeexported forexecutionoutsidetheprocessbyanexternalagent. ThereisauniforminterfaceinJILfordealingwithboth humanandautomatedagents.thisenablesprocessprogramstoignorethedierencesbetweenthetwotypes ofagentsexceptwhenprocesssemanticsotherwiserequirethatthosedierencesshouldbemanifestedinthe processprogramtext. Agentsandresourcemanagementarerelatedinthe sensethatcertainresources,namelypeopleandsoftware tools,canserveasagentsforastep.bindingagentsto astepisthereforeperformedbyacquiringresourcesto serveastheagentsandthenpostingstepstotheagendas ofthoseagentsusingtheagendamanagercomponentof Julia. Figure3showsthespecicationofagentresources,that is,designers,whowillbeassignedtheresponsibilityof completingtheclassandobjectidenticationstepof BOOD.ThespecicationrequestsanumberofdesignersdeterminedbytheparameterTeamSize;thesedesignersmaybeskilledatanyoftheanalysismethods thatmightbeusedintheprocess. 4.3CopingwithErrors Inadditiontoreactingtoevents,aprocessmustalsobe abletocopewitherrorsthatariseduringtheexecution ofastep.forexample,adesigntoolmightbearesource requiredtoperformastep.theprocessmustbeable todealwitherrorsrelatedtotheinabilitytoacquire resourceswhentheyareneededortotheunexpected lossofaresourceafterithasbeenacquired.theformer mightoccuriftherearealimitednumberoflicenses allowingconcurrentuseofatool,whilethelattermight occurifthelicenseexpiresorthemachineonwhichthe toolexecutesbecomesunavailable. Exceptionhandlingisnotusuallydescribedaspartof anydesignmethod.neverthelesssuccessfulexception handlingiscriticaltotheexecutionofanydesignprocess.jilprovidesanexceptionhandlingmechanismto copewitherrorsthatariseininvoking,executing,and nalizingastep.oftenhumanswillneedtointervene toxtheproblemidentiedbyanexceptionbeforethe stepcanproceed,sojilexceptionhandlerscaninvoke furtherjilsteps,andtheexception-handlingprocess canbedenedinasmuchdetailasappropriate.forex- STEPIdentify_Classes_And_ObjectsIS RESOURCES:Identification_Resources;... End; RESOURCESPECIFICATION Identification_ResourcesIS BEGIN Engineers:Agent_Resource_Handle:= Resource_Manager.Acquire_Agents( Kind=> Designer, Number=> Team_Size, Skill=> (Use_Case_Analysis, Behavioral_Analysis, Classical_OO_Analysis), Duration=>Unlimited); ENDIdentification_Resources; Figure3:ExampleofJILresourcespecication. ample,ifapostconditiononthestepidentifyclasses- AndObjectsfailsbecausesomepartoftherequirements lewasoverlooked,theexceptionhandlermayreinvoke theentiresteponthatpartoftherequirements. Thefollowingisanexampleofahandlerthatcopes withthefailuretoacquireaneededresourceduringthe initializationofastep: HANDLEResource_Acquisition_ErrorBY IFResource_Of( Resource_Acquisition_Error) =Design_Tool THEN AWAITEVENT Resource_Available(Design_Tool); CONTINUE; ENDIF; ENDHANDLE; (Additionalstructuredformsofhandlerarede- ned[16].) Besidesresourcemanagementerrors,exceptionhandlers arealsousefulfordealingwithtypicalprogrammingerrorsandwithexceptionsraisedbyviolationsofconsistencyconditionsondesignartifactsorprocessstate (discussedinsection4.4). Ifastephandlesanexceptionsuccessfully,thestep maybeterminatedsuccessfullyorretried.iftheexceptionwasraisedduringstepinitializationornalization, SubmittedtoICSE'98 7
thoseactivitiesmayalsobecontinued.forexample, supposeanexceptionisraisedduringtheinitialization ofastep,afterthestephasacquiredhalfoftheresourcesitneeds;iftheexceptioncanbehandled,then initializationcanproceedwithoutlossofthepreviously acquiredresources.iftheinterventionisunsuccessful, thestepmaybeterminatedabnormally,inwhichcase itfailsbutitsresultsarepreservedincasetheycanbe reusedinsubsequentiterationsofthestep.alternatively,thestepmaybeaborted,inwhichcaseitfails withthediscardingoftheresults.(propagatinganexceptionisequivalenttoabort.)thus,thereareavariety ofresponsesthatcanbemadetoanexception,themost appropriateofwhichwilldependontheoverallprocess andontheparticularcircumstancesinwhichtheexceptionoccurs. 4.4ArtifactConsistency BOODisdescribedintermsofartifactsandactivities withequalstatus.thatis,tofullyunderstandbood, itisnecessarybothtounderstandthevariousdesigndiagramsthataretheartifactsproducedbytheprocessas wellastheactivitiesthatneedtobeperformedtocreateandmanipulatethosediagrams.inthissection,we brieydiscussartifactdenitionandillustratetheway inwhichjilintegratesartifactconsistencymanagementintotheexecutableaspectsofprocessprograms. 4.4.1ArtifactDenitionInJIL,artifactdenition andmanagementisdoneusingpleiades[18],apersistentobjectmanagementsystem.artifactsaredecomposedintocollectionsofinterrelatedobjects.thisdecompositionallowsforsimpleconcurrentmanipulation ofanartifactbyallowingdesignerstoworkonnonintersectingsetsofobjects.pleiadesalsosupportsthe specicationofbothinter-artifactandintra-artifactrelationships,bothofwhichareusefulinensuringartifact consistency.forexample,whenarequirementchanges, theserelationshipscanbeusedtoidentifythepiecesof thedesignthatareaected.thepotentialrippleeect oftherequirementschangecanbedeterminedbyidentifyingthetransitiveclosureoftherelationshipsbetween andwithintheartifactsemanatingfromtheobjectcapturingtherequirementchange. 4.4.2AssessingMilestonesTheultimategoalof BOODistocreatetheartifactsthatrepresentahigh qualitydesignforthegivenrequirements.eachstepin BOODidentiesmilestones.Reachingamilestoneisindicativeofsuccessfulcompletionofthesteptowhichthe milestoneisattached.foraprocesstodescribebood accurately,itisnecessarytoevaluatetheartifactsto determineifthemilestoneshavebeenreached. JILallowsaprogrammertoattachpostconditionsto steps.thesepostconditionscanbeusedtodetermine ifthemilestoneshavebeenreached.uponcompletion ofastep,allthepostconditionsforthestepareevaluated.ifapostconditionfails,anexceptionisraised thatcanbedealtwithinanexceptionhandler.acommonactiontotakeonfailureofapostconditionisto repeatsomeoralloftheactivitiesinthesteptocorrect forthefailedpostcondition.inthecontextofdesign, manypostconditionsrequirehumanevaluationandexceptionhandlersforfailedpostconditionsrequirehuman action.forexample,apostconditionfortheclassand objectidenticationstepofboodisthattheclasses andobjectsareconsistentlynamed.evaluatingnaming consistencyisnotlikelytobesomethingthatcanbe automatedinanygenerallymeaningfulwayandthus shouldbetheresponsibilityofahumanreviewertoverify.theactiontocorrectfornaminginconsistenciesinvolvesrenamingtheinappropriately-namedclassesand objects.asoftwaretoolcanensurethatthenewnames areappliedeverywheretheyoccurinthedesign,but ahumanmustbeinvolvedinselectingthenewnames. JILquitecomfortablysupportsthespecicationofthese sortsofinteractionsbetweentoolsandhumans. 4.4.3ArtifactFlowArtifactscreatedinonedesign steparetypicallyrequiredasinputforotherdesign steps.jilexplicitlyrepresentstheartifactowbetween stepsusingparameters.artifactowoftenimplicitly constrainstheorderinwhichstepscanbeexecutedand thustheamountofconcurrencythatispossiblebetween steps.forexample,step2ofboodistodenethe semanticsofclassesandobjects.obviously,aclass's semanticscannotbeidentieduntiltheclassitselfhas beenidentiedinstep1.thus,theoutputofstep1 becomestheinputofstep2.note,however,thatacertainamountofconcurrencyispossible,evenexpected, betweenthesetwosteps.inparticular,itisnotnecessarytoidentifyallclassesbeforedeningthesemantics ofsomeofthem.asaresult,step2canbestartedas soonassomeclassesorobjectshavebeenidentied,but nosooner. JILprovidesseveralwaysofspecifyingconcurrencybetweenstepsthatwouldallowthesemanticsofsome classestobedenedwhileotherclassesarestillbeing dened.prematureexecutionofstep2ispreventedby attachingapreconditiontothesteprequiringthatthe datadictionarymustcontainatleastoneclassorobjectwhosesemanticshavenotyetbeendened.failure ofthepreconditionraisesanexceptionwhosehandler delaysinitiationuntilthepreconditionbecomestrue,as shownbelow.inthismanner,thecontrolowthrough thedesignprocesscanbeconstrainedbytheavailability oftheappropriateartifacts. SubmittedtoICSE'98 8
HANDLEVIOLATIONOF Some_Undefined_Classes_Or_Objects ASPRECONDITIONBY AWAITEVENT Artifact_Created(Class)or Artifact_Created(Object); CONTINUE; ENDIF; ENDHANDLE; 4.4.4OptimisticDesignTheevaluationofpreconditionsandpostconditionsfordesignprocessesmaybe complexandpronetodelaysduetotheneedforhuman evaluationorconictsoveraccesstootherrequiredresources.theseproblemsmaybeespeciallyseverefor processesthatarelong-livedandhighlyconcurrent,as designprocessesmaybe.intheworstcase,itmaybe impossibletoevaluatepreconditionsandpostconditions inatimelymanner,leadingtoastateofindeterminacy, introducingpotentiallyunnecessarydelaysinthedesign process.forexample,thereisoftenadelaybetween thecompletionofaportionofadesignandtheformalreviewmeetingtoevaluatethedesignsothatthe reviewershaveadequatetimetobecomefamiliarwith theproposeddesign.ifaprojectisunderanambitious schedule,itmightbeunreasonabletoforcethedevelopertowaituntilthereviewiscompletebeforecontinuingwithmoredetaileddesignorimplementation. Instead,amanagermightwanttotrustthedesignerto identifytheleastriskyaspectsofthedesignandcontinuetheirdevelopmentpriortocompletionofthereview. Tohelpaddresstheseproblems,theJILexecution modelincludesthenotionsofconsistencyvariancesand at-riskexecution.aconsistencyvarianceisavariance fromtheusualenforcementofpreconditionsandpostconditions.incaseswhereaconditioncannotbeevaluatedduetoconictsoveraccesstoneededresources,a stepmaybegrantedavariancefromenforcementofthe condition,thatis,thestepmaybegintoexecutebefore itspreconditionsareveried,oritmaycompletebefore itspostconditionsareveried.thisentailssubsequent at-riskexecution,sincethestepmaylaterbeaborted, orasignicantamountofreworkmayberequiredif theconditionisfoundtobeviolated.thebenetsof increasedconcurrencyandeciencymayoutweighthe risksofapossibleviolation,however.wedonotexpect thatvarianceswillbegrantedautomaticallyingeneral. Rather,weseethisasanotheropportunityforpeople tobeinvolved,thistimeintheroleofprocessmanagers guidingprocessinterpretation. 5Evaluation Inthisproject,weevaluatedtheadequacyofJILfor thespecicationoftheboodprocess.thetwoareasofneedthatwehadidentiedasbeingofprimary interestwereprecisionandclarityoftheprocessspecication.twoadditionalgoalswereprocessexibilityand theabilitytoaccommodatepeopleintheprocess.the abilitytosupportclarityandfostereaseofusethrough visualizationsofprocessprogramswasafurthergoal. 5.1PrecisionandClarity Webelievethattheforegoingsectionstronglysupports ourhypothesisthatthesortsoflinguisticfeaturescontainedinjilarequiteeectiveinenablingtheprecise specicationofboodprocesses.wehaveindicated numerouswaysinwhichprocessdetailsareneededin ordertodistinguishamongseveralalternativewaysof performingbood.thesedistinctionsseemessentialif wearetobeabletoprovidestrongcomputersupportfor executionoftheseprocesses,andtobeabletoreason denitivelyaboutvariousimportantaspectsofthem. WehavedemonstratedthatJILgenerallyhasspecic featuresthatenableustomaketheseveryprecise(and crucial)distinctions. WealsobelievethatJILsupportsclarityintheprocess descriptionswehavedevelopedandexamined.onekey wayinwhichclarityisachievedisthroughtheuseof higher-level,processspecicabstractions.whilethe numberofconstructsinjilmaybegreaterthanina leanprogramminglanguage,theconstructshavenow beenshowntobepresenttomeetdemonstratedneeds. Wehavesoughttoaddtothelanguageconstructsthat succeedinreducingthesizeofprocessprogramsbyexpressingneededhigherlevelsemanticfeaturesinadirectandtersefashion.inadditionwehavestrivento makethesefeaturescleanlyorthogonal,andtoassure thattheyhaveclearsemantics. OurworkhasalsoindicatedsomeareasinwhichJIL didnotreadilyenableustobesucientlyclearorprecise.inparticular,whilethestepcompositionoperators wereuseful,itwouldbebenecialtoextendthissetto includesomesimpleloopingconstructsandtobetter integratethestepcompositionoperatorsintotheproceduralportionsofthestepdescriptions.inaddition, theresourcespecicationcapabilitiesinjilwerefound tobelessprecisethanmightbedesired.thesendingshavehelpedustopinpointareasinwhichfurther developmentofjilshouldbefocussed. 5.2FlexibilityandAccommodationofPeople Thegoalsofprocessexibilityandaccommodationof peopleintheprocessarecloselyrelatedinthatexibilityispartlynecessaryforandpartlyexercisedbypeople intheprocess.flexibilitywasachievedinanumberof ways.someofthestepcompositionoperators(e.g., UNORDEREDandPARALLEL)containanaspectofnondeterminismwherehumandecisionmakingcanoccur. SubmittedtoICSE'98 9
Throughtheintegrationofresourcemanagementinto processexecution,processprogramscanbedecoupled frombindingstospecicagentsandresources.theuse ofpreconditionsandpostconditionsallowstheexecutionofprocessstepstobecontrolledaccordingtodynamicallychangingproductstate.humansalsoserveas agentsforstepexecution,carryingoutstepactivities, reactingtoprocessevents,andhandlingprocessexceptions.thesefeaturesprovedquiteusefulinspecifying alternativeboodprocesses. Wealsonotedsomelimitationsintheseareas.Experimentationisneededwithalternativestrategiesformakingnondeterministiccontroldecisions.Somelinguistic meansofspecifyinghowthosedecisionsshouldbemade wouldalsobehelpful,especiallyforexplicitlydelegating controldecisionstohumanagents. 5.3VisualJIL Anotherwayinwhichtheneedforclarityisbeingaddressedisthroughtheuseofvisualization.Akeyaspect ofthejildevelopmentprojecthasbeentheconcurrentdevelopmentofvisual-jil.visual-jilisaninteractivegraphicalsystemthatsupportsthedevelopment ofprocessprogramswritteninlittle-jil,asubsetofjil thathasbeencarefullyselectedforclearvisualizability andsignicanteect.visual-jilemphasizesfeatures relatedtoagentcoordinationandconcentratesonthe simpler,yetstillexible,processcontrolstructures.itis hopedthatthevisualrepresentation,coupledwiththe relativelysimplebutusefulsubsetsemantics,willfoster theadoptionofprocessprogrammingbymakingiteasy towriteprocessprogramsthatarestillclearandprecise.indeed,ourexperiencewiththeboodprocessis basedonprogramminginbothfulljilandinlittle-jil usingthevisual-jilsystem.theprecisespecication ofmanyaspectsoftheseexampleswaspossiblethrough theuseofvisual-jil,whichoersdistinctvisualization andclarityadvantagesinthoseareasofthelanguageit supports. WebelievethatJIL,Visual-JIL,andJuliaareexamplesofalanguageandsystemthatbalancethelevelof expressivepowerneededtosupportsucientprecision withnecessaryclarityandusability.webelievethis claimissupportedbytheexistenceofboodprocess programsthatareprecise,expressive,andclear. 6StatusandFutureWork Asnotedearlierinthispaper,thedevelopmentofJIL, Visual-JIL,andJuliaareongoingactivities.Evaluation activitiessuchastheonedescribedhereareanintegral partofthedevelopmentoftheselanguagesandsystem. Fromtheseevaluationswearegainingkeyinsightsinto thestrengthsandweaknessesoftheselanguagesand systems.thisparticularevaluationhasreinforcedour beliefthatjilandvisual-jilarelikelytobebroadly usefulincontinuingeortstosupportprocessexecution andpowerfulreasoningaboutrealprocesses.thus,we expecttobeginreleasingjilandvisual-jilspecicationsandprototypesinthecomingyearorso. Simultaneously,evaluationactivitiessuchastheonedescribedherewillcontinue.Forexample,weareextendingtheBOODprocessprogramdescribedheretosupportcollaborativedesigninvolvingmultipledesigners sharingthesamesetofartifactsandresources.indoingthis,weexpecttoevaluatefurthertheeectiveness ofjil'ssupportforresource,agenda,andartifactmanagementandtousethisexperiencetohelpusrenethe abstractionsrequiredduringthesemanagementactivities. WearealsoplanningtouseJILandVisual-JILtodevelopandevaluateprocessprogramsforsuchothersoftwareengineeringactivitiesasregressiontesting,con- gurationmanagement,andincrementaldataowanalysis.weexpecttocontinuetolearnaboutjiland Visual-JILstrengthsandweaknessesfromtheseactivities.Basedontheseexperiences,weexpecttoaddnew featuresforwhichthereisademonstrableneed,delete existingfeaturesforwhichtheneedseemsslight,and therebycontinuetoenhancetheclarityandprecision ofthelanguage.increasingly,moreover,wealsoexpect thattheprocessprogramsthemselveswillbecomeincreasinglyinteresting,useful,andvaluableartifacts. AcknowledgmentsWorkonJIL,Julia,andJILprocessprogramminghasbeenperformedbymanypeople,whosecontributionswegratefullyacknowledge. AlexanderWiseistheprimaryarchitectanddeveloper ofvisual-jil.ericmccallisthedesigneranddeveloperoftheagendamanagementsystemandacontributortovisual-jil.rodionpodorozhnyisdevelopingtheresourcemanagementsystemandhascontributedjilprocessprograms.jinhuangandarvind Nithrakashyapcontributedtotheimplementationofa Booch-productobject-managementsysteminPleiades. PeriTarrprovidedPleiadessupportanddevelopedthe initialjilparser.additionally,chrisprosser,dan Rubenstein,andToddWrighthaveallcontributedJIL processprograms,andwehavebenetedfromthecommentsofnumerouscolleaguesattheuniversityofmassachusettsandelsewhere. REFERENCES [1]SergioBandinelli,AlfonsoFuggetta,andSandroGrigolli.Processmodelingin-the-largewith SLANG.InProc.oftheSecondInternationalConferenceontheSoftwareProcess,pages75{83.IEEE ComputerSocietyPress,1993. SubmittedtoICSE'98 10
[2]GregoryA.BolcerandRichardN.Taylor.Endeavors:Aprocesssystemintegrationinfrastructure.In Proc.oftheFourthInternationalConferenceonthe SoftwareProcess,pages76{85.IEEEComputer SocietyPress,December1996. [3]G.Booch.Object-OrientedAnalysisandDesign withapplications.benjamincummings,redwood City,CA,secondeditionedition,1994. [4]DonCohen.AP5Manual.Univ.ofSouthernCalifornia,InformationSciencesInstitute,March1988. [5]D.Coleman,P.Arnold,S.Bodo,C.Dollin, H.Gilchrist,F.Hayes,andP.Jeremaes.Object- OrientedDevelopment:TheFUSIONMethod. Prentice-Hall,EnglewoodClis,NJ,1994. [6]ChristerFernstrom.PROCESSWEAVER:Adding processsupporttounix.inproc.ofthesecond InternationalConferenceontheSoftwareProcess, pages12{26,1993. [7]I.Jacobson,M.Christerson,P.Jonsson,and G.Overgaard.Object-OrientedSoftwareEngineering:AUseCaseDrivenApproach.ACMPress, NewYork,1992. [8]G.Junkermann,B.Peuschel,W.Schafer,and SWolf.MERLIN:Supportingcooperationinsoftwaredevelopmentthroughaknowledge-basedenvironment.InA.Finkelstein,J.Kramer,and B.Nuseibeh,editors,SoftwareProcessModelling andtechnology,pages103{129.johnwiley& SonsInc.,1994. [9]GailE.Kaiser,NaserS.Barghouti,andMichaelH. Sokolsky.Experiencewithprocessmodelinginthe marvelsoftwaredevelopmentenvironmentkernel. InBruceShriver,editor,23rdAnnualHawaiiInternationalConferenceonSystemSciences,volumeII, pages131{140,konahi,january1990. [10]TakuyaKatayama.Ahierarchicalandfunctional softwareprocessdescriptionanditsenaction.in Proc.ofthe11thInternationalConferenceonSoftwareEngineering,pages343{353.IEEEComputerSocietyPress,1989. [11]J.Rumbaugh,M.Blaha,W.Premerlani,F.Eddy, andw.lorensen.object-orientedmodelingand Design.Prentice-Hall,EnglewoodClis,NJ,1991. [12]XipingSongandLeonJ.Osterweil.Engineering softwaredesignprocessestoguideprocessexecution.inproc.ofthethirdinternationalconference onthesoftwareprocess,pages135{152,1994. [13]XipingSongandLeonJ.Osterweil.Experience withanapproachtocomparingsoftwaredesign methodologies.ieeetrans.onsoftwareengineering,20(5):364{384,may1994. [14]StanleyM.Sutton,Jr.,DennisHeimbigner,and LeonJ.Osterweil.APPL/A:Alanguagefor software-processprogramming.acmtrans.on SoftwareEngineeringandMethodology,4(3):221{ 286,July1995. [15]StanleyM.Sutton,Jr.andLeonJ.Osterweil. Thedesignofanext-generationprocesslanguage. TechnicalReportCMPSCITechnicalReport96-30,UniversityofMassachusettsatAmherst, ComputerScienceDepartment,Amherst,Massachusetts01003,May1996.revisedJanuary,1997. [16]StanleyM.Sutton,Jr.andLeonJ.Osterweil.The designofanext-generationprocesslanguage.in ProceedingsoftheJoint6thEuropeanSoftwareEngineeringConferenceandthe5thACMSIGSOFT SymposiumontheFoundationsofSoftwareEngineering.Springer-Verlag,1997.Toappear. [17]StanleyM.Sutton,Jr.andLeonJ.Osterweil.ProgrammingparallelworkowsinJIL.InProceedings ofthe9thinternationalconferenceonparalleland DistributedComputingandSystems,1997.Toappear. [18]PeriL.TarrandLoriA.Clarke.PLEIADES:An ObjectManagementSystemforSoftwareEngineeringEnvironments.InProceedingsoftheFirstACM SIGSOFTSymposiumontheFoundationsofSoftwareEngineering,pages56{70.IEEEComputer SocietyPress,December1993. [19]R.Wirfs-Brock,B.Wilkerson,andL.Weiner.DesigningObject-OrientedSoftware.Prentice-Hall, EnglewoodClis,NJ,1990. SubmittedtoICSE'98 11