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