scieee Open visual document viewer

A structured approach to software process modelling

Franch Gutiérrez, Javier,Ribó Balust, Josep Maria

Abstract

Systematic formulation of software process models (SPM) is currently a challenging problem in software engineering. We present an approach to define such models that encourages: reuse of both elements and models; modularity and incrementality in model construction; simplicity and naturality of the resulting model; and a high degree of concurrence in their enaction. We focus on model definition, distinguishing as usual its static and dynamic parts. We define the static part by means of formally defined hierarchies introducing the categories of elements that take part in SPM definition. Such hierarchies may be constructed and enlarged according to the requirements of any specific SPM. We present as an example a hierarchy for component programming that takes into account non-functional aspects of software (efficiency, etc.). The dynamic part of the SPM is defined by means of precedence relationships between tasks that take part in the model. These precedence relationships are represented with precedence graphs. Development strategies are defined by encapsulating new precedence relationships in modules, that can be combined and reused.

Full text

A S uc u ed App oach o So wa e P ocess Modelling1 Xa ie F anch anc [email p o ec ed]. es Uni e si a Poli ecnica de Ca alunya Jo di Gi ona 1-3,08034 Ba celona Ca alonia (Spain) FAX: 34-93-401 7014. Phone: 34-93-401 6965 Abs ac Sys ema ic o mula ion o so wa e p ocess models (SPM) is cu en ly a challenging p oblem in so wa e enginee ing. We p esen he e an app oach o de ine such models ha encou ages: euse o bo h elemen s and models; modula i y and inc emen ali y in model cons uc ion; simplici y and na u ali y o he esul ing model; and a high deg ee o concu ence in hei enac ion. In his pape we ocus on model de ini ion, dis inguishing as usual i s s a ic and dynamic pa s. We de ine he s a ic pa by means o o mally de ined hie a chies in oducing he ca ego ies o elemen s ha ake pa in SPA4 de ini ion. Such hie a chies may be cons uc ed and enla ged acco ding o he equi emen s o any speci ic SPh! We p esen as an example a hie a chy o componen p og amming ha akes in o accoun non- unc ional aspec s o so wa e (e iciency, e c). The dynamic pa l o he SPA4 is de ined by means o p ecedence ela ionships be ween asks ha ake pa in he model. These p ecedence ela ionships a e ep esen ed wi h p ecedence g aphs. De elopmen s a egies a e de ined by encapsula ing new p ecedence ela ionships in modules, ha can be combined and eused. 1. In oduc ion A model o a so wa e de elopmen p ocess [DWK97] (i.e., a so wa e p ocess model) is a desc ip ion o his p ocess exp essed in some p ocess modelling language. The p ocess can be iewed as he execu ion in a sui able o de o a se o asks (e.g., equi emen s elici a ion o module es ing) in ended o de elop some documen s (e.g., speci ica ion o es plan). These asks a e de eloped by some agen s (e.g., people o ha dwa e media) wi h he This wo k has been pa ially suppo ed by he Spanish p ojec TIC97-1158, om he CICYT p og am. Josep M. Rib6 j [email p o ec ed], es Uni e si a de Lleida P. Vic o Siu ana 1,25003 Lleida Ca alonia (Spain) FAX: 34-973-702062. PhLone: 34-973-702000 help o some ools (e.g., edi on o debugge s) and using some esou ces (e.g., da a bases o compu e ne wo ks). Hence, he de ini ion o a so wa e p ocess model mus s a e all he elemen s jus men ioned, and also he way in which his model mus be execu e (enac ed). This idea leads o he no ion o s a ic and dynamic pa s o a model. The s a ic pa is gi en by he desc ip ion o he asks, documen s, agen s, ools and esou ces ha ake pa in he so wa e p ocess model. On he o he hand, he dynamic pa consis s o a desc ip ion o he way in which so wa e is de eloped; so, i mainly ocuses in ques ions like wha and how mus be done o de elop a piece o he model. The sys ema ic desc ip ion o bo h pa s no only helps in unde s anding so wa e de elopmen , bu also makes easible he cons uc ion o sys ems o suppo ing au oma ion o he p ocess up o an accep able le el, cen e ed on he p ocess modelling language. Many di e en s app oaches o such sys ems cu en ly exis ; see [FKN94] o a sumey. Some o hem ha e d awn a special a en ion wi hin he scien i ic communi y, like EPOS [Con95], MERLIN [Jun95, RS971 o SPADE [BNF96], jus o name a ew o hem. Al hough hey suppo a lo o help ul p ope ies in so wa e de elopmen (e.g., p ocess e olu ion, e sioning, concu ency du ing enac ion and coope a ion among asks), hey seem o lack a leas pa ially in suppo ing he ollowing in e es ing ones: Modula i y in model cons uc ion, i.e., he abili y o build a model by combining se e al pa ial models using some ope a o s. A,l hough he e a e some p oposals in his sense ( ema kably [Ch 94]), mos o he epo ed en i onmen s seem no o suppo i . Modula i y a he p ocess model is as impo an as a he p oduc le el, aiding ai building, unde s anding, main aining and eusing so wa e models. 753 1089-6503198 $10.00 0 1998 IEEE Simplici y in bo h he p ocess o model cons uc ion and also he desc ip ion o he esul ing model. This p ope y is no easily achie ed in he sys ems we ha e s udied so a , as we can see in he case s udies appea ing in [FKN94] and also [ABEL97]. Simplici y is a basic p ope y in o de o make hese app oaches use ul o so wa e eams de eloping eal applica ions. Fo malisa ion o he elemen s aking pa in he so wa e p ocess models, and also o he no ion o co ec ness o a model enac ion. The exis ence o such o mal basis would p o ide a well-es ablished ounda ion o eason abou model enac ion. In his pape , we p esen a p ocess model language aimed a suppo ing hese p ope ies. The language is he ke nel o ou PROMENADE app oach (PROcess-o ien ed Modelliza ion and ENAc ion o so wa e DE elopmen s), cu en ly in p og ess. Conce ning he s a ic pa , we desc ibe p ocess elemen s by means o OOZE [AG91] classes, which p o ides a modula and o mal desc ip ion; simplici y is added by p o iding a g aphical no a ion o desc ibe class ela ionships. Abou he dynamic pa , we o mula e ou app oach by es ablishing p ecedence ela ionships be ween asks, and by de ining encapsula ion mechanisms ha enhance modula i y; also, we p o ide he no ion o co ec ness o a so wa e de elopmen wi h espec o a so wa e model. The p oposal elies on a p e ious pape [FR97], which in oduced he basis o he cu en dynamic pa , bu which lacked om a p oposal o he s a ic one. Al hough we can conside his classi ica ion enough o s a so wa e p ocess models de ini ion, we plan o p o ide many de aul hie a chies o di e en de elopmen con ex s. In his pape , we will ake as case s udy a hie a chy o dealing wi h componen p og amming (CP-hie a chy o sho ). New elemen s de ined in e ms o classes can be added a a ce ain place o he hie a chy. The de ini ion o a new elemen in ol es he de ini ion o he a ibu es ha e e y ins ance o he elemen mus possess, he ope a ions ha may be applied o an ins ance o he elemen and he equi emen s ha mus hold in all he ins ances o he elemen (in a ian o an elemen ). Using he hie a chy helps in achie ing eusabili y du ing so wa e p ocess modelling: any pa o he hie a chy is always a ailable in he de ini ion o new models. As men ioned abo e, and since one o ou goals is o p o ide a o mal amewo k o so wa e p ocess de ini ion, i becomes essen ial o speci y o mally he elemen s ha ake pa in model de ini ion. We use he OOZE [AG91] o malism o do so. OOZE combines he widesp ead Z no a ion wi h some s uc u ing mechanisms and, in pa icula , inhe i ance. So, he hie a chy d awn abo e can be in e ed om OOZE classes. We plan o use he hie a chy as an ex e nal language o so wa e p ocess enginee s and o documen a ion pu poses oo. Models desc ibed wi h OOZE ha e a well-de ined o mal meaning, which helps in de e mining he seman ics o so wa e p ocesses. As an example, we a e going o de elop in mo e de ail he pa o he hie a chy conce ning documen s and asks. 2. The S a ic Pa 2.1. Documen s The s a ic pa o he language is de ined upon a hie a chy in eg a ing all he i ems in ol ed in so wa e de elopmen : Documen s, Tasks, Tools, Agen s and Resou ces; also, we include a Domain class de ining some auxilia y concep s (s ing, da e, e c., and also many domain-speci ic ones). These i ems a e encapsula ed and de ined o mally h ough classes o ganised as a hie a chy. These classes ac as classi ica ion c i e ia o o he elemen s, in oducing some a ibu es and ope a ions ha a e inhe i ed by hei hei s. As shown in ig. 1, hey a e in u n hei s o he Type class, which is he oo o he hie a chy. We use a plain a ow o ep esen inhe i ance. Documen Agen Task Tool Resou ce Domain Fig. 1 : The uppe le els o he s a ic hie a chy. The ca ego y o documen s, known as such o being hei s o he Documen class, de ines he a i ac s p oduced du ing so wa e de elopmen . Fo ins ance, some signi ican documen s a e (see ig. 2): SpecDoc, compounded o FspecDoc, ha con ains he unc ional speci ica ion o a componen and NFSpecDoc, o i s non- unc ional speci ica ion; ImplBehDoc, compounded o ImplDoc and BehDoc, o unc ional and non- unc ional pa s o implemen a ions, espec i ely; Tes Doc, o model he es s ha a e o be pe o med on some documen (and ha a e compounded o he es code, Tes plan, and he es esul s, kep in A alDoc). The Componen i sel would be ano he example o a composi e documen since i is a p oduc o he p ocess o so wa e de elopmen ha con ains o he kind o documen s as a ibu es. This ca ego y also includes o he a i ac s as Wo kspace, ha keeps he en i onmen o an agen a a gi en ins an , SpecLib (a lib a y o s o ing speci ica ions) and 754 Documen Wo kspace Lib a y Componen Tes Doc Tes Plan A alDoc SpecDoc ImplBehDoc A Fig. 2: The pa o he CP-hie a chy conce ning documen s (only inhe i ance elai ionship is depic ed). ImplLib (ano he one o s o ing implemen a ion documen s). Apa om he inhe i ance ela ionships depic ed in ig. 2, o he kind o ela ionships ( o ins ance, pa -o and consis s-oA which1 a e one in e se o he o he ) apply o documen classes. We will p esen hese ela ionships a he ime hey a e needed. 2.1.1 The Documen class Documen is de ined wi h he ollowing a ibu es: he documen iden i ie , lhe da es o c ea ion and las upda e on ha documen (c ea ion, upda e), he documen s a us (which may be no Comple e, comple e and checked) and, inally, he documen 's owne . Documen is he supe class o all documen ypes and i is speci ied in ig. 3. Class Documen < Type iden i ie : S ing c ea ion, upda e: Da e s a us: S a Doc owne : Agen id?: S ing da ?: Da e own?: Agen ii--------- iden i ie '=id? upda e'=da ? A c ea ion'=da ? s a us'=no Comple e owne '=own? This speci ica ion con ains; some classes (like S ing and Da e) ha a e de ined in he Domain subhie a chy. He ea e , ope a ions o con olled a ibu e modi ica ion and selec ion a e no shown. 2.1.2 The Componen class The Documen subclass Com,ponen is de ined wi h he ollowing a ibu es: he speci ica ion documen (spdoc), ha con ains he unc ional and non- unc ional speci ica ion o ha componen ; and he implemen a ion and beha iou documen (ibdoc), which con ains bo h he componen implemen a ion and he non- unc ional beha iou o ha implemen a ion. No ice ha he a ibu es iden ijie , c ea ion, upda e, s a us and owne a e inhe i ed om he class Documen . The speci ica ion o Componen class in OOZE is gi en in ig. 4. One ema kable aspec o his speci ica ion is he class in a ian which s a es ha he s a us o a componen is checked i and only i he s a us o all he documen s i is coimpounded o a e checked; his p ope y will be usual in compounded documen s. Also, we s a e ha i bo h documen s a e inished, he las upda e o he implemen a ion mus be g ea e o equal han speci ica ion's one. The de ini ion o Componen as a union o a ious documen s b ings up he opic o he exis ence o o he kind o ela ionships be ween classes. A new kind o ela ionship be ween classes may be in oduced in his case: he consis s-o ela ionship. We say ha a class A consis s o classes Cl, ..., Cn i and only i A can be de ined as he Ca esian p oduc o CI, ..., Cn, i.e., A = (CI x C2 x ... x Cn). We iden i y a consis s-o ela ionship be ween he classes SpecDoc, ImplBehDoc and he class Componen (a Componen consis s-o a SpecDoc and a ImplBehDoc). Fig. 3: The class Documen 755 - Class Componen < Documen -- S a e spdoc: SpecDoc ibdoc: ImplBehDoc S a us=checked a (spdoc.s a us=checked A ibdoc.s a us=checked) S a us=checked 3 spdoc.upda e I ibdoc.upda e ( he isola e upda e e e ence is applied o he cu en class, FSpecDoc in his case). The class Tes Doc and i s hei s a e p esen ed nex . -- S a e spec: Speci ica ion limpo : seq S ing es docs: seq Tes DocFS S a us=checked e (V d: Tes DocFS I ddes docs d.a ald.success= ue A d.a ald.upda e < upda e) ~ Fig. 4: The class Componen 2.1.3 The classes o speci ica ions SpecDoc consis s-o he unc ional (FSpecDoc) and non- unc ional speci ica ion (NFSpecDoc) o a componen . I s speci ica ion is simila o he one o Componen and i is no shown. The FSpecDoc documen is de ined wi h he ollowing a ibu es: spec ( he unc ional speci ica ion o a componen exp essed in some o malism); limpo (a lis con aining he unc ional speci ica ion documen s ha mus be impo ed in o de o comple e his one); and es docs (which con ains a lis wi h all he es cases o he e i ica ion o he unc ional speci ica ion documen along wi h he esul s o each es ). We a e no choosing he e a pa icula o malism o he speci ica ion; di e en componen s may be speci ied in a di e en way. Speci ica ion s yles may come in o exis ence jus de ining hei cha ac e isa ion by means o new OOZE classes decla ed as hei o he speci ica ion one. The speci ica ion o FSpecDoc documen in OOZE is gi en in ig. 5. The class in a ian es ablishes ha FSpecDoc will be conside ed o be checked only a e all es s planed o be un on i ha e inished success ully and hey ha e been execu ed wi h he cu en e sion o he speci ica ion, which is checked using he las upda e da e The class NFSpecDoc is de ined in a simila way. Also, implemen a ions wo k he same way as speci ica ions do and a e no shown he e. 2.1.4 The Tes Doc class This is he class ha pe o ms some kind o es (including bo h he es code and he es esul s) on he di e en documen s (namely FSpecDoc, NFSpecDoc, ImplDoc and BehDoc). We conside a di e en kind o Tes Doc class o each class o documen (i.e. Tes DocFS o es ing FSpecDoc classes; Tes DocNFS o es ing NFSpecDoc classes ...). Hence we need o enla ge he ype hie a chy o ig. 2 by making hese new classes hei s o Tes Doc. Le us p esen , as example, he class Tes DocFS. The a ibu es o his class a e he ollowing: es eddoc ( he documen which is being es ed), es pl ( he es code) and a uld ( he documen con aining he esul o such es ). Fig. 6 con ains a speci ica ion o his class wi h he usual class in a ian in ol ing s a us and da es. Tes classes in oduce ano he kind o ela ionship: is- es ed-in. We say, o ins ance, ha a FSpecDoc is- es ed-in a Tes DocFS. Unlike he ones p esen ed up o now, his is a use -de ined ela ionship, local jus o a pa o he hie a chy. These new ela ionships may be la e used in he dynamic pa o he model. On he o he hand, he consis s-o ela ionship may also be applied he e since each kind o Tes Doc class consis s-o a Tes Plan and an A ulDoc. 756 - Class Tes DocFS < Tes Doc - S a e - es eddoc: FSpecDoc es pl: Tes F'lanFS a ald: A alDocFS S a us=check.ed e ( es pl.s a us=checked A a ald.s a us=checked) S a us=checked = es phpda e I a ald.upda e ..ini and o he ope a ions Fig. 6: The class Tes DocFS 2.1.5 The classes ai lib a ies The class Lib a y is mean o s o e de eloped documen s. Hence i will only con ain documen s wi h a checked s a us. In he de aul CP-hie a chy, we conside jus wo kinds o lib a ies (al hough i can be wo hy o de ine o he ones): SpecLib, o s o e speci ica ion documen s and ImplLib, o s o e implemen a ion documen s; no e ha es s a e pa o hese documen s. Ano he kind o ela ionship be ween classes ises wi h lib a ies: is-s o ed-in. Fo ins ance, a SpecDoc is-s o ed- in a SpecLib, while a ImplDoc is-s o ed-in an ImplLib. We s o e in he co esponding lib a y he SpecDoc as a whole (i is no allowed o s o e only he FSpecDoc o he NFSpecDoc o a gi en componen ). Fig. 7 shows he speci ica ion o SpecLib a y class. The wo class in a ian s s a e, espec i ely, ha all he documen s con ained in he lib a y a e in a checked s a us and ha a lib a y is sel -con ained (i.e. all he documen s impo ed by a documen s o ed in he lib a y mus be also s o ed in he lib a y). No e also ha he in a ian allows he s o ed e sion o he speci ica ion no o be he las one. 2.1.6 The Wo kspuce class The Wo kspace class ep esen s a documen eposi o y compounded o hose documen s ha a e isible o an agen a a gi en ins an . This includes some documen s aken om some lib a y and some o he documen s which a e being cons imc ed. The ela ionship be ween classes is-s o ed-in may also apply he e. Bu in his case i is no compulso y o s o e in he wo kspace he pai o speci ica ion (o implemen a ion) documen s, because documen s may be incomple e in he wo kspace. The OOZE speci ica ion is s aigh o wa d and WI: do no include i he e. Class SpecLib < Lib a y S a e SI: seq SpecDoc - Vd: SpecDoc I d E SI 0 d.s a us=checked Vd: SpecDoc I d E sl 0 (Vd': SpecDoc 1 cl ' E d.limpo d' E SI) .. ini and o he ope a ions; Fig. 7: The class SpecLib a y 2.2. Tasks A ask ep esen s an ac ion ha mus be pe o med in he p ocess o so wa e de elopmen . I may be a composi e ac ion, which, in u n, will be decomposed in mo e simple asks called sub asks, o an a omic one. Since he so wa e p ocess model we p opose is mos ly ask-o ien ed, ask elemen s ha e a majo impo ance in i . We de ine asks as classes in he ype- hie a chy. Tasks a e speci ied by means o OOZE classes which a ibu es ep esen he pa ame e s o he ask. An addi ional pa ame e keeps ack, a enac ion ime, o he ask's sub asks ha ha e been execu ed. The class is also p o ided wi h wo me hods, named espec i ely begin and end ha a e called a he s a ing and end ins an s o he ask execu ion. Bo h me hods pe o m e e y hing needed o keep he consis ency o he ask (e.g. begin pu s he ask s a us o ache, ini alizes some ask pa ame e s, e c.; end calcula es he success condi ion o he ask, pu s he ask s a us o comple e, e c.). The issue o how o ge he unc ionali y o he ask (i.e. in which way we desc ibe he ac ions o be unde aken in o de o ge he ask goals) is he main ma e o he dynamic pa o he model, de eloped in he nex sec ion. We p esen in ig. 8 and 9 wo exemples o ask speci ica ion: he class Task which ac s as supe class o all asks, and Tes FSpec, which pe o ms he es o a unc ional speci ica ion docu nen ) wi h espec o some es plan. The pa ame e s o his las ask a e he FSpecDoc (see ig. 5) we wan o es and he Tes Doc (in his case Tes DocFs, see ig. 6) used o pe o m his es . A he beginning, he link be ween he speci ica ion documen and he es s is c ea ed. A he end, he success condi ion o he ask, success I, e alua es o ue i all he single es s which is compounded o ha e been execu ed 757 success ully. We call SingleTes FSpec he class o asks ha pe o ms a single es on a unc ional speci ica ion documen ; we conside ha each o hese asks includes a es plan, a es esul and success condi ion. Finally we s a e ha he es esul s s o ed in he e alua ion documen a e exac ly hose p oduced by he applica ion o SingleTes FSpec asks on he ac ual ins ance o FSpecDoc. sb?: P Task s a us’=idle sub asks ’ =sb? - Class Task < Type s a us’= comple e -- S a e s a us: S a Task success: Boo1 sub asks: P Task execu ed: seq Task an execu ed c sub asks s a us = comple e an execu ed = sub asks Fig. 8: The class Task 3. The Dynamic Pa The dynamic pa o he model s a es (1) wha mus be done du ing model enac ion (i.e. wha asks a e o be execu ed), and (2) wha cons ain s a e o be applied in such enac ion (i.e. wha p ecedences in ask execu ionmus be sa is ied). We ely on ask decomposi ion in o de o s a e wha a ask mus do (i.e. wha sub asks a e in ol ed in i s execu ion) and we de ine p ecedence ela ionships be ween asks in o de o es ablish p ecedence cons ain s in ol ing ask enac ion - Class Tes FSpec < Task - S a e - specld: FSpecDoc : es : Tes DocFs -- begin specdoc?: FSpecDoc es p?: Tes PlanFS specld’ = specdoc? es ’. es pl= es p? es ’. es eddoc= specdoc? specld’.s a us=comple e __ end - success’= (Vp: Code I p E es . es p1.specbody (3 pa : SingleTes FSpec pa E execu ed A pa .plan=p A pa .success= ue)) V : Resul E es .a ald’.l esul s e (3 pa : SingleTes FSpec I pa E execu ed ( pa . esul = A pa .success= ue)) specld’.s a us=checked e success’= ue Fig. 9: The class Tes FSpec 3.1. P ecedence ela ionships P ecedence ela ionships be ween asks s a e he equi emen s ha mus be sa is ied in o de o be able o s a he execu ion o a ask. These equi emen s a e es ablished in e ms o he asks whose execu ion mus ha e inished success ully in o de o s a he execu ion o a gi en ask. Mo e p ecisely, we say ha he e is a p ecedence ela ionship om ask A o ask B (A 3 B) i a equi emen needed in o de o ini ia e ask B is ha ask A has been comple ed success ully (i.e. wi h success condi ion e alua ing o ue). 758 / Tes Fspec(sp. spec) Tes NFspec(sp.n spec) 1 / S o e(speclib, sp) IFig. 10: A possible p ecedence g aph o de eloping speci ica ions. We can ep esen p ecedence ela ionships be ween asks by means o p ecedence g aphs, being hei nodes asks, and hei edges p ecedences. Fig. 10 p esen s a p ecedence g aph o de eloping a speci ica ion wi h unc ional and non- unc ional pa s. We use asks o de ining he ope a ions o he componen , o c ea e bo h pa s, o design es s o hem, o ca ying he es s ou and o s o ing he wo pa s in he speci ica ion lib a y as a whole. No e ha asks appea pa ame e ised, using he a ibu es in oduced in he in ol ed classes. This example g aph is a de aul one in PROMENADE, and i could be in e ed om some ela ionships s a ed a he s a ic le el, mainly ha ing o do wi h da es and success condi ions. I is impo an o no ice ha by desc ibing asks using p ecedence ela ionships we s a e all he in e ac ions ha mus be obse ed be ween asks du ing model enac ion. Apa om hose in e ac ions, he p ocess engine is ee o selec any o he execu ion o de among no ela ed asks. This imp o es he concu ency o model enac ion. 3.2. De elopmen s a egies Gi en he modelisa ion o p ecedence ela ionships using g aphs, we can conside a de elopmen s a egy as a se o new edges binding nodes o hese g aphs. Some imes, edges will ela e asks (nodes) in he same g aph, o say hings like “ he unc ional speci ica ion o a componen mus be de eloped be o e he non- unc ional one”; howe e , in he gene al case, edges will in ol e asks appea ing in g aphs bound o di e en modules, as in “i is necessa y o speci y all he componen s impo ed by a componen M be o e any implemen a ion o A4 is buil ”. Se s o ela ed ules a e encapsula ed in s a egy modules. Fo ins ance, we show in ig. 11 h ee di e en s a egy modules ha add edges o he g aph p esen ed in ig. IO. The i s one o ces he inaliza ion o he unc ional speci ica ion be o e s a ing he non- unc ional one. The second oine implemen s he idea o bo om-up speci ica ion, saying ha impo ed speci ica ions mus be inished be o e s a ing new ones. Las , a new s a egy can be s a ed jus by combining he p e ious ones. s a egy FUNCTIONAL-BEFORE-NON-FUNCTIONAL sp: SpecDoc Fspeci y(sp. spec) -> N speci y(sp.n spec) end module s a egy BOTTOM-UP-SPECIFICATION sp, Z: SpecDoc o all Z in sp. spec.limpo : Fspeci y(Z. spec) -> Fspeci y(sp. spec), NFspeci y(Z.n spec) -> NFspeci y(sp.n spec) NFspeci y(sp.n spec) end module combines BOTTOM-UP-SPECIFICATION, FUNCTIONAL~BEFORE~I’JO“CTI0NAL end module Fig. 11 : Some s a egies o speci ica ion de elopmen . 3.3 Modula p ocess cons uc ion In PROMENADE, model de ini ion is in ended o allow so wa e p ocess model conslmc ion in a modula and inc emen al way. One pa o his modula cons uc ion 759 o models elies on he eusabili y and ex ensibili y o he hie a chy con aining he s a ic elemen s o he model. The o he , and mo e undamen al pa , deals wi h he p ocess o ask desc ip ion. Tasks play he ole o uling p ocess de elopmen by appliying s a egies. Cons uc ing a so wa e p ocess model in a modula way consis s in selec ing wi hin a s a egy lib a y hose ones wi h he equi ed unc ionali y and combining hem wi h some sui able p ecedence ela ionships in o de o build a desc ip ion g aph o he model. This will de ine he model s a egy. Following his p ocess, i is possible o combine many pa ial models o o m he inal one. These combina ion may be o wo kinds. On he one hand, we can build p ecedence g aphs o a subse o so wa e documen s (speci ica ions, lib a ies, wo king con ex , e c.) by adding new p ecedences o an ini ial g aph, by joining wo g aphs wi h he same nodes, e c. On he o he hand, we can jus pu oge he some o hese g aphs o ob ain a new one co e ing mo e documen s (i.e., dealing wi h mo e so wa e de elopmen s ages); o ins ance, we can pu oge he he g aph o ig. 10 wi h o he conce ning implemen a ion cons uc ion, o ob ain a g aph co e ing he whole componen de elopmen p ocess. The esul ing g aphs, i con enien , may be in u n, s o ed in a lib a y o u u e euse. 3.4. Co ec ness conce ns Using he p ecedence g aphs and also he success condi ions s a ed in he s a ic pa o he model, i is possible o o mula e some co ec ness condi ions, bo h conce ning he model i sel and also conce ning a pa icula de elopmen p ocess wi h espec o a model. This issue has been ou lined in [FR97] and has been e ined by inco po a ing he idea o h ee dimensional g aphs, in which an axis co esponds o p ecedence ela ionships and he o he o ask decomposi ion. Ano he poin conce ning he co ec ness is he ma ching be ween he s a ic and he dynamic pa s o he model. Ob iously, p ecedence ela ionships be ween asks and decomposi ion o elemen s in o smalle pa s mus ag ee. We a e cu en ly wo king on he cha ac e iza ion o his ma ching. hink a e no cu en ly o ally co e ed in he ield. The PROMENADE app oach plays a pa in a mo e ambi ious sys em called ComE' oLab [FBBR97] de ined o suppo many di e en aspec s o componen p og amming, In ou p oposal, he language consis s o s a ic and dynamic pa s. Conce ning he s a ic pa , we use a hie a chy o in oduce so wa e p ocess elemen s (documen s, asks, e c.), which a e encapsula ed using OOZE classes and hus p o ided o a clea seman ics. Wi h espec o he dynamic pa , we use p ecedence g aphs as he unde lying model o ask enac ion o de ing, and we allow he de ini ion o de elopmen s a egies using modules ha can be eused and combined. We can classi y and e alua e he adequacy o ou app oach wi h espec o he aspec s p oposed by Con adi and o he s in [CLJ91]. We pu a s a (*) on hose issues s ill no co e ed bu jus planned o: Basic p ocess model appa a us: P ecedence ela ionships be ween asks modelled by p ecedence g aphs. S a ic pa co e ed by class hie a chies. Co e age o p ocess en i ies: p oduc s, ac i i ies, ools, agen s, oles and esou ces. Ou app oach is, howe e , ac i i y-o ien ed. * Co e age o so wa e p ocess li e-cycle: All s eps can be modelled in ou app oach, including speci ica ion o so wa e a ibu es (non- unc ional speci ica ion). Task s uc u ing: We p esen a ully ask s uc u ing by means o ask abs ac ion. Type s uc u ing: Yes, in an objec -o ien ed way. We de ine a de aul hie a chy o ypes ha may be ex ended on demand. (*) Cus omiza ion and e olu ion o he p ocess model: I will be allowed by using me a- ypes. *Concu ence: Suppo ed by he ac ha jus p ecedence ela ionships a oid concu en enac ion o asks. (*) Con igu a ion managemen : A usual e sioning sys em will be p o ided. We hink ha he mos in e es ing poin s o ou app oach a e: Moaulu i y/ eusabiZi yli y: PROMENADE o e s he possibili y o eusing agmen s o exis ing models unde an objec -o ien ed app oach. Hence, in o de o build a new model i is possible o euse asks, documen s, oles and any o he elemen p e iously gene a ed o cons uc some o he model, which makes he p ocess o model cons uc ion much mo e simple. PROMENADE sha es his ea u e wi h some o he sys ems like EPOS and E3. 4. Conclusions and u u e wo k We ha e p esen ed he p ocess modelling language o he PROMENADE app oach. This language add esses o many in e es ing p ope ies a he p ocess le el which we 760 On he o he hand, some well-known sys ems like SPADE, ADELE o IMERLIN lack his p ope y o , a leas , i is no shown explici ly how o ge i in he e ised li e a u e. Wha is new in PROMENADE wi h espec o he e ised sys ems is i s explici abili y o cons uc ing in a modula manne new models adding some s a egies o exis ing ones. These s a egies a e encapsula ed in wha we call s a egy modules, which a e p esen ed b ie ly in sec ion 3.2 and in mo e de ail in [FR97]. Simplici y/comp, ehensibili y; PROMENADE seems o acili a e he gene a ion o so wa e p ocess models (SPMs) in an in ui i e and qui e simple way by means o a g aphical ep esen a ion ( ha will be ansla ed in o a o mally de ined language, which is cu en ly being de ined). This g aphical ep esen a ion is based on de ining hie a chies o en i ies ( o he s a ic pa ) and new asks by means o s a ing he p ecedence ela ionships ha mus hold be ween some o he asks ( o he dynamic one). On he o he hand, once he SPM has been cons uc ed, p ecedence g aphs make i qui e comp ehensible. P ecedence g aphs (i.e. diag ams which depic s he p ecedence ela ionships be ween ac i i ies) a e c ucial in o de o unde s and he whole p ocess o so wa e de elopmen . Cu iously enough, mos o he P ocess-cen e ed So ih a e Enginee ing En i onmen s (PSEEs) we ha e explo ed do no use his kind o diag ams. Two aspec s ha also help in he achie emen o simplici y a e he objec -o ien ed app oach we unde ake and he high le el cons uc s we p o ide o ou sys em. Unlike o he PSEEs, like SPADE o APPLiA, we do no equi e he so wa e enginee o explain how he SPM will be enac ed (which is usually a c ip ic ma e ) bu ins ead, wha mus be done in o de o de elop so wa e, which is clea ly wha he so wa e enginee knows (and wha heishe is in e es ed in modelling). Al hough he simplici y p ope y should be a e y impo an one o PSEEs, mos o hem ail (a leas o some ex en ) in achie ing i 2. SPADE and APPLiA a e di ec ly enac able PSEEs ha ge a ema kable pe o mance in model enac ion. Since hey achie e ha pe o mance on he basis o a low le el cons uc ion, we hink ha SPM w i en in hese sys ems (specially in SPADE) a e di icul o w i e, di icul o ead and di icul o unde s and. MERLIN and EPOS a e high le el PSEEs, bu in ou opinion, i is di icul o ge wi h hem ully comp ehensible models: he esul ing model Al hough in some cases i is possible ha he complexi y o he model is a consequence o he inhe en complexi y o he p oblems ha a e o be sol ed. in MERLIN is wo king-con ex -o ien ed which makes i di icul o g asp he whole de elopmen p ocess model. In EPOS he ask sequence o be execu ed in he esul ing SPM is no ob ious amd he ad an age o using an AI planne is no clea . Finally, E3 p o ides simplici y on he basis o a wide ange o diag ams (including p ecedence ones), an objec -o ien ed app oach and high le el cons uc s. This leads lo a e y comp ehensible model bu wi h qui e simplis ic cons uc s. Di ec enac abili y: The e is a usual co ela ion be ween he le el o he cons uc s o e ed by he sys em in o de o gene a e a SPM and he enac abili y o he esul ing model. Fo ins ance, di ec ly enac able sys ems like APPLIA and SPADE o e qui e low le el cons uc s. On he o he haind, sys ems like E3 and MERLIN, by a mo e high-le el sys ems, canno be enac ed di ec ly; hey need a ansla ion in o a lowe le el language. PROMENADE achie es a lbalance be ween he le el o he language o c ea e he model (which is clea ly high le el) and he SPM enac abilii y, since a PROMENADE SPM is di ec ly enac able by he applica ion o he algo i hm desc ibed in [FR97]. Concu en model enac ion: No only o e s PROMENADE an enac able SPM bu also a e y na u al concu en model based on a imul iagen app oach (each agen is esponsible o execu ing some asks) wi h he es ic ions imposed by he p ecedence ela ionships be ween asks. We a e cun en ly wo king on hese enac ion aspec s. An o e iew o hem may be ound in [FR97]. Concu en models o e ed by some o he PSEEs need synch oniza ion be ween asks ( he case o APPLIA since i uses Ada asks). In o he cases (as SPADE) he concu en model is based on ,a o mal mechanism (Pe i ne s). This leads o a e y e icien bu low le el app oach. In some o he cases o no di ec ly enac able models (MERLIN, E3), he concu ence o he inal enac able model is no epo ed. I is impo an o say ha , unlike o he sys ems like ADELE o MERLIN, we do no deal, o he momen , wi h concu en accesses o documen s, which is a e y impo an esea ch a ea. Fo mali y: This is one o he sho comings o mos PSEEs, o only a ew o hem a e cons uc ed on he basis o a o mal app oach. One o he goals o PROMENADE is o de ine a SPM es ablished on some o mal basis. This will allow he comple e unde s anding o he speci ica ion o he elemen s (classes and ela ions) ha ake pa in model de ini ion; he igo ous de ini ion o he mechanism o model enac ion; he es ablishmen o he co ec ness o a 761