|
|
|
- Shon Gibbs
- 9 years ago
- Views:
Transcription
1 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 AgencyundergrantF C-0137andF 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{ GraphicalDesigner{ Plus{ SubmittedtoICSE'98 1
2 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
3 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
4 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 DescribingtheNominalProcessBOODisdescribedintermsofasequenceofsteps.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
5 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 ReactingtoEventsDuringdesign,thereare typicallyeventsthatoccuroutsideofanindividualdesigner'sactivitythataecttheactivity.forexample,a changetotherequirementsofasystemmayimpactthe designthatisinprogress.booddoesnotdescribesuch externaleventsorhowtodealwiththem.anexecutable processprogram,however,mustbeabletodoso.at aminimum,arequirementschangemustbeevaluated todetermineitsimpactonthedesign.ifadesignisaf- SubmittedtoICSE'98 5
6 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 ResourceManagementTocompleteadesign, 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 ExternalExecutionAgentsAtsomepointin anydesignprocess,itisnecessarytorelyuponthetalentsofthedesignersandthecapabilitiesofthesoftware toolstocompletethetask.thedevelopmentofadesign SubmittedtoICSE'98 6
7 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
8 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 ArtifactDenitionInJIL,artifactdenition andmanagementisdoneusingpleiades[18],apersistentobjectmanagementsystem.artifactsaredecomposedintocollectionsofinterrelatedobjects.thisdecompositionallowsforsimpleconcurrentmanipulation ofanartifactbyallowingdesignerstoworkonnonintersectingsetsofobjects.pleiadesalsosupportsthe specicationofbothinter-artifactandintra-artifactrelationships,bothofwhichareusefulinensuringartifact consistency.forexample,whenarequirementchanges, theserelationshipscanbeusedtoidentifythepiecesof thedesignthatareaected.thepotentialrippleeect oftherequirementschangecanbedeterminedbyidentifyingthetransitiveclosureoftherelationshipsbetween andwithintheartifactsemanatingfromtheobjectcapturingtherequirementchange AssessingMilestonesTheultimategoalof 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 ArtifactFlowArtifactscreatedinonedesign 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
9 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
10 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
11 [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
UsingAutomaticMemoizationasa SoftwareEngineeringToolin
UsingAutomaticMemoizationasa SoftwareEngineeringToolin ComputerScienceDepartment JamesMayeld Real-WorldAISystems UniversityofMarylandBaltimoreCounty Baltimore,MD21228-5398 MartyHall [email protected]
UML TUTORIALS THE USE CASE MODEL
UML TUTORIALS THE USE CASE MODEL www.sparxsystems.com.au Sparx Systems 2004 Page 1/5 describes the proposed functionality of the new system. A Use Case represents a discrete unit of interaction between
UML TUTORIALS THE COMPONENT MODEL
UML TUTORIALS THE COMPONENT MODEL www.sparxsystems.com.au Sparx Systems 2004 Page 1/5 The component model illustrates the software components that will be used to build the system. These may be built up
A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT
A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT Cléver Ricardo Guareis de Farias, Marten van Sinderen and Luís Ferreira Pires Centre for Telematics and Information Technology (CTIT) PO Box
USB CASH DRAWER INTERFACE. Introduction
USB CASH DRAWER INTERFACE Introduction USB is an interface communication standard that was designed to allow multiple devices to connect to a single port on a supporting host device. Multiple devices are
4.4 What is a Requirement? 4.5 Types of Requirements. Functional Requirements
4.4 What is a Requirement? It is a statement describing either 1) an aspect of what the proposed system must do, or 2) a constraint on the system s development. In either case it must contribute in some
ProgramVerificationandHardwareSynthesis 1 ProgramVerication HardwareSynthesis and Acommonapproachtohardwaredesignisto writeaprograminahardwaredescription languageandthencompileittoastatemachine usingasynthesissystem.somecorrectness
Functional Requirements Document -Use Cases-
EUROPEAN COMMISSION DIRECTORATE GENERAL JRC JOINT RESEARCH CENTRE Cyber-security & New Technologies for Combating Fraud (CSCF) Institute for the Protection and Security of the Citizen (IPSC) EYE IN THE
Modeling a Problem Scenario with UML
1 Table of Contents 1 Table of Contents... 1 2 Problem Statement... 1 3 Overview... 1 3.1 Background... 1 3.2 Overall Description... 1 4 Constraints... 2 5 Functional Specifications... 2 5.1 Student...
Keywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns.
Volume 4, Issue 5, May 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Functional and Non-Functional
Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML
Use-Case Analysis Use-Case Analysis! What is it?! An informal, user-friendly, technique useful for functional requirements analysis and specification! From where did it come?! Ivar Jacobson, a Swedish
Appendix... B. The Object Constraint
UML 2.0 in a Nutshell Appendix B. The Object Constraint Pub Date: June 2005 Language The Object Constraint Language 2.0 (OCL) is an addition to the UML 2.0 specification that provides you with a way to
ESCI 386 IDL Programming for Advanced Earth Science Applications Lesson 6 Program Control
ESCI 386 IDL Programming for Advanced Earth Science Applications Lesson 6 Program Control Reading: Bowman, Chapters 16 CODE BLOCKS A code block consists of several lines of code contained between a BEGIN
Case Study Solutions. This appendix contains the solutions to the Acme Mining Company Case Study.
Case Study Solutions This appendix contains the solutions to the Acme Mining Company Case Study. Sun Proprietary: Internal Use Only 1 The Acme Mining Company Rewritten Problem Statement Note The candidate
The Workflow Management Coalition Specification Workflow Management Coalition Terminology & Glossary
The Workflow Management Coalition Specification Workflow Management Coalition Terminology & Glossary Workflow The automation of a business process, in whole or part, during which documents, information
Rational Software. Course Registration System Use-Case Model
Rational Software Course Registration System Use-Case Model Version 2003 Revision History Date Issue Description Author 9/5/2000 V2000 Generation for beta Shawn Siemers 10/2/2000 V2000 Final release Shawn
Hybrid Planning in Cyber Security Applications
Louisa Pragst 20. November 2013 Hybrid Planning in Cyber Security Applications Bachelor Thesis 2 Hybrid Planning in Cyber Security Applications Introduction Overview Transformation of a POCL domain into
Best Practices for Data Dictionary Definitions and Usage Version 1.1 2006-11-14
Best Practices for Dictionary Definitions and Usage Version 1.1 2006-11-14 1 1.0 Introduction This document introduces readers to the importance of a data dictionary as a critical part of a metadata record
Swirl. Multiplayer Gaming Simplified. CS4512 Systems Analysis and Design. Assignment 1 2010. Marque Browne 0814547. Manuel Honegger - 0837997
1 Swirl Multiplayer Gaming Simplified CS4512 Systems Analysis and Design Assignment 1 2010 Marque Browne 0814547 Manuel Honegger - 0837997 Kieran O' Brien 0866946 2 BLANK MARKING SCHEME 3 TABLE OF CONTENTS
UniversalTemporalDataLanguages CindyXinminChenandCarloZaniolo UniversityofCaliforniaatLosAngeles ComputerScienceDepartment Abstract.Temporalreasoningandtemporalquerylanguagespresentdicultresearchchallenges,whichareslowlyyieldingtothecombinedattackofmanyinvestigationsmotivated
WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math
Textbook Correlation WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Following Directions Unit FIRST QUARTER AND SECOND QUARTER Logic Unit
desired behaviour (global constraints) composite system putative behaviour: putative agents, actions, etc.
Ó Ð¹ Ö Ú Ò ÔÔÖÓ ØÓ Ö ÕÙ Ö Ñ ÒØ Ò Ò Ö Ò ËØ Û ÖØ Ö Ò Ø Û ÖØº Ö ÒÙÛ º ºÙ Ô ÖØÑ ÒØ Ó ÓÑÔÙØ Ò ÍÒ Ú Ö ØÝ Ó Ø Ï Ø Ó Ò Ð Ò Ö ØÓÐ ØÖ Ø ÒÙÑ Ö Ó Ö ÒØ ÔÔÖÓ ØÓ Ö ÕÙ Ö Ñ ÒØ Ò Ò Ö Ò Ù Ø Ø Ø Ò Û Ô Ö Ñ Ñ Ö Ò ÙÔÓÒ Ø Ù Ó
From Business Process Models to Use Case Models
: A systematic approach Estrela Ferreira da Cruz, Ricardo Machado, Maribel Santos Universidade do Minho, Portugal EEWC, 7 May 2014 Agenda: Contextualization Motivation Approach From BPMN model to use case
Software Requirements Specification of A University Class Scheduler
Software Requirements Specification of A University Class Scheduler Deanna M. Needell Jeff A. Stuart Tamara C. Thiel Sergiu M. Dascalu Frederick C. Harris, Jr. Department of Computer Science University
BCS Certificate in Systems Modelling Techniques Syllabus
BCS Certificate in Systems Modelling Techniques Syllabus Version 3.4 March 2015 Change History Any changes made to the syllabus shall be clearly documented with a change history log. This shall include
Requirement engineering Exercise the POS System solution
Requirement engineering Exercise the POS System solution Problem Description A POS (Point-Of-Sale) system is a computer system typically used to manage the sales in retail stores. It includes hardware
Scenario-driven Testing of Security-related Domain-specific Language Models
Scenario-driven Testing of Security-related Domain-specific Language Models Bernhard Hoisl June 25, 2013 Introduction, Definition, Motivation MDD: software engineering technique, abstracting problem domain
In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?
In this Lecture you will Learn: Systems Development Methodologies What a systems development methodology is Why methodologies are used The need for different methodologies The main features of one methodology
Formally speaking: How to apply OCL
Page 1 of 6 Copyright IBM Corporation 2004 http://www-106.ibm.com/developerworks/rational/library/5390.html Search for: within All of dw Use + - ( ) " " Search help IBM home Products & services Support
Home Assignment 4 OCL
Home Assignment 4 OCL This home assignment is about writing formal specifications using the Object Constraint Language. You will exercise formulating conditions/invariants on domain models that go beyond
Etudes de cas en OCL avec l outil USE 2
Etudes de cas en OCL avec l outil USE 2 1 2 UML-based Specification Environment 3 1ère étude de cas : invariants Classes en notation textuelle model Company 4 class Employee attributes name : String salary
Model Driven Security: Foundations, Tools, and Practice
Model Driven Security: Foundations, Tools, and Practice David Basin, Manuel Clavel, and ETH Zurich, IMDEA Software Institute Thursday 1st, 2011 Outline I 1 Models Analysis. Types. 2 The Object Constraint
Unit I Page No. 1 System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML
Unit I Page No. 1 System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML System Development (SD) : - o SD refers to all activities that go into producing
Compliance ow - managing the compliance of dynamic and complex processes
Loughborough University Institutional Repository Compliance ow - managing the compliance of dynamic and complex processes This item was submitted to Loughborough University's Institutional Repository by
SmartConnect Use Case: C7 Utility Uses SmartConnect Data for Targeted Marketing Campaigns December 29, 2009
SmartConnect Use Case: C7 Utility Uses SmartConnect Data for Targeted Marketing Campaigns December 29, 2009 Author: Edison SmartConnect Page 1 of 34 Document History Revision History Edison SmartConnect
Capital Works Construction Project. [Insert Project Title] [Insert Sponsoring Agency]
Capital Works Construction Project [Insert Project Title] [Insert Sponsoring Agency] Detailed Business Case Commercial - in- Confidence [Insert Date] Table of Contents 1. Executive Summary --------------------------------------------------------------------------------------------------
Rigorous Software Development CSCI-GA 3033-009
Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 11 Semantics of Programming Languages Denotational Semantics Meaning of a program is defined as the mathematical
Sofware Requirements Engineeing
Sofware Requirements Engineeing Three main tasks in RE: 1 Elicit find out what the customers really want. Identify stakeholders, their goals and viewpoints. 2 Document write it down (). Understandable
Specification of the UFT Web-Based Fitness Tracking Software
Specification of the UFT Web-Based Fitness Tracking Software STEVEN ARNOLD, CATHY OSTERHOUT, CHUL YIM, SERGIU DASCALU Department of Computer Science University of Nevada, Reno 1664 N. Virginia St., Reno,
ABAP QUERY AN EXAMPLE
ABAP QUERY AN EXAMPLE Applies To : ECC 5.0 Created On : 18.12.2007 Author : Sylvia Chandra Company : Telco Company Summary : This article will introduce you about ABAP Query and explain how to create an
The Authoring Process of the UML-based Web Engineering Approach
The Authoring Process of the UML-based Web Engineering Approach Nora Koch,2, Andreas Kraus, Rolf Hennicker Institute of Computer Science Ludwig-Maximilians University of Munich Oettingenstr. 67, D-80538
Chapter 4: Design Principles I: Correctness and Robustness
Chapter 4: Design Principles I: Correctness and Robustness King Fahd University of Petroleum & Minerals SWE 316: Software Design & Architecture Semester: 072 Objectives To introduce two design principles
Storage and File Structure
Storage and File Structure Chapter 10: Storage and File Structure Overview of Physical Storage Media Magnetic Disks RAID Tertiary Storage Storage Access File Organization Organization of Records in Files
5 Process Modeling using UML
5 Process Modeling using UML G. ENGELS and A. FÖRSTER and R. HECKEL and S. THÖNE University of Paderborn, Germany 5. INTRODUCTION The Unified Modeling Language (UML) is a visual, object-oriented, and multi-purpose
Programming by Contract. Programming by Contract: Motivation. Programming by Contract: Preconditions and Postconditions
COMP209 Object Oriented Programming Designing Classes 2 Mark Hall Programming by Contract (adapted from slides by Mark Utting) Preconditions Postconditions Class invariants Programming by Contract An agreement
Design by Contract beyond class modelling
Design by Contract beyond class modelling Introduction Design by Contract (DbC) or Programming by Contract is an approach to designing software. It says that designers should define precise and verifiable
causeddroppingofthetos-basedroutingrequirementfromtheospfspecication.
ComputerScienceDepartment ImplementationandPerformanceMeasurements CollegePark,MD20742 UniversityofMaryland GeorgeApostolopoulos ofqosroutingextensionstoospf RochGuerin,SanjayKamat protocol,andonvariousperformancemeasurementsmadeonthebasisofthisimplementation
BUSINESS ARCHITECTURE MEETS STRATEGIC PLANNING. 9/16/2014 Austin, TX
BUSINESS ARCHITECTURE MEETS STRATEGIC PLANNING 9/16/2014 Austin, TX AGENDA Purpose and scope of workgroup Introduction of panel members Overview of BIZBOK content Presentation and discussion of key issues
Dr.-Ing. Rainer Rasche dspace GmbH Rathenaustrasse 26 33102 Paderborn automotive testing expo June 22, 2010
Combining Two Worlds: Precise Real-Time- Based and Convenient PC-Based Testing Dr.-Ing. Rainer Rasche dspace GmbH Rathenaustrasse 26 33102 Paderborn nd automotive testing expo June 22, 2010 Agenda Testautomation
M2-R3: BUSINESS SYSTEMS
M2-R3: BUSINESS SYSTEMS NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be answered in the TEAR-OFF ANSWER SHEET
UML Modeling Guidelines
UML Modeling Guidelines Version 1.0 March 13, 2015 ONF TR-514 ONF Document Type: Technical Recommendation ONF Document Name: UML Modeling Guidelines V1.0 Disclaimer THIS SPECIFICATION IS PROVIDED AS IS
LECTURE 17: LIBRARY CASE STUDY. Software Engineering Mike Wooldridge
LECTURE 17: LIBRARY CASE STUDY Mike Wooldridge 1 A Library Management System In this lecture, we specify a simple library system. Operations: check out a book; return a book; add a book to library; remove
UML for e-commerce. Doug Rosenberg ICONIX Software Engineering, Inc. iconixsw.com. http://www.iconixsw
UML for e-commerce Doug Rosenerg ICONIX Software Engineering, Inc. http://www.iconixsw iconixsw.com 1 Aout this weinar Based on ICONIX UML for e-commerce class http://www.iconixsw iconixsw.com/.com/umlecommerce.html
Case Study: Design and Implementation of an Ordering system using UML, Formal specification and Java Builder
SETIT 2005 3 rd International Conference: Sciences of Electronic, Technologies of Information and Telecommunications MARCH 27-31, 2005 TUNISIA Case Study: Design and Implementation of an Ordering system
Proceedings of the International MultiConference of Engineers and Computer Scientists 2013 Vol I, IMECS 2013, March 13-15, 2013, Hong Kong
, March 13-15, 2013, Hong Kong Risk Assessment for Relational Database Schema-based Constraint Using Machine Diagram Kanjana Eiamsaard 1, Nakornthip Prompoon 2 Abstract Information is a critical asset
From Use Cases to Test Cases. Step-by-step approach to ensure the quality of specifications and to derive test cases based on a use case model
HOOD Group 2007 www.hood-group.com From Use Cases to Test Cases Step-by-step approach to ensure the quality of specifications and to derive test cases based on a use case model Speaker HOOD Group Experts
Loop Invariants and Binary Search
Loop Invariants and Binary Search Chapter 4.3.3 and 9.3.1-1 - Outline Ø Iterative Algorithms, Assertions and Proofs of Correctness Ø Binary Search: A Case Study - 2 - Outline Ø Iterative Algorithms, Assertions
Application of UML in Real-Time Embedded Systems
Application of UML in Real-Time Embedded Systems Aman Kaur King s College London, London, UK Email: [email protected] Rajeev Arora Mechanical Engineering Department, Invertis University, Invertis Village,
SERIES M: TELECOMMUNICATION MANAGEMENT, INCLUDING TMN AND NETWORK MAINTENANCE Integrated services digital networks
International Telecommunication Union ITU-T M.3705 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (03/2013) SERIES M: TELECOMMUNICATION MANAGEMENT, INCLUDING TMN AND NETWORK MAINTENANCE Integrated services
Software Requirement Specification
Software Requirement Specification Software Engineering 1 Requirements Analysis 1 As Marketing requested it. Software Engineering 2 Requirements Analysis 2 As Sales ordered it. Software Engineering 3 Requirements
How To - Implement Clientless Single Sign On Authentication in Single Active Directory Domain Controller Environment
How To - Implement Clientless Single Sign On Authentication in Single Active Directory Domain Controller Environment How To - Implement Clientless Single Sign On Authentication with Active Directory Applicable
Adapting C++ Exception Handling to an Extended COM Exception Model
Adapting C++ Exception Handling to an Extended COM Exception Model Bjørn Egil Hansen DNV AS, DT 990 Risk Management Software Palace House, 3 Cathedral Street, London SE1 9DE, UK [email protected]
User Requirements Document
Software Engineering Project (2IP40) Project Group 1 User Requirements Document version 1.0.0 (Approved), 16th June 2006 Project Team: Sven Bego 0550191 Roel Coset 0548132 Robert Leeuwestein 0546746 Maarten
Click DVDs. Just click to pick. CS4125 Systems Analysis and Design Chantelle Geoghegan - 0544981 Danielle Frawley- 0545511
Click DVDs Just click to pick CS4125 Systems Analysis and Design Chantelle Geoghegan - 0544981 Danielle Frawley- 0545511 BLANK MARKING SCHEME CS4125: Systems Analysis Assignment 1: Semester II, 2008-2009
Quotes from Object-Oriented Software Construction
Quotes from Object-Oriented Software Construction Bertrand Meyer Prentice-Hall, 1988 Preface, p. xiv We study the object-oriented approach as a set of principles, methods and tools which can be instrumental
Unit testing using Python nose
Unit testing using Python nose Luis Pedro Coelho On the web: http://luispedro.org On twitter: @luispedrocoelho European Molecular Biology Laboratory June 11, 2014 Luis Pedro Coelho ([email protected])
D6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013
D6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013 The purpose of these questions is to establish that the students understand the basic ideas that underpin the course. The answers
Unified University Inventory System (UUIS) Software Requirements Specifications
Unified University Inventory System (UUIS) Software Requirements Specifications Copyright COMP5541 Team III 2010 Authors Ahmed Daoudi David Zerkler Gay Hazan Isabelle Toutant Mariano Diaz René Toutant
SYSTEMS AND SOFTWARE REQUIREMENTS SPECIFICATION (SSRS) TEMPLATE. Version A.4, January 2014 FOREWORD DOCUMENT CONVENTIONS
SYSTEMS AND SOFTWARE REQUIREMENTS SPECIFICATION (SSRS) TEMPLATE Version A.4, January 2014 FOREWORD This document was written to provide software development projects with a template for generating a System
ALGORITHMS AND FLOWCHARTS. By Miss Reham Tufail
ALGORITHMS AND FLOWCHARTS By Miss Reham Tufail ALGORITHMS AND FLOWCHARTS A typical programming task can be divided into two phases: Problem solving phase produce an ordered sequence of steps that describe
Using the VMRC Plug-In: Startup, Invoking Methods, and Shutdown on page 4
Technical Note Using the VMRC API vcloud Director 1.5 With VMware vcloud Director, you can give users the ability to access virtual machine console functions from your web-based user interface. vcloud
PROG0101 Fundamentals of Programming PROG0101 FUNDAMENTALS OF PROGRAMMING. Chapter 3 Algorithms
PROG0101 FUNDAMENTALS OF PROGRAMMING Chapter 3 1 Introduction to A sequence of instructions. A procedure or formula for solving a problem. It was created mathematician, Mohammed ibn-musa al-khwarizmi.
How To - Implement Clientless Single Sign On Authentication with Active Directory
How To Implement Clientless Single Sign On in Single Active Directory Domain Controller Environment How To - Implement Clientless Single Sign On Authentication with Active Directory Applicable Version:
How To Design Software
The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program Last Time The design process and design methods Design strategies
GContracts Programming by Contract with Groovy. Andre Steingress
FÕ Ò ŃÔ PŎ ÑŇÒ P ÌM Œ PÑǾ PÒ PÕ Ñ Œ PŘÕ Ñ GContracts Programming by Contract with Groovy Andre Steingress Andre FÕ Ò ŃÔ PŎ ÑŇÒ P ÌM Œ PSteingress ÑǾ PÒ PÕ Ñ Œ PŘÕ Ñ Independent Software Dev @sternegross,
C#5.0 IN A NUTSHELL. Joseph O'REILLY. Albahari and Ben Albahari. Fifth Edition. Tokyo. Sebastopol. Beijing. Cambridge. Koln.
Koln C#5.0 IN A NUTSHELL Fifth Edition Joseph Albahari and Ben Albahari O'REILLY Beijing Cambridge Farnham Sebastopol Tokyo Table of Contents Preface xi 1. Introducing C# and the.net Framework 1 Object
Business Process Integration Methodology A study of RosettaNet
Business Process Integration Methodology A study of RosettaNet Joakim Bergelin Institutionen för Informatik Handelshögskolan Göteborgs Universitet Examens arbete II & I, 10 poäng, (IA7300) Vårterminen
Service Design: Using a GSRM Meta-Model. Ed Buchinski Treasury Board of Canada Secretariat UN/CEFACT TBG-19 Oct. 5 th, 2006
Service Design: Using a GSRM Meta-Model Ed Buchinski Treasury Board of Canada Secretariat UN/CEFACT TBG-19 Oct. 5 th, 2006 Questions Posed by Management How many programs and services do we have? What
A B C. Decomposition I Y
Software Development byevolution 3 Shaoying Liu Department of Computer Science Faculty of Information Sciences Hiroshima City University, Japan Email: [email protected] Introduction Software
MeasuringWebPerformanceintheWideArea 111CummingtonSt,Boston,MA2215 PaulBarfordandMarkCrovella ComputerScienceDepartment BostonUniversity fbarford,[email protected] BU-CS-99-4 April26,1999 andcontinuedgrowthmakethisadicultquestiontoanswer.wedescribethewideareaweb
Model-based Testing of Automotive Systems
Model-based Testing of Automotive Systems Eckard Bringmann and Andreas Krämer ICST 08 Presented by Julia Rubin on November 21, 2012 Multidisciplinary Business 2 Supply Chain of Components 3 Innovation
