scieee Science in your language
[en] (orig)

A structured approach to software process modelling

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.

Read accessible full text

A structured approach to software process modelling

Author: Franch Gutiérrez, Javier,Ribó Balust, Josep Maria
Publisher: Institute of Electrical and Electronics Engineers (IEEE)
Year: 1998
DOI: 10.1109/EURMIC.1998.708098
Source: https://upcommons.upc.edu/bitstream/2117/166849/1/00708098.pdf
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