Академический Документы
Профессиональный Документы
Культура Документы
STEF ANI
Universidade Federal de Minas Gerais Instituto de Cincias Exatas Programa de Ps-Graduao em Cincia da Computao
hisserto presentd o gurso de sE qrduo em gini d gomputo d niversidde pederl de wins qeris omo requisito pril pr oteno do gru de westre em gini d gomputoF
esumo
y modelo de wquin de istdo estrt @ew E estrt tte whine A vem sendo mplmente utilizdo pr espei(o forml de diversos tipos de sistems devido o seu lto gru de stro e rigor mtemtioD o que filit ompreender o sistem modeldo e veri(r formlmente sus proprieddesF odeEse utilizr um lingugem sed no modelo ew pr esrever um espei(o em lto nvelD onheid omo wodelo fsioD e posteriormente sumetEl um proesso de trnsformo sedo no wtodo de e(nmento ew pr oter implemento vlidd e veri(dF y prinipl ojetivo do trlho wtodo de e(nmento wh @wwA propor %n um mtodo de espei(o em lto nvel que represente spetos de ew e om possiilidde de vlidr e veri(r o modelo onstrudo independente d implementE oF y proesso de re(nmento permite oterD utomtimenteD o digo exeutvel em wh e relizr veri(o utilizndo ferrment xuwF essimD podeEse %n veri(r utomtimente implemento de ordo om espei(oF
estrt
he estrt tte whine @ewA hs een used s lnguge for forml spei(tion to vrious systems due to the high level of strtion nd the mthemtil rigorF st filittes to understnd the modeled system nd to formlly verify propertiesF sing n ew lngugeD is possile to mke high level spei(tionD lled qround wodelD to e trnsformedD sed on he ew e(nement wethodD in n exeutle odeD vlidted nd veri(edF he min gol of he wh e(nement wethod is to propose high level speiE %n (tion method tht represents spets of ew with the possiility to vlidte nd to verify the uilded model independent of the implementtionF he re(nement proess utomtilly genertes the exeutle wh ode nd to rry through the veri(E %n tion using the xuw toolF husD the implementtion n e utomtilly veri(ed in ordne with the spei(tionF
iii
egrdeimentos
egrdeo os meus pisD stlo e wri do grmoD pelo poio e rinhoY o professor figonh pel on(nY os migos do vv pel ompnhiD e vind pelo rinhoD ompreensoD poio e toridF
umrio
I sntroduo
IFI IFP IFQ IFR wtodo de e(nmento F F F F F F F F F F F F F F F F F F F F F F F F F F istdo d erte F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F yjetivos do rlho F F F F F F F F F F F F F F F F F F F F F F F F F F F yrgnizo heste exto F F F F F F F F F F F F F F F F F F F F F F F F F F
I
I R S V
P wodelo porml ew
PFI wquin de istdo estrt F F F F F F F F F F F F F F F F F F F F F F F F PFIFI PFIFP PFIFQ PFIFR PFIFS PFIFT PFIFU PFP PFPFI PFPFP PFPFQ PFPFR PFQ PFQFI PFQFP PFQFQ PFQFR PFQFS PFQFT PFQFU PFQFV egrs fsis F F F F F F F F F F F F F F F F F F F F F F F F F F F ispei(o ew F F F F F F F F F F F F F F F F F F F F F F F F F egrs evnds F F F F F F F F F F F F F F F F F F F F F F F F F F ixemploX istem yperionl F F F F F F F F F F F F F F F F F F ew wultigentes F F F F F F F F F F F F F F F F F F F F F F F F F wquin de istdo pinit F F F F F F F F F F F F F F F F F F F F F gonluses F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F wodelo fsio F F F F F F F F F F F F F F F F F F F F F F F F F F F F ipos de e(nmento F F F F F F F F F F F F F F F F F F F F F F F y roesso F F F F F F F F F F F F F F F F F F F F F F F F F F F F F eplio do wtodo de e(nmento ew F F F F F F F F F F F F wdulos de rogrm F F F F F F F F F F F F F F F F F F F F F F F egr de trnsio F F F F F F F F F F F F F F F F F F F F F F F F F wenismos de isiilidde F F F F F F F F F F F F F F F F F F F F snterfes de egentes F F F F F F F F F F F F F F F F F F F F F F F F he(nies de wh %n F F F F F F F F F F F F F F F F F F F F F F F ees F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F gomunio entre egentes F F F F F F F F F F F F F F F F F F F F ixemploX westreEisrvo F F F F F F F F F F F F F F F F F F F F F vii
W
W II II IP IR IS IU IW IW PP PS PU PV PW QH QI QP QR QS QT QU QW
wtodo de e(nmento ew F F F F F F F F F F F F F F F F F F F F F F F
e vingugem wh %n F F F F F F F F F F F F F F F F F F F F F F F F F F F
PFQFW PFR
ixemploX rodutorEgonsumidor F F F F F F F F F F F F F F F F F F
RR RU SH
Q wtodo de e(nmento wh %n
QFI vingugem de wodelgem wh %n F F F F F F F F F F F F F F F F F F F F QFIFI QFIFP QFIFQ hesrio extul F F F F F F F F F F F F F F F F F F F F F F F F F F ipo estrto de hdos F F F F F F F F F F F F F F F F F F F F F F higrm de rnsio de istdos F F F F F F F F F F F F F F F F QFIFQFI QFIFQFP QFIFQFQ QFIFQFR QFIFQFS QFIFQFT QFIFQFU QFIFQFV QFIFQFW QFIFR QFIFRFI QFIFRFP QFIFS QFIFT QFIFU QFP QFPFI QFPFP QFPFQ QFQ QFQFI QFQFP QFQFQ QFQFR istdos F F F F F F F F F F F F F F F F F F F F F F F F F F istdo snterno F F F F F F F F F F F F F F F F F F F F F F rnsies F F F F F F F F F F F F F F F F F F F F F F F F F ees de trnsio F F F F F F F F F F F F F F F F F F F F gondies F F F F F F F F F F F F F F F F F F F F F F F F F etividdes F F F F F F F F F F F F F F F F F F F F F F F F F istdo iniil F F F F F F F F F F F F F F F F F F F F F F F istdo (nl F F F F F F F F F F F F F F F F F F F F F F F F gontrole qlol F F F F F F F F F F F F F F F F F F F F F F lger F F F F F F F F F F F F F F F F F F F F F F F F F F estres F F F F F F F F F F F F F F F F F F F F F F F F
SI
SI SP SQ SR SS SS ST SU SU SW SW TH TI TP TQ TR TR TT TT TU TU UI UR VQ VQ VR VS VV VV VV VW WH WI
qlossrio F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F
ixemplos de istems F F F F F F F F F F F F F F F F F F F F F F F F F F F ilh e pil F F F F F F F F F F F F F F F F F F F F F F F F F F F F F esquis finri F F F F F F F F F F F F F F F F F F F F F F F F F F tntr dos pilsofos F F F F F F F F F F F F F F F F F F F F F F F F F ropriedde de istdo F F F F F F F F F F F F F F F F F F F F F F F r e s gondies de ees F F F F F F F F F F F F F F F F F F F higrm de d de istdo F F F F F F F F F F F F F F F F F F F roprieddes F F F F F F F F F F F F F F F F F F F F F F F F F F F F QFQFRFI QFQFRFP QFQFRFQ yperdores vgios F F F F F F F F F F F F F F F F F F F F yperdores emporis F F F F F F F F F F F F F F F F F F yutros yperdores F F F F F F F F F F F F F F F F F F F F
QFR QFS
WP WS WV
gonluses F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IIS
IIU
eri(o wtodo de e(nmento wh F F F F F F F F F F F F F F F IQQ %n gEwh F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IQR %n wpemento de wh gEwh %n %n F F F F F F F F F F F F F F F F F F IQS RFRFI RFRFP RFRFQ RFRFR RFRFS RFRFT e(nmento d lgerX tipos F F F F F F F F F F F F F F F F F F F IQS e(nmento d lgerX funes F F F F F F F F F F F F F F F F F IRI e(nmento d lgerX import F F F F F F F F F F F F F F F F F F IRI e(nmento d lgerX inlude F F F F F F F F F F F F F F F F F F IRP e(nmento de expresses F F F F F F F F F F F F F F F F F F F F F IRS e(nmento de regrs de trnsio F F F F F F F F F F F F F F F F IRT e(nmento de tipos F F F F F F F F F F F F F F F F F F F F F F F F ISW e(nmento de gentes F F F F F F F F F F F F F F F F F F F F F F ITH e(nmento d regr de trnsio F F F F F F F F F F F F F F F F F ITP roprieddes e invrintes F F F F F F F F F F F F F F F F F F F F F ITR
RFS
RFT
gonluses F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F ITS
ITU
y rolem d gldeir por F F F F F F F F F F F F F F F F F F F F F ITU niddes psis F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F ITV SFPFI SFPFP SFPFQ niddes de wedid F F F F F F F F F F F F F F F F F F F F F F F F ITW lvul F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IUP foms F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IUR
SFQ SFR
gontroldor de unidde fsi F F F F F F F F F F F F F F F F F F F F F F F IUV istem de gontrole d gldeir por @fgA F F F F F F F F F F F F F IVP SFRFI SFRFP gontrole qlol F F F F F F F F F F F F F F F F F F F F F F F F F F F IVS hiEinitilwode F F F F F F F F F F F F F F F F F F F F F F F F F F IVV ix
T gonluso
TFI TFP TFQ
PHQ
efernis filiogr(s
PIQ
vist de pigurs
IFI IFP IFQ PFI PFP PFQ PFR PFS QFI QFP QFQ QFR QFS QFT QFU QFV QFW ssos do re(nmentoF F F F F F F F F F F F F F F F F F F F F F F F F F F F F F rios proessos de re(nmentoF F F F F F F F F F F F F F F F F F F F F F F F isquem do wtodo de e(nmento wh %n F F F F F F F F F F F F F F F F ixemplo de um digrm pw F F F F F F F F F F F F F F F F F F F F F F F F ixemplo de digrm pw tipo sF F F F F F F F F F F F F F F F F F F F F F F ixemplo de digrm pw tipo ssF F F F F F F F F F F F F F F F F F F F F F F isquem do wtodo de e(nmento ewF F F F F F F F F F F F F F F F F F F roesso de projeto de sistems em lto nvelF pigur dptd de fHQ F itps de espei(o de sistemsF F F F F F F F F F F F F F F F F F F F F F F xoto pr ipo estrto de hdos F F F F F F F F F F F F F F F F F F F F epresento de um estdoD stte indi o nome do estdoF F F F F F F F F epresento de trnsio de estdoF F F F F F F F F F F F F F F F F F F F F F epresento de um oF F F F F F F F F F F F F F F F F F F F F F F F F F F epresento de um ondioF F F F F F F F F F F F F F F F F F F F F F F F F eninhmento de ondiesF F F F F F F F F F F F F F F F F F F F F F F F F F F itues de onorrni de )uxosF F F F F F F F F F F F F F F F F F F F F F F epresento e de(nio de tividdeF F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F Q R U IV IV IW PI PV SQ SR SS ST SU SV SV SW TH TH TH TI TI TP TP TT TV UP UP UR
QFII epresento do estdo (nlF F F F F F F F F F F F F F F F F F F F F F F F F F QFIP gontrole qlolX devolve o )uxoF F F F F F F F F F F F F F F F F F F F F F F F QFIQ gontrole qlolX desvi o )uxoF F F F F F F F F F F F F F F F F F F F F F F F F QFIR gontrole qlolX omposioF F F F F F F F F F F F F F F F F F F F F F F F F F QFIS etuo do gontrole qlolF F F F F F F F F F F F F F F F F F F F F F F F F F F QFIT wenismos de visiiliddeF F F F F F F F F F F F F F F F F F F F F F F F F F F QFIU eh de um pilhF F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F QFIV eh pr pesquis inriF F F F F F F F F F F F F F F F F F F F F F F F F F F QFIW higrm pw pr esquis finriD primeir ordgem F F F F F F F F F QFPH higrm pw pr esquis finriD segund ordgemF F F F F F F F F xi
QFPI higrm de rnsio de istdos pr hilosopherF F F F F F F F F F F F F QFPP eh pr (lsofoF F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F QFPQ eh pr host de (lsofoF F F F F F F F F F F F F F F F F F F F F F F F F F F F QFPR higrm de rnsio de istdos pr rostF F F F F F F F F F F F F F F F F QFPS higrm ehF F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F QFPT epresento de um propriedde de estdoF F F F F F F F F F F F F F F F F QFPU r e s ondies de um oF F F F F F F F F F F F F F F F F F F F F F F F QFPV gontrole qlol d gldeir porF F F F F F F F F F F F F F F F F F F F F F QFPW pormo do hiF F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F QFQH his pr mdulo de pilsofoF F F F F F F F F F F F F F F F F F F F F F F F F QFQI ixemplo de ipo estrto de hdosF F F F F F F F F F F F F F F F F F F F F F QFQP istdo iniilD prepro de um genteF F F F F F F F F F F F F F F F F F F F QFQQ istdo f D (nliz exeuo de um genteF F F F F F F F F F F F F F F F F F
US UT UV UV VI VQ VR VS VT VU WQ WT WU
QFQR rnsio de estdoF F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IHH QFQS rnsio om origem igul o destinoF F F F F F F F F F F F F F F F F F F F F IHH QFQT gondio om um )uxo de sdF F F F F F F F F F F F F F F F F F F F F F F F IHI QFQU gondio om dois )uxos de sdF F F F F F F F F F F F F F F F F F F F F F F IHP QFQV eqni de ondiesF F F F F F F F F F F F F F F F F F F F F F F F F F F F F IHQ QFQW itues de onorrni de )uxosF F F F F F F F F F F F F F F F F F F F F F F IHR QFRH r e ps ondies de oF F F F F F F F F F F F F F F F F F F F F F F F F F F IHT QFRI etividde de um estdoF F F F F F F F F F F F F F F F F F F F F F F F F F F F F IHT QFRP ropriedde de estdoF F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IHU QFRQ gontrole qlolF F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IHV QFRR higrm ehF F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IIR RFI RFP RFQ SFI SFP SFQ SFR SFS SFT SFU SFV SFW higrm finrio de heisoF F F F F F F F F F F F F F F F F F F F F F F F F F IPI epresento de um estrutur uripke em yfhhF F F F F F F F F F F F F F IPI itps de re(nmento de wh pr xuwF F F F F F F F F F F F F F F IQR %n eh wesuring nitF F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IUH
lve F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IUQ
eh ump F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IUS hi ump F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IUS gontrole qlol ump F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IUT eh hisilnitgontrol F F F F F F F F F F F F F F F F F F F F F F F F F F F IUW hi hysilnitgontrolF F F F F F F F F F F F F F F F F F F F F F F F F F F F IVH xii
SFIH gontrole qlol hisilnitgontrolF F F F F F F F F F F F F F F F F F F F F F IVH SFII eh fgF F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IVQ SFIP gontrole qlol fg F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IVT SFIQ hiEinitilwodeF F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IVW SFIR hiEnormlF F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IWI SFIS hiEdegrdedF F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IWP SFIT hiEresueF F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IWP SFIU hi temfoilergontrol ompletoF F F F F F F F F F F F F F F F F F F F F F F IWS SFIV higrm ehF F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IWT
xiii
gptulo I sntroduo
y trlho wtodo de e(nmento wh tem omo ojetivo presentr propost %n de um mtodo pr espei(o em lto nvel utilizndo um lingugem sed em digrms e onsiderndo spetos do modelo ewF y mtodo desrito permite vlidr o sistem durnte fse de projeto eD por meio de trnsformesD otmEse o digo wh exeutvel e relizEse utomtimente veri(oF hess formD s trefs %n de soluionr um prolem e identi(r possveis erros de projeto so mis filmente relizdsF iste ptulo ontextuliz o proesso de re(nmento e it s diferentes ordgens pr o temF or (mD presentdo o resumo d propost do wtodo de e(nmento wh %nF
IFI
wtodo de e(nmento
es di(ulddes enontrds n espei(o e desenvolvimento de sistems om os onheidos mtodos de desenvolvimento e implemento lolizmEse n enorme fiE lidde de se ometer erros nos vrios estgios que devem ser umpridos ferHPF isse fto tem motivdo pesquiss sore diversos mtodos nos quis tni de implemenE to ou desenvolvimento sej seprd ompletmente dos estgios de espei(o e soluo do prolemF odem ser itdos trs prinipis estgiosF xo primeiroD so relizds nlises sore o prolem no qul possvel identi(r s responsiliddes que o futuro sistem dever suportrD sus proprieddesD s prtes que o ompem e os possveis pontos de intero om o miente onde o sistem estr presenteF odeEse dizer que este estgio present o prolem que se desej resolver e o motivo pelo qul o sistem neessrioF xo segundo estgioD relizd espei(oD que onsiste n represento em lto nvel do sistem onde so onsiderds pens rterstisD proprieddes e funE ionliddes ligds soluo do prolemF ssso signi( strir os detlhes de impleE I
gptulo IF sntroduo
mento devido s rterstis de lingugem e d pltform de desenvolvimentoF heveEse vlidr s funionliddes modelds de ordo om s que form identi(ds no primeiro estgio e prevists pr o sistemF ortntoD um mtodo de desenvolviE mento deve prover reursos que permitm vlido durnte o estgio de espei(E oF hess formD podeEse trlhr isoldmente n soluo do prolem dndoElhe devid teno e grntir que s neessiddes reonheids n nlise do prolem sejm stisfeitsF xo ltimo estgioD oorre implemento do modelo que foi espei(do no seE gundo estgioF e espei(o trnsformd em um digo exeutvel ondeD entoD so onsiderds s rterstis de pltform e lingugemD otendo um repreE sento do sistem om s funionliddes e proprieddes equivlentes s de(nids nteriormenteF heveEse seguir um mtodo sistemtio pr relizr implemento que sej possvel grntir formlmente orret orrespondni entre o modelo sE trto e su represento exeutvelF im qulquer um dos estgiosD possvel ometer erros que podem resultr em um funionlidde no identi(dD usni de um determindo omportmento n espeE i(oD desrespeito um propriedde ou odi(o equivod de funionliddesF ulquer que sej o erro existenteD o sistem pode no orresponder s expettivs ouD pior indD gerr resultdos inorretosF e sepro em de(nid dos estgios de desenvolvimento permite identi(r e trtr os erros om mior preiso e melhores ondiesF or exemploD um implemento errd de um funionlidde pode fzer om que desenvolvedores perm um tempo preioso prourndo pelo erro no lugr errdoD n espei(o por exemploD so os estgios no estejm em de(nidosF elm dos trs estgios meniondosD etp de veri(o fundmentl pr grntir que implemento estej orret de ordo om o modelo strtoF e veri(o deve estr presente durnte todo o proesso de implementoD ssim possvel ssegurr que d trnsformo relizd em direo o digo exeutvel preserv s proprieddes onforme desrito n espei(oF m mneir muito e(iente de ordr esss etps de desenvolvimento utiliE zndo um mtodo de re(nmentoF e(nmento um proesso no qul um represenE to de lto nvel trnsformd em outr de nvel mis ixoD visndo um digo exeutvelF iss trnsformo oorre por meio do uso de regrs que sustituem onsE trues strts por outrs om miores detlhesF es regrs so de(nids prtir dos tipos de re(nmento elordos em d mtodoF gomumenteD s regrsD lm de relizrem s pssgens de nveisD germ provs origtris pr grntir orret orrespondni entre o modelo strto e o modelo re(ndoF ys tipos de re(nmento so pdres do mtodo normlmente reonheidos pel experini om o usoD e por isso um mpo ind em erto pr pesquiss em muitos dos mtodos de re(nmentoF
IFIF
wtodo de efinmento
desejvel que esse proesso sej relizdo de form utomtizdD om menor prtiipo possvel dos desenvolvedoresD (m de no somente evitr erros de interE preto ou implementoD ms tmm minimizr o trlho humnoD elerndo o proesso de odi(oF or issoD os pdres reonheidos no mtodoD que do origem os tipos de re(nmentoD so de fundmentl importni pr utomtizo tnto d plio ds regrs qunto pr veri(o ds proprieddes do sistemF eE se que omplet utomtizo difil por us ds diferentes interpretes que podem ser dds n soluo de um prolem frHQD fHQF es provs podem ser feits utilizndo provdores de teoremD ms s estrtgis de provs devem ser inforE mds pelo desenvolvedor ieHTF m outr possiilidde utilizr veri(dores de modelosD que so ferrments de uxlio pr veri(o utomti wwWQF y prinipl resultdo de um mtodo de re(nmento implemento do sistem em um digo exeutvelD hmdo de digo lvoF y digo exeutvel fz prte do mtodo do re(nmento omo rtefto de implemento do sistem que foi espei(do e no deve interferir no mtodo omo um todo pr preservr propriedde de indepenE dni de pltformF ilementos do miente de desenvolvimentoD omo pltform ou lingugem de desenvolvimentoD devem estr presente no mtodo de re(nmento de form disret pr no gerr preoupes om omportmentos indesejveis qundo se trlh n espei(o em lto nvelF
passos do refinamento
---nveis de abstrao
Especificao
Cdigo Executvel
pigur IFIX ssos do re(nmentoF e prtir de um espei(o de lto nvelD o proesso de re(nmento pss por vrios nveis de stro t oteno do digo lvoD omo mostr pigur IFI de form em simplesF imor o ojetivo do re(nmento sej oter o digo exeutvelD podem existir digos lvo que sejm entrds de outros proessos de re(nmentoD rterizndo um proesso de re(nmento intermedirioF e unio destes proessos intermedirios resultm n implemento orret e omplet do sistem espei(do iniilmente no nvel mis strtoF or exemploD possvel modelr um sistem em wv eD om o uso de um ferrment dequdD o projeto pode ser trnsformdo em um esqueleto de digo tv posteriormente ompletdo pelo desenvolvedorF im seguidD o digo tv ompildo pr su represento em fytegodeD queD por (mD interpretd pel tw exeutndo instrues de mquin fsi orrespondente os
gptulo IF sntroduo
omndos reeidosF intoD existem qutro proessos de re(nmentoD sendo o segundo om interveno humnD onde sd de um entrd pr outroD ou o digo lvo de um espei(o em lto nvel do seguinteD onforme ilustrdo n pigur IFPF
Modelo UML ---Cdigo Java
interveno do
Cdigo Java
---desenvolvedor
Cdigo Java
Cdigo Java
----
ByteCode
ByteCode
interpretao JVM
----
Cdigo Mquina
IFP
istdo d erte
y re(nmento psso psso @tepwise e(nement A foi iniilmente proposto por hijksE tr hijTVD hijUT e irth irUIF roposts seguintes desrevem um rouo pr diferentes mtodos de re(nmentoD que se diferenim n lingugem de espei(o em lto nvelD regrs de re(nmentoD mtodo de veri(o e no digo gerdoF m mtodo stnte onheido foi desritoD em prleloD por fk fVHD worris worVU e worgn worWRD que presentm trlhos semelhntes em re(nmento de lulos @e(nement glulus AF o plids s teoris de re(nmento e s regrs so de(nids em termos de lulo de predidoF ixistem vris ferrments que propem um suporte este mtodoD omo por exemplo o trlho de wnuel vier e en gvlnti gHSD que desrevem ferrment e(ne e ompr om outrs de rterstis semelhntesF y trlho de pitelsonD elh e hvies phHS tmm relizdo sore e(nement glulus e utiliz s notes formis e f omo se pr desrever operes em modelos de ojetosD mis preismenteD rmzenmento de ddos os quis so orgnizdos omo olees de ojetosF hesries em esquemsD ou desenhosD gr(os proporionm um lto nvel de sE troF e wvD por exemploD utilizd pr este (m e foi rido um mtodoD hE mdo de roesso ni(do @ni(ed roess exHSAD que desreve omo trnsformr
IFQF
yjetivos do rlho
desrio em lto nvel em elementos mis detlhdosF hentro deste proessoD exisE tem ordgens direionds diverss lingugensD omo tvD gD gCCD g5D portrnD isul fsi e gyfyvF m ferrment de desenvolvimento de sistems stnte diE fundid hmEse tionl sfwHUD onde espei(o wv trnsformd em digo tvF odos estes mtodos de re(nmento so desritos om o ojetivo de resentr determindo formlismo propost de hijkstr hijTVD hijUTD tornndo espei(oD vlido e veri(o de sistems um tref mis simples por meio de um mtodo sistemtioF e miori ds desries de re(nmento so seds no prinpio d sustituio1 hfHID pF RUF eitvel sustituir um progrm por outroD ontndo que sej
IFQ
yjetivos do rlho
y modelo de wquin de istdo estrt @ew E estrt tte whine A qurWS vem sendo mplmente utilizdo pr espei(o forml de diversos tipos de sistems devido o seu lto gru de stro e rigor mtemtioD o que filit ompreender o sistem modeldo e veri(r formlmente sus proprieddesF odeEse utilizr um lingugem sed no modelo ew pr esrever espei(o em lto nvelD onheE id omo wodelo fsioD que posteriormente sumetid um proesso sedo no
of substituitivity: it is acceptable to replace one program by another, provided it is impossible for a user of the programs to observe that the substitution has taken place.
1 Principle
gptulo IF sntroduo
wtodo de e(nmento ew frHQ pr oter implemento vlidd e veri(E dF gom se nestes ftosD o prinipl ojetivo do trlho wtodo de e(nmento wh @wwA propor um mtodo de espei(o em lto nvel que represente %n spetos de ew e om possiilidde de vlidr e veri(r o modelo onstrudo independente d implementoF y proesso de re(nmento permite oter utomtiE mente o digo exeutvel veri(do e vliddo de ordo om espei(oF y wtodo de e(nmento wh omposto deX um lingugem de espei(o %n pr esrit do wodelo fsio hmd de vingugem de wodelgem wh %nY um onjunto de de(nies de tipos e regrs de re(nmento om proprieddes de(nids serem omprovdsY suporte vlido mnul durnte fse de projetoY e suporte veri(o utomtiF gomo lingugem exeutvel lvo utilizEse wh %nD que um lingugem ew desenvolvid no vortrio de vingugens de rogrmo d niversidde pederl de wins qeris fsfHSF e vingugem de wodelgem wh @vwwA possui reursos gr(os pr espeE %n i(o em lto nvel e de(nid por um semnti em de(nidD ou sejD livre de migiddesF fsed em digrms de ontrole de )uxo e de(nio de tipos strE tos de ddosD vww possiilit vlido ind durnte espei(o e filit prtiipo de projetistsD desenvolvedores e possveis usurios do sistemD que nem sempre so d re d gomputoF e vww ompost de elementos que permitem trlhr em vrios nveis de stroD representr elementos do mundo relD modeE lr omportmento de gentes e reles entre elesF elm dissoD possvel desrever preoupes ortogonis simples de form modulr e de(nir proprieddes inerentes o prolemF im vwwD esreveEse o wodelo fsio de(nindo os memros envolvidos no proE lemD rterstisD seus omportmentos e relo entre elesF y desenvolvimento feito em prtes e permite oter viso lol e glol do prolemF intoD o wodelo fsio re(ndo om plio itertiv ds regrs de(nids no mtodo proposto prtir dos tipos de re(nmento identi(dosF o otidos diversos nveis de stro t o digo wh %nF eo longo do proesso de re(nmento de wwD formd um oleo de propriedE des que podem ser dividids em gruposD de ordo om s grntis que produzemF y primeiro formdo pels proprieddes que provm o orreto re(nmentoD extrds ds plies ds regrsF y segundo grupo otido pel unio ds proprieddes de(nids n espei(o em lto nvel om s proprieddes implits espei(o vwwD que tmm so extrds prtir ds plies de regrsD pr relizr veri(o do wodelo fsioF pz prte do ojetivo de ww relizr veri(o d espei(o de form
IFQF
yjetivos do rlho
utomtiF ortntoD o wodelo fsio trnsformdo utomtimente no formto de entrd pr o veri(dor de modelos xuw ggq+ HPD ggy+ HTD onde possvel onferir s proprieddes do sistemF pigur IFQ ilustr o esopo deste trlhoD onde o wodelo fsio onstrudo prtir d vww eD om o uso do mtodo de re(nmentoD otmEse o digo wh %n e represento em xuwF y resultdo d veri(oD junto o digo exeutvel gerdoD o wodelo fsio e su vlidoD formm doumento omplet de um sistem espei(doF
Modelo Bsico
LMM Especificao Textual TAD DSE + DTE + Controle Global Mecanismo de Visibilidade
+ validao
Documentao
Glossrio
Propriedades
vericao
--
Cdigo Machna
--
C-Machna
--
NuSMV
Regras de Renamento
pigur IFQX isquem do wtodo de e(nmento wh %n r vlio do trlho propostoD implemento do wtodo de e(nmento wh rnge represento intern do wodelo fsioD plio ds regrs e %n tipos de re(nmento pr oter o digo wh orrespondente e su trnsformoD %n em dois pssosD pr um entrd de xuwF e ferrment desenvolvid represent o nleo prinipl de wtodo de e(nmento wh e extenses pr miente gr(o %nD podem ser inserids posterioremnte de form simplesF or meio do wtodo de e(nmento wh %nD pretendeEse oter s seguintes onE triuiesX
de(nio de um lingugem de espei(o de lto nvel sed em digrmsD voltd o modelo de wquin de istdo estrtD intuitiv e om lto poder de expressoY sepro em de(nid dos nveis de stres utilizdos n espei(oY filidde n vlido do prolem espei(doY
gptulo IF sntroduo
de(nio de um mtodo de re(nmento pr lingugem wh %nD no qul o proesso de trnsformes relizdo utomtimenteY veri(o trnsprente e utomti de sistems desritos em wh %nF
IFR
gptulo P present o modelo forml ewD seu mtodo de re(nmento e lingugem de espei(o forml wh %nD que sed no modelo ewF y wtodo de e(nE mento wh desrito no gptulo QD onde so de(nidos os elementos d lingugem %n propost e s regrs de re(nmentoF xo gptulo RD presentEse o mtodo de veri(E o utomti pr o wtodo de e(nmento wh %nD e vlido deste trlho relizd no gptulo SF or (mD os resultdos otidos e proposts de trlhos futuros so resumidos no gptulo TF
PFI
m wquin de istdo estrt @ewA um modelo de trnsio de estdo que onsiste em um mquin strt formd por nomes de funes e relesD que de(E nem seu voulrio F odo voulrio possui impliitmente os smolos oolenos
true e flse e seus operdores usuisD ssim omo o sinl de iguldde e o vlor undefD indindo vlor no de(nidoF
m onjunto U hmdo de universo de um nome do voulrio se todos os seus elementos stisfzem um reloD ou podem ser ssoidos um funoD n qul o nome se refereF m estdo S um onjunto X D denomindo superonjunto de S D onstitudo dos nomes do voulrio e sus interpretes em um determindo instnteF e f um nome de um funo de ridde rD ento f interpretd omo
f : Xr X
e f um nome de relo de ridde rD ento f interpretd omo
f : X r {true | false}
W
IH
U = {x : U (x) = true}
um universo ontido em X F xeste soD
U (x) = true
equivlente
xU
or exemploD suponh o nome d relo P rimos omo pertenente o voulrio
PFIF
II
PFIFI
egrs fsis
egr de etulizo
m tulizo d form
f (t1 . . . tr ) := t
onde f um nome de funo rEri e tD t1 . . . tr so termosF xo estdo seguinteD f ser interpretd omo um funo que no ponto t1 . . . tr tem o vlor tF
egr floo
e regr loo um regr d form
R 1 , R2
onde R1 e R2 so regrs de tulizoF e semnti exeutr R1 e R2 em prleloD sendo o efeito de sus tulizes pereids pens no estdo seguinteD desde que no existm tulizes inonsistentesF importnte ressltr que no existe sequeniE mento de regrs em um trnsioF e ordem reltiv entre R1 e R2 no diferenid no modeloF
egr gondiionl
e regr ondiionl permite exeuo de R1 ou R2 dependendo d vlio de um expresso oolen g e dd d seguinte formX
PFIFP
ispei(o ew
(, A, S0 , R)
onde o voulrio om os nomes de funes e relesD A o onjunto de estdosD
S0 o onjunto de estdos iniiis tl que S0 A eD por (mD R regr de trnsioF e instni de um espei(o ew hmd de genteF
e seguir presentdo um exemplo pr funo ftorilD extrdo de fsfHSF he(neEse o voulrio ontendo os nomes i e ftD e seus vlores iniiis onforme
IP
S0 F im seguidD regr de trnsio R onstitud de um loo ontendo dus tulizesF = {i, fat} S0 = i 0 fat = x.x = 0 1, undef R = fat(i + 1) := (i + 1) fat(i) ,
i := i + 1
2
undef undef 2 2 2 F F F
3
undef undef undef 6 6 F F F
4
undef undef undef undef 24 F F F
FF F
n
undef undef undef undef undef F F F
S0 S1 S2 S3 S4 F F F Sn
1 undef 1 1 1 1 1 1 1 1 F F F F F F 1 1
24
n!
eo exeutr regr no estdo S1 D otmEse um novo estdo S2 D no qul i interpreE tdo omo 2 e interpreto de f D no ponto 2D pss ser igul 2F h mesm formD otemos os estdos S3 , S4 e ssim por dinteF sntuitivmenteD no estdo Sk D k iD interpreto de f um funo queD plid iD retorn i!F ist interpreto pode ser provd por meio de induo mtemti sore o onjunto dos nturisF
PFIFQ
sioF
egrs evnds
punes ixterns
ys sistems espei(dos em ew podem se relionr om o mienteD por exemploD entrd de ddos forneids pelo usurio ou sd de resultdosF r issoD de(nemE se s funes externsD que se omportm omo orulosD ou sejD um espei(o fornee os rgumentos e o orulo retorn o resultdo de form trnsprente pr o sistemF
PFIF
IQ
egr smport
possvel estender o voulrio do estdo S utilizndo regr importD que possui seguinte formX
import v R0 endimport
pr v sendo o novo nome em e R0 regr ser exeutd onde v pree livreF y exemplo seguir estende om um novo nodo v de um rvore inri e de(ne seus (lhos d esquerd e direit omo inde(nidosF
import v Nodo ( v ) := true Esquerda ( v ) := undef Direita ( v ) := undef endimport
egr ghoose
ew permite exeuo no determinsti por meio d regr choose om seguinte formX
xeste soD ondio foi omitidD ento esolh de v qulquer um dentre os elementos pertenentes xodosF
egr r
e regr var tem seguinte formX
IR
instni de R0 pr d v U F or exemploX
var v ranges over UmDoisTres f ( v ) := 0 envar
PFIFR
y exemplo seguirD extrdo de fsfHS model o nleo de um sistem operionl simples e tem o ojetivo de ilustrr utilizo ds regrs presentdsF r issoD espei(mEse s seguintes operesX E rio de um novo proessoY E eslonmento de um proessoY E difuso de um mensgem pr todos os proessos tivosY E reeimento de um sinl de interrupoF y voulrio pr o sistem operionl pode ser de(nido d seguinte formX E y universo roessesD o onjunto dos proessos ridos no sistem operionlY E e funo idD ssoi d proesso su identi(oY E e funo numroD ontiliz o nmero de proessos ridosY E e funo messgesD ssoi os proessos s sus ixs de mensgensY E e funo ownerD ssoi d reurso o proesso que est utilizndoY E e relo witingD relion reursos os proessos que esto esperndo pr utilizE losF
PFIF
IS
essimD podeEse de(nir s regrs de tulizo onforme seguirX grio de novo proesso pX
import p Processes ( p ) := true , id ( p ) := numProc + 1 , numProc := numProc + 1 endimport
islonmento de proessosY
choose p in Processes satisfying waiting (p , resource ) owner ( resource ) := id ( p ) endchoose
hifuso de mensgemX
var p ranges over Processes if ativo ( p ) then messages ( id ( p )) := append ( messages ( id ( p )) , msg ) endif endvar
eeimento de interrupoX
if interrupted then // catch // continue operations endif
else
ys oneitos e regrs presentdos resumem o modelo ew proposto por qurevih e perfeiodo por frgerF gomo foi mostrdo nos exemplosD possvel espei(r sistems em lto nvel de form simples e elegnte devido o grnde poder de expresso de ew ssim omo su filidde de ompreensoF
PFIFS
ew wultigentes
m ew wultigente M qurWSD tmm onheid omo ew histriudD ontm um nmero (nito gentes omputionis que exeutm onorrentemente um nmero
IT
(M , A, C0 , P )
tl que M um voulrio que ontm os nomes de funo que preem ns regrs de P D om exeo de elfF ertenem M os nomes de funes de zero rgumento que representm os nomes de mdulos @elementos de P A e um funo unriD wodD que represent relo entre gentes e mdulosF m elemento a um gente em um ddo estdo S se houver um nome de mdulo m tl que
S |= Mod (a) = m
h mesm formD o progrm de a
Prog(a) = m A um onjunto de estdos e C0 um oleo de estdos denomindos estdos iniiis de M F odos os elementos de C0 omprtilhm s mesms interpretes dos nomes de funo de M D om exeo de elfD que interpretdo omo o gente ssoido o estdoF or (mD P um onjunto (nito indexdo de progrms m @os mdulosAD identi(E dos pelos nomes de mdulos m Y d progrm pertenente P um regr de trnsioF e funo espeil de zero rgumento elf permite utoEidenti(o de gentesF elf interpretdo omo a por d gente a e pode ser usdD por exemploD pr modelr lgum estdo lol dos gentesF hizEse que um gente a reliz um trnsio em S se o onjunto de tulizes Updates(a, S) = Updates(Prog(a), Viewa (S))
disprdo em S D isto D se regr que form o progrm do gente a for disprd no estdo Viewa (S)D que expnso do estdo S D em que vrivel elf interpretd omo aF ore est de(nio de trnsioD podeEse de(nir diversos tipos de exeuoF e seguirD temEse de(nio de exeuo prilmente ordendD que um imporE tnte noo de omputo distriudF qurevih qurWS de(ne um exeuo prilmente ordend de um ew wulE tigentes M omo sendo um tripl (M, A, ) que stisfz s seguintes ondiesX IF M um onjunto prilmente ordendoD no qul todos os onjuntos de trnsio
PFIF
IU
{y : y x}, x M D so (nitosX os elementos de M representm trnsies relizds pelos vrios gentes durnte exeuoF hus trnsies x e y so tis que y xD se trnsio x iniiou ps o trmino de y F
PF A um funo sore M tl que todo onjunto noEvzio {x : A(x) = a} linermente ordendoX A(x) o gente que reliz trnsio x @supeEse que s trnsies de um nio gente sejm linermente ordendosAF QF um funo que ssoi um estdo de M d segmento iniil de M D tl que () um estdo iniilX pr d segmento iniil X de M D (X) o estdo que result d relizo de todos os movimentos em X F m segmento iniil de um onjunto prilmente ordendo P um suEestrutur X de P tl que
x X y < x y X.
RF e ondio de oerniX se x um elemento mximl em um segmento iniil (nito X de M e Y = X {x}D ento A(x) um gente em (Y ) e (X) otido prtir de (Y ) disprndo A(x) em (Y )F ist de(nio grnte que no hver inonsistnis n exeuo de dois ou mis gentesD pois d trnsio exeutd por um gente de mneir tmiF
PFIFT
y modelo de wquin de istdo estrt @ew E estrt tte whine A qurWS desreve um lsse espe( de mquin n qul os estdos so (nitosF iss lsse reee o nome de wquin de istdo pinit @pw E pinite tte whine A frHQD frHQD fHQD iF WW e el represent um digrm de estrutur de ontrole que posE siilit o mnuseio de estrutur de ddos que de(nem o sistemF y digrm pw sedo no digrm de tividdes d wv tfHRD ftHSD e su noto mostrd seguirF m rulo rotuldo represent um estdo d mquinD e sets entre os estdos representm o )uxo de ontroleF m hexgono reE present um ondio @ond A e um retngulo represent regr @rule A ser exeutd pr trnsio de estdosF m retngulo ssoido um hexgono signi( que exeuo d regr est ondiiond restrio representdF m retngulo inz rotuldo represent o nome d trnsioF y esquem gerl de um trnsio em um digrm pw mostrdo n pigur PFIF ixistem dois estdosD i e j F y )uxo i j exeut regr ruleI desde que ondio ondI sej stisfeitF
IV
pigur PFIX ixemplo de um digrm pw m trnsio do pw de(nid omo s regrs de um mquinD podendo ter o seguinte formtoD onsiderndo tlstte omo sendo o estdo interno de um pwX
if ctl_state = i then if cond_1 then rule_1 , ctl_state = j_1 endif , . . . if cond_n then rule_n , ctl_state = j_n endif endif
hdo o estdo iD d ondio ondk stisfeitD pr i k nD fz om que mquin exeute respetiv regr rulekD e o ontrole interno @tlstte A sej tulizdo pr jkF e nenhum ondio ondk for stisfeitD nenhum trnsio de estdo oorreF y digrm orrespondente este digo mostrdo n pigur PFPF y digrm mostr gr(mente o funionmento norml d mquinF m set indi qul o estdo de origem e destino em um trnsioF istdos iniiis e (nis podem no ser identi(dos diretmente n represento gr(D portntoD devem ser expliitdos n espei(oF
cond_1 rule_1 j_1
...
con_n
rule_1
j_n
pigur PFPX ixemplo de digrm pw tipo sF pigur PFQ exempli( outro tipo de digrm no qulD pr o estdo iD ruleI exeutd e tulizo do estdo depende ds ondies representds no hexgonoF
PFPF
wtodo de efinmento ew
IW
cond_1
j_1
rule_1
...
cond_n
j_n
pigur PFQX ixemplo de digrm pw tipo ssF y digo orrespondente o digrm d pigur PFQ mostrdo seguirF
if ctl_state = i then rule_1 , if cond_1 then ctl_state = j_1 endif , . . . if cond_n then ctl_state = j_n endif endif
PFIFU
gonluses
m ds grndes vntgens do modelo ew possiilidde de se exeutr um espeE i(oD o que pode filitr tref de enontrr errosF y modelo possui tmm reE ursos pr modelr onorrni e noEdeterminismoD exeuo snron e ssnronF elm dissoD podeEse itr tmm existni de um teori mtemti sujenteD teori de lgers ivolutivsD que permite prov de proprieddes d espei(o fsfHSF
PFP
wtodo de e(nmento ew
y wtodo de e(nmento ew @he ew e(nement wethod A frHQD fHQD iF WW proveitEse do poder de stro e do rigor mtemtio ofereidos pelos oneitos de wquin de istdo estrt @estrt tte whine E ew AD de(nidos por qurevih em F VS e perfeiodos em qurWSF he ordo om frger frHQD o mtodo ew de re(nmento proporion um metEfrmework que integr oneitos mis espe(os de re(nmentoF gomo o modelo mtemtio dividido em prtes mis sisD o nvel
PH
de stro e modulrizo podem ser de(nidos livremente pr melhor representr o sistemD desde que o modelo sej respeitdoF es prinipis rterstis que fzem do re(nmento ew um mtodo stnte utilizdo soX @A o fto d veri(o @provr que verddeA estr inlus no proE essoD de form que s trnsformes grntm o orreto funionmento e respeitem s proprieddes imposts n espei(oY @A possiilidde deD ind n fse de projetoD vlidr o sistemD ou sejD provr que o sistem relmente reliz s trefs que lhe form designdsY @A espei(o do prolem legvel projetists e desenvolvedoresD independente do digo exeutvel e pltform de desenvolvimentoF xo mtodo ewD o re(nmento ind um proesso mnul sujeito interpreE tes do desenvolvedorF es regrs formm um menismo de uxlio s provs de proprieddes e s trnsformes entre os nveis de stroF y primeiro estgio do re(nmento ew vis desrio do funionmento do sistem de ordo om o proE lem ser resolvidoF o identi(dos os requisitos e s proprieddes do sistemD e om esss informes onstriEse o modelo em lto nvelD hmdo de wodelo fsio @qround wodel A frHQD frHQD fHQD iF WWD que deve ser legvel qulquer memro envolvido om o projetoF y segundo estgio onsiste n trnsformo do wodelo fsio em representes mis detlhds pels plies de regrs em de(nids dentro do modeloF xormlE menteD o ojetivo oter o digo exeutvel d plioD ms tmm pode ser desejvel oter um outr represento strt que sirv de wodelo fsio pr outro proesso de re(nmento om tipos e regrs diferentesF es regrs no mtodo de re(nmento ew so diretivs pr s orrets trnsforE mes entre os nveis e so plids de ordo om os tipos de re(nmento de(nidos no mtodoF gd tipo sugere um onjunto de regrs de trnsformo podendo ser utomti ou exigindo interpreto do desenvolvedorF gd plio de regr ger um onjunto de proprieddes que devem ser grntids o longo de todo o proesso de re(nmentoF eo (nlD otmEse mquin re(nd orrespondente mquin strt desrit no wodelo fsioF pigur PFR ilustr o esquem de re(nmento ew em termos d equivlni de estdos e exeuesF hd um mquin strt M e um estdo iniil S D relizEse um onjunto de m pssos @1 ... m A pr se oter o estdo seguinte S 9F x mquin re(nd M BD deve existir um estdo S BD orrespondente o S de M D e um onjunto diferente de n pssos @1 ... n A que lev um estdo S B9D que deve ser orrespondente o S 9F y smolo no digrm signi( equivlni entre os estdos de M e M BD sendo S S B e S 9 S B9F y digrm d pigur PFR onheido omo digrm omuttivo frHQD hHID onde os estdos e operes ds mquins strt e re(nd so reliondosF tilizE
PFPF
wtodo de efinmento ew
m passos de M
PI
Estado S
1 . . . m
Estado S'
Estado S*
1 . . . n
n passos de M*
Estado S*'
pigur PFRX isquem do wtodo de e(nmento ewF se noto m : n pr dizer que prtir de S hegEse S om m pssos de exeuo de M e que de S B hegEse S B9 om n pssos de exeuo de M BD grntindo que
S S B e S 9 S B9F into o digrm d pigur PFR um digrm omuttivo m : nD ou pens digrm m : nF e relo existente entre um trnsio de estdo de M e outr de M BD logo deveEse oter quntos digrms omuttivos forem neessrios pr representr mquin strt pr que o re(nmento pr M B sej ompletoF
r de(nir um mtodo de re(nmento sedo no mtodo ewD deveEse de(nir iniilmente lingugem do wodelo fsio de fil legiilidde e om rterstis pr melhor proveitmento dos tipos de re(nmento j identi(dos neste mtodoF gonforme frHQD tmm devem ser de(nidos os seguinte oneitosX
estdo strto S Y estdo re(ndo S BY estdos de interesseD que so os estdos serem oservdos no re(nmento inE luindo oneitos de estdos iniiis e (nisY orrespondni @A entre estdosX S S BY omputo strt 1 ... m D onde i represent um psso de exeuo mquin strt M Y omputo re(nd orrespondente 1 ... n D onde i represent um psso de exeuo de M BD um omputo deve levr mquin strt de um estdo de interesse outroY
PP
espo de interesse e espos orrespondentesD espos so onjuntos strtos de ddosF or exemploD pres de espos que se desej relionr nos estdos orrespondentesY equivlni de ddos nos espos de interesseD normlmente de(nid junto equivlni de estdos de interesseF
PFPFI
wodelo fsio
y desenvolvimento de sistems exige o umprimento ds etps de identi(o ds neessiddesD projeto e espei(o ntes d efetiv implemento do softwreF e primeir etp onsiste em identi(r e ompreender s neessiddes que o sistem deve stisfzerF xos diversos mposD de trlho existem pessos om s mis vrids neessiddesX melhorr o ontrole de produoY reduzir usto de vendsY umentr divulgo dos produtos e serviosY integrr s uniddes d empres esplhds pelo mundoF elm de ompreender s neessiddesD um projetist deve nlisr quem e quis prtes d instituio sero fetdos pr de(nir o prolem e propor um soluo dequdF xormlmenteD s desries de neessiddes so feits em lingugem nturl so o ponto de vist de quem no projet softwres @lientesAD e devem ser ompreendids por quem provvelmente no onhee o prolem @projetists e desenvolvedoresAD que por su vez podem desrever soluo que deve estr lr pr os lientesF pi lro o envolvimento de pessos pertenentes grupos distintosD e els devero trlhr em onjunto pr rterizr o prolem e propor um soluoD que posteriormente ser onvertid em um softwreF heveEse ter um uiddo espeil nest etp e esolher um modelo dequdoD pois divergni de interpretes pode levr um sistem no stisftrio ferHPD pfVUF es desries ds neessiddes e d soluo relizds n primeir etpD emor esseniisD so omumente feits de mneir informl e no dequds um interE preto preisF ortntoD segund etp onsiste em projetr o que ser feito presentndo soluo sem migiddes em modelos formisD que onstituem s rterstis do sistem @y que fzerA vWWF or exemploD pr tender s neE essiddes de reduzir ustos de vend e umentr divulgo de produtos e serviosD podeEse projetr soluo omo um weEsiteF possvel dizer que o projeto repreE sent soluo que ir stisfzer s neessiddes reonheids e nlisds n primeir etpF elm de desreverem om preiso o sistemD os modelos devem ser simples e su(ientemente strtos pr serem ompreendidos por todos os envolvidos no trE lhoD lientesD projetists e desenvolvedoresD e permitir onferir se s neessiddes form
PFPF
wtodo de efinmento ew
PQ
tendidsF or esse motivoD ess etp deve presentr pens detlhes d soluo independentes do softwre que ser gerdoF es rterstis do sistem no trtm de detlhes neessrios o funionmento do softwre @gomo fzerAD que so d tereir etpF endo sido feit desrio ds neessiddes n primeir etp e rterstis do sistem n segundD deveEse dizer omo o sistem se omportrD informndo os requisitos do softwreD que onstituem tereir etpF ys requisitos do softwre so mis detlhdos que s rterstis do sistemD emor mos possum um lto nvel de stroF iles ilustrm diferen entre y que fzer e gomo fzerF or exemploD o weEsite projetdo n segund etpD pode ser espei(do omo um implemento de um gomrio iletrnio omo onheido tulmenteF ys requisitos de softwre trtm de ssuntos direiondos o proesso de re(nmento pr oter o digo exeutvel utomtimenteD devendo ser trnsprente pr o lienteF henominEse wodelo fsio frHQ espei(o em lto nvel de um sistem que rnge s tividdes de identi(o ds neessiddesD projeto d soluoD de(niE o de requisitos e proprieddes do softwreD sendo o ojeto pr vlido e ponto de prtid d veri(o e plio ds regrs de re(nmentoF y wodelo fsio deve ser ompreensvel dois domnios diferentesF y primeiro hmdo em ew de homnio d eplio frHQD frHQD fHQ e ontm os lientesD que possuem neessiddes e normlmente no tm onheimento em desenvolE vimento de softwreF iste grupo tmm pode ser hmdo de homnio do rolem vWWF y segundo grupoD denomindo homnio dos wodelosD onstitudo de proE jetists e desenvolvedoresD que so d re de omputo e devem ompreender s neessiddes dos lientes e trduzir soluo em um softwreF mm pode ser hmdo de homnio d oluoF frgerD em frHQD desreve s seguintes proprieddes pr o wodelo fsio exerer o seu ppelF
PR
lidoX permitir que o sistem sej vliddo ind n fse de projetoD filitndo
identi(o e orreo de errosY grnte que soluo estej ompletF
PFPF
wtodo de efinmento ew
PS
PFPFP
ipos de e(nmento
e experini em desenvolvimento em lto nvel de sistems utilizndo ew permite identi(r ertos pdres em espei(es que do origem os tipos de re(nmento frHQF iss um mneir de lssi(r s regrs de re(nmento de ordo om s rterstis do mtodo ontriuindo om utomtizo do proesso de re(E nmentoF imor existm lguns tipos j de(nidosD este um tem em erto pr nlise e pesquiss om (nlidde de identi(r novos tipos de re(nmento ewF frger frHQD fHQ present os prinipis tipos de re(nmento ew e lguns deles so detlhdos por hellhorn hHIF e seguirD so presentds s rtersE tis prinipis de d um delesF
ixtenso gonservtiv
y tipo de re(nmento ixtenso gonservtiv @gonservtive ixtension A diion um novo omportmento um mquin j existenteD omo trtmento de exeo ou rterstis de roustezF mm onheido omo e(nmento snrementl @snE
rementl e(nement A
y primeiro psso de(nir ondio gond pr o novo omportmentoD indindo em que estdo de um mquin wD j de(nidD o novo omportmento deve turF im seguidD de(neEseD em um nov mquin fD o omportmento ser diiondo em
wD por exemploD o trtmento de exees ou medids de segurnF or (mD s dus mquins devem ser integrds restringindoEse exeuo de w por gondD ondeD entoD f pss tur e depois permite ou no que w retome su exeuoF
ixtenso gonservtiv ger um mquin mis omplet e roustD portnto mis omplex em termos de funionliddeD onde s novs rterstis diionds poE dem ter o mesmo nvel de stro que mquin originlF iste efeito deorrente d sepro entre o omportmento norml e situes no prevists ou de ontrole d exeuoD resultndo em um nov mquinF
e(nmento de hdo
y e(nmento de hdo @ht e(nement A onsiste no mpemento de estdos e regrs strts em representes onretsD preservndo relo operoEddo existente no modelo strtoF e form mis simples relizr o mpemento sem tror ssinturs ds operes e preservndo s proprieddes existentes @sem diionr ou lterr lgum delsAF preqentementeD utilizEse exempli(o de um ewD onde sus regrs so preserE vds e pens s esD normlmente s utilizds externmenteD so posteriormente
PT
espei(ds sem tro d ssinturF ssso possiilit o re(nmento preservndo E rterstis de modulrizoF
e(nmento de uErotins
y e(nmento de uErotins @roedurl e(nement AD tmm onheido omo e(E nmento de uEmquins @umhine e(nement AD onsiste em sustituir um mE quin por outr mis omplexF y resultdo um espei(o mis detlhd onde possvel pereer novs rterstis no presentes no nvel de stro nteriorF m so notvel deste tipo o e(nmento de gontrole de istdo ew @roeE
durl e(nement of gontrol tte ews AD plido sore pws @eo PFIFTAF hd semnti do digrmD presentd n eo PFIFTD podeEse de(nir s trnsies de um pw por meio d stro
PFPF
wtodo de efinmento ew
PU
PFPFQ
y roesso
hd um espei(o de um sistemD devem ser feitos testesD espeilmente simulr situes de usoD de form onfrontr s neessiddes existentes om s funionE liddes desritsF ist um prti relizd om o ojetivo de vlidr o sistem pernte o mienteD mundo relD no qul est inseridoF wuits vezesD possvel modeE lr um sistem prtir dos sos de usoD tendo s funionliddes de(nids prtir de simules no wodelo fsioF essimD possvel de(nirD ntes d implementoD um eito mis preis do projetoD j que o lto gru de stro do wodelo fsio permite filmente prtiipo dos lientes e usurios do sistemF m espei(o ew possui um rtersti operionl que prov noes implits de exeuoF odem ser relizds simules mnulmente ou utilizndo lgums ds ferrments de exeuo ew desrits em iF WWD gptulo VF essimD o wodelo fsio ew pode ser utilizdo pr identi(r proprieddes pertenentes o homnio d eplio que sero utilizds pr veri(r o sistem de ordo om su espei(oF ortntoD utilizEse o wodelo fsio pr espei(o de requisitos e modelo de testesD onde ondies do mundo rel so onsiderdsF elm dissoD proprieddes so identi(ds e possvel de(nir pontos de oservoD elementos importntes pr de(nio do modelo e noes de relo entre mquins strt e re(ndF y wodelo fsio inspeiondo no homnio d eplio pr grntir que ele pture s pretenses iniiis de soluo do prolemF e relo de um prolem e um sistem desrit em termos ds funionliddes e proprieddesD e onsistni dest relo deve ser grntid em todos os nveis de stroF e veri(o de um mtodo de re(nmento ew um proesso que deve ser formlmente relizdo (m de mostrr que d regr plid o wodelo fsio preserv relo prolemE sistemF hess formD grnteEse que implemento resultnte est de ordo om o modelo strtoF e pigur PFS ilustr de form simples omo um re(nmento deve proeder e omo seus elementosD desritos nteriormenteD se intergemF e de(nio do wodelo fsio feit prtir dos modelos e ddos d plioF e vlido pode ser relizd ntes @ind no wodelo fsioA e depois d gero do digo lvoD por meio de simulo e exeuoD respetivmenteD omprndo os resultdos otidos nos dois momentosF gd psso do re(nmento deve ser veri(do provndoEse s proprieddes de(nids t oteno do digo exeutvelF gom isso grnteEse que d nvel de stro tingido est orretoF
PV
Modelos
Dados da Aplicao
Modelo Bsico
SIMULAO
PROVAS OBRIGATRIAS
Validao
PASSOS DO REFINAMENTO
Verificao
EXECUO
Cdigo
pigur PFSX roesso de projeto de sistems em lto nvelF pigur dptd de fHQ
PFPFR
possvel enontrr inmers solues de prolems reis que fzem uso do mtodo de re(nmento ew om diferentes (nliddesD omo espei(o de softwreD hrdwreD veri(o de lingugensD desrio de lgoritmos e protoolosF or exemploD o trlho de gstillo e ppinghus gHP desreve o desenvolvimento em lto nvel do nleo de funionmento de um entidde de rede de telefoni e present o re(nmento pr digo gCCF t o reltrio de frgerD ppinghus e hmid fHH mostr o uso de ew n iemes eq pr espei(o de um proesso do pevuyD modelo de orgnizo de um estrd de ferro n elemnhF e prtir do wodelo fsio desritoD utilizndo he ew orkenh helWWD mostrouEse em hHI o esquem de ompilo pr o re(nmento em gCCD preservndo estrutur d espei(o e sem gerr digo ine(ienteF xo mito de veri(o de lingugensD os trlhos fHID fWVD fWV preE sentm desrio omplet em lto nvel de tv e d twD onde so presentds nlises @veri(o e vlidoA mtemti e experimentl lm de mostrr ompiE lo de progrms tv pr o digo d twF r desrio em ewD foi utilizd ferrment esmqofer hF eind trtndoEse de lingugens de progrmoD formlizo de rolog preE sentd nos rtigos frWHD frWHD frWP em termos de ew e seguindo o modelo de pdronizo de rolog @qIU of syGsig tgs gPPAF e espei(o propost de(ne lingugem e reliz o re(nmento psso psso onde so desrits e provds rterstis ortogonis por meio de onjuntos modulres de regrsF
PFQF
e vingugem whn %
PW
y trlho hisWW present modelgem do sistem operionl wsxs e d rquitetur xVT utilizndo ewD e posteriormente re(nds em um implemento orrespondente em tv e em gF gonsiderndo espei(o de hrdwreD podeEse itr o so de estudo do ontrole de ilumino @he vight gontrol gse tudy AD prolem presentdo em fqHH pliE ndo o ontrole em um ndr de um universiddeF gonsiderndo rquitetur do prdio e implnto de hrdwresD o trlho fHH present disusso e soluE o em ewD onde so pturds rterstis informis e relizds doumento do sistemF intoD o wodelo fsio re(ndo utilizndo esmqoferD podendo vlidr e veri(r implnto do sistem de ontroleF m onheido prolem de espei(o de hrdwre o sistem de ontrole de produo @rodution gell AD que em weWUD desreveEse espei(o em ew e o re(nmento pr digo gCCF yutro trlho stnte onheidoD e muito utilizdo omo exemplos em vris desE ries em lto nvelD espei(o de um ldeir vpor onforme desrio de eril erWTF xo trlho ffh+ WTD presentd de(nio em ew pr ldeir vporD ilustrndo omo espei(o em lto nvel e veri(o de sisE tems omplexos podem ser explords pr um desenvolvimento em doumentdo e vliddoD preservndo inspeo forml e eitndo lteres futursF y wodelo fsio modulrizdo permite oter um espei(o om diverss vises do prolem e presentd trnsformo pr gCCF y prolem d ldeir foi presentdo no seminrio hgstuhl eminr on wethods for emntis nd pei(tion em tunho de PHHS om o des(o de oter melhor espei(o em lto nvelF ys resumos dos prinipis resultdosD inluindo ffh+ WTD esto listdos em efvWSF istes so exemplos de plio do wtodo de e(nmento ewD onde mostrE se espei(o em lto nvel de diferentes tipos de sistemD inluindo softwreD
hrdwreD lgoritmosD lingugens e protoolosF possvel mostrr filidde de se expressr e re(nr sistems simples e omplexosD possiilitndo fil doumento e vlido enqunto de(neEse o wodelo fsioF y rigor forml exigido pelo modelo ewD sem prejudir legiiliddeD permite veri(o do sistem e prov do orreto re(nmentoF essimD o wtodo de e(nmento ew utilizdo pr espei(o de sistems reis ontriuindo pr solues de prolems enontrdos tulmenteF
PFQ
e vingugem wh %n
e lingugem wh foi rid pelo grupo de pesquis do vortrio de vingugens %n rogrmo d niversidde pederl de wins qeris @vv E pwqAD e tulmente
QH
se enontr n verso PFH fsfHSF il sed no oneito de wquin de istdo estrt @ewA qurWS e possui suporte modulriddeD rio de novos tipos e onstrues de lto nvelF xest seo so orddos os elementos relevntes pr o trlho presentdoF r omplet de(nio d lingugem wh %nD deveEse onsultr fsfHSF m progrm onsiste n de(nio de um voulrioD do estdo iniil e d regr de trnsio que promove mudn de estdosF elm dissoD h tmm n linguE gem onstrues pr de(nio de invrintes de exeuoD ontrole de visiilidde intermdulos e omunio entre gentesF e lingugem wh possui omo rterstis prinipisX %n
estruturs pr modulrizo e menismos de visiilidde e proteoY extensiilidde de tiposY seqenidores de regrsY sistem fortemente tipdoD om um rio onjunto de tipos prde(nidosY invrintes pr exeuo d regr de trnsio d mquin strtY regrs de trnsio de estdoY multigentesD om pidde de utonomiD independniD onsini de onE texto e soiiliddeD introduzid n lingugem de mneir simples e diretY exeuo multigentes snron e ssnronY stro de regrs de trnsioD inluindo es e iteresD que podemD por exemploD ser exeutds prtir de outrs mquinsD rindo noo de sumE quinsF
PFQFI
wdulos de rogrm
m mdulo de progrm espei( regr que um gente exeutD seu voulrioD interpreto do voulrio no estdo iniil e o invrinte d exeuoF m mdulo ontm um menismo de ontrole de visiiliddeD permitindo orgnizr o voulrio de um gente em uniddes enpsuldsD reduzindo su omplexiddeF m mdulo de progrm tem seguinte formX
PFQF
e vingugem whn %
QI wdulo em wh %n
funes e tipos abstractions : aes i n i t i a l state : inicializaes de funes dinmicas transition: regras invariant : invariantes de execuo end nome-do-mdulo
e prte import olo no esopo do mdulo interfe dos gentes om os quis o gente do mdulo desej se omunirF e interfe de um gente ontm s ssinturs de stres de regrs que o mdulo disponiiliz pr uso de outros gentesF e prte inlude de(ne os mdulos seundrios e seus elementos que devem ser inorpordos o mduloF ist lusul tem importnte ppel n formo do voE ulrio dos gentesF e lusul inlude tmm serve pr ontrole de visiilidde de elementos delrdos plios em um mduloF e seo lger de(ne os elementos d lger sujente o modeloD ontendo os tipos e s funes do mduloF e seo initil stte serve pr iniilizo de funes dinmisF e seo strtions de(ne stres de regrs de trnsioD que podem ser utilizds lolmente ou exportdsF e seo trnsition de(ne regr de trnsio de estdo do genteD n qul exeuE td repetidmente de um s vezD ou em um seqni de pssosD qundo o gente disprdoF ist seo represent o orpo do progrm dos gentes ssoidos o mduloF e seo invrint de(ne ondio envolvendo os elementos de um mdulo que deve ser invrinte durnte su exeuoF intre dus iteres d regr de trnsio do mduloD o invrinte veri(do pelo sistem de exeuo wh %nF gso sej violdoD um mensgem de erro emitid e exeuoD interrompidF
PFQFP
egr de trnsio
e regr de trnsio de um gente de(nid n seo trnsition de um mduloF ode ser um regr de trnsio de um nio psso ou ento um seqni de pssos de
QP
exeuoF xo primeiro soD regr exeutd repetidmente qundo o gente disprdo e (nliz qundo se tinge um ondio de terminoF xo so de mltiplos pssosD regr exeut um psso de d vezD indidos pel lusul stepD iniindo om step Xa IF e tulizo diret de step no permitid em wh %nD pr isso utilizEse vrivel implit nextD iniilmente IF entes de d psso de trnsioD next utomtimente inrementdD e ps tod trnsioD fzEse step Xa nextF e no houver um psso espei(doD ou sejD se for um psso omissoD nd feito n trnsio no ser o inremento de next e triuio step
Xa nextF
y vlor de step pode ser expliitmente lterdo em um psso triuindoEse um vlor nextD o qul ento prevlee sore o inremento utomtioF e trnsio dit onlud ps exeuo do ltimo pssoD neste soD o vlor orrente de step super de(nio do ltimo pssoD ento s funes implits step e next so reiniids om o vlor I e regr se repeteD relizndo o mesmo proessoF gonsidere seguinte regr de trnsio om seqni de pssos e s regrs I e PX egr om seqni de pssos
1 2 3 4 5
. . .
:= 2;
end
xeste exemploD regr se inii om exeuo de I e depois de PF xo tereiro pssoD o omissoD nd feitoD exeto inrementr funo next e triuir stepF xo qurto pssoD gurd g vlidD se for verddeirD next tulizd pr exeutr o psso PF undo g for flsD nd feito eD no psso seguinteD step vle SD exedendo os pssos de(nidosF intoD step e next so reiniids e o proesso reome do psso IF
PFQFQ
wenismos de isiilidde
ys elementos @funes e tiposA que ompem lger de um gente so nturlmente privdosD ou sejD visvel pens no mdulo onde so delrdosF e lssi(o puli signi( que funo de um mdulo A ser inorpordo lger de um mdulo B que inlui A pel lusul inludeF xeste soD h duplio ds funes inludsD fzendo os mdulos A @inludoA e B @que inluiA terem diferentes interpretes desss funesF
PFQF
e vingugem whn %
punes delrds omo omprtilhdsD lssi(o shredD possuem mesm interpreto entre os gentes de um mesmo mduloF gso sejm plisD duplio no oorreD hvendo ssim o omprtilhmento desss funes entre os gentes dos mdulos que s delrou e dos mdulos que s inluemF e lusul inlude inorpor em um mdulo os elementos plios de outroD devendoE se quli(Elos qundo utilizdosF odeEse expliitr os elementos inludos sendo posE svel utilizElos diretmente sem neessidde de quli(oF y exemplo seguir mostr lger de um mdulo AF x linh QD de(neEse funo fune privdF e funo pli funf n linh R pode ser inorpord lger de outros mdulosF x linh SD delrEse funo seD qul omprtilhd entre os gentes do mdulo eF im seguidD n linh TD delrEse funo pseD que omprtilhd entre os gentes de e e gentes de mdulos que inluem eF wdulo A
1 2 3 4 5 6 7 8
module A algebra :
funcA
. . . end A
: : : psA :
Y; T; T; T;
e seguirD o mdulo B inlui o mdulo AD sendo ssimD B tem visiilidde dos elementos plios de A @ funo funf A e omprtilh funo pseF ys demis elementos de A no so visveis em B F xeste so de inlusoD os elementos de A devem ser utilizdos em B om quli(oD omo mostrdo n linh WF wdulo B inlui A
A;
1 2 3 4 5 6 7 8 9 10 11 12
funcD : T ;
end
funcD := A . funcB ;
QR
y mdulo C seguir inlui funo f uncB pli de A expliitmenteD linh PD portntoD no preiso quli(El n linh WF wdulo C inlui A
A ( funcB );
1 2 3 4 5 6 7 8 9 10 11 12
funcE : T ;
end
funcE := funcB ;
end
y menismo de visiilidde permite enpsulo de um mdulo de wh %nD um vez que um gente no pode essr livremente ddos de outrosF ssso reduz omplexidde dos mdulos e ontriui pr reusiliddeF
PFQFR
snterfes de egentes
m gente pode disponiilizr servios esteleendo um omunio entre gentesD ontriuindo pr modulriddeF ssso relizdo por meio d de(nio d interfeD que deve ter o mesmo nome do mdulo e pode onter tipos d lger e stres de regrsD hmds de oF y exemplo seguir mostr um possvel de(nio pr interfe de um mdulo AF snterfe do mdulo A
1 2 3 4
m mdulo B import interfe de A por meio d lusul import d seguinte formX wdulo f import A
A;
1 2
module B import
PFQF
e vingugem whn %
QS
3 4
end
. . . B
essimD um gente do mdulo A disponiiliz seus servios @stres e tiposA e um gente de B os utiliz pel importo d interfe de AD linh P do mdulo B F
PFQFS
he(nies de wh %n
essoidos um espei(oD pode hver um ou mis mdulos de de(nio wh %nD os quis rim e disprm os prinipis gentes que exeutm de form utnom s regrs de trnsio de estdo dos mdulosF m mdulo de de(nio mhin onsiste n espei(o de seu nome e de diE retivs pr rio dos gentes e dispro de su exeuoF e prtir deste mduloD o sistem de exeuo wh ri um gente espeilD denomindo supergenteD que %n exeut s diretivs espei(ds no mdulo mhinD dndo inio o proesso de rio e exeuo dos gentesF e diretiv gent of wD dentro do mdulo de de(nio mhinD ri um genteD prtir do mdulo M D e dispr su regr de trnsioF y voulrio do gente formdo por um pi prpri de tods s delres ontids no mdulo M e nos mdulos prtir dele inludos vi diretiv inludeF e intero entre gentes possvel medinte tro de mensgens medid pelo supergente ou por esso funes omprtilhds shredF eps rio de todos os gentes no mdulo mhinD exeuo de d um iniidF es regrs de trnsio dos gentes so exeutds repetidmente em prlelo e simultnementeF gd ilo de exeuo d regr de trnsio de estdo de um gente tmioD sem qulquer tipo de interrupo ou loqueioF omente entre um exeuo d regr d trnsio e seguinte que gentes podem ser loquedosD por exemploD por flt de reursos soliitdos de outros mdulosD soliito explit ou lgum inonsistniF y exemplo seguir ilustr o mdulo mhin que ri o supergente X D em seguidD ri um gente do mdulo A e seis gentes de B D todos independentes entre siF wdulo de he(nio machina
A; B (5); B;
QT
PFQFT
ees
action A ( X ) i s r e q u i r e : P; ensure Q ;
L; // body
end
e exeuo em ody ontm um onjunto de regrs de trnsio sore s funes do voulrio glol e lolF m o A pode reeer um onjunto X de prmetros tipdosD que podem ser quli(dos om inD pssgem por vlorD out ou inoutD mos so pssgem por nome @ll y nme AF ypionlmenteD um o pode onter um onjunto L de delres loisF es tulizes relizds em A somente sero pereids no estdo seguinteF E lores ds funes lois so preservdos pr prxim hmd de S D so no exist iniilizo de funes lois em LF e lusul require exige que A sej hmd stisfzendo prEondio P F e lusul ensure mostr o que o A deve grntir ps su exeuoD ou sejD o (nl d trnsioD psEondio Q deve ser stisfeitF ulquer flh em P ou Q termin exeuo do gente em um situo de erroF y esopo de P e Q rnge o esopo do mdulo mis os prmetros formis ontidos em X F helres lois no fzem sentido nesss expressesD um vez que enquire e
ensure so lusuls que relionm o om o ontexto que el est imersoD onde os elementos de L no so visveisF
e prEondio P de um o A vlid no momento d hmdD e os vlores ds funes utilizds so otids no estdo orrenteF xo so d psEondio QD o supergente rmzen expresso de Q em um list de psEondiesF eo (nl d trnsioD o supergente veri( tods s ondies rmzends e os vlores ds funes e reles so otidos no estdo seguinteF e o in mostrd seguir inrement um o rgumento x pssdoF e prE ondio omitidD portnto in pode ser hmd sem nenhum restrio diionlF e psEondio diz que ess o grnteD o (nl de su exeuoD que o vlor de
PFQF
e vingugem whn %
QU
quli(dor oldF eo
xi D sej IHF eps exeuo de in otmEse o estdo j e o vlor de xj igul IIF y omndo old n psEondio se refere o vlor de xi enqunto xj j foi luldoF ortntoD lusul ensure x = old x + 1;
equivlente fzer n trnsio i j
ensure xj = old xi + 1;
sustituindo os vlores
ensure 11 = 10 + 1;
ees de(nids om ssintur A(X) sugestiv e ssoid s pr e psEondies permitem um viso em lto nvel de su trefF gom issoD possvel indir sus ondies de hmd e grntis sem onheer profundmente su exeuoF
PFQFU
egentes podem se omunir de dus formF e primeirD vi hmds stres de regrs @tion A que so delrds n interfe dos mdulos prinipisF hurnte exeuo de su regr de trnsioD um gente a pode soliitr exeuo de um stro de regr disponiilizd vi interfe por um outro gente bF iste proesso entendido omo o envio de um mensgem do gente a o gente bD soliitndo exeuo do servio de(nido pel stro hmdD ujos prmetros servem pr trnsmitir informes o gente b ou dele reeElsF odo gente possui o ontdor endingenswers e s (ls equestseeived e enswersE
eeivedD ontroldos pelo superagente pr oordenr s tros de mensgens entre gentesF imor esss estruturs oupem o espo de ddos do genteD no h meios de
QV
mnuseEls diretmente em wh %nF e (l equestseeived rmzen os pedidos de exeuo de stresD e seus respetivos prmetrosD feitos por outros gentesF e (l
enswerseeived tem o formto de um list de tulizes e seu ontedo reltivo o vlor de retorno de prmetros out e inout ds requisies envids outros genE tesF y ontdor endingenswers ontiliz o nmero de requisies om prmetros do tipo out e inout feits outros gentesF m gente somente pode reEexeutr su regr de trnsio qundo endingenswers estiver zerdoF
undo um gente a soliit exeuo de um stro de um outro gente bD o supergente olo o pedidoD e seus prmetrosD n (l equestseeived de bF e houver prmetros do tipo out ou inoutD o endingenswers de a inrementdo e este gente ontinu su trnsio orrenteD ms ser impedido de iniir prximF undo o gente b tende soliito de aD o superagente retir requisio d (l equestseeived de b eD no so de prmetros out e inoutD os vlores destes prmetros so luldos e olodos n (l enswerseeived de a e seu ontdor
endingenswers derementdoF into o gente a tuliz seus ddos de ordo om (l enswerseeived e ome prxim iteroF e (l equestseeived de b pode onter vris requisies de diversos gentesD ssimD d pedido tendido um umD de form tmiF
es hmds stres de regrs de outros gentes so ssnrons em relo exeuo d trnsio orrenteD isto D o envio de mensgens no us loqueio do gente durnte trnsio orrenteD porm prxim trnsio somente ser retomd ps o reeimento ds informes soliitds pels mensgens envids durnte ltim itero d regr de trnsioD isto D qundo o endingenswers for igul zeroF y loqueio de exeuo d trnsio seguinte evit erros de esso vlores ind no disponveisD preservndo propriedde de que s tulizes tero vlidde n itero seguinteF e (m de evitr o loqueio d prxim trnsioD um servio pode ser soliitdo de form ssnron mrndo hmd stro orrespondente om plvr synhronouslyF y exemplo westreEisrvo seguirD eo PFQFVD ilustr este omportmentoF y supergente ontrol utomtimente s soliites de servios relizds pelos gentesD e este o nio meio de ontrole existenteF y supergente responsvel por relizr o ontrole de onorrni de ddos de form trnsprente o progrm esrito em wh %nD (ndo de ordo om o modelo de wquin de istdos estrtD qurWSF essimD prolems omo ondio de orrid e dedlok so mis filmente resolvidos nest lingugemF yutr form de omunio entre gentes vi funes omprtilhds @shred AD s quis sus interpretes so s mesms pr todos os gentesF m funo delrd pens omo shred em um mdulo e omprtilhd entre os gentes de eF e for
PFQF
e vingugem whn %
QW
puli shredD o omprtilhmento ontee entre os gentes de e e gentes dos demis mdulos que inluem eF
gomo os gentes exeutm em prleloD ( evidente possiilidde d existni de ondio de orridD e os meio neessrios pr este ontrole devem ser relizdo pelo desenvolvedorF
PFQFV
ixemploX westreEisrvo
y lgoritmo westreEisrvo stnte utilizdo n re de redesF gonsiste n exeuo prlel de um determindo nmero de proessosD denomindos esrvos @slves AF m proesso mestre @mster A oorden o momento do inio d exeuo dos esrvos e gurd (nlizo de todos elesF iste um exemplo de exeuo ssnron e ser mostrdo omo implementdo em wh %nF y lgoritmo funion d seguinte formX ntes do proesso mestre dr ordem de exeuo os proessos esrvosD ele pergunt se todos esto disponveis e gurd respostF gso verddeiroD o mestre orden que todos exeutem su tref prlelE mente e de form ssnronD so ontrrio dd ordem pr nelr exeuoF ode ser possvel que o mestre exeuteD tmm em prleloD su prpri tref durnte o tempo de exeuo dos esrvosF r simpliidde do exemploD so onsiderds omunies mestreEesrvo sem flhs e o mestre ( in(nitmente tentndo dr ordem de exeuo os demis proessosF e soluo qui presentd foi sed n desrio de frger em fHQD gptulo TF e seguirD de(neEse o mdulo pr esrvoD denomindo lve om os seguintes elementosX
Order
el AY
Answer order
est disponvel @ept A ou indisponvel @refuse AY puno que represent ordem reeidF
y mestre pergunt os esrvos por meio d stro qetenswer @linh ISAD onde respost dd no prmetro nsD pssdo omo outF y gente esrvoD iniilmenteD gurd pel ordem do mestre @linh QQAF eo reeer ordemD o gente exeut su trefD de(nid n o skD se ordem for joD so ontrrio nd feitoF osteriormenteD (nlizEse exeuo @linhs QS e QTAF
RH
eo informr o mestre que exeuo foi (nlizd @linh QTAD o gente esrvo utiliz stro eportesultD em um hmd ssronD que importd d interfe do mdulo que de(ne o mestre @linh PAF wdulo Slave
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
enum enum
d e f a u l t undef ; d e f a u l t undef ;
order : Order ;
abstractions : action Clear i s order := undef ; end action GetAnswer ( out choose a : Answer do ans ( s e l f ) := a ; end end action end
ans : Slave -> Answer )
is
is
action end
Task i s // doSomething
i n i t i a l state :
Clear ;
transition: step 1: i f order = undef then next := 1; e l s e i f order = job then Task ; end end
asynchronously ;
end
Slave
PFQF
e vingugem whn %
RI
y mdulo lve de(ne omo nl de omunioD que ser utilizdo pelo gente mestreD os tipos yrder e enswerD s stres qetenswerD utilizd pr oter um respost sore disponiilidde do esrvoD e etyrderD utilizd pr dr ordem de exeuo ou nelmentoF sntefe lve
1 2 3 4 5 6
i n t e r f a c e Slave p u b l i c type Order ; p u b l i c type Answer ; action GetAnswer ( out action SetOrder ( i n ord end Slave
slaves n order
xmero de proessos esrvos de(nidos externmenteY yrdem ser dd os esrvosY wpei um esrvo n su respetiv respostY
sniilmente so ridos os n gentes esrvos que (m gurdndo pel perguntF eo iniir su regr de trnsioD o proesso mestre pergunt todos os esrvos se possvel exeutr vi o inquire @linh SPAF isse proedimento relizdo requisitndo o qetenswer do mdulo lve @linh PRAD e omo hmd snronD o gente mestre ( gurdndo que todos os esrvos respondm pr seguir o psso seguinteF iste psso tem o ppel de sinronizr o mestre om todos os esrvosF im seguidD erto que tods s resposts hegrm o mestreD ento o mestre s vli veri(ndo se existe lgum respost reusd e de(ne qul ordem ser dd n o ivlenswerserrived @linh PUAF xo psso seguinteD ordem envid os esrE vosD utilizndo o etyrder de(nid em lveF gomo hmd feit de form ssnronD no oorre loqueio pr prxim itero do mestreD que exeut su prpri tref @wstersk n linh SSA t que todos os esrvos tenhm termindo @linh STAF or (mD o mestre reinii o lgoritmo @linh SUAF
RP
wdulo M aster
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
external
abstractions : action Clear i s order := undef ; alReported := f a l s e ; f o r a l l s : slaves do answersArrived ( s ) end end
:= resultsArrived ( s ) :=
undef ; false;
action Enquire i s f o r a l l s : slaves do s . GetAnswer ( answersArrived ); end end action EvalAnswersArrived i s i f e x i s t s s : slaves s a t i s f y i n g then order := cancel ; e l s e order := job ; end
answersArrived ( s ) = refuse
action SendOrder i s f o r a l l s : slaves do s . SetOrder ( order ) asynchronously ; end end action end
MasterTask i s // master does something while wait for slaves
action end
is
PFQF
e vingugem whn %
RQ
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
slaves ( n );
s : slaves
2: 3: 4: 5: 6: 7:
Clear ; Enquire ; EvalAnswersArrived ; SendOrder ; MasterTask ; i f not allReported then Clear ; next := 2;
do dispatch
s;
end
next
:= 5;
end
Master
e noti(o envid o mestre informndo que um esrvo terminou su tref relizd pel o eportesultF eportesult delrd n interfe de wsterD onforme seguirD pr ser orretmente utilizd em lveF il tmm no us nenhum loqueio de iteresD pois su hmd feit om mr synhronouslyD portnto preserv s exeues em prlelo e de form ssnron dos gentes esrvos e o mestreF
sntefe wster
1 2 3
( i n s : Slave );
iste exemplo ilustr um exeuo multigentes implementd em wh %nF e rtersti prinipl do prolem exeuo prlel e ssnron ds trefs relizds pelo mestre e demis esrvosD ssim omo possvel rir pontos de sinroE nizo dos proessosF y psso Q @linh SQA d trnsio do proesso mestre represent um ponto de sinroni do sistemD onforme exigni d espei(o de que todos os esrvos devem estr disponveis pr exeuo de sus trefs no mesmo instnteF xos demis pontos ds regrs de trnsioD tnto de lve qunto de wsterD exeE uo ssnron em relo os demis gentes do sistemD omo propost do lgoritmoF essimD foi possvel mostrr omo wh ord exeues ssnrons %n om determindos pontos de sinronizoF
RR
PFQFW
ixemploX rodutorEgonsumidor
y prolem rodutorEgonsumidor onsiste em um u'erD um onjunto de produtores responsvel por inluir elementos no u'er e um onjunto de onsumidores responsvel por retirr elementos inludos pelo produtorF heveEse ontrolr o esso o u'er pr evitr leitur inorret de ddo e soresrit de um ddo ind no onsumidoF e seguir presentd um soluo em wh %nF y mdulo fu'er de(ne os seguintes elementosX
vist de vlores que o u'er rmzenY mnho mximo do u'erD privdo e no pode ser lterdo @stti AY
maxSize
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
wdulo fu'er
: l i s t of I n t ; s t a t i c maxSize : I n t := 10; derived empty : Bool := length ( buffer ) = 0; derived full : Bool := length ( buffer ) = maxSize ;
abstractions : p u b l i c action Write ( i n x : Int , out i f full then ok := f a l s e ; e l s e ok := true ; end end
buffer := buffer :: x ; ok :
Bool ) i s
x :
Int , out
ok :
Bool ) i s
end
Buffer
PFQF
e vingugem whn %
RS
es es rite e ed do mdulo fu'er provm um mneir de um rodutor inluir o elemento produzido e um gonsumidor o lerF or isso so delrds n interfe do mduloF possvel notr usni de regr de trnsioD rterizndo
x : x :
ok : ok :
Bool ); Bool );
y mdulo gonsumer de(ne o omportmento de um onsumidorF rimeirmenteD de(nid um funo unitD linh TD que rmzen o vlor reuperdoF e funo
ok utilizd pr indir se leitur foi relizd qundo soliitd e u'er um referni o gente de fu'erF gonsumer import o mdulo fu'erD onforme mostrdo n linh PD tendo esso os seus servios disponiilizdosF e regr de trnsio de(ne que um gente onsumidor tent ler os elementos de u'er in(nitmenteF undo soliitEse leitur de u'erD este retorn em ok se foi ou no possvelD ssimD um onsumidor pode proessr o ddo lido ou relizr nov tenttivF
wdulo Consumer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Consumer
y mdulo roduer de(ne o omportmento de um produtor e possui rtersE tis muito semelhntes o mdulo gonsumerD om diferen que tentEse esrever ontinumente o novo ddo produzidoD onforme desrito n regr de trnsioF
RT
wdulo roduer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
( buffer , full );
Producer
e mquin rost de(ne um nmero ritrrio de gentes onsumidores e gentes produtoresF odos sero exeutdos em prlelo e de form independenteF y gente de fu'er tmm ridoD e pel de(nio nos mdulos gonsumer e roduerD mos possuem mesm referni o gente de fu'erF es funes numeryfgonsumers e numeryfroduers so funes externsD permitindo rir quntiddes vrids de onsumidores e produtoresF wquin Host
1 2 3 4 5
machina Host agent of Buffer ; agent of Consumer ( numberOfConsumers ); agent of Producer ( numberOfProducers ); end
hess formD possvel ontrolr o esso o fu'er sem rir ondio de orridF gd pedido pr esrever ou ler rmzendo n list de requisies do mdulo fu'er e proessds um um tomimenteF e grnti de suesso n operoD de ordo om disponiilidde @heio ou vzioA do u'erD ddo n funo ok pssd omo prmetro out ns es rite e edF e omunio entre gentes relizd vi tro de mensgens snrons grnte que o sistem ser exeutdo de form orret e segurD no que diz respeito o omprtilhmento de informes de fu'erF
PFQF
e vingugem whn %
RU
PFQFIH
ixemploX emforo
yutr possvel soluo pr o prolem rodutorEgonsumidor pode ser dd vi omE prtilhmento de funesF essimD deveEse ontrolr o esso pr evitr ondio de orridF intoD utilizEse implemento de um semforoD onforme desrito seguirF y mdulo fu'er omprtilh s funes u'erD empty e full entre produtores e onsumidoresF wdulo fu'er
1 2 3 4 5 6 7 8 9
module
Buffer
algebra : s t a t i c maxSize : I n t := 10; p u b l i c shared buffer p u b l i c shared derived empty p u b l i c shared derived full
: : :
= 0; = maxSize ;
end
Buffer
r o ontrole de esso s funes omprtilhdsD utilizEse de(nio de semE foro seguirF e funo resoures permite generlizo pr um nmero qulquer de reursos omprtilhdosD no so de rodutorEgonsumidorD existe pens umD o u'erF undo um gente neessit de um reursoD ele fz soliito vi o e respost dd em permissionF eo (nl d seo rtiD o gente lier o reurso vi o F emphore
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Int
:= 1;
abstractions : p u b l i c action P ( out permission i f resources > 0 then permission := true ; else end end
resources permission :=
Bool ) i s
:= resources - 1;
false;
RV
16 17 18 19
V is resources := resources + 1;
y mdulo gonsumer import os servios de emphore e inlui expliitmente os elementos u'er e empty do mdulo fu'erF elm de unitD delrEse semD otendo o gente de emphore delrdo n mquin de exeuoF or (mD permitted funo que rmzen respost dd qundo feit soliito do reursoF e regr de trnsio dividid em dois pssosD no primeiroD fzEse soliito do reurso vi hmd do servio do gente semF xo segundo pssoD respostD dd em premittedD nlisdF gso permisso tenh sido onedidD o onsumidor tem esso exlusivo os elementos omprtilhdosD podendo ento oter um elemento de u'erD so o mesmo no estej vzioD e tulizEloF eo (nlD lirEse o reurso e triuiEse flso permittedF wdulo Consumer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
empty );
Int
:= 0;
sem . P ( permitted ); 2: permitted and not empty unit := head ( buffer ); buffer := tail ( buffer ); sem . V ; permitted :=
then
end
Consumer
end
false;
PFQF
e vingugem whn %
RW
full );
Int
:= 0;
sem . P ( permitted ); 2: permitted and not full then buffer := buffer :: unit ; unit := unit + 1; sem . V ; permitted :=
end
Producer
end
false;
e mquin rost de(ne o gente de semforoD responsvel por ontrolr o esso o reurso omprtilhdoD e os gentes de onsumidores e produtoresF wquin rost
1 2 3 4 5
machine Host create Semaphore ; create Consumer ( numberOfConsumers ); create Producer ( numberOfProducers ); machine
iste exemplo mostr um segund soluo pr o prolem rodutorEgonsumidor relizndo omunio entre os gentes por meio de funes omprtilhdsF ys proE lems reliondos onorrni so soluiondos vi implemento de semforoD e de(nio d seo rti deve ser feito pelo desenvolvedor
SH
PFR
gonluses
e stro presente em ew torn o modelo legvelD e possiilidde de exeutr um espei(o filit depuro do sistemF y modelo tmm dispe de reursos pr desrio de onorrniD noEdeterminismo e exeuo snron e ssnronF y formlismo existente em ew fundmentl no uxlio provs de proprieddes d espei(oF y onjunto de mquins ns quis os estdos so (nitosD s pwsD so importntes pr de(nio de estruturs de ontrole que possiilitm o mnuseio de estruturs de ddos do sistemF essimD podeEse tornr modelgem legvel e intuitivD simpli(ndo tref de vlido do sistemF irndo proveito do rigor mtemtio e d legiilidde do modelo ewD o wtodo de e(nmento ew tem s rterstis de veri(o inlus no proesso de re(E nmentoD vlido ind durnte o projeto e espei(o legvel e independente de pltformsF y wodelo fsio o reurso de espei(o de sistemsD que deve ser ompreensvel os domnios d eplio e do wodeloF elm dissoD su onstruo ontm rterstis de ertos pdres de re(nmento que filitm plio ds regrs de trnsformoD que so lssi(ds e podem forneer proprieddes serem grntidsF wh um lingugem sed no modelo ew que possui suporte modulE %n riddeD fortemente tipd e possui onstrues em lto nvelF elm dissoD possiilit extenso de tipos e de(nio de invrintes de sistemF e exeuo multigente inE dependente e pode ser snron ou ssnronF e hern de rterstis do modelo ew permite de(nio de um mtodo de re(nmento pr est lingugemD sed ns de(nies do wtodo de e(nmento ewF
QFI
vingugem de wodelgem wh %n
vingugem de wodelgem wh @vwwA um lingugem de espei(o pr %n um wodelo fsio fundmentd em digrms de )uxo de ontrole e de de(nio modulr por meio de tipos strtos de ddosF elm ds rterstis omuns de wodelo fsioD vww suport espei(o de proessos ssnronos e sed em desenhos gr(os de represento em lto nvelF odos os oneitos inerentes d espei(o d lingugem wh %nD de(nid em fsfHS e resumid n eo PFQD so plids vwwD inlusive plvrs hves e sintxe de desrioF vingugem de wodelgem wh de(nid om os seguintes elementosX %n
SP
ddos de ordo om interpreto ds neessiddes identi(dsF hesreve os eleE mentos do mundo rel em termos de requisitos do sistemF wodel spetos esttios e pertene o homnio dos wodelosF
QFIFI
hesrio extul
y prolem ser soluiondo desrito informlmente em textos que expressm sus rterstis e neessiddesF intoD de(neEse e doumentEse propost de soluE oD deises e estrtgis utilizdsF isss informes ontriuem fortemente pr o reonheimento e rterizo dos ipos estrtos de hdosD que representm os mdulos que iro ompor o sistemF x desrio do wtodo de e(nmento wh neessrio de(nir um formtE %nD
A o pdro pr o texto resultnteF ortntoD utilizEse noto v i unuVR pr
QFIF
SQ
Domnio da Aplicao
ou
Domnio do Problema
Caractersticas do sistema
ou
Domnio da Soluo
Requisitos do software
pigur QFIX itps de espei(o de sistemsF edio do texto devido sus rterstis de independni de mienteD pltform livre e filidde de uso unuVQF
QFIFP
m ipo estrto de hdos @ehA represento em vww de um elemento do mundo rel onstitudo de um onjunto de rterstis e proprieddesD identi(ds e orgnizds n espei(o informlF gd eh de(ne um determindo mdulo om ertur pr futurs espei(es de sus funionliddesF epliEse o onE eito de progrmo por ontrto pr de(nir s operesD strds por es em vwwD que o mdulo deve prover weyWUF hemis es e rterstisD importntes internmente o ehD so de(nids posteriormente no qlossrioD eo QFIFRF ys seguintes elementos so neessrios pr se de(nir um eh em vwwX
nomeX identi( o eh dentro do sistem e deve ser sugestivo su funionliE ddeY lgerX mnim represento do voulrio que rteriz o ehF o de(E nidos nomes de funes e tipos strtos sem preoupo om tipgemD pois o ojetivo oter um represento strt e ser independente de lingugensY invrinteX onjunto de invrintes de exeuo de um genteY interfeX stres @tions AD que representm s operesD e tipos strtos que so visveis externmente o mdulo pr o umprimento de seu ontrtoF em importnte ppel n omunio entre gentesD pois de(ne os servios e tipos que podem ser utilizdos por outros gentesF
SR
e noto de ipo estrto de hdosD pigur QFPD dd por um retngulo reE presentndo o mduloD o nomeD que pree no nto superior esquerdoD e possui dus regiesF e primeirD hmd lgerD desreve minimmente os prinipis elementosD funesD reles e tipos strtosD que rterizm o ehF y segundoD hmdo de
invrintD de(ne os invrintes em funo d lger e deve seguir mesm sintxe do loo invrint de wh %nF
tadName algebra: abstractType abstractType abstractType action action action
....
invariant:
....
direit do retngulo existem dois tipos de segmentos de ret que podem ser utiliE zdos pr de(nio d interfe do ipo estrto de hdosF ys segmentos opldos por um rulo heio de(nem os tipos strtos que sero visveis externmenteF m vez que um tipo foi utilizdo no segmentoD ele no preis estr n seo lger do ehF ys segmentos opldos por um rulo vzio de(nem os nomes dos servios providos pelo ehF im vwwD os ipos estrtos de hdos expressm s rterstis sis do onjunto de elementos responsveis pels trefs do sistemF osteriormenteD durnte o proesso de re(nmentoD d ipo estrto de hdos ser mis detlhdo em su estruturD )uxo de ontrole e reles entre gentes de outros mdulosF
QFIFQ
higrm de rnsio de istdos @hiA um derivo de pw @eo PFIFTA pr se dequr s neessiddes e espei(es d vingugem de wodelgem wh %nF his so utilizdos pr modelr o omportmento e desrever s rterstis de mdulos em lto nvel om o ojetivo de ser filmente interpretdo por qulquer um que estej envolvido no projetoF m digrm trt de spetos dinmios d espei(o e o elemento pertenente o homnio dos wodelos que est mis prximo do homnio d eplioF or issoD onstrudo em um lto gru de stro sem deixr de ldo spetos formis do modeloF
QFIF
SS
gd higrm de rnsio de istdos est ssoido um ipo estrto de hdos e represent o omportmento de seus gentesF onstitudo de um onjunto de estdos reliondos pels trnsiesD que ontm ondies e esF y estdo orrente do digrm tmm pode ser hmdo de estdo internoD e possvel estr em pens um nio estdo em um determindo instnteF es ondies e es devem estr de ordo om o modelo ew e seguir sintxe d lingugem lvo dotd no mtodo de re(nmentoF e noto hi derivd d noto de digrms de estdos de wv tfHRD ftHS e pw om lgums lteres om o ojetivo de tender melhor o modelo ew e permitir um mtodo de re(nmento direiondo lingugem wh %nF e seguirD de(nid noto do digrm presentndo d prte que o ompeF
QFIFQFI
istdos
m estdo de um hi represent situo que stisfz lgum ondioD reliz um tividde ou gurd que um ondio sej stisfeitF omposto deX
xomeX identi( unimente um estdoY etividdeX o exeutd d itero enqunto o gente permneer em um determindo estdoF y nome d tividde ddo expliitmente n form tvX tvttexmeD podendo vir dentro ou for do rulo que represent o estdoD omo mostr pigur QFQF es es so de(nids n eo QFIFQFRF
state
atv: atvState
state
atv: atvState
(a)
Nome
da
atividade
(b)
fora
Nome
da
atividade
dentro.
QFIFQFP
istdo snterno
odo mdulo ontm um nio estdo internoD hmdo de tlstteD que design o estdo orrente dentre os possveis que se pode ssumirF y ontrole sore ess funo totlmente relizdo pelo wtodo de e(nmento wh %nD no sendo permitido seu uso n espei(o em lto nvel vwwF e funo prede(nid urrentstte permite oter o vlor de tlstte pr onsultD ms no eit tulizes explitsF
ST
QFIFQFQ
rnsies
m trnsio um relo entre dois estdosF epresentd por um setD sendo ompost deX
ondiesX ftos que devem ser stisfeitos @gAY es de trnsioX onjunto de es serem exeutds @eAY estdo de origem @iAY estdo de destino @jAY nomeX opionlD representdo por um retngulo preenhidoF
e pigur QFR@A exempli( represento gr( de um trnsio entre dois estdos do hiF y )uxo de um trnsio onsiste n ordeno temporl de seus elementos seguindo oriento origem destino F gomo s es so exeutds em prleloD ess ordeno determin o ontrole do )uxoD ou sejD quis es sero exeutds e qul ser o estdo de destinoF e o primeiro elemento for um ondio C D trnsio iond qundo C stisfeit no estdo de origem do )uxoF essimD C pode ser onsiderd o disprdor d trnsioF gso o primeiro elemento sej um oD trnsio ser ftlmente disprdF y gente pens lter seu estdo se o )uxo tingir o estdo de destinoF e ltero de estdo e o efeito d exeuo ds es somente so pereidos n itero seguinteD estndo de ordo om o modelo ewF m trnsio pode onter o mesmo estdo pr origem e destinoD omo o exemplo d pigur QFR@AF wuito emorD no ontexto do digrmD o estdo no sej lterdo ness trnsioD o estdo interno do mdulo @tlstte A tulizdo om o mesmo vlor de ntesF essimD s trnsies representds ns pigurs QFR@A e QFR@A onorrem pel tulizo de tlstteF iste ssunto ser melhor orddo posteriormente n eo QFIFQFSF
C i A
Nome da Transio
QFIF
SU
QFIFQFR
ees de trnsio
es es de trnsio representm um onjunto de tulizes do voulrio reliE zds durnte um trnsio de estdoF ods s es que devem ser exeutds em um trnsio tm o seu efeito pereido pens n prxim iteroF
i A j Atualizaes de 'A' so percebidas apenas em j
pigur QFSX epresento de um oF m o representd por um retngulo e um nomeD omo n pigur QFSF iste nome deve ter um orrespondente em estro no qlossrio pr um de(nio mis detlhdF gso no hjD o mtodo de re(nmento deve relizr o trtmento deE qudo ou reportr o erroF or exemploD o A mostrd n pigur QFS poderi tulizr o voulrio do mdulo omo mostr o digo wh seguirF %n ixemplo de um eo
1 2 3 4
action end
A is f ( t ) := x ; h ( t ) := y ;
QFIFQFS
gondies
m ondio um expresso oolen presente n trnsioF u vlio deterE min pssgem do )uxoF ys )uxos de entrd e sd so determindos pelos estdos de origem e destino d trnsioF m ondio deve onter um nio )uxo de entrd e deve existir pelo menos um )uxo de sdD eFgF pigur QFT@AD permitindo ou no su ontinuiddeD e no mximo doisD eFgF pigur QFT@AD rmi(ndo o )uxo em d so de vlio @verddeir ou flsAF xo so de um nio )uxo de sd vlio verddeir d ondio permite ontinuiddeD enqunto que vlio fls impede que trnsio sej efetudD onseqentemente o estdo no lterdoF xo so de dois )uxos de sdD o digrm ter rmi(es e deveEse expliitr qul )uxo se refere vlio verddeir @T A e fls @F AF m seqni de ondies em um trnsio orresponde o ninhmento dests e ltero de estdo somente relizd se o )uxo tingir um estdo de destinoF ssso possiilit exeuo de es sem efetiv ltero do estdoF pigur QFU@A ilustr ess situoD e pr melhor ompreenso do que oorreD pigur QFU@A mostr
SV
T
rule C rule C
pigur QFTX epresento de um ondioF o pseudo digo orrespondenteF epre que tulizo de tlstte feit pens n ondio mis internF
i
C1 A1 C2 A2
pigur QFUX eninhmento de ondiesF m estdo pode ser origem de vris trnsiesD sendo ssimD pode ser possvel exeutr mis de um )uxo em um trnsio de estdoF ormD se os destinos forem diferentesD primeir ondio de d )uxo lterntivo deve ser mutumente exlusivD so ontrrioD trnsio de estdo invlidD pois poder hver um inonsistni n tulizo do estdo interno do mduloF y modelo ew no espei( o que deve ser feito dinte de um inonsistni n tulizo qurWSF gonsiderEse trnsio omo invlidD pois um propriedde do higrm de rnsio de istdos que somente podeEse estr em um nio estdo em um ddo instnteF y ontrole ds ondies mutumente exlusivs deve ser feito pelos projetists e desenvolvedoresF x pigur QFVD s ondies C1 e C2 podem gerr inonsistnis e devem ser mutumente exlusivsF undo os )uxos de mesm origem possuem o mesmo estdo de destino inonsisE tni no oorreF y omportmento serim )uxos opionis pr exeuo de es om um gurdD e neste soD mis de um )uxo opionl pode ser exeutdoF x pigur QFVD s ondies C2 e C3 no germ inonsistnisF le lemrr que s onsideres feits sore ondies so vlids tnto pr trnsies om origem diE
QFIF
SW
ferente de destino omo pr trnsies om origem igul o destinoD j que neste tipo de trnsio o estdo interno do mdulo tulizdoF ssso quer dizer queD sejm iD j1 e
j2 estdosD primeir ondio de um trnsio i j1 e primeir ondio de um trnsio i j2 ou i i devem ser mutumente exlusivsF
pode gerar inconsistncia C1 A1
j1
C2
A2
j2
C3 no gera inconsistncia
A3
pigur QFVX itues de onorrni de )uxosF wostrouEse quiD inonsistni no higrm de rnsio de istdos no moE mento d trnsio de estdoF possvel tmm oorrer inonsistnis ns es que tulizm lger do mduloF isss podem no ser visveis no digrm e sim no qlossrioD devendo ser ontrolds por desenvolvedores e projetists pr estr de ordo om o modelo ewF
QFIFQFT
etividdes
m tividde um o ssoid um estdo que exeutd d iteroD enqunto o gente permneer no mesmoF e tividde opionl e semelhnte um )uxo que possui origem igul o destinoD porm no tuliz o estdo interno do gente tlstteF u exeuo independente dos )uxos de sd do estdoD ou sejD d itero exeutd ntes de vlir qul )uxo seguirF yutr diferen que omo tividde no possui estdo de destinoD el no ri situo de inonsistniF qunto tulizo de tlstteF m tividde ssoid o estdo esrevendoEse seu nome ps plvr reserE vd tv seguido de 9X9D omo mostr pigur QFW@AF intoD deveEse de(nir tividde no qlossrioD n prte de estresD de ordo om o nome ddoD pigur QFW@AF
QFIFQFU
istdo iniil
odo higrm de rnsio de istdos deve onter um estdo espeil no qul exeE uo tem inioF iste deve ser um estdo de preproD onde s es de iniilizo
TH
state
atv: atvState
(a) Estado.
pigur QFWX epresento e de(nio de tividdeF do voulrio do gente devem ser relizdsF y estdo iniil representdo om um pequeno rulo heio om letr I no meioD destndoEse dos demis estdosD pigur QFIHF ile origtrio e nio pr d digrmD no pode ser destino de nenhum )uxoD no ontm tividde e o gontrole qlolD desrito n eo QFIFQFWD no tem efeito sore eleF heve existir um nio )uxo de sd sem presen de ondiesD pens es so permitidsF
A1
QFIFQFV
istdo (nl
m estdo (nl de um higrm de rnsio de istdos identi(do no modelo omo um estdo que no origem de nenhum )uxoF iss de(nio fz sentido um vez que se no h nd ser feito em um estdoD s iteres seguintes no fetm s funes e reles do genteF ormD um estdo (nl pode onter um tividde omo rtifio de o prE(nlizoD e ess tividde exeutd um ni vez ntes d exeuo do gente ser (nlizdF eo ontrrio do estdo iniilD o estdo (nl no origtrio nem nioD e no existe neessidde de um plvr reservdF e pigur QFII exempli( um estdo (nlD pereeEse que no h )uxos sindo do estdoF
state
atv: atvState
QFIF
TI
QFIFQFW
gontrole qlol
y gontrole qlol ontm ondies e es que devero ser plids tods trnE sies de estdosD exeto que tem o estdo iniil omo origemF o restries de prioridde miorD ou sejD so relizds ntes de quisquer tividdeD o ou restrio do )uxo norml do hiF r su representoD utilizmEse digrms hi reduE zidosF o ditos reduzidos pois desrevem um pequeno treho do sistem seguindo s de(nies de hiD podendo no onter expliitmente o estdo de destinoF tilizEse
urrentstte omo estdo de origem indindo que todos os estdosD origem de lgum )uxoD sero sumetidos o gontrole qlolF
hdo o estdo orrente urrentstteD podem ser de(nidos dois tipos de exeuo glolF y primeiro diion um hi reduzido todos os estdos e o )uxo ontinu onforme desrito no hi priniplF odeEse notr que su represento n pigur QFIP no mostr o estdo de destinoF iste tipo de ontrole glol devolve o )uxo pr o hi priniplF
C1 Cn
current_state
A1
An
pigur QFIPX gontrole qlolX devolve o )uxoF y segundo tipo de exeuo glol desvi o )uxo d trnsio de estdos pr um estdo de(nidoD omo mostrdo n pigur QFIQF xeste soD s regrs e restries de(nids no )uxo norml do hi podem no ser vlidsF
C1 Cn
current_state
A1
An
state
pigur QFIQX gontrole qlolX desvi o )uxoF x re glolD pens permitido um nio hi reduzido de form evitr inonsistnis n trnsio de estdosF ormD possvel fzer omposio dos his reduzidos neessriosD rindo ssim um onjunto de ondies e es que ser exeutdo ntes de qulquer )uxo do hi priniplF ods s onsideres feits pr o hi so vlids tmm pr o digrm reduzidoF e pigur QFIR mostr um esquem de omposio de his reduzidos utilizndo os dois tipos exempli(dos ns pigurs QFIP e QFIQF hdo o estdo orrente urrentstteD ntes de seguir o )uxo normlD ondio gI veri(dF e for verddeirD desvi o )uxo pr o estdo
TP
stteiD so ontrrioD ondio gP vlid e se for verddeir exeut o eID se for flsD exeut o ePD e em mos os sosD o )uxo retorn o )uxo norml do hi priniplF
current_state
C1
F T
C2
stateE
A1
A2
pigur QFIRX gontrole qlolX omposioF y gontrole qlol de um hi exeutdo n sd de d estdoD exeto o iniilD de um gente de um mduloF ys rulos inzs mostrdos n pigur QFIS indim os pontos onde o digrm reduzido do gontrole qlol exeutdoF
C1
j1
j2
prepare
C2
j3
j4
QFIFR
qlossrio
ys his modelm o omportmento e desrevem s rterstis de gente de um mdulo em lto nvelD om o ojetivo de ser filmente ompreendidos por qulquer pessoF isss informes so esseniis pr o entendimento do prolem e soluo dotdD porm no forneem informes su(ientes pr implemento diret do sistemF y qlossrio trt de spetos esttios do modeloD tendo o ppel de de(nir funesD stresD estruturs de ddos e expresses presentds nos digrms ssim omo em outrs de(nies do prprio qlossrioF gom esss de(nies mis detlhdsD possvel ontrolr o nvel de stro doE td nos digrmsD deixndo detlhes neessrios implemento pr o qlossrioF
QFIF
TQ
essimD temEse o primeiro psso de re(nmento mpendo os nomes de esD tividE desD funes e expresses presentes em um hi em trehos mis propridos pr trduo n lingugem lvo do re(nmentoF y mtodo de re(nmento deve ser o mis utomtizdo possvelD pormD so neesE srios lguns pontos de interveno humn pr que se onsig oter um espei(o do sistem em lto nvel de stroF y qlossrioD entoD o primeiro ponto de inE terveno humn no proesso de re(nmentoD permitindo plio posterior ds regrs de re(nmento pr oter o digo exeutvel de form utomtizdF es prtes que formm o qlossrio tm relo om lingugem lvo dotd no mtodo de re(nmentoF eguemD portntoD mesm sintxe de ordo om d loo que representF im vwwD s de(nies do qlossrio seguem sintxe d lingugem wh %nF
QFIFRFI
lger
hi model o omportmento de um gente de um mdulo e sus tividdes sE trindo su onstruo internD o que desejvel t este momentoF ormD existem elementosD que no so relevntes no digrm strtoD ms so fundmentis pr tender os requisitos do sistemF isses elementos so de(nidos n lger omo funE esD tipos e estruturs de ddo seguindo sintxe de wh no loo lgerF %n es ondies desrits nos )uxos do hi so de(nids n lgerF elm ds ondiesD lger deve tmm tender s es de(nids em estresD ou sejD funes presentes em ondies e es devem estr espei(ds nest prte do qlosE srioF ys elementos presentes n desrio do eh @eo QFIFPA tmm devem ser de(nidos n lgerF ys itens d lger so de(nidos em um ix rotuld de qlossrioX lgerF qlossrio X lger
1 2 3 4 5 6 7
type type
Name1 ; Name2
es de(nies d lger trtm de spetos esttios do mduloD um vez que determinm su estrutur intern e ontrolm visiilidde dos elementosD interferindo
TR
nos wenismos de isiilidde @eo QFIFSAD qundo diz respeito o menismo de inlusoF
QFIFRFP
estres
gd o que de(nid no )uxo de trnsio ou omo tividde de um estdo no hi deve ser de(nid no qlossrio n prte de estresF es es podem fzer uso de outrs esD que tmm devem ser de(nidsF y loo orrespondente em wh %n denomindo strtions e deveEse seguir mesm sintxeD inlusive onsiderndo pr e ps ondiesF he ordo om o modelo ewD um inonsistni oorre qundo existem dus tulizes diferentes pr um mesmo elemento d lger n mesm trnsio de estdoF ortntoD desenvolvedores e projetists devem ter o uiddo de no gerr inonsistnis durnte espei(o do qlossrioF gso exist um inonsistni em um trnsioD est pode ser ortdD e mquin tem su exeuo interrompidF es stres so de(nids em um ix rotuld de qlossrioX estresF qlossrio X estres
1 2 3 4 5 6 7
( actionParams )
is
end
es es desrevem s espei(es de softwre neessris pr implemento em digo lvoF e regr de trnsio de um mdulo de wh ompostD lm ds %n funes estruturis do hiD de um onjunto de es de(nids em estresF snonE sistnis devem ser trtds pr evitr interrupes no funionmento d mquinF
QFIFS
wenismos de isiilidde
m mdulo pode inorporrD por um menismo hmdo snludeD elementos delrE dos omo plios em outro mdulo pr formr seu voulrioF egentes podem se omunirD por meio do menismo smportD utilizndo servios disponiilizdos n inE terfe de seus mdulosF elm dissoD neessrio informr qul mdulo dr origem mquin que represent o sistemF y digrm de wenismos de isiilidde model esss reles onforme seguirF
QFIF
TS
snlude X wenismo no qul um mdulo A inorpor em seu voulrio eleE mentos @lgerA de(nidos em outroD por exemplo B F undo A inlui B D tods s funes plis de B (m visveis em A e devem ser quli(ds qundo utilizdsF e inluso mtu entre dois mdulos no permitid no modelo e deve ser ontornd pelo projetist om fuso destes mdulosY smport X wenismo no qul um gente de um mdulo B estelee um nl de omunio om outro gente de um mdulo A por meio d interfe de B F endo ssimD podeEse dizer que gentes de A utilizm os servios disponiilizdos por B D ou A import interfe de B Y wquin X he(ne unimente mquin que represent o sistemF
r modelgem dos menismos itdosD utilizEse o higrm eh om seguinte notoX
ehX o representdos por ixs e devem ser identi(ds pelo mesmo nome do ehF or exemploD pigur QFIT mostr os possveis relionmentos entre eh e om o eh fF eloX elion dois ehs e representd por um set de sentido nio d inlusoD ou sejD B A signi( que A inlui B D se set tiver n origem um rulo preenhidoD pigur QFIT@AF r importo podeEse utilizr set de sentido nio B AD om um rulo vzio n origemD indindo que A import interfe de B D pigur QFIT@AD ou de mos os sentidosD indindo que tnto A import interfe de B qunto B de AD pigur QFIT@AF e utilizo de um menismo no impede existni do outroD ou sejD possvel que e inlu os elementos plios e importe interfe de f o mesmo tempoF xeste soD utilizEse set om mos os sentidosD por exemplo A B F wquinX m ix inz indi qul eh represent mquin do sistemF e de(nio d mquin ni e origtriF or exemploD se o eh e for representdo por um ix inzD rid mquin ontendo um nio gente do tipo e que tem su regr de trnsio disprdF undo existe pens um mdulo no sistemD o digrm eh no existeD portnto riEse mquin de ordo om este nio mduloF
y higrm eh vis modelr o relionmento entre ipos estrtos de hdos por meio de wenismos de isiilidde e de(nir mquin do sistemF hess formD podeEse esteleer omposio de mdulos por inorporo de elementos ou oE munio entre gentes por utilizo de servios disponiilizdosF e ontriuio
TT
(a) Mdulo
B
A inclui B
A
(b) Agentes de
B
A importam servios de B
A
(c)
A importa B e B importa A
pigur QFITX wenismos de visiiliddeF um lto gru de modulridde e reso de omportmentos modeldos em diversos sistemsF
QFIFT
lvrs eservds
elm ds plvrs reservds de wh %nD vingugem de wodelgem wh possui %n s seguintesX E tlstte X funo que represent o estdo interno de um mdulo no higrm de rnsio de istdosD seu uso no permitido em nenhum lugrY E urrentstte X funo derivd que permite onsultr o vlor de tlstteD seu uso permitido pens pr leitur e visvel externmente o mduloY E snsternlte X tipo enumerdo que de(ne os vlores que tlstte pode ssumirY E initiltte X vlor pdro do tipo snternltte Y E tv X indi o nome d o que represent tividde de um determindo estdoY E qlolgontrol X utilizd omo nome d stro que represent o gontrole qlolF
QFIFU
houmento
m wodelo fsio ontm todos os registros do prolem e d soluo dotdD priE meirmente sendo um desrio textul e posteriormente formlizd n noto de vwwF ortntoD nd mis nturl que do wodelo fsio se extri doumento
QFPF
ixemplos de istems
TU
grmming unuVQF iss tni trz vntgem de sistem e doumento serem otidos prtir d mesm origemD mntendo mos omptveisD onsistentes entre siF
egundo s diretivs de viterte rogrmmingD todo prolem deve ser soluiondo por prtesF im vingugem de wodelgem wh %nD sugereEse que d prte sej um estdoD entoD desreveEse o treho do prolem e sus respetivs rterstis e solues n hesrio extulF y hi pode ser mostrdo om o foo no estdo em questoD omo ser presentdo n eo QFQFQD de(nindo pens seus )uxos de sdD deixndo o modelo forml mis legvelF gonsequentementeD prte do qlossrio onter somente s de(nies ds tividdes do estdo e elementos dos )uxos mostrdosD e que no tenhm sido de(nidos nteriormenteF isse proesso deve ser relizdo pr d mduloD e o (nlD so presentdos os digrms e os glossrios ompletosF hepois de tods s espei(es relizdsD desrevemEse s reles entre os ipos estrtos de hdos por meio do higrm ehF hess formD soluo presentd ( mis legvel e onentrd nos estdos e sus es sem perder viso gerl de um sistemF el )exiilidde do wodelo fsioD novos requisitos podem ser filmente inludos e modi(es podem ser filmente relizdsF e utilizo d tni de viterte rogrmming grnte (delidde d doumento pernte s lteresF ys exemplos d eo QFP mostrm plio dest tniF
QFP
ixemplos de istems
r exempli(r vingugem de wodelgem wh %nD presentmEse seguir lguns prolems onheidos d omputoF imor lguns detlhes de re(nmento sejm utilizdos nos exemplosD eles pens sero detlhdos n eo QFSD onde o wtodo de e(nmento wh presentdoF %n
QFPFI
ilh e pil
ilh e pil pspy so dus estruturs de ddos sis d omputo om semelhns estruturis e pequens diferens em sus operesF y ojetivo deste exemplo mostrr de(nio de um ipo estrto de hdos e omo su stro permite rir esss dus estruturs de form simples e elegnteF
TV
ilh
he ordo om vgHPD um pilh um onjunto dinmio no qul o elemento removido o mis reentemente inseridoD norm onheid omo LIF O E @vst sn
E pirst yut AF odeEse de(nir um tmnho mximo permitido no onjunto e pode ser neessrio veri(r se pilh est vzi ou heiF intoD de(nemEse os seguintes elementos de um pilhX
E elementsX elementos pertenentes pilhY E nX tmnho tul d pilhY E mxX tmnho mximo permitidoF m pilh possui s operes sis de insero e retird de um elemento e veri(o se est hei ou vziD ento de(nemEse s seguintes operesX E insert@xAX insere o elemento x n pilhY E remove@xAX remove um elemento d pilh e o olo em xY E ispull@tAX veri( se pilh est hei e olo o resultdoD verddeiro ou flsoD em tY E isimpty@tA veri( se pilh est vzi e olo o resultdoD verddeiro ou flsoD em
tF
el de(nio de um pilhD o tmnho orrente n no pode ser mior que o tmE nho mximo mx de(nido e omo no existe onjunto om rdinlidde menor que zeroD n deve ser sempre mior ou igul zeroF essimD pigur QFIU mostr repreE sento do eh em vingugem de wodelgem wh pr um pilhF possvel %n pereer que so desritos pens os elementos neessrios pr utilizr um pilhD sem se importr om operes internsF
StackQueue algebra: elements n max invariant: max >= n > 0 insert(x) remove(x) isEmpty(t) isFull(t)
QFPF
ixemplos de istems
TW
r (ns de implementoD devem ser detlhdos os elementos e operes no qlossrioF ys itens elementsD tmnho n e tmnho mximo mx so ssoidos um tipo onforme sintxe de wh %nF r (ns de simpliiddeD de(niuEse um pilh de inteirosF hus novs funes so inludsD empty vli se pilh est vzi e full se est heiF ils so pr utilizo internD por isso no fzem prte d desrio do ehF qlossrio X lger
1 2 3 4 5
elements : n , max :
derived derived
empty : full :
x interfe do eh d pilhD form de(nids qutro operesF rimeiro sero detlhds s operes que provm informes sore o preenhimento d pilhD ento rimEse s stres isimpty e ispullF odeEse notr o uso interno ds funes derivds empty e fullF qlossrio X estres
1 2 3 4 5 6 7
action end
Bool ) i s
action
end
Bool ) i s
or (mD so de(nids s dus operes que relmente rterizm estrutur omo pilhF e opero insert olo o elemento x reeido por prmetro no omeo d list elements e inrement rdinlidde nF gomo prEondioD exigeEse que pilh no estej heiD e grnteEse n psEondio que dio de um elemento n pilh ument rdinlidde em umD onde old se refere o vlor de n no estdo de origem d trnsioF e opero remove retir o elemento que est no omeo d list elements e derement rdinlidde nF gomo prEondioD pilh no pode estr vziD e deveEse grntir que remoo de um elemento d pilh diminui rdinlidde em umF
UH
qlossrio X estres
8 9 10 11 12 13 14 15 16 17 18 19 20
gom este exemplo possvel mostrr filidde de se expressr um mdulo utiE lizndo vingugem de wodelgem wh em termos de um ipo estrto de %n hdosF e stro otid n de(nio do eh su(iente pr ompreender estruE tur si relevnte de um pilh e seus servios disponveisF hetlhes internos so enpsuldos e somente trtdos em um nvel mis detlhdoD seprndo lrmente o ojetivo do ontrto de um eh de sus rterstis de implementoF y mesmo proesso de progrmo por ontrto utilizdo n de(nio de esD onde seu nomeD prmetros formisD pr e ps ondies mostrm o seu propsitoF eo (nl temEse um espei(o de um ipo estrto de hdos legvel om os nveis de stro em seprdos e ojetivosF
pil
e de(nio de pil em vgHP semelhnte de um pilhD sendo tmm um onjunto dinmioD porm o elemento removido o primeiro inseridoD norm onheid omo pspy E @pirst sn E pirst yut AF possvel proveitr tod de(nio de eh e qlossrio feit pr pilh e pens lterr stro insert pr qlossrio X estres
21 22 23 24 25 26
QFPF
ixemplos de istems
UI
onde pereeEse que o elemento inserido no (nl d listF eo retirr um elemento n o removeD o primeiro que entrou n (l ser o esolhidoF gom ess simples ltero foi possvel de(nir dus estruturs de ddos sis e muito utilizds n omputoF y lto nvel de stro ddo de(nio permite reutilizo de mdulos om os diferentes omportmentos de pilh e list detlhdosF iste exemplo mostr filidde de expressr elementos do mundo rel em termos de eh dentro de vww om tods s proprieddes neessris progrmo por ontrtoD forneendo legiilidde e eslilidde os mdulos ssim de(nidosF
QFPFP
esquis finri
e esquis finri onsiste em prourr por um elemento em um onjuntoD rmzendo omo um list ordendF e d pssoD omprEse o elemento om o registro que est n posio do meio d listD hmdo de pivF e o elemento for menorD ento o registro prourdo est n primeir metdeD ontendo os vlores menores que o pivF e for miorD o registro prourdo est n segund metdeD ontendo vlores miores que o pivF iste proesso deve ser repetido t que se enontre o elemento prourdo ou o onjunto eD indindo que pesquis no oteve suessoF
oluo I
r soluoD ssumeEse que o onjunto pr pesquis j estej ordendoD e su rdinlidde n e o elemento prourdo k sejm forneidosF intoD rimEse dois delimitdores do suonjunto no qul deveEse prourr o elementoD sendo representdo por inf pr o limite inferior e sup pr o limite superiorF e posio que indi o piv otid pel funo middleF iss funo fornee posio do meio onsiderndo os limites inferiores e superioresF x esquis finriD deveEse resgurdr que o limite inferior nun ultrpsse o limite superiorD seno pode oorrer situes indesejds omo erro no lulo do pivF elm dissoD os limites devem ser miores que zero e menores que rdinlidde do onjunto utilizdo n pesquisF e prtir dos elementos sios de um mdulo que reliz pesquis inriD possvel de(nir o eh onforme pigur QFIVD onde so presentdos estrutur si intern e os invrintesF e pesquis inii omprndoEse o piv om o elemento prourdoD se for igulD pesquis oteve suessoD so ontrrio veri( se o (nl do onjunto foi lndo omprndo os limites inferiores om superioresF gso verddeiroD pesquis no oteve suessoF gso ontrrioD veri( se o elemento prourdo menor ou mior que o pivF e for menorD tuliz o limite superior pr onter posio do nteessor do pivF e for mior ou igulD tuliz o limite inferior pr onter posio do suessorF
UP
BinarySearch algebra: array k inf sup middle invariant: inf > 0 sup <= n inf <= sup
pigur QFIVX eh pr pesquis inriF xeste momentoD o suonjunto dividido pel metdeD e deveEse oter o novo piv tulizndo funo middleF into repeteEse o proesso t que sej lndo um dos estdos (nisF e pigur QFIW mostr o hi pr esquis finriF or se trtr de um prolem pequenoD no dividiuEse o digrm em prtesD omo sugere o wtodo de e(nmento wh %nF
start
I
F T
lessMiddle
searching
found
reachEnd
success
failed
updateSup
updateInf
updateMiddle
dividing
e seguirD podeEse de(nir n lger os elementos ontidos no eh e no hiF r (ns de simpliiddeD s funes keyD n e orderederry so de(nids pr serem utilizE ds omo entrd de ddos pr hve ser prourdD rdinlidde do onjunto e o onjunto ordendoF
QFPF
ixemplos de istems
UQ qlossrio X lger
1 2 3 4 5 6 7 8 9
Int ; Int ;
es es presentds no digrm e explids nteriormente so de(nids onE forme estres no qlossrioF ereeEse que o onjuntoD su rdinlidde e hve ser lolizd so iniilizds onforme entrd de ddos pel funo extern orrespondenteF qlossrio X estres
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
action end
sup := n ;
action end
action end
action
end
oluo P
y wodelo fsio permite espei(r o prolem em nveis de stro diferentesF ist segund soluo stri do digrm veri(o do piv pr tulizr os limitesF intoD onde hvi ondio lesswiddle existe o updtesnfupD onde o teste e tulizo dos limites so relizdosF e pigur QFPH ilustr o hi om est nov interpretoF y eh mostrdo n soluo nterior permnee extmente o mesmoF
UR
start
I
F updateInfSup
searching
found
reachEnd
success
failed
updateMiddle
dividing
e seguirD mostrd inluso d o updtesnfup em estresD preservndo s demis de(nies do qlossrioF odeEse notr que o teste e tulizo dos limites form trnsferidos pr o updtesnfupD linh PF qlossrio X estres
1 2 3 4 5 6 7 8
. . .
end end
x primeir soluoD foi dd nfse n tulizo dos limites de ordo om veri(o se o elemento prourdo menor ou mior que o pivF ist segund soluo no ord este item no higrm de rnsio de istdosD deixndo ess nlise pr o qlossrioF gomo pode ser vistoD ms solues possuem o mesmo funionmentoD e se diferenim no nvel de stro do higrm de rnsio de istdosD mostrndo o que interess de ordo om um determindo ontextoF
QFPFQ
y prolem do tntr dos pilsofos um prolem lssio d ini d omputo que ilustr onorrniF gonsiste de um grupo de (lsofos que podem estr em trs
QFPF
ixemplos de istems
US
situes diferentesX pensndoD omendo ou om fomeF ys (lsofos esto dispostos em um mes irulr e pr omer eles devem estr de posse de dois grfosD um esquerd e outro direitD que so omprtilhdos om seus vizinhosF essimD qundo um (lsofo omeD seu vizinho d direit e o d esquerd devem esperrF undo um (lsofo de omerD ele lier os grfos e pss pensrF xo momento em que sente fomeD ele gurd que os grfos d esquerd e direit estejm lierdos pr ele omerF heveEse impedir que todos os (lsofos peguem somente o seu grfoD por exemploD d esquerdD pois isso ir fzer om que todos (quem gurdndo o outro grfo ser lierdo e oorre um situo de dedlokF ode ser desejvel ontrolr situo de strvtionD onde um (lsofo nun onsegue vez pr omerF e seguirD so presentds dus solues pr o prolem do tntr dos pilsofos utilizndo vingugem de wodelgem wh %nF
oluo I
r primeir soluoD so ridos dois mdulosD o primeiro represent um (lsofo e o segundoD hmdo de hostD de(ne on(guro do sistemF
wdulo
Philosopher X
estdo iniilD oloEse o (lsofo pr pensr @estdo thinking AF eps um tempo no determindoD o (lsofo ome sentir fome @estdo hungry AD e entoD tent pegr os grfos enqunto permneer neste estdoF e os grfos estiverem lierdosD o (lsofo os peg e ome omer @estdo eting AD se noD gurdF eps um determindo tempoD o (lsofo termin de omer e lier os grfos que utilizv e pss pensr novmenteF e pigur QFPI mostr o higrm de rnsio de istdos pr o mdulo orrespondenteF
thinking
freeForks
delay
delay
hungry
atv: tryGetForks
canEat
eating
e estrutur intern de hilosopher deve onter dois indidores de uso dos grfosD um pr o d esquerd e o outro pr o d direitF rost identi( o gente de rost
UT
que ontrol o sistemF es es setighpork e setveftpork so de(nids pr triuir s refernis os grfos d direit e esquerd de um (lsofoD ssim omo setrost determin o identi(dor do gente de rostF hesejEse que isso sej feito pelo gente de rostD entoD olomEse esss es n snterfeF gom issoD presentEse o eh pr hilosopher n pigur QFPPF m ondio importnte jmis pegr somente um grfo enqunto gurd o outroF emos devem ser tomdos o mesmo tempoD ou sejD o vlor de leftpork deve ser o mesmo de rightporkF iss um propriedde que deve ser grntid pr todos os (lsofosD e ser disutid n eo QFQFRF
Philosophers algebra: leftFork rightFork host setRightFork(f) setLeftFork(f) setHost(h)
pigur QFPPX eh pr (lsofoF e seguirD so feits s de(nies dos elementos presentes no eh e hi de hiE
losophersF e ondio de dely pens ontrol o tempo que o (lsofo pens ntes de omer e o tempo em que ele omeF r simpliidde do exemploD ser de(nid omo um funo externF y tipo porksd importdo do mdulo rostD que ser de(nido posteriormenteF e funo nit um de(nio pr uso interno pr uxilir em lgums esD omo ser visto n de(nio de estresF e funo host indi o gente de mdulo rost que responsvel por oordenr oteno orret dos grfos pelos gentes de (lsofosF
qlossrio X lger
1 2 3 4 5 6
leftFork , rightFork : ForkId ; canEat :
external
Bool ;
delay :
Bool ;
Host ;
host :
agent of
hungryD ento de(neEse tividde tryqetporks pr pegr os grfos neessriosF gomo o ontrole de esso os grfos feito por hostD utilizEse o servio setporks que este
QFPF
ixemplos de istems
UU
disponiilizF ys dois primeiros prmetros so pr informr quis so os grfos d esquerd e direitD respetivmenteF e funo nitD tereiro prmetroD onter o retorno d vlio dos grfosD permitindo ou no que o (lsofo entre no estdo
hungryF eps omerD o (lsofo soliit liero dos grfosD tmm ontrold pelo hostD informndo seus grfos d direit e esquerdD e triui o vlor flso su permisso pr omerD funo nitF
essimD no qlossrioD podeEse de(nir s seguintes estres de hilosophersF
qlossrio X estres
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
action end
action end
setRighFork ( i n f : ForkId ) rightFork := f ; end setRight setLeftFork ( i n f : ForkId ) leftFork := f ; end setLeft
p u b l i c action
is
p u b l i c action
is
( i n : h)
is
wdulo
Host X
nmero de gentesD iniilizndo seus elementos e posteriormente os disprndoF o de(nidos ino estdosD lm do estdo iniilD numerdos de um inoF r ompor estrutur intern deste mduloD de(neEse iniilmente um tipo de ddo porksd pr rterizr um grfoF r referenir todos os (lsofosD de(nido um gente de hilosophersD denomindo philosophersF gomo elementos uxiliresD so de(nidos trs gentes de hilosophersD pD t e (rstD e o ontdor ggount pr ontrole do nmero de gentes ridosF e funo fork indi se um grfo est ou no disponvelF y tipo porksd disponiilizdo n interfe pr ser utilizdo por hilosophersF e o getporks um servio disponiilizdo pr que um (lsofo requisite permisso
UV
freeporks lier os grfos so soliito de um (lsofoF ods esss informes esto retrtds no eh d pigur QFPQF
Host algebra: philosophers p, t, rst agCount fork
forkId
pigur QFPQX eh pr host de (lsofoF rimeiroD rimEse os gentes de (lsofos de ordo om um nmero desejdoF ssso feito pel o retehilosophersF pormtmEse os ddos do primeiro (lsofoD o
(rsttepD e em seguidD os demis (lsofos so iniilizdos respeitndo ordeno d mes e omprtilhmento dos grfosD es seondtep e thirdtepF y qurto pssoD o forthtepD termin s iniilizes on(gurndo o primeiro grfo fehndo o ilo d mes dos (lsofosF
or ltimoD um gente de rost dispr os gentes de (lsofos n o dispthhiE
losophersF xotEse que el tividde do estdo SD reonheido omo (nl por no ser origem de nenhum )uxoF endo ssimD tividde exeutd um ni vez e o gente de rost termin su exeuoD deixndo os proessos de hilosophers tivos e gurdndo por soliites de serviosF e pigur QFPR mostr o hi pr o mdulo rostF
rstStep 1 createPhilosophers
I
4
lessPhilosophers T
thirdStep
secondStep
forthStep
5 atv: dispatchPhilosophers
QFPF
ixemplos de istems
UW
he(neEse funo numeryfquestsD que determin externmente o nmero de onE viddos sentr mesF or ltimoD funo lesshilosophers veri( se o nmero de (lsofos rido menor que o nmero de onviddos desejdoF e seguirD presentEse lger om s de(nies dos elementos do eh e s funes diionis uxiliresF odeEse notr que philosophersD pD t e (rst so delrdos omo gentes de hilosophersD vi gent ofF e rio do gente e o dispro de su regr de trnsio dentro deste mdulo so posteriormente relizdosD por meio ds diretivs rete e dispthD resE petivmenteF xo momento d rio de um genteD podeEse de(nir se ele represent um nio genteD omo o so de pD t e (rstD ou omo um oleo de gentesD omo o so de philosophers n o retehilosophersF qlossrio X lger
1 2 3 4 5 6 7 8 9 10
type
of of
Philosophers ; Philosophers ;
Bool ;
e seguirD enontrmEse s de(nies ds es que esto representds no hi e s disponiilizds n interfe de rostF y servio getporks vli disponiilidde dos grfos do (lsofo que soliitou permisso pr omer e o resultdo ddo no prmetro nitF gonforme de(nio de wh %nD todo pedido de um (lsofo snronoD de form que este gente no reliz prxim trnsio de estdo enqunto
host no responderF unto o servio freeporksD foi visto que o prprio gente de (lsofo uid d funo nit qundo lier os grfosD ssim no existe o loqueio e liero relizd de form ssnronF e stro setporks um o uE xilir que reserv ou lier os grfosD sempre o mesmo tempoF odeEse pereer que lgums stres utilizm es pertenentes o mdulo hilosophersD por exemplo setveftpork e setightporkF y ontrole de utilizo dos servios disponiilizdos por mos os mdulos ser formlizdo mis dinteF
qlossrio X estres
Philosophers ( numberOfGuests );
1 2 3
VH
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
action
end
firstStep i s p := philosophers (1); first := p ; agCount := 2; forkId := 2; p . setHost ( s e l f ); secondStep i s t := philosophers ( agCount ); t . setHost ( s e l f ); agCount := agCount + agCount ;
action
end
action
end
action end
p . setRightFork (1);
p;
end in
v :
in
right : ForkId ,
Bool ) i s
p u b l i c action end
in
right : ForkId )
is
p u b l i c action
end end
getForks ( i n left : ForkId , i n right : ForkId , out canEat : Bool ) i s i f not ( fork ( left ) or fork ( right )) then setForks ( leftFork , rightFork , true ); canEat := true ;
QFPF
ixemplos de istems
VI
Philosopher
Host
gontrole de onorrni
odos os gentes de hilosophers exeutm sus regrs de trnsio em prlelo e tm os grfos omo reursos omprtilhdosF undo um (lsofo tent oter os grfos pr omer ele no o fz diretmenteD feit um requisio o gente host pel stro
getporksF y gente (lsofo entoD esper pel respost pr poder ontinurF y gente host reee tods s requisies eD o (nl de d trnsioD s exeut tomimente n ordem em que esto n list de requisiesF y resultdo forneido n funo nit eD so no tenh reeido permissoD o (lsofo tent novmente n prximo interoD so ontrrioD seu estdo lterdo pr etingF gom issoD o ontrole relizdo pel sinroni ds requisies dos (lsofos e o proessmento em ordem e tmio dels pelo hostF
ys dois grfos so reservdos pr um (lsofo de um s vezD no mesmo ilo d regr de trnsioD om isso o prolem de dedlok resolvidoF ormD possvel que um (lsofo (que eternmente no estdo hungry sem oter os grfos pr omerD ess situoD onheid omo strvtionD resolvid n oluo P seguirF
oluo P
e primeir soluo presentd grnte que no oorrer dedlokD porm no onsider o prolem de strvtionF r grntir que todos os (lsofos possm omerD deveEse rir um list de prioriddesD onde mis fome signi( mior prioriddeF isse ontrole pode ser relizdo om rio d funo hungryvevelD que ontiliz o nvel de fome de um (lsofoD sendo inrementd d intero em que se permnee no estdo
hungryF undo tentEse pegr os grfos deveEse veri(r tmm se existe lgum outro (lsofo om o nvel de fome miorD se no existirD lhe onedido o direito de omerF
VP
e existirem dois (lsofos om mesm prioridde disputndo por um mesmo grfoD o primeiro n list de requisies ser tendidoD e no estdo seguinte o outro ter mis prioriddeD grntindo que em um determindo momento lhe ser onedido o direito de omerF ist veri(o feit no hostD ento deveEse pssr omo prmetro pr
hungryLevel :
Int ;
qlossrio X estres
1 2 3 4 5 6 7 8 9 10 11
action end
action
end
1 2 3 4 5 6 7 8
p u b l i c action
end
getForks ( i n left : ForkId , i n right : ForkId , i n hungryLevel , out canEat : Bool ) i s i f not ( fork ( left ) or fork ( right )) and not ( exist p : philosophers s a t i s f y i n g p . hungryLevel > hungryLevel ) then setForks ( leftFork , rightFork , true ); canEat := true ;
QFQF
VQ
end
es lteres relizds n oluo P grntem que todos os (lsofos tero su vez de omerD eliminndo o prolem de strvtionF ereeEse que form lterdos pens elementos do qlossrioD de form que o higrm de rnsio de istdos de d mdulo permnee o mesmoF essimD o trtmento de strvtion trnsprente pr quem trlh om o digrmD preservndo interpreto do prolem feit no homnio d eplioF
QFQ
x eo QFI form presentdos os oneitos sios d vingugem de wodelgem wh %nD no qul possvel relizr de(nio omplet de um sistemF ormD existem outros elementos n vww responsveis por desrever rterstis do sistem om miores detlhesF m mdulo de de(nio pode onter um onjunto de restries serem respeitds durnte exeuo do sistemF im vwwD esse onjunto de(nido omo invrintesD onforme mostrdo n eo QFIFPD e qulquer flh em su vlio exeuo interrompidF he form semelhnteD possvel de(nir restries estdos e es pr grntir o orreto funionmento e uxilir veri(o de proprieddes do sistemF
QFQFI
ropriedde de istdo
odo estdoD exeto o iniilD pode estr ssoido um ondio que deve ser stisE feit durnte permnni do gente de um mdulo neste estdoF gso ondio no sej stisfeitD exeuo interrompid em ondio erroF e noto pr propriedde de estdo dd onforme pigur QFPTD onde Ci expresso oolen representndo propriedde do estdo iF
i Ci
pigur QFPTX epresento de um propriedde de estdoF undo um gente heg um estdo iD deveEse veri(rD se existirD o invrinte Ci F gso sej stisfeitoD prossegueEse om exeuo normlF e permneer no mesmo
VR
estdoD o invrinte novmente veri(do n intero seguinteF gso vlio d propriedde flheD mquin interrompid em ondio de erroF
QFQFP
r e s gondies de ees
m o A exeutd so erts ondies que podem ser expliitmente de(nids no wodelo fsio n form de prEondio e psEondioF e prEondio represent um expresso oolen RA que deve ser stisfeit imeditmente ntes d exeuo de AF im vwwD vlio de RA feit om os vlores presentes no estdo origem do )uxo n qul A perteneF e psEondio represent expresso oolen EA ser stisfeit ps exeuo de A e vlio de EA feit om os vlores do estdo de destinoF e seguirD presentd n pigur QFPU noto pr pr e ps ondies de um oF
RA
EA
pigur QFPUX r e s ondies de um oF xo so de flh de lgum desss ondiesD o onsiderd invlid e mquin termin su exeuo om erroF ist de(nio diz respeito restries em determindos pontos de um trnsio de estdoD e ssim omo invrintes @eo QFIFPAD se difere d de(nio do gontrole qlol no ponto de vist em que veri(m situes de errosF snvrinte e rEs gondies de ees so voltdos prolems no homnio dos wodelosD enqunto o gontrole qlol interept prolems ligdos o homnio d eplio e possvel tomr medids pr orrigiElos e retomr exeuo normlF m exemplo dess diferen pode ser visto no prolem d gldeir por ffh+ WTF hdo um nvel de gu nD restrio N1 < n < N2 de(ne os limites inferior e superior de funionmento normlF gso estes limites sejm ultrpssdosD o sistem tom medids pr reuperElosF ys limites M1 < n < M2 de(nem os nE veis rtios de gu em que mquin deve prr imeditmente o funionmentoF gomo ests so restries de(nids n plioD els podem ser trtds pelo gontrole qlolD omo mostr pigur QFPV seguirF gom issoD deveEse de(nir propriedde que relion os limites normis e rtiosD devendo mnter os limites normis dentro dos limites rtiosF iss de(nio est ligd o domnio dos modelos e pode ser de(nid d seguinte formX
QFQF
VS
ctl_state
M1 < n < M2
N1 < n < N2
stop
A2
1 2 3
invariant :
M1 < N1 ; M2 > N2 ;
imor sej um oservo trivilD el importnte pr grntir modelgem orret e uxilir veri(o do sistemF
QFQFQ
higrm de d de istdo
m espei(o de um mdulo em vww pode onter um nmero onsidervel de estdos e demis elementos de um higrm de rnsio de istdosF ediionlmenteD podeEse resentr propriedde de estdo e pr e ps ondies de esF odos esses elementos podem resultr em um digrm densoD que di(ult legiilidde e ompreenso do higrm de rnsio de istdos e onsequentemente do prolem espei(doF m higrm de d de istdo @hiA um treho de um higrm de rnsio de istdos @hiA no qul o foo ddo um nio estdo i e s trnsies que possuem origem em iF e noto e semnti de higrm de d de istdo mesm de hiF m espei(o de um mdulo vww ontm um hi pr d estdo identiE (doD om exeo do estdo iniil devido su simpliiddeD estndo ele inluso no hi de seu estdo de destinoF ys estdos (nis de um hi no so origem de nenhum )uxoD onforme su de(nioD portnto no existiro his pr elesF y higrm de d de istdo de um estdo i denomindo hii e onstrudo prtir ds trnsies que possuem i omo origem e todos seus elementosF etividdesD propriedde do estdo i e pr e ps ondies ds es so desejveis neste digrmF odo estdo que se relion om iD ou sejD todo estdo que destino de um trnE sio om origem em iD estr presente no hii pens omo destino de trnsio e presentndo pens informes neessris pr ompreenso deste treho de espeE
VT
i(oF eo (nlD todos os his so unidos pr formr o hi priniplD que pode ser visulizdo om menos detlhes pr (ns de legiilidde e interpreto glol do mduloF pigur QFPW mostr de form simples um onjunto de his formndo o hi omE pletoF ixistem trs estdosD iD j e (nlF y hi pr o estdo iD pigur QFPW@AD mostr su propriedde gi e os )uxos de sdsD e o mesmo oorre pr o estdo jD pigur QFPW@AF ereeEse que no hijD o estdo (nl no pree pois no existe trnsio de j pr (nlF i o estdo (nl no present hi por ser um estdo (nlF y estdo iniil indido no hii e no hi omletoD pigur QFPW@AF
I
RA3
i Ci
RA1
C1
A1
EA1
j Cj
A3
EA3
C3
i Ci
RA2 EA2
j Cj
RA4
C4
EA4
C2
A2
nal
A4
I
RA3
A3
EA3
C3
i Ci
RA1
C1
A1
EA1
j Cj
RA4
C4
EA4
A4
RA2
EA2
C2
A2
nal
pigur QFPWX pormo do hiF iss deomposio permite espei(r o prolem em prtes menoresD n qul onentrEse teno em um nio estdo e es pertenentes os seus )uxos de sdF intoD um mdulo no visto omo um grnde loo de es e sim omo um onjunto de pequenos loosD mis simples de serem gerenidos e ompreendidos unuVQF e soluo de um prolem pode ser dividid de vris forms diferentesD e isso depende do modelo de espei(oF e noo de sepro em vww sed nos estdosD que devem ser identi(dos de ordo om interpretes de nomes do voE ulrioF essimD um estdo represent no mundo rel um onjunto de trefs serem
QFQF
VU
relizdsF or exemploD os estdos de um gente (lsofoD representdo no prolem tntr dos pilsofos n eo QFPFQD so pensndo @thinking AD om fome @hungry A e omendo @eting AF gd um represent um tividde que um (lsofo deve relizr de ordo om s ondies @interpretoA de seus triutos @voulrioAF pigur QFQH represent o hi de d estdo do mdulo pr hilosophersF y estdo thinking representdo n pigur QFQH@AD o estdo hungry n pigur QFQH@A e o estdo eting n pigur QFQH@AF odeEse notr que tividde tryqetporks do estdo hungry somente pree em seu hiF
module
module
thinking
delay
hungry
atv: tryGetForks
canEat
eating
hungry
(a) DSEthinking
module thinking freeForks
(b) DSEhungry.
delay
eating
(c) DSEeating.
gom ess de(nioD os estdos de um hi representm pontos ideis pr oserE vo no sistem e exeuo de trefsF or issoD um higrm de d de istdo nlis um estdo de d vez e tods s sus trnsiesD onde present um nmero menor de elementos permitindo que sejm presentds mis informesD sendo ento um digrm mis detlhdoD porm om viso pril do prolemF ssso signi( ter um nvel de stro mis ixo que um hi @que tem viso glol do prolemAD onforme desejvel no wodelo fsio frHQF e unio de todos os his form o higrm de rnsio de istdos ompletoD forneendo viso glol d regr de trnsio de um mduloD e este hi que utilizdo no re(nmento e oteno d doumentoF
VV
QFQFR
roprieddes
imor sej possvelD utilizndo vingugem de wodelgem wh %nD espei(r em lto nvel um sistemD existem ind proprieddes no homnio d eplio que devem ser grntids no modelo e preservds no re(nmentoF intoD de(nido em vww um mneir de se expressr proprieddes onsiderndo s trnsies de estdosF m noto muito utilizd em semnti forml gv @gomputtionl ree
vogi A gqHHD gptulo QF gv um lgi temporl que utiliz preposies em sus onstrues pr fzer (rmes em um sistem de trnsio de estdosF isE ss preposies so espei(ds em termos de operdores lgios e temporisF im vwwD utilizmEse s funes d lger do mdulo pr esrever s frmuls gvF importnte ressltr que roprieddes no utiliz sintxe wh em su de(nioD %n portnto s plvrs hves dest lingugemD e tmm de vingugem de wodelgem wh %nD no so vlids neste trehoF essim possvel utilizr s plvrs hves de(nids em gv sem prolems de olisoF
QFQFRFI
yperdores vgios
ys operdores lgios em gv so os omumente onheidosF o presentdos em su noto utilizd em vwwD e su noto usul desrit entre prntesesD se for diferenteF
3 @A X negoY 8 @A X onjunoY xor @ A X exluso mtuY | @A X disjunoY > @A X implioY < >@A X dupl implioY true X expresso verddeiroY flse X expresso flsoF
QFQFRFP
yperdores emporis
ys operdores temporis podem ser lssi(dos em operdores que tum sore os possveis minhos e os que tum sore os estdosF intendeEse minho omo um sequni de estdos vlidosF e seguirD so de(nidos os dois grupos de operdores de
QFQF
VW
ordo om de(nio de gvD e diionlmente form inludos operdores onveniE entes espei(o de vingugem de wodelgem wh %nF
yperdores de gminho
hd um preposio pD os operdores de minho soX
e p X preposio p deve ser grntid em todos os minhos prtir do estdo orrenteY i p X deve existir pelo menos um minho prtindo do estdo orrente no qul preposio p grntidF
yperdores de istdo
gonsiderndo p e q omo preposiesD os operdores de estdo soX
p X preposio p deve ser grntid no estdo seguinteY q p X preposio p deve ser grntid em todos os estdos seguintesY p p X preposio p deve ser grntid em lgum estdo seguinteY p q X preposio p deve ser grntid t que q onteD om grnti de que q ser vlidF
QFQFRFQ
yutros yperdores
r filidde de expressoD riEse um operdor que interge sore um determindo onjunto (nito de elementos podendo ser de(nido d seguinte form
forll
1
forall e in {low ..
high} : CTL_formule_using_e
gonsiderndo e omo um ndieD low e high omo limites inferior e superiorD respeE tivmenteD e gvformuleusinge omo sendo um frmul gvD onde e ndie de lgum funoF or exemploD dd propriedde seguir
1
forall e in 0 .. 2 :
p(e)
p(0)
and
p(1)
and
p(2)
WH
im gvD sempre utilizEse um operdor de d grupoD sendo o primeiro de E minho seguido de um operdor de estdoF or exemploD no prolem do tntr dos pilsofosD um (lsofo deve pegrD e lierrD os dois grfos o mesmo tempo pr evitr situo de dedlokD onde todos os (lsofos tm um grfo n mo e esper pelo outroD que nun ser lierdo pelo seu vizinhoF iss propriedde pode ser esrit no mdulo
odeEse entender ess propriedde d seguinte formX em todos os minhos posE sveis @operdor eA prtir do estdo orrenteD fork@leftporkA a fork@rightporkA deve ser verdde em todos os estdos seguintes @operdor q AD ou sejD fork@leftporkA a
hungryD ele deve omerD estdo etingD lgum vez no futuroF gom isso podeEse veri(r situo de strvtionF odeEse esrever ess propriedde omo
tntr dos pilsofosX veri( strvtion
1
iss propriedde lid d seguinte formX sempre verdde que se o estdo interno de um (lsofo for hungryD em todos os minhos seguintes o estdo ser eting em lgum ponto no futuroF essimD podeEse veri(r se o prolem do tntr do pilsofo respeit esss dus proprieddes eD no so de flhD seEse qul flh oorreu e possvel oter um exemplo que mostre os prolemsF e veri(o disutid om mis detlhes n eo RD e ser mostrdo omo s propriedde so vlids e omo os exemplos so otidosF
QFR
lido
e vlido no wtodo de e(nmento wh relizd de form mnulF hevido %n o lto gru de stro e legiilidde de his e hisD possvel relizr simules que grntm um eito stisftri do sistem no momento d espei(oF es proprieddes identi(ds so filmente expresss em gvD eo QFQFRD que um
QFSF
WI
mneir legvelD porm formlD de trnsportEls o longo do re(nmento pr uxilir n veri(oF e prpri onstruo do wodelo fsio ww de(ne os prinipis elementosD os pontos de oservo eD durnte o re(nmentoD s proprieddes implits vww so formlizdsD de(nindoEse ssim s reles entre o modelo strto e implemento em wh %nF hesejEseD futurmenteD de(nir um mtodo utomtio pr vlidoD ondeD dd um determind entrd de ddosD podem ser feits simules no wodelo fsio e oter resposts que podem ser omprds om os resultdos otidos om exeuo do sistem implementdoF gomo vingugem de wodelgem wh sed em %n digrmsD pode ser til desenvolver um ferrment que ilustre exeuo por meio de nimo do hi e his d espei(oF essimD ser possvel relizr depuro do sistem e oter melhores resultdos no que diz respeito extro de informes do wodelo fsio e vlio dos requisitos neessriosF
QFS
egrs de e(nmento wh %n
eps espei(o do sistem utilizndo vingugem de wodelgem wh %nD o wodelo fsio sumetido o proesso de re(nmento no qul forneer o digo exeutvelF es egrs de e(nmento wh form de(nids de ordo om d %n elemento d vww e so seds ns desries de frger em frHQD fHQD reE sumids n eo PFPFPF m regr pode forneer proprieddes serem grntids o longo do re(nmentoF ists sero posteriormente veri(ds utilizndo um veri(E dor de modelos propridoF gso lgum no sej grntidD signi( um erro de espei(o e podeEse mostrr um exemplo de exeuo que use o prolemF elm de presentr omo feito o re(nmentoD s egrs de e(nmento wh %n de(nem formlmente noto d vww so spetos do modelo ewF ortntoD possvel mostrr semnti de d elemento retirndo qulquer migidde n ompreenso dos mesmosF e seguirD presentd d regrD n ordem em que deve ser plidD em termos de su trnsformo no wodelo fsio e sus proprieddesF e primeir tu sore de(nio de um eh gerndo estrutur de um mdulo de wh %nF im seguidD o higrm de rnsio de istdos e higrms de d de istdo so re(ndos pr indir novos elementos e o omportmento do mduloF osteriormenteD o qlossrio de(ne @ou ompletA o ontedo dos loos d estrutur e por (mD o wenismo de isiilidde ter efeito sore formo dos mdulos e intero entre seus gentesF
WP
QFSFI
m ipo estrto de hdos representdo por um mdulo de de(nio em wh e %n su interfeF r filitr leiturD um loo do mdulo pode ser referenido neste texto pens pelo seu nome em negritoD om (nlidde de difereniElo ds sees do eh om os mesmos nomesF wdulo em wh %n
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
aes
end
snterfe de um wdulo em wh %n
1 2 3 4
nome-do-mdulo declaraes de tipos declaraes de aes end nome-do-mdulo
interface
rimeirmenteD um ipo estrto de hdos de(ne o nome que o mdulo por ele espei(do ter por meio do mpemento direto de seu nomeF im seguidD seo lger do eh determin os prinipis elementos que rterizm um mduloD sendo estes ento prilmente de(nidos no loo lgerF e de(nio pril signi( onter pens o nome ou ssinturD sendo ind neessri um de(nio detlhdD que ser relizd posteriormente em outr regrF e seo de invrintes do eh orresponde o loo invrintD portnto d expresso oolen de(nid no eh diretmente mped em um invrinte n lingugem lvoF essimD um ipo estrto de hdosD omo o d pigur QFQID de(ne o mdulo em wh mostrdo seguirF %n
QFSF
WQ
typeT1 typeT2
wdulo em wh %n
1 2 3 4 5 6 7 8 9 10
invariant :
x > y;
y > 0;
z < 0;
end
ModuleA
e interfe de um mdulo rid om o mesmo nome do mdulo e seus elementos so otidos prtir d interfe do ehF ys tipos so mpedos pr lger e os servios pr strtions omo stres plisF istes elementos so tmm prilmente delrdosD omo mostrdo no digo do mdulo seguirF wdulo em wh %n
1 2 3 4 5 6 7 8 9 10 11 12 13
WR
14 15 16 17 18 19 20 21 22 23 24 25
abstractions :
invariant :
z < 0;
end
essimD riEse um orrespondni entre s ssinturs d interfe e sus de(niE es no qlossrioF e prtir dissoD podeEse de(nir seguinte interfe do mduloD ind om elementos inompletosF
qlossrio X snterfe
1 2 3 4 5 6 7 8
interface
ModuleA
typeT1 ; typeT2 ;
y ipo estrto de hdos responsvel por indir o nome do mduloD s prinipis funesD os invrintes e interfeF nto lger qunto interfe do mdulo rido presentm elementos om de(nies pendentesF ssso signi( onter pens os nomes ou s ssinturs sem de(nio de tiposD orpo ou lssi(oF isses frgmentos sero posteriormente detlhdos n regr de re(nmento plid sore o qlossrioF utilizdo o re(nmento de ddo om instnioD onde so de(nidos os ddos prinipis do mdulo e desritsD n interfeD s es utilizds externmenteF elm dissoD o invrinte determin s restries que estrutur prinipl do mdulo deve respeitrF e regr de trnsio preservd e isso ser mostrdo posteriormente n eo QFSFQF
QFSF
WS
QFSFP
ger do mdulo referente su estrutur intern de ontroleD de(ne o loo initil stte e present o trtmento pr os estdos (nisF elm dissoD s ondies e es presentes em sus trnsies so indids n lger e strtions pr posteriores
re(nmentosF es regrs de re(nmento que sero presentds seguir fzem prte do re(nE mento de suErotinsD presentdo n eo PFPFPD onde um mdulo do wodelo fsio sustitudo por um de wh om mis detlhes e novs rterstis so preE %n sentsD omo proprieddes e de(nies de tiposF
enum
nltteF iss um funo pr ontrole interno visvel pens no mdulo onde foi delrdF e vww no permite o uso explito de tlstteD logoD pr oter o vlor do estdo internoD deveEse sempre utilizr funo derivd urrentstteD que re)ete pulimente o vlor de tlstteF e um mdulo A inluir outro B D B.urrentstte ser visvel em AD pens pr onsultF
istdo snterno
1 2 3
algebra :
es lteres interns so relizds pels es que de(nem s trnsies do hiD omo ser mostrdo n eo QFSFQD e no loo initil stteF od tulizo relizd so o ontrole do wtodo de e(nmento wh %nF essimD grnteEse que
WT
o estdo interno ter pens um dos possveis vlores de estdo em um determinndo instnteD onforme propriedde de hiD que pode ser desrit onforme seguirF
1
wltipls triuies tlstte em um mesm trnsio ger inonsistni e este fto utomtimente pereido em wwD por meio de um veri(dor de modelosD omo ser disutido n eo RF r onsult do estdo interno por outros mdulosD existe funo urrentstteD que re)ete o vlor de tlstteF e lusul derived grnte que seu vlor no pode ser lterdo diretmente om triuiesD preservndo o orreto vlor de tlstteF hepenE dendo de futuros re(nmentos e veri(dores de modelos utilizdosD ess propriedde pode ser utomtimente grntidD omo ser mostrdo n eo RF ormD pr grntiEl em qulquer irunstniD el pode ser representd d seguinte formF
1
AG(ctl_state = current_state )
es de(nies dos estdos e estdo interno fzem prte d estrutur de ddos que ser utilizd pr ompletr o re(nmento plido sore o hiD onforme mostrdo ns sees seguintesF
istdo sniil
y estdo iniil onsiste em preprr um gente pr su exeuoF xo possui tiviE ddeD no pode ser destino de nenhum )uxo e no sofre tuo do gontrole qlolF e presen de ondies no )uxo de sd no permitidD pois serim vlidos terE mos ind inde(nidos e mquin no seri orretmente iniilizdF or issoD deve existir pens um )uxo de sd no estdo iniil sem presen de ondiesF y estdo iniil de um hi de(ne o loo initil stte de wh onde so feits %nD s iniilizes de funes e tulizo do estdo interno tlstte pr o estdo de destinoF e pigur QFQP mostr um exemplo de um estdo iniil om um o de prepro em um trnsio pr o estdo iF y digo orrespondenteD resultdo do re(nmento de suErotinsD mostrdo em seguidF
A1
QFSF
WU
istdo sniil
1 2 3
i n i t i a l state :
A1 ; ctl_state := i ;
istdo pinl
ys estdos (nis de um digrm tm funionlidde de exeutr su tividdeD se existir umD e (nlizr exeuo do genteD utilizndo funo stopF r o estdo (nl fD representdo n pigur QFQQD riEse o seguinte digoD que ser posteriormente inludo n regr de trnsio do mduloF estEse o estdo internoD se for o estdo (nlD exeutEse su tividdeD se existirD e exeut regr stop pr (nlizr exeuo do genteF
f
atv: atvState_f
= f
atvState_f ; stop ;
then
ys estdos (nis terminm exeuo do gente utilizndo lusul stopF orE tntoD se um gente estiver um vez em um estdo (nlD impli que no estdo seguinte vrivel implit do mduloD stteD ter o vlor stoppedF r todo estdo (nl fD ess propriedde pode ser express omo
1
xovmente utilizdo o re(nmento de suErotins de(nindo s operes que devem ser relizds qundo um exeuo de um gente for (nlizdF gom trnsE formoD surge propriedde meniondF
WV
gondies e ees
es ondies e es enontrds nos )uxos de trnsies representdos no hi so prilmente delrds em lger e strtions respetivmenteD e posteriorE mente sero detlhds no re(nmento de higrms de d de istdoD eo QFSFQ e qlossrio QFSFRF gso lgum destes elementos j tenh sido delrdoD nd feitoF
QFSFQ
higrm de d de istdo
e prtir de d higrm de d de istdoD possvel oter regr de trnsio de estdoD de(nir pr e ps ondies ds es do hiD tividdes e propriedde de estdosF gd um destes itens presentdo seguirF es regrs de re(nmento fzem prte do tipo re(nmento de suErotinsD omplementndo o proesso iniido ns regrs plids sore o higrm de rnsio de istdosD mostrdo n eo QFSFPF
egr de rnsio
r d )uxo de sd de um estdo no (nl iD gerd um o )owprominD sendo n o ndie do )uxoD om pr ondio tlstte a i ser respeitdF xeste moE mentoD seu orpo ind se enontr vzio e ser posteriormente re(ndoF or exemploD trnsio d pigur QFQRD pgin IHHD re(nd no seguinte digoD onde h pens su ssintur e prEondioD ou sejD seu ontrtoF rnsio de istdo
1 2 3 4
i;
r d higrm de d de istdoD gerd um o )owpromi que seu orpo omposto do onjunto de es )owpromin ser exeutdo so ondio
tlstte a iF endo este o nio lol de hmd s stres )owprominD pr todo nD pr ondio dests es sero sempre respeitdsF essimD pr um estdo i om n )uxos de sdsD ser gerdo o seguinte digoF
QFSF
WW
)owpromi
1 2 3 4 5 6 7 8
end end
e regr de trnsioD loo trnsitionD onstrud hmndo tods s es de )uxo )owpromiD pr 1 i k D onde k o nmero de estdos no (nisD e operes de (nlizo orrespondentes os estdos (nisF gomo tlstte possui pens um vlorD regr de trnsio ir esolher orretmente o de (nlizo ou o onjunto de )uxos ser vlido de ordo om o estdo orrenteF osteriormenteD s es )owpromin devem onter exluso mtu ds ondies disprdors pr que o )uxo orreto sej exeutdoD ess propriedde ser trtd mis dinteF essimD o loo trnsition de(nido d seguinte formD onsiderndo k estdos no (nis e
m estdos (nis F
egr de rniso
1 2 3 4 5 6 7 8 9 10 11 12 13 14
transition:
flowFrom_1 ; . . . flowFrom_k ;
if
end
then
then
end
e regr de re(nmento presentd trnsform s trnsies do higrm de rnE sio de istdos ompleto n regr de trnsio do mduloD onde so residos deE tlhes que ntes erm implitos no hiD omo pr ondies de )owpromin e veri(o do estdo interno em )owpromiF iste o re(nmento de suErotinsD que omplet o re(nmento de ddos desrito n eo QFSFIF e seguirD presentmEse s
IHH
rnsies
m trnsioD omo mostrd n pigur QFQRD orresponde um tion om o nome pdro de )owpromin e pr ondio tlstte a i ser respeitdD onde i origem e n o ndex do )uxoD ontilizdo de ordo om nmero de )uxos de sd do estdo
iF endo ess de(nio sido feit n regr de re(nmento mostrd nteriormenteD fzE se o detlhmento de seu orpo prtir dos elementos @ondies e esA d trnsioD representdo n pigur QFQR por ontD que sero otidos om os re(nmentos seguintesF
contT
i;
end
// contT
m trnsio pode ter o mesmo estdo omo origem e destinoF r o exemplo d pigur QFQSD otmEse o digo mostrdo seguirF xotEse que funo tlstteD que represent o estdo internoD tulizd pr o estdo i n linh UD que tnto origem omo destinoF or issoD este tipo de trnsio onorre om os demis )uxos de sd de um estdoF evlio de ondies @C1A ser disutid mis dinteD ssim omo de es @A1AF
A1
C1
QFSF
IHI
i;
end end
gondies
es ondies so responsveis por ontrolr pssgem do )uxo em um trnsioF ssso signi( queD dependendo d vlio d expressoD trnsio pode exeutr es diferentes ou mesmo no se ompletrF es ondies so mpeds pr omndos
ifEthenEelse dentro de um trnsioF omndo omo exemplo pigur QFQTD podeE se ter o seguinte treho de digoF evliEse ondio C D so verddeirD o )uxo prossegue vlindo ontD so ontrrio trnsio interrompid sem tulizr o estdo internoF e tulizo do estdo interno no mostrd pois depende de ontF gomo est um ondio om um nio )uxo de sdD prte else omitidF
contT
gondio ifEthen
1 2 3 4 5 6 7 8
i;
end end
IHP
gso hj lterntivs no )uxoD pigur QFQUD o digo gerdo orresponde o mosE trdo seguirD ontendo prte elseF gso vlio sej verddeirD vliEse ontD so ontrrioD vliEse ontpF
contT
T
C
F
contF
1 2 3 4 5 6 7 8 9 10 11
gondio ifEthenEelse
i;
im mos os sos itdos de ondioD tulizo do estdo interno do mE dulo depende ds ondies seguintesD ont ou ontpF xo so de um seqni de ondies em um mesmo )uxoD omo mostr pigur QFQVD o digo orrespondente seri um ninhmento de omndos ifEthenEelseF e tulizo do estdo orrente efetivd somente se o )uxo lnr um estdo de destinoD ou sejD relizd em um dos omndos ifEthenEelse mis internosF y digo orrespondente pigur QFQV presentdo seguirF
QFSF
IHQ
1 2 3 4 5 6 7 8 9 10 11 12 13 14
gondies eninhds
i;
then
if
C1
A1
C2
F
A2
A3
pigur QFQVX eqni de ondiesF rnsies om mesm origem e destinos diferentes podem usr inonsistniD de ordo om propriedde de um digrm estr somente em um nio estdo em um determindo instnteF ssso pode ser mis em eslreido om o digo seguirD gerdo prtir d pigur QFV d pgin SWD que por questes de legiilidde est reproduzid n pigur QFQWF e indexo dos )uxos feitD neste soD de im pr ixoF snonsistnis em gondies
i;
1 2 3 4 5 6 7 8 9 10 11
end end
IHR
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
i;
end
= i;
end end
j1
C2
A2
j2
C3 no gera inconsistncia
A3
pigur QFQWX itues de onorrni de )uxosF es hmds desss es so feits no loo trnsition de wh e exeuo %n depende do estdo orrenteF gomo ms possuem o mesmo estdo de origemD sendo
QFSF
IHS
)uxoD identi(Ese todos os minhos possveis i jmF e de(nio destes minhos feit pel onjuno n ds ondies pertenentes o )uxoF gso no exist um ondioD ssumeEse n omo sendo verddeiroF ssso pode ser representdo pel tupl
essimD possvel veri(r inonsistnis n tulizo do estdo interno de um genteD e de(nindo propriedde dest formD tornEse possvel identi(r o momento em que o prolem oorre em um veri(dor de modelosD onde podeEse presentr um exemplo de exeuo pr que sej relizd nliseF gom est regrD s es de trnsio de estdo tm seu orpo de(nido de ordo om su represento no wodelo fsioF es proprieddes extrds indim s novs rterstis que devem ser oservdsF es hmds s stres pertenentes o )uxo so delrds e ind devem ser re(nds posteriormenteF
r e ps ondies de es
xo hiD s es podem estr ssoids pr e ps ondiesF r tod o presente em todos os hisD su de(nio pril em strtions resid d lusul require e ensure de ordo om s de(nies no wodelo fsioF essimD mis detlhes so inseridos n de(nio ds esD onforme previsto no tipo re(nmento
IHT
RA
EA
1 2 3 4 5
r e ps ondies de o
RA ; EA ;
etividde de estdo
m tividde desreve o que ser relizd durnte permnni de um gente em um estdoF il independente dos )uxos de sdD ento su hmd deve estr for de qulquer omndo ondiionlD omo ifEthenEelseF xo possvel tulizr o estdo interno n tividdeD portnto no existe inonsistnis om os )uxos de sdF eu efeito s pereido n itero seguinteD ssim omo qulquer outr o do modeloF endo omo exemplo pigur QFRID o digo em wh representdo %n seguirF es es so formlizds n eo QFSFRF
i
atv: atvState_i
contT
1 2 3 4 5 6
etividde de um istdo
QFSF
IHU
ist regr fz prte do tipo re(nmento de suErotins e qundo existir um tiviE dde ssoid um estdo iD o que representD se ind no existirD delrd prilmente em strtions e su hmd olod omo primeir regr d sE tro )owpromiD logo ps veri(o do vlor de tlstteF ssso grnte que o de tividde do estdo i ser exeutd qundo tlstte for igul i e ntes de exeutr qulquer )uxo de sd ou opero de trmino d regr de trnsio do genteF
ropriedde de estdo
e propriedde de estdo propi represent um ondio que deve ser stisfeit qundo o gente em exeuo permneer em um determindo estdo iD pigur QFRPF y re(nE mento de suErotin trnsform represento de propriedde de estdo no wodelo fsio em um propriedde gvD d seguinte formD pr que sej possvel relizr veri(o dequdmenteF ropriedde de estdo
1
i
prop_i
pigur QFRPX ropriedde de estdoF hess formD podeEse veri(r exeuo do sistem de ordo om su espei(E oD e no so de flhD podeEse mostrr um exemplo de qundo o erro oorreF
gontrole qlol
y gontrole qlol tu sore o )uxo de sd de todos os estdosD exeto o estdo iniilF ile opionl eD se existirD deve ser nio pr d mduloF e represento em wh dos digrms reduzidos segue s mesms regrs do hi priniplD om %n exeo de que o estdo de origem no testdo e de que o digrm reduzido que no desvi o )uxo prinipl no tuliz o estdo interno tlstteF m o espeilD denomind qlolgontrolD gerd pr representr o omE portmento do gontrole qlolF m mdulo que possui um gontrole qlol tem su regr de trnsioD loo trnsition de wh %nD relizd em dois pssosF y primeiro
IHV
hm o qlolgontrol e o segundo onsiste em exeutr o )uxo prinipl do hiD omo mostrdo nteriormenteF r exempli(r o gontrole qlolD utilizEse o exemplo d pigur QFIR n pgin TPD reproduzido n pigur QFRQ por questes de legiiliddeF y digo pr o
current_state
C1
F T
C2
stateE
A1
A2
eo pr gontrole qlol
1 2 3 4 5 6 7 8 9 10 11 12
ctl_state := stateE ;
then
ereeEse que o estdo orrente no veri(doD j que o gontrole qlol tu sore todos os estdos possveisF e o qlolgontrolD primeirmenteD veri( onE dio C1 eD so verddeirD o )uxo prinipl desvido pr stteiD por isso funo
tlstte tulizd n linh RF gso C1 sej flsD vliEse C2 pr determinr qul o ser exeutdD A1 ou A2D e o )uxo devolvido pr o digrm priniplF or isso no existe tulizo do estdo interno no loo do omndo ifEthen d linh T nem seu respetivo elseD n linh VY
hd regr de trnsio de um mdulo desrit pelo hi prinipl e o gontrole qlol d pigur QFRQD podeEse gerr o seguinte treho de digo pr regr de
QFSF
IHW
trnsioD onsiderndo ontplow omo sendo tods s es dos )uxos possveis no digrmF egr de rnsio
1 2 3 4 5 6
gomo o loo trnsition relizdo em dois pssosD s tulizes feits no gontrole qlol so vists ns es de trnsio representds por ontplowF hess formD um desvio de )uxo pereido pel tulizo d funo tlstteD ssim omo s tulizes relizds pels es A1 e A2F r evitr (nlizo inesperd do genteD o omndo next Xa I n linh T relizdo pr queD n prxim iteroD o gontrole qlol sej exeutdo novmenteF ssso fz om que o primeiro pssoD do gontrole qlolD sej novmente exeutdoD preservndo semnti de(nid pr o higrm de rnsio de istdosF iste re(nmento sedo no tipo de re(nmento extenso onservtivD onde um novo omportmentoD so determinds ondiesD diiondo exeuo normlF im vwwD isso pode ser feito sem ter que lterr o omportmento j onstrudo no hiD ontriuindo pr melhor reproveitmento do mduloF e regr de trnsio lterd pr preservr semnti do gontrole qlol e suportr exeuo em dois pssosF
gom s desries presentds nest seoD de(nemEse funo de estdo interno om seus possveis vloresD tividde de um estdo e s trnsies de estdo om s ondies e esF mm so de(nidos os omportmentos dos estdos iniil e (nisD ssim omo o pr representr o gontrole qlolF e estrutur de um mdulo e o omportmento de seus gentes podem ser de(nidos pel desrio do ipo estrto de hdos e pel regr de re(nmento que tu sore o hiD mostrd nest seoF ys loos initil e trnsition j se presentm ompletos neste momentoD e os loos lger e strtions prilmente onstrudosF y qlossrio e wenismo de isiilidde ompletm estes loos e de(nem os outros existentes em um mduloF
IIH
QFSFR
qlossrio
y qlossrio omplet s de(nies dos loos lger e strtionsF gd prte do qlossrio inserido em seu loo orrespondente n estrutur de wh %nD de form que lger omplet lger e estres omplet strtionsF omndo o exemplo de eh d pigur QFQI ddo n eo QFSFID pgin WQD supemE se um hi e o gontrole qlolD omitidos por questes de simpliiddeD de(neEse um possvel qlossrio d seguinte formF odem existir outros elementosD no desritos no ehD ms utilizdos de lgum form pelo mduloF essimD estes tmm devem ser de(nidos n lgerD omoD por exemploD mD n e p n linh IIF qlossrio X lger
1 2 3 4 5 6 7 8 9 10 11
// elementos da interface p u b l i c type typeT1 : I n t ; p u b l i c type typeT2 : I n t ; // lgebra do TAD x, y : typeT1 ; p u b l i c z : typeT2 ; p u b l i c w : typeT2 ; // elementos internos m, n, p : Int ;
es stres disponiilizds omo servios no eh e s utilizds no hi devem ser de(nidsD ssim omo s demis que possm ser teis dentro de outrs esD omo mostr o exemplo seguirF qlossrio X estres
1 2 3 4 5 6 7 8 9 10 11 12 13
// elementos da interface action service1 ( a : I n t ) . . . .
is
end
action end
service2 ( a : . . . .
Int ,
b :
Int ) is
action end
service3 incXY ; . . . .
is
QFSF
III
14 15 16 17 18 19
end
isss de(nies ompletm os loo lger e strtions nteriormente mostrdosF intoD om de(nio do qlossrio presentd e omitindo o hi e o digrm de gontrole qlolD um suposto digo em wh gerdo seriX %n gdigo wh pr wodulee %n
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
enum
ctl_state
// elementos da interface p u b l i c type typeT1 : I n t ; p u b l i c type typeT2 : I n t ; // lgebra do TAD x, y : typeT1 ; p u b l i c z : typeT2 ; p u b l i c w : typeT2 ; // elementos internos m, n, p : Int ;
abstractions :
is
end
end
IIP
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
. . . // transies de um estado do DSEs action flowFrom_state1 i s i f ctl_state = state1 then incXY ; // atividade de state1 . . .
end end
Int ) is
end
p u b l i c action end
. . . .
service2 ( a :
Int ,
b :
Int ) is
p u b l i c action end
incXY ; . . . .
service3
is
end
then
end
next
:= 1;
invariant : end
z < 0;
QFSF
IIQ
x de(nio do mduloD os primeiros elementos n lger form otidos prtir d estrutur intern do higrm de rnsio de istdosD sendo de(nio do tipo
snternltteD ns linhs de R TD funo de estdo interno tlstte n linh U e funo derivd urrentstte n linh VF es de(nies d linh IS t IU form otids do detlhmento ds delres do ehD e d linh PH n lger no qlossrioF
xo loo de stresD n linh PRD de(neEse o pr o gontrole qlol e linh PW orresponde o inio ds delres ds es de trnsies otids utoE mtimente prtir do higrm de rnsio de istdosD ssim omo n linh QSD dEse inio s delres orrespondentes s es d regr de trnsioF h linh RQ t TH enontrmEse s es que form de(nids no qlossrioD n prte estresD e o loo de invrintD linh URD foi otido do ehD omo mostrdo nteriormenteF e regr de trnsioD trnsition n linh TPD gerd em dois pssosD sendo o primeiro psso exeuo do gontrole qlolD linh TRD e o segundo onsiste ns hmds ds es de trnsio de estdoD que inii n linh TTD e trtmento de estdos (nisD n linh TVF r impedir termino no esperd d regr de trnsio do genteD fzEse n linh UP o psso seguinte ser o primeiro novmenteF or (mD os invrintes so de(nidos n linh UR prtir d delro do ehF y qlossrio omplement de(nio de es e funes presentes no hi ompleto e no digo wh gerdo t o momentoF gso existm es om mis de um %n de(nio pr pr e ps ondiesD fzEse onjuno ds expresses oolensD sej presente nos higrm de d de istdos ou n de(nio do qlossrioF e interfe possui um orrespondni de seus elementos om sus de(nies no qlossrioF endo ssimD podeEse ompletr interfe de wodulee d seguinte formF snterfe de wodulee
1 2 3 4 5 6 7 8 9
: :
I n t );
end
ModuleA
hess formD o ipo estrto de hdosD o higrm de rnsio de istdos e o qlossrio de(nem estrutur e o omportmento de um mdulo em wh tl omo %n su interfe pr prover servios gentes de outros mdulosF ixistem s onstrues sis do modeloD omo o estdo interno e seu tipoD e s de(nids pelo usurioD omo
IIR
trnsies e elementos do eh e qlossrioF y gontrole qlol deve ser relizdo ntes de qulquer trnsio de estdoD e pr ter vlidde deve ser relizdo no primeiro psso d regr de trnsioD deixndo exeuo norml no segundo pssoF ist penltim regr do tipo re(nmento de suErotinsF
QFSFS
wenismo de isiilidde
y menismo de visiilidde determin o relionmento entre dois mdulos e inteE ro entre gentes de ordo om o digrm eh mostrdo n eo QFIFSF y efeito de(nir os loos import e inlude de um mdulo wh %nF or exemploD ddo o digrm d pigur QFRRD tmEse os seguintes loos pr woduleeF
ModuleB
ModuleA
ModuleC
. . . . . end ModuleA
xo digrmD o eh que represent wodulee est mrdo omo sendo mquin do sistemF ssso signi( rir um mquin om um nio gente de wodulee e disprr su regr de trnsio d seguinte formX grio d mquin do sistem
1 2 3
machine ModuleA agent of ModuleA ; end ModuleA
y exemplo mostr wodulee importndo os servios de wodulef e inorporndo os elementos plios de wodulegF elm dissoD riEse mquin que represent o sistem do wodelo fsioF hess formD ompletEse espei(o de um mdulo de(nindo relo entre mdulos e intero entre gentes no sistemF
QFTF
gonluses
IIS
QFT
gonluses
y wtodo de e(nmento wh de(ne vingugem de wodelgem wh @vwwA %n %n pr de(nio em lto nvel do wodelo fsioF vww sed em digrms de )uxo de ontrole e os diferentes nveis de stro do wodelo fsio (m em seprdos em seus omponentesD ontriuindo pr oter um lingugem intuitivD mior poder de expresso e mior legiilidde nos domnios d eplio e dos wodelosF e vww possui higrm de rnsio de istdos @hiA e higrms de d de istdo @hisA omo reursos gr(osF y qlossrio de(ne os elementos destes digrms e permite expressr formlmente proprieddes pertenentes o homnio d eplioF y lto nvel de stro presente em vww permite vlidr espei(o so superviso de lientes e desenvolvedoresF es regrs de(nids em ww so seds nos tipos de re(nmento identi(dos no wtodo de e(nmento ew e germ um espei(o em wh omo digo lvoF %n rerdndo s rterstis de wh %nD vww permite de(nir sistems multigentes om exeues snrons e ssnronsF gom esss rterstisD ww permite relizr filmente desries de sistems de pequeno e grnde porte om grnde quntidde de informesD ontriuindo pr um espei(o ompletD preis e que ptur s rterstis mis relevntes do prolem ser soluiondoF
eventeen rovers of the orld ieHTD relt e ompr os IU prinipis provdores de teorem existentes mostrndo um exemplo de exeuo em d um delesF hentre os presentdosD estoX
ryv ytterGsvy ho vego winlog ist list ontm IU menismos de prov de teorems e form seleiondos so os ritrios de serem desenvolvidos pr formlizo mtemtiD e possurem um espeiliddeD ou sejD d um melhor so lgum ponto de vist e so onsiderdos lderes n su reF wiores detlhes sore est lssi(o enontrmEse em ieHTF IIU wizr sselleGssr sw xuprl elfGegd wetmth goq egvP heorem f method
meg
IIV
y exemplo utilizdo pr mostrr e omprr s ferrments foi o prolem d prov de que riz qudrd de dois um nmero irrionlF he ordo om frger em fHQD s prinipis ferrments utilizds n veri(E o utomti de modelos ew so us eiWPD eiWSD f+ HHD ygWVD yWP e sselle xHTD lm de veri(dores de modelos @wodel ghekers AD que seE ro desritos seguirF hentre estes provdores itdosD pens o us no preeu n relo de ieHTF istes provdores de teorems so ferrments podeross que uxilim veri(oD porm neessrio informr s estrtgis em determindos pontosD exigindo onheE imento do modelo e d lingugem do provdorF imor os provdores possiilitem ordr um grnde vriedde de prolemsD ess rtersti impede veri(o ompletmente utomti e trnsprente dentro do wtodo de e(nmento wh %nF eri(o de wodelos @wodel gheking A um mtodo de veri(o forml de sistems onde possvel oter representes mis strts que provdores de teoE rem e so mis indidos pr modelgem de ontrole de )uxo gqHHF imor esse mtodo no onsig ordr mesm vriedde de prolems que os provdores onseguemD possvel trtrD segundo glrkeD quse todos os prolems que so reE lmente desenvolvidos n prti gqHHF elm dissoD veri(dores de modelosD no so de flh n veri(oD podem forneer exemplos de trnsies que levrm o erroD possiilitndo depuro do sistemF e seguir so presentdos os trlhos reliondos om wodel gheking e seu uso em ewF
RFI
Checking A
eri(o de wodelos @wodel gheking gqHHA um mtodo que permite veri(r utomtimente proprieddes de um sistem de trnsio de estdoF m estdo ddo pel situo de tods s vriveis do modelo em um determindo instnteF iste mtodo enumer todos os estdos lnveisD ddos os estdos iniiis e regr de trnsioD e veri( s proprieddes de ordo om s espei(es ddsF ssso ftlE mente ger um exploso de estdos serem veri(dosD porm pidde de lidr om tl fenmeno um rtersti notvel de veri(o de modelosF m veri(dor de modelos @wodel gheker A implement um mtodo de veri(E o de modelos e possvel enontrr vrios deles n litertur qe+ WTD g+ WUD p+ WRD rruWTD rolWUD uxHPD vtdWUF xeste trlho foi utilizdo um veri(E dor sedo no ymoli wodel eri(er @wA uFvWPD que ser mostrdo seguirF e desrio de outros veri(dores e sus lssi(es @omo sw uxHPD s qe+ WTD i p+ WRD whq g+ WUD sx rolWUD gyex rruWT e ph
RFIF
IIW
vtdWUA fogem do esopo deste trlhoF m veri(dor de modelos reee omo entrd um espei(o de um sistem de trnsio de estdosD onde so de(nids sus vriveisD omo d um iniilizd e omo so tulizds o longo ds trnsies de estdosF e represento do sistem dd por meio d estrutur de uripke gqHHD gptulo PD de(nid pel tupl
(S, S0 , R, L) ondeX S o onjunto de estdosY S0 S o onjunto de estdos iniiisD freqentemente omitido por questes de simpliiddeY R S S relo de trnsioY L : S 2AP funo que rotul d estdo om um onjunto de proprieddes verddeirsD onde e @etomi repositions A so s vriveis de estdo do sistemF
snternmente em um veri(dor de modelosD estrutur de uripke representd por digrms inrios de deiso ordendos @yfhh E yrdered finry heision hiE
grms A gqHHD gptulo SD que so derivdos de rvores inris de deisoF m rvore inri de deiso um rvore dirigid pr representr funes oolensF gd nodo interno represent um vrivel v do sistemD dd pel funo vr@vAF gd nodo interno possui dus restsD um que represent triuio do vlor H vD hmd de low@vAD e outr represent triuio de ID hmd de high@vAF e rest low@vA pode ser representd por um rest pontilhdF ys nodos externosD terminisD so representdos pelos vlores H ou ID otidos por vlue@vAF gd minho n rvore represent um triuio d vr@vAD e o resultdo ddo pelo vlor do vrtie terminlD vlue@vA a H ou IF
rvores inris de deiso no possuem um represento onis de um frmul oolenF ils possuem o mesmo tmnho que um tel verddeF ormD existem erts rterstis de redundnis que podem ser explords (m de se oter melhores representesD omo por exemplo juno de suErvores idntisF eo juntr suErvores iguisD otmEse um grfo orientdo lio @hiret eyli
qrph E heqA om um riz niD rterizndoEse em um fhh @finry heision higrm AF m fhh dito ordendoD yfhh @yrdered finry heision higrm AD se todos os minhos prtir d riz respeitm mesm ordem ds vriveisF m yfhh dito reduzidoD yfhh @edued yrdered finry heision higrm A so s seguintes ondiesX
IPH
qundo no existem dois nodos distintos u e v que representem mesm vrivel e possum os mesmos (lhos low e highD ou sej (var (v ) = var (u) & low (v ) = low@uA & high(v ) = high(u)) v = u um vrivel v no ontm os mesmos (lhosD ou sej
low@vA = high@vA
gonsiderndo trs vriveisD xID xP e xQD podeEse onstruir rvore inri de deiso mostrd n pigur RFI@A de ordo om um funo f@xIDxPDxQAD n qul tem tel verdde representd n pigur RFI@AF odeEse notr que todos os possveis minhos sempre tero mesm ordem de vriveisF im seguidD pigur RFI@A mostr o yfhh pr est mesm funoF gomo pode ser vistoD um digrm om menos estdos e somente dois nodos terminisD representdos pels ixs ontendo H ou IF gonsiderndo um estrutur uripke M = (S, R, L)D pr representEl em um yfhh neessrio desrever o onjunto de estdos S e relo RF or questes prtisD o rtulo L foi omitidoF hdo que v um vrivel oolen pertenente o onjunto de vriveis do sistem V e v um vetor de vriveis v d um om seu vlorD um estdo pode ser desrito por um represento de v D que plid um funo oolen f otmEse o vlor IF or exemploD pr o exemplo d pigur RFI@AD existirim os trs estdos ( x1, x2, x3), ( x1, x2, x3) e (x1, x2)D otidos prtir dos minhos do yfhh que resultm no nodo terminl IF r represento de R utilizEse mesm odi(o de S D onsiderndo v um vrivel pertenente o onjunto V D que signi( o vlor de v no estdo seguinteD e v um vetor de v F intoD relo R de(nid omo (v, v )D onde um vetor de vriveisD d um om determindo vlorD mpedo em outro vetor om seus respetivos vlores no estdo seguinteF essimD podeEse representr um relo de trnsio por um onjuno dos vlroes tuis om os vlores do prximo estdoF upondo um onjunto de trnsies pr o exemplo d pigur RFI@AD podeEse desrevElo em frmuls lgis onforme seguirF e pigur RFP mostr represento gr( dests trnsiesF e disjuno de tods s trnsies represento de relo de trnsio R ompletF
( x1 x2 x3 x1 x2 x3 ) ( x1 x2 x3 x1 x2 ) ( x1 x2 x3 x1 x2 x3 )
RFIF
IPI
x1
x2
x2
x3
x3
x3
x3
x1 x2 x3
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
1 0 0 1 0 0 1 1
x2
x2
x3
x3
(c) ROBDD
(x1 x2 x1 x2 x3 )
x1 x2 x3
x1 x2 x3
x1 x2
pigur RFPX epresento de um estrutur uripke em yfhhF e veri(o relizd no pelo ompnhmento dos estdosD ms sim por perE gunts que so feits o modeloD s quis so desrits normlmente em frmuls temE
IPP
poris gv e vvF is frmuls expressm s proprieddes que devem ser grntids pelo sistem e so desrits em funo d ordem temporl dos estdos ou minhos pr se hegr determindos estdosF e nlise dos estdosD relizd pels pergunts feits o sistemD proporion um veri(o de form simplesD sem neessidde de onferir d estdo existenteF possvel expressr diverss forms de proprieddes e um veri(dor de modelos resE ponde verddeiro ou flsoD e no so de ser flsoD possvel que sej mostrdo um exemplo de tl situoF iste um importnte reurso pr depuro do sistem modeldoF
RFIFI
ymoli wodel eri(er @wA uFvWPD wwWQ um veri(dor de modelos om linE gugem prpri pr espei(o de sistems de trnsio de estdos onde os estdos so (nitosD ou mquin de estdos (nitos @pinite tte whine AF y w utiliz lgoE ritmos simlios @ymoli wodel gheking sitHSA sedos em yfhh @yrdered finry heision higrm AD um melhormento de fhh @finry heision higrm A gqHHD gptulo SF gom issoD possvel veri(r sistems om grnde nmero de estdosD eFgFD n ordem de 10120 D omo demonstrdo nos exemplos tihWID tih+ WRF
m exeuo de w veri( d proprieddeD de(nid em gv @gomputtionl
ree vogi A ou vv @vogil emporl vogi AD utilizndo lgoritmos sore o yfhhF retorndo um resultdo verddeiro ou flso pr d um delsF xo so de um resultdo flsoD e sempre que possvelD ddo um ontrEexemplo onde mostrEse um exeuoD prtir do estdo iniilD que viol proprieddeF iste rtifio muito til pr depuro do sistem sumetido veri(oF
y w foi iniilmente desenvolvido n grnegie wellon niversity @gwAD e (ou onheido omo gw wF xovs proposts pr w form feits om o ojetivo de oter mior desempenho e prover funionliddes mis poderossF hestmEse os trE lhos gdene w wwWW e xuw ggy+ HTF emos so reimplementes do gw wD gdene w foi desenvolvido pelo houtor uF vF wwilln no gdene
ferkeley vsF xuw foi desenvolvido no sgEsF istes dois trlhos preE sentm melhoris onsiderveis sore o gw w e so muito semelhntesD emor presentem sintxe diferenteF r o wtodo de e(nmento wh %nD esolheuEse trlhr om xuw pel similridde om sintxe de gw w e filidde em oter mnul de onsults e exemplosF x eo RFIFPD so presentds s prinipis rterstis de xuwF
RFIF
IPQ
RFIFP
xuw
y veri(dor de modelos xuw ggy+ HTD ggy+ HSD ggy+ HS resultdo d reimplemento e extenso do gw w wwWQF xuw fz prte de um proE jeto estruturdo e em doumentdo om o ojetivo de ser mplmente utilizdo em esls industriisF or issoD su verso tulD xuw PFRD distriud so lien
ypenoureD que permite qulquer interessdo livremente utilizr e prtiipr do deE senvolvimentoF
xuw permite representr sistems de estdos (nitos snronos e ssnronosD e espei(r proprieddes utilizndo gomputtion ree vogi @gvA e viner emporl
vogi @vvA gqHHD gptulo QF e seguirD dd um reve desrio de omo se espei( um sistem utilizndo xuwF gomo exemploD ser mostrd espei(o de um ontdor inrio de trs itsF gd it modeldo por um lul de ontgem e o sistem tem omo ojetivo somr onstntemente o vlor I o vlor nteriormente otidoF
wyhvi
wdulo um enpsulmento de delres de vriveis de estdoF gd mdulo pode onter regr de trnsio de estdos e espei(es de proprieddesD estes e outros elementos sero explidos seguirF possvel delrr um mdulo om prmetrosD no qul pssgem por referniF or exemploD riEse seguir o mdulo pr um lul de um ontdor inrio que reee omo prmetro o viEum d somF gontdor finrio
1
MODULE counter_cell(carry_in)
e
es delres de vriveis de estdo so relizds no loo eF odem ser do tipo enumerdoD intervloD ooleno e instnis de outros mdulosF xo exemplo do ontdor inrio delrEse vrivel vlue omo oolenF gontdor finrio
1 2 3
MODULE counter_cell(carry_in) VAR value : boolean;
IPR
esqx
e regr que determin iniilizo e trnsies de um vrivel de estdo so de(niE ds por triuies no loo esqxF e triuio diret estelee o vlor d vrivelD
init@vrileA indi qul o vlor iniil d vrivel de estdoD e next@vrileA fornee o vlor no estdo seguinte prtir do estdo orrenteF e triuio em next@vrileA pode ser feit utilizndo regr seD onde possvel determinr o prximo vlor de vE rile em funo de um determind ondioF essimD next@vrileA pode filmente determinr regr de trnsio so perspetiv de um vrivelF e seguirD de(nemEse o vlor iniil e regr de trnsio de vlue no exemplo do ontdor inrioF
gontdor finrio
1 2 3 4 5 6 7
MODULE counter_cell(carry_in) VAR value : boolean; ASSIGN init(value) := 0; next(value) := value + carry_in mod 2;
y vlor iniil pr vlue HD e trnsio feit lulndo vlue C rryinD onde rryin otido pel som de dgitos de ordem menor @menos signi(tivosAF pzEse mod P d som pr evitr esso um vlor invlidoD por exemplo PD que no eito em um vrivel oolenF odeEse utilizr regr se pr de(nir next@vrileAD onforme o digo seguirD supondo um mdulo om um vrivel tlstte enumerd om os vlores stteID
stteP ou stteQF
ixemplo de gse
1 2 3 4 5 6 7 8 9 10 11 12
MODULE case_example VAR ctl_state : {state1, state2, state3}; ASSIGN init(ctl_state) := state1; next(ctl_state) := case ctl_state = state1 : state2 ctl_state = state2 : state3 ctl_state = state3 : state1 1 : state1 esac;
RFIF
IPS
e triuio o prximo vlor de tlstte ondiiond o seu vlor orrenteF e for stteID o prximo vlor ser sttePF e for sttePD ser stteQ e se for stteQD voltEse o vlor stteIF e vlio feit n ordem que s lusuls preem e triuio feit qundo se enontr primeir lusul verddeirD independente ds seguintesF gso no sej indido o prximo vlor de um vrivel ou nenhum ds lusuls de um regr se for verddeirD triuiEse um vlor no determinstio dentre os possveis vlores que vrivel pode ssumirF im xuwD isso signi( que existiro tntos estdos seguintes possveis quntos forem os vlores possveis pr quel vrivelF or issoD n linh II do digo ixemplo de gseD ondio I e triuiEse o vlor stteIF ssso signi( queD se nenhum ds lusuls nteriores for verddeirD o prximo estdo d vrivel tlstte ser stteIF
hipsxi
r tornr espei(o xuw mis onisD podeEse ssoir um vrivel um expresso por meio do loo hipsxiF m vrivel em hipsxi sempre sustitud pel su de(nio qundo enontrd n espei(oF odeEse notr que no rid um nov vrivel no yfhh que gerdoF xo exemplo do ontdor inrioD riEse vrivel rryoutD que indi se viEum ou noF gontdor finrio
1 2 3 4 5 6 7 8 9 10
MODULE counter_cell(carry_in) VAR value : boolean; ASSIGN init(value) := 0; next(value) := value + carry_in mod 2; DEFINE carry_out := value & carry_in;
IPT
oorre em um hrdwre que represent este sistemF xote que tods s vriveisD neste soD so instnis do mdulo ounterell ridoF wdulo prinipl
1 2 3 4 5
MODULE main VAR bit0 : counter_cell(1); bit1 : counter_cell(bit0.carry_out); bit2 : counter_cell(bit1.carry_out);
gd it exeutr prlelmente e de form snron su regr de trnsio que foi espei(d no loo esqxF
ig
es proprieddes gvs so espei(ds preedids d plvr hve igF gso sejm frmuls vvD deveEse utilizr vvigF es demis forms de espei(es no fzem prte deste trlho e podem ser enontrds no mnul de xuw ggy+ HSF es proprieddes em xuw so n verdde pergunts relizds o sistem moE deldo pelo yfhhF essimD no exemplo do ontdor inrioD podeEse perguntr se sempre verdde que em lgum estdo no futuro rryout do itP ser verddeiroF iss propriedde de(nid n linh V do digo roprieddes seguirF gomo veri(o do ontdorD podeEse perguntr seD otendo o vlor HHHD o prximo ser HHID onsiderndo itH omo o menos signi(tivoF ist propriedde mostrd pel frmul vv n linh II do digo roprieddes seguirF roprieddes
1 2 3 4 5 6 7 8 9 10 11
MODULE main VAR bit0 : counter_cell(1); bit1 : counter_cell(bit0.carry_out); bit2 : counter_cell(bit1.carry_out); SPEC AG AF bit2.carry_out LTLSPEC G((!bit0.value & !bit1.value & !bit2.value) > X bit0.value)
RFIF
IPU
essimD ompletEse espei(o xuw de um ontdor inrio de trs itsF e exeuo deste modelo retorn verddeir pr ms s pergunts relizdsD forE mlizds pels frmuls gv e vv mostrdsF e seguirD so presentds outrs onstrues importntes pr veri(o em wtodo de e(nmento wh %nF
sxe
possvel de(nir invrintes do sistem vi o loo sxeF iste loo restringe o domnio no qul um vrivel de estdo perteneF eu impto n veri(o um reduo do yfhh qunto os possveis vloresF imor o tmnho do yfhh no tenh relo diret om desempenhoD os ortes podem eliminr minhos que no so desejveis em um determindo pontoF
se
im lguns sosD pode ser neessrio que mdulos omprtilhem lgums de sus prtes om outros mdulosF im xuwD isso pode ser feito seprndo s prtes omuns em mdulos e utilizr delres se pr importEls pr delro de outros mdulosF se funion omo um mro que expnde o orpo do mdulo importdo no lol d delroD opindo s de(niesF or exemploD o mdulo modulee seguir ontm um vrivel e um proprieddeF ixemplo de se
1 MODULE moduleA 2 VAR 3 va : boolean; 4 5 SPEC AG(va | !va);
m outro mdulo modulef pode ser de(nido d seguinte formD om delro se moduleeF ixemplo de se
1 MODULE moduleB 2 VAR 3 vb : boolean; 4 5 ISA moduleA 6 7 SPEC AG(vb | !vb);
IPV
xo so de um mdulo moduleg importr o mdulo modulef utilizndo seD este tmm import os elementos do moduleeF or exemploD o mdulo ixemplo de se
1 MODULE moduleC 2 VAR 3 vc : boolean; 4 5 ISA moduleB 6 7 SPEC AG(vc | !vc);
RFIF
IPW
proess
hus instnis de mdulos exeutm regr de trnsio em prlelo e de form snronF gso sejm delrds omo proesso @proess AD els simulm um exeuo ssnronD onde d trnsio de estdoD esolheEse no deterministimente qul proesso ser exeutdoF ys demis proessosD que no form esolhidos pr exeuoD no lterm o vlor de sus vriveisF y exemplo seguir mostr trs portes lgios que invertem entrd reeidF e sd de um porto entrd do seguinteD formndo um nelF e delro dos trs portes omo proesso simul o trso no iruitoD pois d porto tem su vez de exeutr no deterministimenteF e delro pesxi runningD n linh IWD grnte que o proesso que simoliz o porto lgio ser exeutdo pelo menos um vezF orto inverte
1 MODULE main 2 VAR 3 gate1 : process inverter(gate3.output); 4 gate2 : process inverter(gate1.output); 5 gate3 : process inverter(gate2.output); 6 7 SPEC 8 (AG AF gate1.output) & (AG AF !gate1.output) 9 10 11 MODULE inverter(input) 12 VAR 13 output : boolean; 14 15 ASSIGN 16 init(output) := 0; 17 next(output) := !input; 18 19 FAIRNESS running
gom estes elementos sios de xuwD podeEse mostrr omo um espei(o wh pode ser trnsformd em um espei(o xuwD e om issoD ser possvel %n oter um mtodo de veri(o pr wtodo de e(nmento wh %nF
IQH
RFIFQ
eri(dor de wodelos pr ew
ixistem vrios trlhos que propem veri(o diversos modelos de espei(o de sistemsF or exemploD existem extenses ligds wvD omo presentdo por tohn vilius e svn ltor em vWWD vWWD que relizm veri(o utomti do modeloD neste so utilizmEse os veri(dores de modelos sx e ywiveF e ordgem enontrd em ffu+ HR tmm reliz veri(o de digrms de estdosD porm relizEse prov por exeuo simli de premisss utilizndo o provdor de teorems us eiWPF yutr ordgem muito utilizdD ind sore wvD presento de um seE mnti formlD priniplmente de digrms de trnsio de estdos e tividdesD que possm ser posteriormente veri(dos yeHQD uwHPD fgHHD fgHHF gomo ww est imerso no modelo ew e vww sed em digrmsD so mostrdos trlhos que relionm wvD lingugem gr(D om o modelo ewF or exemploD slen yer yeHQ de(ne um semnti pr wv por meio de um metEmodelo utilizndo ewD enqunto elexnder unpp e tephn werz uwHP propem um gero de digo ew prtir de mquins de estdos wvF frgerD gvrr e ioene tmm desE revem um semnti forml pr wv em termos de ewD possiilitndo utilizrEse do rigor mtemtio deste modelo pr elimino de migiddes e veri(o do sistem fgHHD fgHHF r o modelo ewD so presentds lgums mneirs de veri(o utomtiD omo os trlhos de pielmnn piWWD piHH e uirsten inter inHID utilizndo veri(o de modelos vi trnsformes de um espei(o ew pr um entrd de um veri(dor de modelosF e prinipl pesquis que pli veri(dor de modelos ew relizd por uirsE ten inter e hel gstillo inWUD gHHD inHID onde foi desenvolvido um mdulo dentro de he ew orkenh helWWD um frmework pr desenvolvimento ewD pr veri(o utomtiF xesse trlhoD so presentds regrs de re(nmento sore um espei(o ewD feit n lingugem ewEvD om o ojetivo de oter um lingugem intermediriD hmd de ewEsvF i prtir d pode ser feito um segundo proesso de trnsformes pr oter entrds de diferentes veri(dores de modelosF xo soD form presentdos w e o pote whq @wultiwy heision
qrphs A g+ WUF
hurnte o re(nmento de um lingugem ew pr wD devem ser resolvidos qutro prinipis prolemsD que so explidos seguirX
estdos de ew devem ser (nitos @pwAY expnso de dinmi de voulrio deve ser trtd @regr ew import AY
RFIF
IQI
funes devem ser tods sem rgumentosY regr de trnsio deve ser plni(dF
eri(dores de modelos representm pens sistems de trnsio de estdos (niE tosD portnto um espei(o ew deve ser sempre um mquin de estdos (nit @pw E pinite tte whineD eo PFIFTA ou ser onvertid pr tlF m propost de onverso presentd em qqHPF im wtodo de e(nmento wh %nD o wodelo fsio sempre desrito em termos de um pwD representdo pelo higrm de rnsio de istdosF gom issoD ess trnsformo no neessri em wwF es vriveis presentes n espei(o de um veri(dor de modelos devem ser onheids ntes de su exeuoD sendo ssimD regrs que expndem dinmimente o voulrio d mquin devem ser previmente trtdsD ssim omo funes om ridde mior que zeroF xo so do trlho de uirstenD regr import de ew qurWS no onsiderd e foi desrito omo trlhos futurosF xo so de funes om rgumentosD foi gerd por uirsten um vrivel pr d vlor possvel do rgumento pssdo no momento de seu usoD onsiderndo regr de juste @pitness gonstrints A determind nquele pontoF egr de juste determin quis os possveis vlores de um vrivel em um determindo ponto do progrmD sendo ssimD onsidere o seguinte treho de ewF ew
1 2 3
if
end
a < 3 then f ( a ) := 2* a ;
odeEse determinr regr de juste pr vrivel D que pode ssumir os vlores ID PD ou QD no treho presentdo d seguinte formF
a : {1, 2, 3}
essimD riEse um vrivel pr d vlor de possvel no ponto de uso d funo
1 2 3 4 5
end
if
then
IQP
ist ordgem ftlmente ger um exploso de estdos no yfhh de wD porm o tmnho do yfhh no tem relo om desempenho d exeuo gqHHF essimD este trtmento tornEse vivel pr eliminr rgumentos ds funesF im wD regr de trnsio desrit em termos de d vrivelD enqunto que em ew trnsio desrit em termos ds tulizesF or exemploD onsidere o treho ew seguirF ew
1 2 3 4 5 6 7
transition: i f C1 then
end end
a := 1; i f C2 then c := 3;
next ( a ) case
:=
C1 : 1; 1 : a; esac ; :=
next ( c ) case
C1 & C2 : 3; 1 : c; esac ;
odeEse pereer que o ninhmento de regrs ifEthen em ew deve ser re(nd pr um represento equivlente em wF ssso signi( que regr de trnsio ew deve ser plni(dD ou sejD estruturs omplexs @ninhdsA devem ser repreE sentds de form onter somente regrs do tipoX
RFPF
IQQ
prolems so resolvidos pr oter um lingugem intermediriD hmd de ewE sv @ewEstermedite vnguge AD om s seguintes rterstisX
simplesX estruturs omplexsD omo funes om rgumentosD so desdordsY plni(dX regr de trnsio representd pens por regrs ifEthen sem niE nhmentoF
o presentdosD em inHID os seguintes pssos pr se oter ewEsv prtir de ewEvX
desdormento de funes @puntions nfolding AY desdormento de regrs @ules nfolding AY simpli(o de termos @implifying erms AY simpli(o de regrs @implifying ules AF
el simpliidde de ewEsvD el funion omo um interfe entre ew e veriE (dores de modelosF intoD o segundo psso relizdo trnsformndo ewEsv em um entrd de um veri(dor de modelos esolhidoF e veri(o no wtodo de e(nmento wh sed nos trlhos de uirsE %n ten e gstillo inWUD gHHD inHI e s regrs form plids so s mesms persE petivsD porm relizndo s deques lingugem wh %nD onforme mostrdo n eo RFPF
RFP
e veri(o de sistem propost dentro do wtodo de e(nmento wh reE %n lizd sore o digo wh gerdo e utilizndo o veri(dor de modelos xuwD %n desrito nteriormenteF heveEse onverter espei(o wh em um espei(E %n o xuw orrespondente de form utomtiF gonsiderndo s diferens entre um lingugem ew e de xuwD ddo um sistem em wh %nD ww o trnsform em um lingugem intermediriD denomind gEwh @goreEwh %n %nAD eo RFQF e pigur RFQ represent s etps de re(nmento que onvertem o digo wh %n em um represento equivlente em xuwF gom ess ordgem de gero de um lingugem intermediriD possvel oter um interfe pr veri(dores de modelos que sejm sedos em sistems de trnsio e utilizm ordgem lgiF xo fz prte do esopo deste trlho vlidr ess interfe om outrs ferrments lm de xuwD deixndo em erto possveis trlhos futurosF
IQR
Machna
C-Machna
NuSMV
pigur RFQX itps de re(nmento de wh pr xuwF %n rimeirmenteD relizd simpli(o dos termosF r issoD tipos elordos so re(ndosD medid do possvelD pr onstrues mis simples e s funes om ridde mior que zero so trnsformds em representes equivlentes om ridde igul zeroF osteriormenteD trtEse d formo dos mdulos prtir d inluso de elementos pertenentes outros mdulosF intoD plni(o relizd sustituindoEse regrs do tipo hooseD with e regrs em mltiplos pssos por de(nies simples ifEthenEelseF or (mD s regrs ondiionis so simpli(ds pr serem pens ifEthen sem ninhmentoF
RFQ
gEwh %n
gEwh @goreEwh %n %nA um suonjunto d lingugem wh onde existem %n onstrues e regrs mis simplesF us rterstis soX
tods s regrs so plni(dsD ou sejD omndos ninhdos so trnsformdos em regrs simples do tipo if g then Y endD inlusive sequenidores de regrs e hmds stres simples @stres que no possuem prmetrosD delE res loisD loops e nem seqni de pssos de exeuo @stepAAY funes om ridde mior que zero so trnsformds em um represento equivlente que sej delrd e vlid ntes d exeuoD ou sejD no existe vlio dependente de estdoD tods s funes devem ter ridde zeroY pens existem os tipos sios foolD sntD ghrD intervloD enumero e o tipo genteY modulrizoD menismo de visiilidde e lusuls inlude e import so mnE tidos em gEwh om mesm semnti que em wh %n %nY revitur de termos e stres regrs no so permitids em gEwh %nY s regrs de dministro de gentes so relizds por meio de funes explE itsD e no om regrs e funes implits omo em wh %nY de(nies de regrs em mltiplos pssos no so permitidsY
RFRF
IQS
no so permitids s regrs hooseD forllD se ou with Y expresses elordsD omo ll e existD no so permitidsY gentes possuem mesm semnti de delro e exeuo que em wh %nY de(nio d mquin de exeuo relizd d mesm form que em wh %nF
gEwh um importnte reurso n eri(o wtodo de e(nmento wh %n %nD pois su simpliidde permite trnsformr mis filmente um progrm wh em %n um espei(o de veri(dores de modeloF xeste trlhoD pens ordd ferrment xuwD ms trlhos futuros podem utilizr gEwh omo interfe %n pr outros veri(dores de modelosD permitindo o uso de outrs ferrmentsF
RFR
wpemento de wh gEwh %n %n
y re(nmento de wh pr gEwh onsider prolems sinttiosD semntiosD %n %n veri(o de tipos e ontrole de visiilidde j resolvidosF
RFRFI
ys tipos em wh devem ser trnsformdos em estruturs equivlentes mis simplesD %n priniplmente os tipos estruturdosF he ordo om o re(nmento de ddosD no somente estrutur lterdD ms tmm s operes devem ser re(nds de form preservr o efeito sore o ddoF
fsios
ys tipos sios de wh so foolD ghrD sntD elD tring e intervlosF xo %n re(nmento de wh pr gEwh sus representes so mntidsF ormD %n %n stres de operesD omo sD mx e minD su e pred devem ser sustituds por operes mis sisF hemis operes existentes so mntidsF r o tipo ghrD existem s operes strtsX
ord @ X ghrAXsntD retorn o vlor egss do rtere Y hr @i X sntAXghrD retorn o rtere om o digo egss i Y su @ X ghrAXghrD retorn o suessor de ou undef Y pred @ X ghrAXghrD retorn o predeessor de ou undefF
IQT
es operes ord e hr so mntids em gEwh %nF t s operes su e pred so re(nds respetivmente ns seguintes expressesF rimeiro vliEse se esto no intervlo de rteres vlidos e retornm o suessorD ou predeessorD e so ontrrio retornm o rtere om digo egss zeroD que equivlente o undefF le lemrr que digo egss do intervlo vlido de rteres de QP IPTD ento QP no tem predeessor e IPT no tem suessorF
1 2 3 4 5
if
else
ord ( c ) >= 32 and ord ( c ) < chr ( ord ( c )+1); chr (0);
su
126
then
end
1 2 3 4 5
if
else
ord ( c ) > 32 and ord ( c ) <= chr ( ord ( c ) -1); chr (0);
pred
126
then
end
s @i X sntAXsntD retorn o vlor soluto de i Y mx @i X sntD j X sntAXsntD retorn o mior vlor entre dois nmeros inteirosD i ou jY mx @i X sntD j X sntAXsntD retorn o menor vlor entre dois nmeros inteirosD i ou jY sqr @i X sntAXsntD retorn o qudrdo de iF
gd um dels so respetivmente re(nds em expresses onforme seguirF
if
i >= 0
then
else
s
( -1 * a )
end ;
if
i >= j
then
else
end ;
mx
RFRF
IQU
if
i <= j
then
else
end ;
min
sqr
1
i * i;
y mesmo oorre om s operes strts do tipo elD preservndo s onverE ses integerD que trnsform um rel em um inteiroD e relD que onverte um inteiro em um relF
gompostos
ys tipos ompostos so enumeresD unio disjuntD tuplsD onjuntosD listD nodo de rvoreD funionlD genteD stro de regrsD rquivo e tipos de(nidos pelo progrmE dorF ys tipos enumeroD listD nodo rvoreD funionlD gente e stro de regrs so mntidos inlterdosF e seguir so presentdos os re(nmentos dos demisF y tipo c de(nido omo unio disjunt de todos os tipos possveisD ento esse re(nmento relizdo onsiderndo os tipos visveis dentro do mduloF e unio disjunt deompost rindo um funo pr d tipo que form unioF im wh %nD d funo tem um triuto interno type que indi qul o seu tipo em termos de um inteiroF xo so de um unio disjuntD este triuto ssume um vlor de ordo om triuio que feit funoF r este ontroleD de(neEse um funo diionl que deve sempre re)etir o omportmento d unio disjuntF essimD unio disjunt X I | P re(nd pr os seguintes termosF nio disjunt
1 2 3
aT1 : T1 ; aT2 : T2 ; aType : I n t ; // funo para T1 // funo para T2 // controla o tipo de a, T1 ou T2
e oteno do vlor de ddo pel regr withD ser disutid mis dinteF undo houver um triuio Xa D o seguinte re(nmento relizdoF odeEse pereer que nlisdo qul o tipo de D ento triuio orretmente relizd e o ontroldor do tipo de tulizdoF
IQV
if
end
he form semelhnte unio disjuntD o tipo tupl deomposto de ordo om seus elementos e s operes so re(nds preservndo semntiF intoD onsiderndo s de(nies ds tupls p e q e s operes seguirF upls
1 2 3 4 5
p , q : tuple ( x : . . . q := p ; q . x := p . y ; p := (1 ,2);
Int ,
y :
I n t );
RFRF
IQW
podeEse interpretr onjuntos omo um reloD e o re(nmento relizdo pr um funo que mpei o tipo do onjunto em um vlor oolenoD indindo se o elemento pertene ou no oleoF gonjunto
T;
s =
set of
e delro do onjunto presentd ento trnsformd em um funo onE forme seguirF re(nmento de onjunto
s : T ->
Bool ;
in s trtd om
1 2 3 4
e diferen sI E sP seleion todos os elementos pertenentes o domnio que stisfzem relo sI e no stisfzem sPD ento s triui sQF
IRH
1 2 3 4
hiferenX sI E sP
s2 ( x )
e interseo sI B sP re(nd de form semelhnteD porm inlui em sQ os eleE mentos que stisfzem tnto relo sI qunto sPF snterseoX sI B sP
s2 ( x )
1 2 3 4
1 2 3
s3 ( a ) := s3 ( b ) := s3 ( c ) :=
punes de(nids omo rquivos tm seu usoD ldo direito d expressoD sustitudo pel regr no determinsti hooseD onde o domnio orresponde o tipo do rquivoF iste re(nmento onsider rquivos omo sendo um intero om o miente externo e o ord omo um vlor no determinstioF xo treho de digo seguirD onsiderE se red funo que l um elemento do rquivo fD que possui o tipo D e o triui
xF
erquivo
1 2 3 4
f : f i l e of T ; x : T; . . . readT (f , x );
y re(nmento ento ddo pel seguinte regrD pereeEse que no existe mis delro do rquivoF reservndo delro de xD pens re(nEse oteno do vlorD red n linh RF
RFRF
IRI
e(nmento de rquivo
1 2 3 4 5
choose f : do x := f ; end
x : T; . . .
elguns tipos podem ser de(nidos pelo progrmdor (m de melhorr legiilidde do digoF imor wh permit de(nio de tipos om prmetrosD isto no %n trtdo neste trlhoD ssim omo de(nio de tipos mutumente reursivosF y re(nmentoD entoD pens sustitui o tipo rido pel su de(nioF xovo tipo
1 2
T = a : T;
type
Int ;
a :
Int ;
e(nmento
RFRFP
es funes so re(nds plindo o mtodo proposto por uirsten e gstillo inWUD gHHD inHID onforme desrio n eo RFIFQD onde so ridsD pr d funo om rgumentosD tods s possiiliddes de ordo om o domnio do prmetroF xeste soD regr de juste pitness gonstrint pr d ponto de hmd de funo deve ser informd pelo desenvolvedorF gom issoD o proesso de trnsformo exige interveno humn neste pontoD impedindo que veri(o no wtodo de e(nmento wh sej um tref ompletmente utomtiF %n poge do esopo deste trlho o trtmento d plio d regr de justeF imE or sej neessrio interveno do desenvolvedorD os gnhos om s demis regrs de re(nmento pr oter entrd de um veri(dor de modelos so onsiderveisF puturos trlhos podem ser relizdos pr tornr plio d regr de juste um proesso utomtioF
RFRFQ
e lusul import tem ppel fundmentl no ontrole de visiilidde de tipos e sE tres exportds por um mduloD no hvendo neessidde de ser re(nd em gE
IRP
wh %nD onsiderndo que qulquer prolem reliondo esso invlido j tenh sido resolvido em wh %nF
RFRFR
ilementos plios
r todo mdulo eD fzEse expnso d lusul inlude d seguinte formF r d mdulo inludo em eD veri(Ese su lusul inlude e diionD se ind no existirD os mdulos por este inludo n lusul inlude de eF isse proesso deve ser repetido t que se elimine tod dependni de inluses existentesF imor semnti d lusul inlude em gEwh sej mesm que em wh %n %nD ess expnso fundmentl pr o re(nmento de wh em xuwD omo desreve %n eo RFSFPF osteriormenteD riEse um segundo mduloD hmdo pulieD que ontm os eleE mentos plios de eD om exeo dos elementos omprtilhdosF intoD pr todo mdulo fi presente n lusul inlude de eD relizEse tro pr inluir pulifiD e tmm fzEse inluir pulieF gonsiderndo o seguinte treho de digo wh %n
B;
1 2 3 4 5 6 7
C;
1 2 3 4 5 6 7
C;
RFRF
IRQ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
publicB , publicC ;
publicA // elementos pblicos de A end publicA publicB // elementos pblicos de B end publicB publicC // elementos pblicos de C end publicC
module
module
iste re(nmento simpli( o trtmento d lusul inludeF eo gerr um re omumD no so pulieD pr os mdulos que inluem e e o prprio eD possvel trtr todos eles d mesm formF e vntgem ( evidente no re(nmento de gEwh %n pr xuwD eo RFSFPF
ilementos omprtilhdos
gonsiderndo expnso relizd nteriormenteD pr todo mdulo eD s funes omprtilhds @shred A so trnsferids pr um mdulo prteD denomindo shE
redeD e s funes omprtilhds plis @puli shred A so trnsferids pr outro mduloD denomindo pulihredeF intoD o mdulo e pss inluir tnto shrede qunto pulihredeD e pr os demis mdulos pulifi presentes n lusul inlude de eD diionEse o mdulo pulihredfiF ortntoD onsiderndo o seguinte treho de digoD onde o mdulo g possui eleE mentos omprtilhdosF
IRR
publicB , publicC ;
publicC ;
. . .
module A include end A module B include end B module C include end C module
publicC , publicSharedC ;
publicA // elementos pblicos de A end publicA publicB // elementos pblicos de B end publicB publicC // elementos pblicos de C end publicC sharedC // elementos compartilhados de C end sharedC
module
module
module
RFRF
IRS
28 29 30 31
module
e rio de mdulos seprdos ontendo os elementos d lger preserv mesm semnti de wh qunto os elementos pliosD omprtilhdos e pliosEomE %n prtilhdosF y ojetivo destes re(nmentos trtr estes trs grupos de funes deE qudmenteF essimD formo do mdulo pel lusul inlude relizd igulmente pr todos os mdulos e d grupo reeer os uiddos neessrios qundo for feito o re(nmento pr xuwD presentdo n eo RFSF
RFRFS
e(nmento de expresses
es expresses seD ifEthenEelse e withD qundo preem omo ldo direito de um triuioD so re(nds pr su regr orrespondenteD relizndo triuio no orpo d regrF or exemploD onsiderndo o digo seguirF ixpreses
a :=
if
then
else
end ;
rnsformEse est triuio n seguinte regr ifEthenEelseF es demis expresses itds so trtds d mesm formF e(nmento
1 2 3 4 5
if
else
x then a := 1; a := 2;
end
gso s expresses prem omo gurdsD ou sejD so vlids omo expresso oolenD fzEse onjuno onforme o exemplo seguirF ixpresses oolens
q
1 2 3
if if
end
R;
then
else
end then
IRT
1 2 3
if
end
(g R;
and
p)
or ( not
and
e(nmento
q)
then
iste segundo trtmento somente possvel pois p e q so expresses oolensD e onsiderEse este prolem j resolvido n espei(o em wh %nF es expresses exists e ll soD por de(nioD expresses oolensF ems so re(nds relizndo expnso de seus elementosD onstruindoEse um frmul lgi prtir d expresso ontid em stisfyingF hd seguinte expresso exists e onsiderndo o domnio do tipo omo sendo {ID PD Q}F ixpresses
x > 0;
a :=
exists
x : T
satisfying
a := (1 > 0)
or
(2 > 0)
or
e(nmento
(3 > 0);
b :=
exists
x : T, y : T
satisfying
and
y < 5;
1 2 3
or or or
e(nmento
(1 > 0 (2 > 0 (3 > 0
or or or
RFRFT
erevitur de termos
hd um regr onforme seguirD tod oorrni de v trod pel su de(nio
RFRF
IRU
1 2
v := exp ; a := v ;
let
let
e(nmento
1
a := exp ;
istdo de exeuo
im wh %nD todo gente tem um triuto implito stteD do tipo tte que indi o estdo orrente do genteF y tipo prEde(nido tte equivlente tte a enum
new E gente ridoD ms ind no disprdoY tive E gente em exeuo e no loquedoY stopped E gente que enerrou exeuo de su regr de trnsioD ms ind pto responder requisies de outros gentes e pode ser novmente disprdoY loked E gente em exeuoD ms loquedo esper de lgum mensgemY destroyed E gente destrudoD inpz t de responder requisies de outros gentes e de ser disprdo outr vezF
ediionlmenteD todo gente tem um funo self que retorn su identi(oF xo re(nmento de wh pr gEwh %n %nD funo self ( inlterdF y triuto implito stte re(ndo pr funo enumerd stte onde os vE lores possveis so newD tiveD stoppedD loked e destroyed e o vlor pdro newF essimD regr de trnsio envolvid pel ondio stte a tiveF e seguirD so mostrds de(nio d funo stte e ltero relizd n regr de trnsio em gEwh %nF
1 2 3 4 5 6 7
algebra :
state :
p u b l i c enum
transition: i f state =
active
then
RT ;
end
IRV
edministro de gentes
r dministrr um gente em wh %nD existem s regrs reteD dispthD stopD
destroy e returnF ods els podem ser ompreendids omo r sinttio pr triuies de vlores funo stteD que represent o estdo de exeuo de um
genteD omo mostrdo seguirF
rete gnt
1
agnt . s t a t e := anew ;
dispth gnt
1 2 3
if
end
and
agnt . s t a t e != destroyed
then
stop
1 2 3
!= destroyed
then
destroy gnt
1
agnt . s t a t e := destroyed;
e rio de um gente relizd somente um vez e ntes de qulquer outr opeE ro sore stteF ists ondies so resolvids durnte espei(o em wh %nF y dispro de um gente somente pode ser relizdo se este j estiver ridoD e ind no exeutndoD ou se estiver prdoF e estiver em exeuoD o dispro no tem efeitoD pois o vlor de stte no se lterF m gente destrudo no pode voltr exeuoF xo so de estr loquedoD o gente se enontr em exeuo gurdndo um respostD por isso no se pode lterr o vlor de stte pr tive neste momentoF omente fz sentido prr exeuo de um gente se o mesmo estiver em exeuoD tivo ou loquedoF or (mD destruio de um gente pode ser relizd em qulquer irunstniF intoD ests regs so ssim re(ndsF xo so de gnt ser um list de gentesD deveEse gerr um regr pr d a agntF e regr return trtd durnte o
RFRF
IRW
re(nmento ds stresF importnte ressltr que return somente utilizdo dentro do orpo de stres que ontm loopF
estres simples
y re(nmento de wh em gEwh deve sustituir s hmds de stres %n %n simplesD pertenentes o genteD pelo seu orpo de exeuoF m stro simples qundo no possui prmetrosD delres loisD loop e nem seqni de pssos de exeuo @stepAF essimD seu digo pode ser introduzido no lol de su hmdF gso stro possu um prEondioD deveEse gerr um mrdor indindo que ess prEondio deve ser stisfeit nquele momentoF gomo prEondio de stres so formulds om funes do mduloD no existe prolem de esopo e
expression ntes do loo que represent o orpo d oF y mesmo oorre pr psEondioD e ms se tornm sseres durnte s trnsiesF or exemploD o tione tem regr omo orpoD omo prE ondio e omo psEondioF
podeEse olor o termo ees imples
1 2 3 4 5
requireX
end
R;
undo houver um hmd tioneD est ser sustitud pelo digo seguirF e(nmento
1 2 3
R;
require
P; Q;
ensure
estres
es stres que possuem prmetrosD delres lois ou seqni de regrs devem ser re(nds em um espei(o xuw seprdD e s demis regrs de re(nmento so plids normlmenteF gso hj lgum funo delrd no mduloD est deve ser reproduzid n nov espei(o xuwF e psEondio d o deve estr em desrit e indir o efeito n lger do mduloF essimD s lteres relizds pel o so preservds em seu ponto de
ISH
hmdF or exemploD o in demonstrd seguir tem o efeito de inrementr o vlor d funo pssd omo prmetro vi o rgumento xF e funo iniid om o vlor H @zeroA e regr de trnsio inrement onstntemente o seu vlorF ees
1 2 3 4 5 6 7 8 9 10 11 12
algebra : a : Int
:= 0;
transition:
inc ( a );
odeEse notr que lusul ensureD que represent psEondio de inD indi o efeito n lgerF xo re(nmento pr gEwh %nD el sustitui o orpo d oD onde o prmetro x trodo pel funo F gom issoD utilizo de old no se fz mis neessriF elm dissoD lusul ensure preservdD d mesm form que foi feito pr es simplesD onforme mostrdo seguirF e(nmento
1 2 3
transition:
a := a + 1; ensure a :=
old
a + 1;
ees om loop no sero trtds neste trlho e podem ser relizdos trlhos futuros pr oter seu orreto re(nmentoF
RFRF
ISI
intoD pr trnsformo de wh em gEwh %n %nD riEse um funo step do tipo intervloD que tem seus limites de(nidos de ordo om o nmero de pssos possveis e o vlor iniil IF essimD o onjunto de regrs que erm exeutds em um determindo psso iD pss ser exeutdo so ondio de step possuir o vlor iF im wh %nD next utilizdo pr tulizr o vlor de step indiretmenteD uE xilindo no ontrole de visiiliddeF im gEwh isso no mis neessrioD ento %n sempre que preer next omo regr em um pssoD el sustitud pel tulizo explit d funo step F y limite inferior do intervlo step D por de(nioD IF gonsidere o limite superior omo sendo nD iniilmente ID o onjunto de pssos de(nidos e funo mx@xDyDnA que retorn o mior vlor entre xD y e zF intoD pr tod lusul step wh %n
1
step
x : Rx ;
next
:= y ;
i f step
= x
then
Rx ;
step
:= y ;
end
y re(nmento deve ind relizr os seguintes lulosD esrits em notes mE temtiD onde o limite superior n de(nido tomndoEse o mior vlor entre o psso
n max (x , y, n) X X + {x}
x usni de tulizo next wh %n
1
step
x : Rx ;
i f step
= x
then
Rx ;
end
ISP
es operes relizds so s mesms om diferen que no existe yD ento n reee o mior vlor entre o psso x e o prprio nF
n max (x , 0 , n) X X + {x}
gom issoD tods s regrs de tulizo @x A dos pssos de(nidos so trnsformE ds em exeues so ondio de stepF gso no exist tulizo vi nextD nd feito por enquntoF eo (nl dest etpD o limite superior do intervlo step ddo por n e o onjunto ontm todos os pssos de(nidosF possvel omitir pssosD por exemplo de(neEse o psso I e depois o QD omitindoEse ssim o psso PF hdo o intervlo de I nD o onjunto y formdo pelos pssos omitidosD queles no presentes em F
O {1..n} X
intoD pr todo o OD riEse um regr ondiionl d mesm form que foi feito pr os pssos de(nidosF ormD ni regr presente tulizo de step pr o vlor seguinteD omo mostr o digo seguirD onde o um elemento de yF gEwh %n
1
i f step
= o
then step
:=
step
+ 1;
end
or (mD tods s regrs ondiionis gerds que no ontm next devem ser resids d regr de tulizo step Xa step C IYF ormD possvel que regr de trnsio sej repetidD isso oorre qundo el estiver mrd om trnsition ou
loopF xeste soD o ltimo pssoD psso nD deve tulizr step pr ID ms isso somente
feito se no houver outr tulizo j de(nidF iss ltim etp permite que step tinj o vlor nCI qundo regr de trnsio no demrd omo repetioD pois no psso n ter tulizo step Xa step C IYF ortntoD o limite superior do intervlo de step em gEwh deve ser lterdo pr %n
nCIF
hess formD orrespondni om semnti de step em wh preservdF %n e seqni se inii no psso I e tod trnsio tuliz o vlor de step om o vlor de nextD e este sempre inrementdo n usni de um tulizo explitF y exemplo seguir mostr plio dests regrs de re(nmentoF hdos os pssos
RFRF
ISQ
equenimento de egr
1 2 3 4 5 6 7 8
. . . . .
:= 4; := 8; := 3;
. . . . .
1 2 3 4 5 6 7 8 9 10
1; 1 3 4 5
R1 ; R3 ; R4 ; R5 ;
:= 4; := 8; := 3;
n=8 X = {1, 3, 4, 5}
intoD determinEse o onjunto y de pssos omitidos
O = {2, 6, 7, 8}
im seguidD o digo resido ds regrs ondiionis orrespondentes os pssos omitidos om tulizo de step pr o psso seguinteF xote que no psso VD possvel tingir o vlor WD entoD por segurnD o intervlo de step deve ser um unidde mior que o n de(nidoF or (mD os pssos que no ontm tulizes de
ISR
e(nmentoX etp P
1 2 3 4 5 6 7 8 9 10 11
algebra step :
1 .. 9; 1 2 3 4 5 6 7 8
R1 ; R3 ; R4 ; R5 ;
:= := := := := := := :=
2; 3; 4; 8; 3; 7; 8; 9;
e regr de trnsio em wh no for repetidD este o resultdo (nlF gso %n ontrrioD deveEse lterr o psso V pr reiniilizr step e reomer exeutr s regrsF essim temEse e(nmentoX etp Q
1 2 3 4 5 6 7 8 9 10 11
algebra step :
1 .. 9; 1 2 3 4 5 6 7 8
R1 ; R3 ; R4 ; R5 ;
:= := := := := := := :=
2; 3; 4; 8; 6; 7; 8; 1;
isse re(nmento preserv semnti de regrs em mltiplos pssos de(nid em wh %nF possvel relizr um trtmento no digo (nl gerdo pr (ns de otiE mizesF or exemploD os pssos PD T e U nd fzem e poderim ser exludos e s tulizes pr eles lterd pr o psso seguinteF ormD isso no prte deste trlhoD podendo ser futurmente relizdoF h form presentdD preiso pens grntir que nos pssos omissos pens sej tulizd funo step e nenhum outr mis do voulrio do mduloF
egr
choose
r elementos om tipos siosD omo inteiro e oolenoD regr hoose pode ser re(nd pr um funo externD onde o tipo o mesmo do elementoD e expresso
RFRF
ISS
1 2 3
hoose
0 and i < 10 2;
algebra :
// funo que representa a regra choose e x t e r n a l iChoose_x : I n t ; . . . transition: // regra de transio de choose f ( iChoose_x ) := iChoose_x * 2; . . . invariant : // invariante a partir de satisfying iChoose_x > 0 and iChoose_x < 10;
egr
with
e regr with pode ser utilizd em dois momentosD pr elementos de um vlor omE postoD omo listD tupl ou nodo de rvoreD ou ento pr inspeionr o tipo de um unio disjuntF gonsiderndo pens o segundo soD re(nEse with pr um regr ondiionlD onde d ifEthen orresponde um lusulF y elemento ser ompE rdo o ontroldor do tipo d unio disjunt e regr ser relizd tem o pdro sustitudo pel funo orrespondenteD de ordo om o tipoF
with
1 2 3 4 5 6 7
a : T1 | T2 ; . . . with a as a1 : T1 = > f := a1 ; as a2 : T2 = > g := a2 ; otherwise = > f := 0; g := 0;
end
IST
else
end
f := 0; g := 0;
egr
forall
e regr forll expndid rindoEse um regr ondiionl pr d possvel vlor do domnio de seus elementos e ondiiond expresso ontid em stisfyingF nto regr qunto expresso tem os elementos sustitudos pelo vlor otido n expnsoF
1 2 3
f o r a l l x : 1..3 , s a t i s f y i n g x %2 = do f (x , y ) := x +
forll
y : 4..6 1 y;
xo exemplo imD o elemento x pertene o domnio {ID PD Q} e y o {RD SD T}F e expresso de stisfying restringe pens os vlores de xF e seguirD presentEse um re(nmento pr est regrF e(nmento
1 2 3 4 5 6 7 8
// x = 1 e i f 1%2 = i f 1%2 = i f 1%2 = // x = 2 e i f 2%2 = i f 2%2 = i f 2%2 = valores 1 then 1 then 1 then valores 1 then 1 then 1 then de y f (1 ,4) f (1 ,5) f (1 ,6) de y f (2 ,4) f (2 ,5) f (2 ,6) := 1 + 4; := 1 + 5; := 1 + 6; := 2 + 4; := 2 + 5; := 2 + 6;
RFRF
ISU
9 10 11 12
egr
case
e regr se diretmente trnsformd em um regr ifEthenEelse equivlenteD onde omprEse expresso eD onforme o digo seguirD om s expresses de d lusulD e exeutEse regr de ordo om est vlioF e lusul otherwiseD se existirD orresponde o else do ltimo omndo ifEthenF
1 2 3 4 5 6
case of of end
se
1 2 3 4
. . .
if e else else
= e1
if
e = e2
then
ifEthenEelse
R1 ;
then
R2 ;
Rk ;
egr
if-then-else
if
then
RLT ;
else
RLF ;
end
onde v e vp so lists de regrs simples ou outr regr ondiionlD deveEse seprr s dus prtes gerndo dus regrs ondiionis d seguinte formX
ISV
if i f not
C C
then then
RLT ; RLF ;
end end
ifEthen simples
1 2 3 4 5 6 7
. . . . . if C then RT_n ;
if
then
RT_1 ;
egrs
if-then
ninhds
e existir lgum regr ondiionl em ou pD deveEse eliminr o ninhmento fzendo onjuno ds ondiesD omo mostr o exemplo
ifEthen ninhdo
1 2 3
if
R;
end
if
end
C1 R;
and
C2
then
RFS
hevido simpliidde de gEwh trnsformo pr xuw quse diretF o %nD neessrios o re(nmento dos tiposD presentndo um nov estrutur e preservndo s operesD e do re(nmento d regr de trnsioD onforme presentdos seguirF
RFSF
ISW
RFSFI
e(nmento de tipos
ys tipos em wh %nX relD stringD listD nodo rvore e stro de regrsD no form re(ndos pr gEwh em nenhum dos tipos qui presentdosF iste um trlho %n ind ser relizdoF yutr possiilidde preservElos em gEwh e presentr %n um re(nmento pr xuwF ys tipos serem re(ndos soX
snt
1 2 3 4
MODULE Int VAR value : -2147483648 .. type : 1; 2147483647;
ITH
ghr
1 2 3 4
MODULE Char VAR value : 0 .. 255; type : 2;
ys tipos oolenoD intervlo e enumero existem d mesm form em xuwF y tipo fool representdo pel estrutur d mesm form que snt e ghrF ys demis so representdos om o mesmo tipo em xuwD sendo neessrio pens oloElos n sintxe orretF
fool
1 2 3 4
MODULE Bool VAR value : boolean; type : 2;
sntervlo
1
variable :
inf ..
sup;
inumero
1
variable :
{e1, e2 ...
en};
RFSFP
e(nmento de gentes
y tipo gente re(ndo em um instni de mdulo em xuwD porm formo d lger do mdulo deve ser onsiderd neste momentoF essimD d mdulo de gEwh trnsformdo em um mdulo em xuwF %n r formo do voulrioD neessrio trtr inluso de elementos plios e omprtilhdosF xo so de elementos pliosD todo mdulo que inlui pulie resido d lusul se pulieF y omndo se de xuw opi s vriveis de um mdulo em outroF xo so dos elementos omprtilhdosD os mdulos que inluem shrede ou puE
lihrede so ridos om um prmetro pr d funo omprtilhd existente nestes dois mdulosD e isso se repete pr tods s demis inluses relizdsF essimD os gentes dos mdulos que inluem eD onforme modeldo em wh %nD omprtilhm
RFSF
ITI
s funes puli shred e pens os gentes de e iro omprtilhr s funes shred e puli shredF es vriveis rids omo prmetro de mdulosD representndo s funes omE prtilhdsD tero um omportmento no determinstio d trnsio de estdoF essimD possvel simulr o omprtilhmento de informesF heveEse ressltr queD om ess ordgemD ondio de orrid no veri(d em xuwD devendo est ser grntid previmente pelo desenvolvedorF gonsiderndo o exemplo em gEwh dos mdulos e e f seguirD mos inluem %n
pulie e pulihredeD e somente e inlui shredeF sniilmente em wh %nD o mdulo e tem s funes pliD omprtilhd e pliD e omo omprtilhdF
wdulos em gEwh %n
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
publicA , publicSharedA ;
publicA a : Int ; end publicA publicSharedA b : Int ; end publicSharedA sharedA c : Int ; end sharedA
module
module
odeEseD entoD relizr o seguinte re(nmento pr xuwD sendo um vrivel omprtilhd entre gentes de e e omprtilhd entre gentes de e e de fF wdulos em xuw
1 MODULE A(b, c) 2 ISA publicA 3 4 MODULE B(b) 5 ISA publicA 6
ITP
7 MODULE publicA 8 VAR a : Int; 9 10 MODULE publicSharedA 11 VAR b : Int; 12 13 MODULE sharedA 14 VAR c : Int;
or (mD o mdulo prinipl rido om se n mquin de de(nio de gE wh %nD que mesm de wh %nF intoD pr o digo seguir wquin de de(nio
1 2 3
machine mX
mX ;
o mdulo min em xuw de(nido d seguinte formF grimEse os gentes que tero sus regrsD loo esqxD disprdos em exeuoF wdulo prinipl
1 2
RFSFQ
rimeirmenteD iniilizEse d vrivel de ordo om o seu estdo iniil de(nido em gEwh %nF gso um funo no tenh sido iniilizdD triuiEse em xuw seu vlor pdro de ordo om o domnioF e exeo no so de um funo externD onde nd feitoD ssim podeEse oter o omportmento no determinstioF intoD pr d vrivel delrd em eD riEse em esqx o seguinte digoF sniilizo em xuw
1 2
if g then R
RFSF
ITQ
onde um regr de triuio simplesD ou sejD pens um vrivel tulizd de d vezF egrupmEse ento tods s regrs ondiionis onde possui o mesmo ldo esquerdo e riEse um regr se em xuw om s respetivs gurdsF r evitr o omportmento no determinstioD que no desejdoD ltim lusul do
se onstrud om gurd I @verddeirA e triuiEse o mesmo vlorF essimD se nenhum outr ondio nterior for stisfeitD vrivel no se lterF s funes externs no so triudos vlores em xuw pr poder ter o efeito no determiE nstioF y exemplo seguir mostr o re(nmento de um suposto onjunto de regrs onde preem s funes e F
gEwh %n
1 2 3 4 5 6
. . .
a a b b
:= := := :=
x; y; w; z;
e(nmento pr xuw
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
. . . ASSIGN init(a) := 0; valor padro init(b) := 2; valor em initial state next(a) := case g1 : x; g2 : y; 1 : a; preserva valor de a caso g1 e g2 sejam falsos esac; next(b) := case g3 : w; g4 : z; 1 : b; preserva valor de b caso g3 e g4 sejam falsos esac;
e existir lgum regr que indi prEondio de um o @requireAD riEse um propriedde que veri( se sempre que ondio g oorrerD prEondio dever ser stisfeitF essimD ser possvel veri(rD vi xuwD se prEondio de um o
ITR
stisfeit no momento de su hmdF eps rio d proprieddeD regr desrtd e no vi pr o loo esqxF essimD dd regr rEondio de eo
1
if
then r e q u i r e
P;
end
que signi( sempre que ondio g for stisfeitD ou sej sempre que um o retornr de su exeuoD em qulquer estdo imeditmente seguinteD ondio deve ser stisfeitF r se provr que est propriedde vlidD deveEse mostrr que ser verdde no prximo estdoF gso regr de trnsio ontenh mltiplos pssos e o psso seguinte sej um omissoD ou sejD psso no delrdo expliitmente n regr de trnsioD nd feito n lger lm de lterr o vlor de stepF into se for verdde no psso seguinte @o omissoAD tmm ser verdde no seguinte do omissoF vemrndoEse que semnti de step om pssos omissos no fzer nd nestes pssos e o usurio deve ter onsini dissoF elm dissoD deveEse mostrr que um trnsio de estdo em wh tem orresE %n pondni um pr um em gEwh %nD isso signi( que no existem estdos intermeE diriosF ssso fil de ser pereidoD um vez que plni(o de regrs pens reliz onjuno ds ondies existentes em regrs ifEthenEelse ninhds e regrs seF e simpli(o de termos pens sustitui regr de tulizo por um onjunto de tulizes ondiionds orrespondenteF im mos os sosD no so ridos estdos intermediriosD preservndo vlidde d propriedde imF
RFSFR
roprieddes e invrintes
es proprieddes e invrintes de(nidos no wodelo fsio e s proprieddes extrds ds regrs de re(nmento so diretmente mpedos pr os loos orrespondentes
RFTF
gonluses
ITS
em xuwF r proprieddesD preiso nlisr su nturez pr de(nir em qul de(nio ser inludD igD vvig ou vigF r os invrintesD o mE pemento direto pr d expressoD preedid de sxeF gompletEse ssim espei(o xuw do wodelo fsioF
RFT
gonluses
poi mostrdo o re(nmento de wh pr xuwD otendo entrd ser veriE %n (dD onde onferemEse s proprieddes de(nids de ordo om o wodelo fsioD representdo pel espei(o xuw otidF y resultdo (nl pode presentr um sistem orretoD ou entoD flh em um ou mis proprieddesF xeste segundo soD se for possvelD mostrEse um exemplo de exeuo pr d propriedde no grntidF essimD lolizo de erros se torn um tref mis filF es orrees so relizds no wodelo fsio e deve ser relizdo todo o proesso de re(nmento t ser novmente possvel relizr veri(oF gomo o proesso utomtio e tods s informes neessris esto no wodelo fsioD o digo exeE utvel e veri(o podem ser sempre otidos prtir do wtodo de e(nmento wh %nF elm dissoD os ddos forneidos pel exeuo xuw fzem prte d douE mentoD servindo omo omprovnte d orret espei(o e podem ser utilizdos pr futurs nlises do sistemF eri(o de wodelos @wodel gheking A um mtodo que permite veri(r uE tomtimente proprieddes de um sistemF y veri(dor xuw utiliz lgoritmos simlios sedos em yfhh @yrdered finry heision higrm A e desreve um lingugem pr espei(o de sistems de trnsio de estdos onde os estdos so (nitosF m rtersti notvel do mtodo eri(o de wodelos filidde de lidr om o grnde nmero de estdos possveis que um sistem pode lnrF im xuwD s proprieddes de um sistem podem ser de(nids em frmuls gv @gomputtionl ree vogi A ou vv @vogil emporl vogi AF e vntgem poder relizr veri(o no pelo ompnhmento dos estdosD ms sim por pergunts que so feits o modeloF gso um ds proprieddes flheD xuw pode forneer um ontrEexemploD provendo ssim um possiilidde de depuroF r tods s onstrues de wh %nD om exeo de es om loopD foi possE vel oter um represento equivlente em xuwD inluindo funes de ontroles implits lingugemD omo funo stte e stepF poi possvel tmm preservr modulridde e omunio entre os gentesD ssim omo exeuo ssnronF ormD pr lguns tipos de wh %nD omo lists e tipo stro de regrsD no onseguiuEse enontrr um represento em xuwF gom ordgem dotd
ITT
pr funes omprtilhdsD no possvel veri(r ondio de orridD (ndo rgo do desenvolvedorF e primeir di(uldde no re(nmento pr xuw foi soluionr o prolem de funes om ridde mior que zeroD onde prourouEse lgums lterntivs diferentes ds presentds por uirsten inHID porm nenhum tingiu um resultdo stisftE rioF intoD prevleeu mesm soluo presentd por elD om o mesmo prolem de gerr exploso de estdos no fhh o utilizr regr de restrio de justeF imor um veri(dor de modelos sej pz de trtr exploso de estdos de form e(ienteD reditEse que lguns dos prolems enontrdos durnte vlioD gptulo SD podem estr ligdos exploso de estdos gerdF yutr di(uldde foi modelr omunio e exeuo entre os gentesD priniplE mente qunto vriveis omprtilhdsF wh de(ne exeuo de gentes omo %n sendo ssnron e prlelD enqunto em xuw ests dus so possveis ms no o mesmo tempoF e melhor lterntiv foi exeuo ssnron por dois motivosX primeiroD de ordo om frger fHQD nenhum miente ew present exeuo ssnronD sendo ssimD wh o nio miente de exeuo ew snrono e %n ssnronoD e pode ser veri(doY segundoD o prejuzo seri minimizdoD pois ni perd seri veri(o de essos onorrentes vriveis omprtilhdsD j que s demis omunies so relizds vi tros de mensgens e wh de(nid om %n rterstis modulresF eo relizr vlioD mostrd no gptulo SD pereeuE se que somente seri possvel oter um respost d veri(o se os mdulos fossem veri(dos seprdmenteD simulndo omunioF i ess simulo somente foi possvel devido esolh de exeuo ssnron em xuwF y re(nmento de wh pr xuw tem omo enefio prover veri(o %n semiEutomti o wtodo de e(nmento wh %nF gomo s regrs so pliE ds utomtimenteD o proesso de veri(o em ww tende ser trnsprente pr o desenvolvedorF yutro enefio foi de(nio de um lingugem intermediE riD goreEwh %n@gEwh %nAD que mis simples que wh %nF essimD trlhos de desenvolvimento de ompildores e expnso d lingugem podem ser mis filmente relizdosF y resultdo otido om exeuo de xuw prov um reurso importnte pr depurr espei(o desrit em wwF m possvel ontrEexemplo pode ser utiliE zdo omo entrd de ddos pr simulr um exeuo no wodelo fsio e filitr identi(o do prolemF iste ind um proesso mnulD ms trlhos futuros podem ser relizdos pr tornr est tref mis intertiv e utomtiF
SFI
y prolem tem foiler erWTD trtdo neste ptuloD foi desrito por tenE ymond eril em gosto de IWWR omo sugesto de trlho pr os prtiipntes do hgstuhl weeting wethods for emntis nd pei(tionD que foi relizdo em tunho de IWWSF poi espei(do o funionmento de um progrm de ontrole de nvel de gu dentro de um ldeir vporF ys prtiipntes deverim presentr um de(nio em lto nvel e o orreto re(nmento pr um digo exeutvelF m ldeir deve trlhr om o nvel de gu dentro de limites onsiderdos normis de funionmento e nun ultrpssr os nveis de riso de(nidosF m proE lem om relo esses ftos pode usr srios dnos ldeirF eril desreve iniilmente o miente fsio existente no qul o progrm deve intergirF gd uniE dde fsi presentdD ssim omo sus restries e ondies de funionmentoF o de(nids lgums onstntes e vriveis que devem ser veri(ds e ontrolds o longo do funionmento do sistemF im seguidD eril presentD de form gerlD omo o progrm se omuni om s uniddes fsis e quis so s fses de omunioF osteriormenteD so detlhdos ITU
ITV
os ino modos de opero que o progrm pode ssumirF e espei(o determin os tipos de mensgens envids e reeids pelo progrm eD (nlmenteD desreve deteo de erros nos equipmentosF im efvWTD efvWSD form presentds PQ solues ordndo diferentes mtoE dos de re(nmentoF m dels foi propost por frger ffh+ WTD onde foi presentdo um modelo em lto nvel @wodelo fsioA fundmentdo n lger ivolutivF gomo lingugem pr o wodelo fsio foi utilizdo o modelo ew e presentouEse o re(nE mento t oteno do digo exeutvel em gCCF iste ptulo present de(nio do wodelo fsioD esrito em vingugem de wodelgem wh %nD pr o prolem d ldeir vporF intoD pliEse o wE todo de e(nmento wh otendo o digo wh orrespondente e relizndo %n %n veri(o do sistemF e espei(o de eril permiteD em lguns momentosD divergnis ns interpretesF r melhor vlido e presento do wtodo de e(nmento wh %nD muits ds deises form tomds seguindo soluo presenE td em ffh+ WTD j que mos so derivdos do modelo ew de re(nmentoF
SFP
niddes psis
y progrm de ontrole d ldeir vpor deve se relionr om lgums uniddes fsisD que form listds omo sendoX
ldeir vporY unidde medidor de guY unidde medidor de vporY qutro oms de gu pr ldeirY qutro ontroldores de om @um pr d omAY operdor de mesY sistem de mensgemF
y operdor de mes no fz prte dess modelgemD ms so onsiderds funes provinds do miente externo que so ionds pelo operdor de mesF y sistem de mensgemD omo ser vistoD modeldo om omunio entre gentes relizds por servios disponiilizdosF ortntoD erros de mensgens no so onsiderdos nest de(nioF
SFPF
niddes psis
ITW
e ldeir vpor onstitud de um vlvul pr liero de guD que utilizd pr esvzir ldeir pens n fse iniilF e pidde totl de gu C indid em litrosD e M1 e M2 so os limites inferiores e superioresD respetivmenteD tmm em litrosF e o nvel de gu estiver ixo de M1 om liero de vpor sem o devido suprimento de guD ou se o nvel estiver im de M2 om s oms forneendo gu e pou liero de vporD ldeir pode estr em perigo ps ino segundosF o estipuldos os nveis inferior N1 e superior N2 pr o funionmento normlD que devem ser mntidos durnte o funionmentoF hevemEse preservr s ondies M1 < N1 e M2 > N2 F e quntidde mxim W de vpor sindo d ldeir medid em litrosGseg e o grdiente de umento U1 e diminuio U2 de vpor ddo em litrosGsegGsegF e el SFI resume s vriveis e onstntes do sistem de ontrole d ldeir vporF
nidde
g wI wP xI xP I P q v
litros litros litros litros litros litrosGseg litrosGsegGseg litrosGsegGseg litros litrosGseg
viero de vpor
lores orrentes
el SFIX esumo de vriveis e onstntesF e ldeir vpor formd por ests uniddes fsis que possuem omunio diret om o sistem de ontroleF ortntoD pr (ns de simpliiddeD modelgem d ldeir no explitD e qundo for neessrio mesm representd por um funo no sistem de ontrole d ldeir vporF e seguirD so presentdos d unidde fsiD o ontroldor pr uniddes fsis e o progrm ontroldor d ldeir vporF
SFPFI
niddes de wedid
q em litros de gu n ldeir em um determindo instnteD ssim omo unidde medidor de vpor @stem level mesuring unit E sm A mede quntidde u de vpor
IUH
que si d ldeir em litrosGsegF ists dus uniddes podem ser modelds de form semelhnteF essimD o ipo estrto de hdos presentdo em pigur SFI mostr o identi(dor id pr diferenir s uniddes de medids e o vlor lido mesureF x interfeD presentmEse os servios etsdD pr triuir o orreto identi(dorD e
etfgD pr indir o sistem de ontrole d ldeirF qetirror prov em e situo de erro d uniddeF or (mD o pedido pr unidde prr seu funionmento pode ser relizdo om topF
MeasuringUnit algebra: id measure SetId(i) SetSBC(sbc) GetError(e) Stop
pigur SFIX eh wesuring nitF gd uniddeD em um funionmento normlD mnd onstntemente um mensE gem pr o progrm de ontrole ontendo o vlor qD ou vD lidoF x presen de lgum erroD unidde ( gurdndo o reproF iste omportmento pode ser onferido n pigur SFP@A or questes de simpliiddeD erros nests uniddes so simuldosF gomo um erro pode onteer qulquer momentoD est simulo relizd no gontrole qlolD onforme pigur SFP@AF elm dissoD relizd veri(o se tods s funes de
wesuring nit form orretmente iniilizdsD so flsoD unidde permnee no estdo de defeitoF
SendMssg
I
Start normal
current_state started F SimulateError
SetErrorTrue
defective
Unit.
Measuring Unit.
pigur SFPX wesuring nit elm ds dus funes que preem no eh de wesuring nitD existem outrs
SFPF
niddes psis
IUI
dusD errorD pr ontrole de erroD e system que refereni o sistem de ontrole d ldeirF or (mD de(neEse funo que veri( se s demis form orretmente iniilizdsF essimD lger pode ser de(nid onforme seguirF qlossrio X lger
1 2 3 4 5
id measure error system
derived
undef and
id > 0;
e funo strted poderi desrever um invrinte no mdulo wesuringnitD ms isso poderi provor interrupo do progrm em so de strted ser flsoF rtd no gontrole qlolD veri(o de system e id relizd om o ojetivo de ontornr o prolem durnte exeuo do sistemF e o trt tem o ojetivo de iniilizr s funes mesure e error d unidde medidorF es funes id e system devem ser on(gurds ntes d exeuo d regr de trnsioD utilizndo os servios etsd e etfgF gomo foi mostrdo no gontrole qlolD iniilizo inorret dests funes olo unidde medidor em estdo de defeitoF e o endwssg envi pr o progrm de ontrole d ldeirD systemD informo lid e qul uniddeD pssndo o seu idF e simulo de erro feit triuindoEse um vlorD verddeiro ou flsoD no deterministimente funo errorF
qetirror um servio que prov informo em e d funo errorF or (mD top interrompe exeuo d uniddeF y qlossrio seguir present ests de(niesF
qlossrio X estres
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
action end
action end
IUP
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
action end
is
p u b l i c action end
id := i ;
is
p u b l i c action end
is
p u b l i c action end
e := error ;
GetError ( out e :
Bool ) i s
Stop
is
SFPFP
lvul
e vlvulD mdulo lveD d ldeir vpor tem omportmento semelhnte ds uniddes de medidsF y eh pr vlvul presentdo n pigur SFQ e mostr funo openedD que indi se vlvul est ou no ertD e os servios que disponiilizD sendo os pedidos pr rir e fehrD referni pr o sistem de ontrole d ldeirD oteno do estdo de erro e o pedido de interrupo d exeuo d vlvulF elm dissoD de(ne os servios pr rir e fehr vlvulD orrespondendo s mensgens envids pelo progrm de ontroleF
Valve algebra: opened Open Close SetSBC(sbc) GetError(e) Stop
pigur SFQX eh lveF gomo podeEse veri(r ns pigurs SFR@A e SFR@AD vlvul tem o omportmento semelhnte s uniddes de medidF e diferen est n lger e n mensgem envid
SFPF
niddes psis
IUQ
o sistemD que no so d vlvulD envi informo se est ert ou fehdF essimD so de(nids lger e estres pr lveF
SendMssg
I
Start normal
current_state started F SimulateError
SetErrorTrue
defective
Valve.
qlossrio X lger
1 2 3 4
opened : Bool ; error : Bool ; system : SBC ; derived started :
Bool
:= system !=
undef ;
qlossrio X estres
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
action end
action end
is
IUR
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
p u b l i c action Open i s opened := true ; end p u b l i c action Close i s opened := f a l s e ; end p u b l i c action end
SetSBC ( i n sbc : SBC ) system := sbc ;
is
p u b l i c action end
e := error ;
GetError ( out e :
Bool ) i s
Stop
is
SFPFQ
foms
gd um ds qutro oms de gu d ldeir possui su pidde P medid em litrosGseg e vzo orrente p tmm em litrosGsegF y ontroldor trl de d om indi se existe ou no irulo de gu no sentido omEldeirF elm dos trdiionis servios de identi(o etfg do sistemD oteno do estdo de erro qerirror e requisio de prd topD so disponiilizdos os servios de ligr e desligr omD urnyn e urny'D respetivmenteF ods esss informes podem ser onferids no eh de ump representdo n pigur SFSF m om ontm os modos de funionmento ligdo on e desligdo o'F gso exist lgum erroD om entr em estdo defeituosoD defevtiveF undo iniilizdD om gst em torno de ino segundos pr omer prover gu ldeirD e qundo el desligdD o efeito instntneoF iste efeito representdo no hiEpumpD mostrdo n pigur SFTD pel veri(o do tempoD (veeondsD ntes de simulr pssgem de gu d om pr ldeirD reonheimento relizdo pelo ontroldor
trlF inqunto om est ligdD estdo onD el reliz leitur d vzoF ssso modeldo pel tividde deste estdo edF ys estdos desligdoD o'D e defeituosoD defetvieD possuem propriedde pumpy'D que ser de(nid posteriormenteF
he form semelhnte s outrs uniddes fsisD deveEse veri(r se om foi
SFPF
niddes psis
IUS
Pump algebra: P p turnOn ctrl invariant: 0 <= p <= P timeOn > 0
Start
SetCtrlOn
off
turnOn
pumpOff atv: ReadP
SetTimeOn
on
SetCtrlOff
turnOff
orretmente iniilizdF xo funionmento normlD om envi onstntemente seus ddos pr o sistem de ontrole d ldeir vporF gso exist lgum erroD o funionmento d om imeditmente interrompido e el desligdF ists ondies e operes so mostrds no gontrole qlolD pigur SFUD pois devem ser sempre onferids e exeutdsF e seguirD de(neEse lger pr ump onsiderndo s funes do eh e timeyn omo indidor do momento que om foi ligdF e ondio (veeondsD presente no hiD veri( se j se pssrm ino segundos desde que om foi ligdF e funo turnyn um inditivo de que houve um requisio pr que se ligsse om e turny' pr que desligsseF
IUT
current_state
started F
SimulateError
error T
SendMssgs
TurnOff
SetCtrlOff
defective
SetErrorTrue
derived
turnOn :
pumpOff :
Bool Bool
:= p = 0
and not
ctrl ;
derived derived
turnOff :
Int ;
:=
not
turnOn ;
timeOn :
Bool ; fiveSeconds :
Int
Bool
:= system !=
undef and
P > 0;
elm ds de(nio dos elementos do eh e hi possvel notr de(nio d propriedde pumpy' n linh SF ist ondioD de(nid omo propriedde nos estdos
o' e defetiveD indi que se om no est ligdD vzo orrente deve ser zero e o ontroldor flsoD indindo no pssgem de gu n omF
e o trt iniiliz s funes de umpD onsiderndo system previmente onE (gurd omo referni pr o sistem de ontrole d ldeirF etimeyn mr o tempo em que soliito pr ligr om oorreuD possiilitndo simulr o trso de ino segundos pr om omer jogr gu n ldeirF eps os ino segundosD om inii o despejo de gu e qundo for soliitdo o desligmentoD o proesso deve ser inversoF r isso existem s es etgtrlyn e etgtrly'F istndo ligdD tividde ed simul leitur d vzo orrenteD
SFPF
niddes psis
IUU
desde que exist gu pssndo pel omF hus informes so envids pr o sistemD um vzo orrente e outr situo do ontroldorD indindo se existe ou no )uxo de guF intoD endwssgs envi s mensgens endumptte e
endumpgtrlF essim omo nos sos nterioresD o erro simuldo em imulteirrorF e seguirD presentmEse stres ontendo ests de(nies e s de(nies dos servios disponiilizdos por umpF
qlossrio X estres
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
action
end
action end
i > 0
and
i < P;
is
action end
is
IUV
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
action end
p u b l i c action TurnOn i s turnOn := true ; end p u b l i c action TurnOff i s turnOn := f a l s e ; end p u b l i c action end
SetSBC ( i n sbc : SBC ) system := sbc ;
is
p u b l i c action end
e := error ;
GetError ( out e :
Bool ) i s
Stop
is
se o ontroldor indir que no existe )uxo de gu n omD vzo orrente deve ser zeroY se um erro for enontrdoD o estdo interno serD em lgum momento no futuroD defetiveF
qlossrio X roprieddes
1 2
SFQ
imor no tenh sido meniondo n espei(o de erilD foi rido um ontroE ldor pr d unidde fsiD de form lidr om envios e reonheimentos ds
SFQF
IUW
mensgens de erroF essimD possvel ssoir d unidde fsiD lm de seus estE dos nturisD os estdos de funionmento regulrD defetiveD e knowledgedD onforme foi originlmente desrito por erilF y eh d pigur SFV mostr que d ontroldor tem um unidde unit ssoiE d e prov os servios de reeimento do modo de exeuo do sistem de ontrole d ldeirD eievewodeD e d mensgem informndo que este est prontoD eieveE
rogedyD estndo de ordo om espei(o de erilF elm dissoD os servios etnit e etfg on(gurm qul unidde e o sistem orrespondentesF
PhysicalUnitControl algebra: unit RecieveProgReady(p) RecieveMode(m) SetUnit(u) SetSBC(sbc)
pigur SFVX eh hisilnitgontrol gonsiderndo ssoio do sistem e d unidde ns respetivs refernis j relizdsD o ontroldor gurd pel mensgem informndo que o progrm est pronto pr exeuoF essim feitoD iniiEse o funionmento d unidde e retorn mensgem de que unidde est pontF xo estdo regulrD veri(Ese todo insE tnte se existe lgum erro em unitD so existD enviEse ontinumente um mensgem reportndo deteo do erro t que se otenh um respost de reonheimento do prolem pelo progrmF y estdo ento de erro reonheidoD knowledgedD e gurdEse t o repro d uniddeF undo isso oorrerD envid um mensgem o progrm indindo o repro e unidde volt o estdo norml de funionmentoF udo isso mostrdo no hi d pigur SFW y gontrole qlol n pigur SFIH model veri(o que vli se o sistem de ontrole d ldeir est prontoD desde que o estdo no sej strtedD onde gurdEse mensgem do sistemF gso o progrm no estej prontoD unidde interrompidF e lger seguir mostr de(nio de unit em eh e demis elementos presentes no hi e gontrole qlolF e funo strtedtte orresponde veri(r se o estdo interno do hi strtedF
IVH
programReady
started
Start
StartPhysicalUnit
SendMssgPhysicalUnitReady
atv: GetError
SendMssgFailureDetected
transmitted SendMssgRepaired T
repaired
current_state
StopUnit
started
SFQF
IVI
qlossrio X lger
1 2 3 4 5 6 7 8 9 10 11 12
unit : PhysicalUnit ; transmitted : programReady : error : Bool ; system : SBC ;
Bool ; Bool ;
derived
startedState :
Bool
:= current_state = started ;
es es endwssghysilnitedy e endwssgepired indim pr o sistem que determind unidde fsi est pront e que foi reprdD respetivmenteD enqunto o endwssgpilureheteted vis que unidde tem um erro e gurd on(rmo de envioF y servio eievewssgrogedy reee informo de que o progrm est pronto e eievewssgwode o modo de opero do sistemF od vez que o ontroldor onsult funo error de um unidde fsiD deveEse ssinlr que est nov onsult ind no foi envid o sistemD onforme mostrdo n o qerirrorD n linh ISF ists e s demis es so de(nids seguir em estresF qlossrio X estres
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
action
Start
end
is
is
action end
IVP
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
action end
action end
action end
p u b l i c action end
RecieveProgReady ( i n p : progReady := p ;
Bool ) i s
p u b l i c action end
is
p u b l i c action end
unit := u ;
SetUnit ( i n u : PhysicalUnit )
is
p u b l i c action
end
is
m vez que o progrm de ontrole no est prontoD o ontroldor deve interE romper o funionmento d unidde fsi e se mnter no estdo strtedF ist um propriedde que pode ser de(nid d seguinte formF qlossrio X roprieddes
1
SFR
y sistem de ontrole d ldeir @tem foiler gontrol E fg A ontm s vriveis onforme listds n el SFID pgin ITW e reee s mensgens omo listdo n interfe do eh de fgD pigur SFIIF im seguidD so presentds s de(nies ds funes do eh de fg e servios de su interfeF
SFRF
IVQ
SBC algebra:
numberOfPumps valve pumps sm wm C M1, M2 N1, N2 W U1, U2 waterLevel steamLevel
PhysicalUnit MeasuringId
RecieveMeasuring (id, measure) RecieveValve (o) RecievePumpState (p, s) RecievePumpCtrl (p, c) RecievePhysicalUnitReady (u) RecieveFailureDetected (u) RecieveRepaired (u)
invariant:
M1 <= N1 <= N2<= M2 <= C U1 <= W U2 <= W waterLevel <= C steamLevel <= W
p u b l i c type p u b l i c type
derived
numberOfUnits
Int
:= ( numberOfPumps + 3)
// Unidades fsicas valve : agent of Valve ; pumps : agent of Pump ; sm : agent of MeasuringUnit ; wm : agent of MeasuringUnit ;
// // // //
// // // // // // //
capacidade total nveis crticos nveis normais quantidade mxima de vapor gradientes de vapor nvel de gua (q) nvel de vapor (v)
IVR
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
RecieveMeasuring ( i n id : MeasuringId , i n measure : I n t ) i s id = waterM then waterLevel := measure ; id = steamM then steamLevel := measure ;
qlossrio X estres
p u b l i c action end
RecieveValve ( i n o : valveOpened := o ;
Bool ) i s
p u b l i c action end
in
s :
Bool ) i s
p u b l i c action end
in
c :
Bool ) i s
p u b l i c action end
RecievePhysicalUnitReady ( i n u : PhysicalUnit ) ready ( u ) := true ; RecieveFailureDetected ( i n u : PhysicalUnit ) failure ( u ) := true ; RecieveRepaired ( i n u : PhysicalUnit ) failure ( u ) := f a l s e ;
is
p u b l i c action end
is
p u b l i c action
is
end
gomo pode ser vistoD os servios so responsveis por lterr os vlores de lgums funes de fgD que so de(nids seguirF qlossrio X lger
1 2 3 4 5 6 7
ready : PhysicalUnit -> failure : PhysicalUnit -> valveOpened : Bool ; pumpCtrl isPumpOn
Bool ; Bool ;
derived
Bool
:=
not
isPumpOn ( p );
SFRF
IVS
y sistem fg oper em ino diferentes modos de operoX iniilizoD normlD degrddoD reupero e emergniF e seguirD presentEse d um deles em termos de seus higrms de d de istdo e o gontrole qlol que relizdoF eo (nlD mostrmEse s proprieddes pr o mdulo fgF y modo de opero stopped no possui hi por ser um estdo (nl e presentdo om su tividde de (nlizo no hi ompletoF
SFRFI
gontrole qlol
gonstntementeD veri(Ese se o nvel de gu n ldeir est dentro dos limites norE misF m vez que ess ondio sej desrespeitdD o progrm tent justr o nvelD so ontrrioD tommEse s providnis pr mnter o nvel d guF heveEse resslE tr que mensgens vlvul somente devem ser envids no estdo iniil e est deve permneer fehd nos demis modos de operoF elm dissoD todo momento o sistem de ontrole envi s uniddes fsis qul o estdo orrenteF xeste modeloD mensgem envid pr o ontroldor de d uniddeF undo se identi( um erro grveD por meio d funo emergenytopD o sistem deve ser imeditmente trnsferido pr o estdo de emergni stoppedD e gurdr que o miente externo tome s providnis neessrisF hess formD desreveEse o digrmD pigur SFIPD pr gontrole qlol de fgF estres no qlossrio seguir de(nem s es onforme desrio presentdD serX
endwssgwode X envi todos os ontroldores de unidde fsiD physilnitgE trlD o estdo orrenteY etintervevel X deslig tods s oms eD se estiver no estdo iniilD feh vlvulY edjusttervevel X se o nvel de guD wtervevelD estiver ixo no nvel inferior normlD xID ddo ordem pr umentr o nvel de guD so ontrrioD diminuiE se o nvelY toprogrm X tom s providnis neessris pr (nlizr orretmente o progrmX envi mensgens tods os ontroldores de unidde fsiF
IVT
qlossrio X estres
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
then
CloseValve ;
end
action AdjustWaterLevel i s i f waterLevel < N1 then RaiseWaterLevel ; e l s e ReduceWaterLevel ; end end action StopProgram i s f o r a l l c : physicalUnitControl do c . RecieveProgReady ( f a l s e ); end end
current_state
SendMssgMode
emergencyStop F waterLevelAdjusted T
stopped
atv: StopProgram
RetainWaterLevel
AdjustWaterLevel
pigur SFIPX gontrole qlol fg es de(nies de es do gontrole qlol presentds sugerem novs stresD que so ento de(nids seguirD serX
topumps X envi mensgem pr tods s omsD pumpsD soliitndo seu desE ligmentoY
SFRF
IVU
gloselve X mensgem envid vlvul vlveD no estdo iniilD pr que est sej fehdY ypenlve X mengem envid vlvul vlveD no estdo iniilD pr que est sej ertY isetervevel X tom s devids providnis pr que o nvel de gu suD tivndo lgums oms eD se estiver no estdo iniilD feh vlvulY eduetervevel X tom s devids providnis pr que o nvel de gu sej reduzidoD fehndo lgums oms eD se estiver no estdo iniilD re vlvulF
qlossrio X estres
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
is
action end
is
action end
then
CloseValve ;
end
action end
then
OpenValve ;
end
hus outrs novs es preemF o referentes o envio de mensgem pr lgums oms om o ojetivo de que sejm ligds ou desligdsF xest modelgemD esolheEse no deterministimente um om que estej desligdD ou ligdD pr exeutr opero orrespondenteF e funo isumpyn mpei um om em seu estdo ligdo e isumpy' no estdo desligdoF
IVV
1 2 3 4 5 6 7 8 9 10 11 12 13
action ActiveSomePumps i s choose p : pumps s a t i s f y i n g isPumpOff ( p ) do p . TurnOn ; end end action StopSomePumps i s choose p : pumps s a t i s f y i n g isPumpOn ( p ) do p . TurnOff ; end end
qlossrio X estres
e seguirD so presentds lgums de(nies n lger pr melhor ompreenso do gontrole qlolF qlossrio X lger
emergencyStop waterLevelAdjusted : :
1 2 3 4
derived derived
Bool Bool
external
reachingLimitLevel :
Bool ;
xo ( lro n espei(o de eril de(nio de rehingvimitvevelF or issoD neste modeloD est ondio modeld omo um funo externF
SFRFP
hiEinitilwode
xo modo de opero initilwodeD o sistem de ontrole d ldeir gurd o sinl de que ldeir vpor est prontF xest modelgemD isso simuldo e ssume que
stemfoileriting reee o sinl envido pel ldeirF intoD deveEse gurdr que o nvel de gu estej orretoF peito issoD o progrm envi onstntemente mensgens pr tods s uniddes fsis indindo que est pronto t que ree on(rmo de que tods els tmm estoF e houver lgum flh em um ds uniddes vitisD medidor de nvel de guD wmD e vporD smD o progrm entr no estdo de emergniD hmdo de stoppedF e for enontrdo lgum erro ns demis uniddes fsisD o sistem entr no estdo degrddoD hmdo de degrdedF gso ontrrioD ele entr no estdo norml de exeuoD omo pode ser onferido n pigur SFIQF
odeEse pereer que do estdo iniil t o estdo initilwode existem dus es e um outro estdoD strtingF iste um estdo seundrio utilizdo pens pr uxlio
SFRF
IVW
s iniilizesF or no ser desrito por erilD no existe foo espeil destindo eleF
I
Start
initialMode
stopped
atv: StopProgram
normal
allPhysicalUnitsOK F
degraded
pigur SFIQX hiEinitilwodeF e o endwssgrogedyD presente no hiEinitilwodeD envi pr todos os ontroldores de uniddes fsis mensgem de que o sistem de ontrole d ldeir est prontoF hess formD o ontroldor pode iniir tividde d unidde ssoid eleF qlossrio X estres
1 2 3 4 5
1 2 3 4 5
steamBoilerWaiting :
Bool ;
derived
physicalUnitsReady :
Bool
:=
a l l u : PhysicalUnit s a t i s f y i n g ready ( u );
IWH
6 7
derived
allPhysicalUnistOK :
Bool
:=
or (mD de(neEse o trtD onde s funes deste mdulo so iniilizdsD s ssoies ds uniddes fsis om seus ontroldores e estes so disprdosF qlossrio X estres
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
action step
Start i s 1: numberOfPumps := 4;
valve ; pumps ( numberOfPumps ); sm ; wm ; physicalUnitControl ( numberOfUnits ); 255; 10; M2 := 245; 15; N2 := 235; 200; 100; U2 := 100;
waterLevel := 0; steamLevel := 0;
false;
true ;
step
SFRF
IWI
38 39 40 41 42 43 44 45 46
physicalUnitControl (3). setUnit ( sw ); physicalUnitControl (4). setUnit ( pump (1)); physicalUnitControl (5). setUnit ( pump (2)); physicalUnitControl (6). setUnit ( pump (3)); physicalUnitControl (7). setUnit ( pump (4));
p : physicalUnitControl
do dispatch
p;
SFRFQ
hiEnorml
y modo norml represent o funionmento pdro d ldeir vpor om tods s uniddes fsis funionndo orretmenteF x presen de lgum erro n unidde medidor de nvel de guD o progrm pss pr o modo de reuperoD estdo
resueF ulquer erro em lgum outr unidde fsi lev o progrm pr o modo degrddoD estdo degrdedF y hiEnorml mostrdo n pigur SFIRF
normal not allPhysicalUnitsOK T failure(wm) F
rescue
degraded
SFRFR
hiEdegrded
xeste modo de operoD o progrm tent mnter o nvel norml de gu mesmo n presen de flhs de lgums uniddes fsisF essumeEse que unidde medidor de nvel de gu estej funionndo orretmenteF gso sej detetdo um flh n uniE dde medidor de nvel de guD o progrm pss pr o modo de reuperoD estdo
resueF m vez que tods s uniddes tenhm sido reuperdsD o funionmento volt operr normlmenteF ists onsideres so mostrds no hiEdegrded n pigur SFISF
SFRFS
hiEresue
y modo de reuperoD estdo resueD tem o ojetivo de mnter o nvel de gu qundo unidde medidor de nvel de gu estiver om prolemsF intoD pr mnter o
IWP
degraded
allPhysicalUnitsOK F
normal
failure(wm)
rescue
pigur SFISX hiEdegrdedF orreto nvel de gu n ldeirD neessrio relizr um lulo utilizndo medio do vpor e s informes d vzo de d omF vogoD unidde medidor de vpor e d om no podem presentr prolemsF gso um desss dus ondies flheD onsiderEse um erro grve e o progrm levdo o estdo de emergniD stoppedF essim que unidde medidor de nvel de gu for reprdD o progrm tent retornr pr o modo normlF into veri(Ese se tods s uniddes fsis esto funionndoF gso exist lgum om prolemsD retornEse pr o modo degrddoF pigur SFIT mostr o hiEresueF
anyPumpFailure or failure(sm) F
rescue
atv: CalculateWL
stopped
atv: StopProgram
not failure(wm) F
allPhysicalUnitsOK T
degraded
normal
pigur SFITX hiEresueF e espei(o de eril no deix lro omo relizdo o lulo pr deduo do nvel de guD entoD ness modelgemD este lulo simuldo otendo o vlor no deterministimenteF heveEse oter um vlor que sej possvel infringir os limites inferior e superior wI e wPD podendo ssim simulr vlores de risoF y lulo relizdo sempre que se permnee no estdo resueD modeldo ento om tividde
SFRF
IWQ
1 2
derived
Bool
:=
exists p : satisfying
pumps failure ( p );
SFRFT
roprieddes
hurnte espei(o de erilD possvel identi(r lgums proprieddes pr o sistem d ldeir vporF e seguirD presentmEse esss proprieddes e depois els so formlizds em frmuls gvF e tro de mensgens entre s uniddes fsis form trtds utilizndo os servios disponiilizdos n interfeD portnto s propriE eddes que dizem respeito flhs de mensgens no se plim est modelgemF IF e vlvul ert somente no estdo iniilD e deve permneer fehd nos demis estdos de funionmentoD exluindo o estdo stopped Y PF vlvul deve ser fehd ntes de rir qulquer um ds omsY QF um vez for do estdo initilwodeD o progrm jmis retorn este estdoY RF se o progrm reeeu s mensgens iewEfysviEessxq e rsgevE xsEiehD o proesso de iniilizo terminY SF se o nvel de gu estiver entre xI exPD ento tods s oms devem ser fehE dsF e seguirD de(nio em vwwF
qlossrio X roprieddes
1 2 3 4 5 6 7 8 9 10
// P 1 AG(curent_state != initialMode curent_state != stopped -> ValveClosed); // P 2 AG(not ValveClosed -> allPumpsClosed); // P 3 AG(current_state != initialMode -> AF current_state != initialMode);
IWR
11 12 13 14 15 16 17
// P 4 AG (current_state = initialMode steamBoilerWaiting physicalUnitsReady -> AF current_state != initialMode); // P 5 AG (waterLevelAdjusted -> AF allPumpsClosed);
wesmo em roprieddesD lgums novs funes preem e so de(nids d seE guinte formX qlossrio X lger
valveClosed : allPumpsClosed :
1 2 3
derived derived
Bool Bool
:= :=
SFS
higrm eh
y digrm eh d pigur SFIV mostr omo os mdulos esto reliondosF essumeE se imer omo sendo um mdulo que ontiliz o tempo do miente externoF
SFT
esultdos
y re(nmento do wodelo fsio pr o istem de gontrole d gldeir porD presentdo neste ptuloD gerou o digo wh e espei(o xuw orresE %n pondenteF intoD foi relizd veri(o ds proprieddes pernte o wodelo fsioF e espei(o xuw gerd onsiste n represento de um nio sistem que ord todos os mdulos espei(dosD seus respetivos gentes e sus interesD inE lusive tros de mensgensF ormD no foi possvel oter um respost do miente de veri(oF im lguns sos isso possvelD e veri(o no retorn se s proE prieddes formD ou noD grntidsF odndo o sistem xuw em um mquin epple ifook IFRPqhzD no sistem operionl wy e om Iq de memri ewD esperouEse por mis de qutro hors sem respostsF e exeuo xuw de um gente de um mdulo ger um determindo nmero de estdos no fhh internoF undo o nmero de gentes e mdulos umentD quntiE dde de estdos rese de form exponenilF ssso se deve form omo s exeues podem se relionrF xo so de wh %nD relo determind pel omunio entre os gentesF ereditEse que est omunio ger um fhh omplexo ponto de
SFTF
esultdos
F F
atv: StopProgram
physicalUnitsReady T
failure(wm) or failure(sm)
T stopped
SendMssgProgReady
I
initialMode T allPhysicalUnitsOK
Start
normal F
T allPhysicalUnitsOK
degraded
F allPhysicalUnitsOK
failure(wm)
T rescue
pumpCtrlFailure or failure(sm) T
not failure(wm)
IWS
IWT
Valve
Pump
SBC
PhysicalUnitControl
Timer
MeasuringUnit
no ser possvel oter um respost do modelo em tempo hilF imor veri(dores de modelos tenh grnde pidde de lidr om exploso de estdosD no foi possvel mostrr este fto om os testes relizdosD rindo espeules sore rel us d flt de respost n exeuo xuwF m justi(tiv pode ser o tmnho do fhhD que pode ter utilizdo um quntidde exessiv de memriD sendo neessrio relizr operes rs no ponto de vist de hierrqui de memriF yutr possiilidde seri omplexidde d estrutur do fhhD tornndo veri(o ine(ienteF m lterntiv pr ompletr veri(o foi lterr o digo xuw gerdo pr que d mdulo fosse onferido seprdmenteD ssim s tros de mensgens form simulds por funes externsD que possuem omportmento no determinstio no veri(dor de modelos utilizdoF iste mtodo preserv o mesmo efeito de ntesD um vez que d gente ompreende outro que om ele relion vi tro de menE sgensD sem neessidde de onheer su estrutur intern nem sus proprieddesD que se referem pens os elementos internos o mduloF essimD form gerds inE os espei(es xuwD um pr d mduloD prtir do digo originlmente otido no re(nmentoD e tods els retornrm um respost pr s proprieddesF e seguirD el SFP mostr os estdos lnveis dentre os possveisD de ordo om espei(o xuw de d mduloD e o tempo gsto pr veri(r s proprieddesF odeEse notr queD onforme s rterstis de veri(o de modelosD quntidde de estdos no est diretmente reliond om o tempoF istes ddos form oletE dos om veri(o de um nio gente de d mduloF estes mostrrm que exeuo de um nmero mior de gentes present vlores mis elevdos de estdos e tempoD omo o so de pumpFsmvD queD qundo veri(do om qutro omsD gstouEse um tempo superior PH minutosF
SFTF
esultdos
IWU
erquivo
mesuringunitFsmv vlveFsmv pumpFsmv puFsmv sFsmv
Is = Is = > Qmin Is = Is =
el SFPX ispei(es xuwF r nlise ds proprieddesD foi onsiderdo pens o mdulo prinipl sFsmvD ms s onluses form s mesms proprieddes pr s demis de todos os mdulosF gonsiderndo propriedde PD que diz que vlvul deve ser fehd ntes de rir qulquer omD ou sejD se vlvul estiver ertD tods s oms devem estr fehdsF ropriedde P
1 2
ist propriedde foi veri(d omo flsD e o seguinte ontrEexemplo foi presenE tdoF gontr exemplo pr propriedde P
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
specification AG (valveOpened -> allPumpsClosed) IN sbc is false as demonstrated by the following execution sequence Trace Description: CTL Counterexample Trace Type: Counterexample -> State: 1.1 <sbc.ctl_state = initialMode sbc.step = 1 sbc.valveOpened = 0 sbc.waterLevel = 0 sbc.emergencyStop = 0 sbc.P1on = 0 sbc.P2on = 0 sbc.P3on = 0 sbc.P4on = 0 sbc.ready = 0 sbc.failurePump = 0 sbc.failureWL = 0 sbc.failureSL = 0 sbc.allPumpsClosed = 1 sbc.allPhysicalUnitsOk = 1
IWV
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
sbc.waterLevelAdjusted = 0 sbc.M2 = 90 sbc.M1 = 10 sbc.N2 = 80 sbc.N1 = 20 sbc.C = 100 -> State: 1.2 <sbc.step = 2 sbc.P1on = 1 sbc.allPumpsClosed = 0 -> State: 1.3 <sbc.step = 1 sbc.waterLevel = 4 -> State: 1.4 <sbc.step = 2 sbc.waterLevel = 0 sbc.P2on = 1 -> State: 1.5 <sbc.step = 1 sbc.waterLevel = 85 -> State: 1.6 <sbc.step = 2 sbc.valveOpened = 1 sbc.waterLevel = 0 sbc.P1on = 0
es dus primeirs linhs mostrm propriedde veri(d e o resultdoD no so flsoD e s dus linhs seguintes indim que h um ontrEexemplo ser mostrdo onE forme um propriedde gvF gd estdo tte indido por um ndexD por exemplo
tte IFI n linh S indi o primeiro estdo d exeuo ID pois em um inspeo mis detlhdD podeEse onferir mis de um exeuoF xo exemplo presentdoD este o estdo iniilD onde s vriveis so pens iniilizdsD portnto tods s vriE veis so mostrdsF x trnsio de estdosD pens preem s vriveis que form lterdsD ssimD no estdo IFPD linh PUD preem pens trs vrveisD indindo que s demis permneem om o mesmo vlorF e listgem (nlizd om o estdo em que propriedde no stisfeitF
odeEse notrD que no estdo IFRD om P ligdD linh QUF undo vlvul ert no estdo IFTD linh RQD om P ind permnee ligdF gonforme o ontrE exemploD seu vlor no se lter entre os estdos IFR e IFTF enlisndo este ontrE exemplo no wodelo fsioD foi possvel identi(r o erroF x o eduetervevelD feit soliito de desligr lgums oms eD se estiver no estdo initilwodeD vlvul deve ser ertF
SFUF
gonluses
IWW
eduetervevel
1 2 3 4
action end
then
OpenValve ;
end
he ordo om espei(o de erilD tods s oms deverim ser fehdsD so o estdo do ontroldor d ldeir fosse initilwodeD ento est o foi modi(E d pr seguinteF
eduetervevel
1 2 3 4 5 6 7 8
StopSomePumps ;
hess formD veri(o d propriedde P pde ser grntidD e isto presenE tdo no miente xuw onforme seguirF ropriedde P grntid
1
gom o uxlio de ontrEexemplos forneidos pelo modelo xuwD foi possvel inspeionr filmente o wodelo fsio e lolizr e orrigir o prolem pontdoF hemis proprieddes que flhrm n veri(o tmm form filmente orrigidsD vlindo e(i d integro do wtodo de e(nmento wh om veri(o %n de modelosF
SFU
gonluses
gom o exemplo do prolem d ldeir vporD desrito por erilD foi possvel mosE trr omo utilizr vingugem de wodelgem wh em um prolem relD ssim %n omo plir o wtodo de e(nmento wh otendo os resultdos de implemenE %n toD doumento e veri(oF poi possvel vlir o lto gru de stro do digrms hi e hisD lm dissoD desrio textul presente no wodelo fsio uE
PHH
xili n ompreenso do prolem presentdo e priniplmente d soluo propostF poi possvel utilizr tnto o hi diretmenteD por exemplo pr uniddes fsisD omo su onstruo prtir de hisD omo n espei(o do sistem de ontrole d lE deir @fg AF essimD o volume de informo nestes digrms pode ser ddo de form legvel e pode ser dd devid onentro em d estdo dos mdulosD que so os pontos de oservo no wwF ys nveis de stro em de(nidos n vww foE rm fundmentis pr oter solues dequds em d domnio e d etp do desenvolvimento de sistemsF poi onsttdoD n miori dos testesD que neessrio relizr um prepro iniil ntes de tivr exeuo do sistemF odeEse itr omo exemplo neessidde do gente rost no prolem do tntr dos pilsofosD eo QFPFQD eD no prolem d gldeir porD neessidde d o trt ser de(nid em mltiplos pssos pr onstruo orret ds reles entre s uniddes fsisD eo SFRFPF iste um omportmento que no est diretmente reliondo om soluo do prolemD ms est presente n espei(o em um nvel mis elevdo de stroF or exemploD no so do tntr dos pilsofosD o mdulo rost destdo por meio de eh e hiF ists so onstrues de vww voltds o homnio d eplioD ou sejD pr ompreenso de lientesF i neste soD esto modelndo requisitos de softwreD que so spetos de nveis pertenentes o homnio dos wodelosF ortntoD trlhos futuros podem inorporr um trtmento mis dequdo este trtmento de iniilizo do sistemD preservndo distino dos nveis de stroD que um rtersti importnte no wodelo fsioF hurnte modelgem de sistems onde existe grnde nmero de tro de mensE gens entre gentesD omo o prolem d gldeir porD pereeuEse neessidde de um melhor represento deste fenmeno nos nveis mis elevdos d vwwD no soD os digrms hi e hisF wuito emor s es que relizm s tros de mensE gens tenhm nomes sugestivosD no ( evidente omo omunio relizdF xo exemplo do tntr dos pilsofosD o tryqetporks quem reliz omunio om o gente host pr soliitr os grfosD eD prentementeD isso no ( muito lro no hi de hilosophersF oderiEse soluionr este prolem utilizndo o orpo d funo
tryqetporksD hostFgetporks@leftporkD rightporkAD no hiF ws podem hver situes onde omunio um ds regrs ser exeutdD lm dissoD reditEse que um estudo sore representes gr(s de omunio entre gentes pode presentr um resultdo melhorF
y gontrole qlol model omportmentos trnsversis o sistemD porm somente permitido um digrm reduzidoF r representes de vrios omportmentosD pode oorrer um mistur de informesD prejudindo legiiliddeF or exemploD o gontrole qlol do istem de gontrole d gldeir porD eo SFRFID trt de trs
SFUF
gonluses
PHI
situesF e primeirD diz respeito o envio do modo de exeuo do sistem tods s uniddes fsisD indido pel o endwssgwodeF osteriormenteD veri(Ese se existe um situo de erro grveD podendo desvir o )uxo do hi priniplF or (mD o nvel d gu nlisndo e reee o trtmento dequdoD de ordo om o resultdoF im lguns sosD pode ser onveniente presentr s situes modelds no gontrole qlol de form distint e independenteD omo podeEse notrD o envio d mensgem endwssgwode independente dos demis elementosD que so integrdosF m possvel melhormento seri permitirD sem usr inonsistnis no modeloD diE o isold de novos omportmentosD ou sejD d novo omportmento teri um digrm reduzido espe(oF xeste soD seri neessrio de(nir um mtodo de omE posio dos trehos do gontrole qlolF hess formD este reurso presentri mior legiilidde e ontriuiri pr um mior resoF gonstrudo o wodelo fsio d ldeir vporD form plids s regrs de re(E nmento presentes em wwD otendo orretmente o digo wh e espei(o %n xuw orrespondentesF intoD est espei(o xuw foi sumetid o miente de veri(oF y resultdo no foi o esperdoD pois o sistem xuw no retornou nenhum respost qunto nlise do sistem omo um todoF intoD foi neessrio lterr o digo gerdo (m de inspeionr seprdmente d mduloD onde omunio entre gentes foi simuldF essimD grntiuEse lguE ms proprieddesD e pr s outrs form forneidos ontrEexemplosD queD por meio de nlisesD hegouEse onluses stisftris e orreo do prolemD onforme deE monstrdo om propriedde P do mdulo fgD que represent o sistem de ontrole d ldeir vporF wesmo om os prolems de veri(o enontrdosD onsidermEse stisftrios os resultdos otidosD omo no exemplo presentdoD priniplmente no que diz respeito stroD onseqentemente legiiliddeD do wodelo fsio nos domnios d eplio e dos wodelosD ssim omo poder de doumento e veri(oD ps ltero do digo gerdoF
gptulo T gonluso
iste texto presentou o wtodo de e(nmento wh %nD no qul possvel relizr espei(es de prolemsD de pequeno grnde porteD em um nvel de stro deE qudo interpreto em mos os domnios d eplio e dos wodelosD filitndo vlido de projetosF poi propost um lingugem de lto nvel sed em higrm de rnsio de istdos @hiA e higrm de d de istdo @hiA pr esrit do wodelo fsio e regrs de re(nmento que o trnsform em lingugem wh %nF y mdulo de veri(o permite trnsformr wh em um entrd de veri(dor de %n modelosD sendo possvel relizr utomtimente veri(o do sistem em termos de su espei(o no wodelo fsioF essimD possvel evitr erros futuros ou flt de funionliddesF osteriormenteD em um nvel um pouo mis detlhdoD utilizndo os higrms de d de istdoD possvel desrever mis rterstis e oservr o sistem em prtesD onentrndo teno em pontos importntes do sistem seprE dmenteF e diferen de grnulridde de stro entre hi e his importnte pr pturr e expressr s primeirs neessiddes e os prinipis omportmentos do sistemF e desrio gr(D sed em digrmsD ontriui pr mior legiiliddeD onsequentementeD mior preiso o representr s neessiddesF e noto de hi e his strt o su(iente pr ser utilizd em outrs lingugens do modelo forml ewF elm dissoD vww stnte intuitivD n qul grnteEse um grnde poder de expresso e fil prendizdoF e utilizo do qlossrio filit o desenvolvimentoD seprndo ompletmente o omportmento gerl d plio de detlhmento de rterstis mis prxims d implementoF es de(nies no qlossrio dos elementos dos digrms representm primeir etp do re(nmentoD relizdo por sustituio de mquins @re(nmento de suErotinsAD que orresponde s tnis omumente enontrds nos mientes estuE ddosF im prtiulrD de(nio de proprieddes e elementos de pr e psEondies so fundmentis pr veri(r utomtimente implemento em termos d esE PHQ
PHR pei(oF
gptulo TF gonluso
eo estudr o modelo de exeuo d lingugem wh %nD onsttouEse su exeE uo ssnron e seus pontos de sinronizoF gomo vingugem de wodelgem wh herd rterstis dest lingugemD foi possvel desrever um lingugem %n em lto nvel de desrio do wodelo fsio que model omportmentos snronos e ssnronosF ereditmos que o poder de expressoD legiilidde e o formlismo presentes n vww pr desrio do wodelo fsio possiilitm ordgem didtiD omo n nE lise de omportmento de lgoritmosD e espei(o de protoolos pr vlido e veri(o ntes de su implntoF elm dissoD sistems de pequenos e grndes porE tes podem ser de(nidos modelndo omunies entre gentes e exeues snrons e ssnronsD e por (mD hrdwre podem ser veri(dos e o ww pode gerr um simuldorD filitndo vlido do mesmoF e espei(o de sistems no wodelo fsio e o resultdo gerdo pelo veri(dor de modelos onstituem doumento omplet do sistemF gomo o digo exeuE tvel otido d mesm fonteD implemento e doumento so mntids sempre oerentes entre siF eo relizr veri(o do wodelo fsioD foi neessrio plir tnis de re(nE mento no digo wh que represent o sistemD e ns proprieddes de(nidsF gom %nD o propsito de oter um mdulo de veri(o utomti n vingugem de wodelgem wh %nD foi possvel estender o enefio tmm pr lingugem wh %nF elm dissoD o re(nmento de wh pr um lingugem de veri(dor de modelos exigiu %n de(nio de um lingugem intermediri mis simplesD denomind goreEwh %nD onde possvel relizr trlhos de extenso n lingugem wh %nF y re(nmento de wh pr xuw um proesso semiEutomtio dentro do %n wtodo de e(nmento wh %nD ontriuindo pr mior trnsprni n veri(E o do wodelo fsioF hentre os proessos que propem plir veri(o de modelos em ewD nenhum ord o re(nmento de tipos strtos de ddos omo foi relizdo em wwF or (mD veri(o em ww utilizndo xuwD por meio de ontrE exemplosD possiilit oteno de ddos de entrd do sistem pr depuroD no so de lgum ds proprieddes reonheids no ser stisfeitF imor form enonE trdos lguns prolemsD os resultdos enontrdos utilizndo veri(o de modelos form stisftriosD e mostrEse possiiliddes de trlhos futurosF odeEse resumir s ontriuies deste trlho d seguinte formX
de(nio de um lingugem de lto nvel pr espei(o de sistemsY de(nio de um lingugem gr( pr desrio do wodelo fsio dentro do modelo de wquin de istdos estrtY
TFIF
smplemento d perrment
PHS
distino dos nveis de stro utilizdos pr desrever o wodelo fsioY miente que proporion fil vlido do sistem em mos os domniosD d eplio e dos wodelosY miente de espei(o de sistems ssnronosD voltdos pr o modelo de wquin de istdo estrtY de(nio de um mtodo de re(nmento pr lingugem wh %nY implemento do wtodo de e(nmento wh %nD tornndo o proesso de trnsformo utomtioY oteno d doumento oerente om implementoD pois mos so exE trdos d mesm fonte de informoY proesso de veri(o do wodelo fsio de form semiEutomtiD proporioE nndo mior trnsprni pr o desenvolvedorY re(nmento de tipos strtos de ddos pr oter um represento pr veE ri(dores de modelosY possiilidde de utilizr o resultdo d veri(o omo entrd pr depuro do sistemD om o intuito de relizr novs vlidesF
TFI
smplemento d perrment
r plio ds regrs de re(nmento presentds nest dissertoD foi desenE volvid um ferrment qul os exemplos deste trlho form sumetidosF sniiE lmenteD foi espei(o um wv hem pr de(nir represento intern do wodelo fsio em wvF osteriormenteD s regrs de re(nmento so plids sore est represento do wodelo fsio t oter os digos wh e xuw (nisF %n y resultdo de d regr express em outro wvD que utilizdo pr plio d regr seguinteF essimD implemento registr pssoEEpsso o proesso de re(nE mentoF y ponto de prtid pr o proesso de re(nmento represento intern em wv do wodelo fsioD sendo ssimD interfe gr( pr o wtodo de e(nmento wh pode ser inorpord posteriormenteF gom est ferrmentD prtir do wv %n ddoD gerEse o digo wh e espei(o xuw orrespondenteF e douE %n mento omplet no gerd ness implementoD pois depende d represento
PHT
gptulo TF gonluso
gr( de higrms de rnsio de istdos e higrms de d de istdoD queD neste trlhoD form espei(dos seprdmenteF y ojetivo d implemento foi vlir o wtodo de e(nmento wh em %n um miente relF poi possvel resolver lguns dos prinipis prolems enontrdos durnte vlio relizd no gptulo SF r o prolem d restrio de juste @pitness gonstrint AD foi rido um loo onde s restries podem ser mnulmente desrits n form de expresses ondiionis ifEthenD onsiderndo os estdos do hiD seus )uxos e de(nies ds esF isss expresses so diionds o loo de invriE ntes do sistemF essimD o impto d de(nio mnul minimizdo qundo relizEse o re(nmento utomtio de wh pr gEwh %n %nF yutro prolem resolvido n ferrment foi de(nio de um espei(o xuw pr d mdulo om simulo d omunio entre os gentesD possiilitndo veE ri(o em prtes do modelo ompletoF ist ordgem est melhor desrit n eo SFTF e ferrment implementd pode ser onsiderd o nleo d plio do wtodo de e(nmento wh %nD sendo possvel desenvolver futurmente os mdulos fltntes om fil integro o nleo existenteF
TFP
rlhos eliondos
elguns trlhos tiverm mior in)uni pr de(nio do wtodo de e(nmento wh e vingugem de wodelgem wh %n %nF rimeirmenteD he ew e(nement
wethod frHQ serviu omo um gui pr de(nir o wtodo de e(nmento wh %nD enqunto o trlho he ew qround wodel wethod s poundtion for equirements ingineering frHQ presentou s prinipis rterstis e o ppel que um wodelo fsio deve onterD que form plids vingugem de wodelgem wh %nF
osteriormenteD lgums onstrues d vww form in)uenids pel desrio d ldeir vpor relizd em e(ning estrt whine pei(tions of the tem
foiler gontrol to ell houmented ixeutle gode ffh+ WTD trlho que tmm teve ppel importnte n vlido d lingugem propost de onstruo do wodelo fsioF ys digrms hi e his form inspirdos nos digrms de estdos de wv exHSD tfHRD ftHS e o gui do usurio ni(ed wodeling vnguge ser quide ftHS teve importnte ppel n presento d noto de vwwF
y livro de ewD onheido omo he ew fook @estrt tte whinesX e
wethod for righEvevel ystem hesign nd enlysis fHQA foi prinipl referni pr o trlho wtodo de e(nmento wh %nD pois ontm s desries omplets do modelo ewD do wtodo de e(nmento ewD trnsformo ew pr pw e
TFPF
rlhos eliondos
PHU
pont os prinipis prolems existentes no wtodo de e(nmento ewD lm de doumentr inmers refernis que form utilizds pr de(nio de wwF or (mD he ew orkenh helHID helWW serviu omo inspiro de ojetivos n de(nio do miente de wwD e o livro wodel gheking gqHH presentou o modelo pr veri(o utomtiD ssim omo o trlho wodel gheking estrt
tte whines inHI desreveu trnsformo de ew pr wD in)uenindo o mdulo de veri(o utomti pretendido pelo wtodo de e(nmento wh %nF
possvel enontrr vrios trlhos que propem mientes pr se plir o wtodo de e(nmento ewF o presentds lingugens pr desrio do wodelo fsio em diversos nveis e trlhos omplementres mostrm utilizo do mtodo de re(nmentoF e seguirD presentmEse os prinipis mientes que in)uenirm o trlho wtodo de e(nmento wh %nF e lingugem esmv @estrt tte whine vnguge A qHRD fHID esHT foi desenvolvid om propost de espei(rD simulr e testr interfes de omponentes gyw d wirosoft n pltform FxiF ist lingugem oferee desrio sed em omponentes e oriento ojetosF esmv suport pr e ps ondies de funesD geE rndo exees so lgum desss lusuls no sej respeitdF u utilizo omo wodelo fsioD e no mtodo de re(nmento ewD permite que esmv sej exeutdD ntes que se gere o digo exeutvelD por meio d esmv est oolF gomo reurso de doumento do sistemD possvel utilizr wirosoft ord pr desrever e espeiE (r o sistemD e posteriormente sumeter este doumento ferrment esmv est
ool esHT ou o ompildor d lingugemD que ger digo g e pode ser ssoido pltform FxiF
ew @ixtensile ew A enlHHD euHI um projeto ypen oure onde possvel espei(r sistems no modelo ew om possiilidde de depurr em miente visul e nimr psso psso exeuoF ispeilmente pr espei(o de grmtisD um viso diferenid presentd onde mostrmEse vlores de funes referentes os nodos d rvore de prserF presentdo um ompildor pr g onde possvel ompilr mdulos seprdmente e olodos em iliotes pr posterior usoD uE mentndo reusilidde de omponentesF ew oferee um interfe pr g onde possvel de(nir funes em g pr serem utilizds omo esttis ou omo funes ew monitordsD e de(nies de funes externsF elm dissoD est lingugem onE tm um reurso sedo n propost de unuthD viterte rogrmming unuVQD onde
A um rquivo ontendo espei(o e doumento em v i sumetido diretE mente o ompildor ewD gerndo doumento e o digo em g prtindo d
mesm fonteF possvel enontrr diverss espei(es que plim o mtodo de re(nmento ew utilizndo ew omo wodelo fsioF
PHV
gptulo TF gonluso
orkenhF y miente desenvolvido um rouo pr desenvolvimento ew e inlui funionliddes sisD omo prserD represento intern do modelo em um rvore sintti strtD veri(o de tiposD um interpretdor pr simulo e nimes de exeuoF m mdulo de grnde relevni reliz trnsformo do wodelo fsio em um pwD otendo um lingugem intermediriD ewEsv @ew sntermedite vnguge AD e seu respetivo re(nmento pr um entrd de veri(dor de modelosD no so o wF l mdulo pode ser onferido em inHIF
esmqofer hD h um sistem pr espei(o em ew onstrudo omo um extenso d lingugem funionl qofer peHT onde form introduzidos oneitos de estdos e tulizes prlelsF ist ferrment present um interfe gr( om filidde pr depuro e suporte tnis de viterte rogrmmingF ys onE eitos de estruturs e omposio implementds em esmqofer filitm estruturo e omposio de suEmquinsD filitndo plio dos diferentes tipos de re(nE mentoF e lingugem goreew pqqHTD pqqHSD pqqwHTD prHT foi reentemente desenE volvid pr estr o mis prximo possvel d de(nio ew no vipri quide qurWSF essimD seu ojetivo proporionr um miente de lto nvel pr espei(o de sisE temsD om um emsmento mtemtioD modelos strtos e sem tiposD permitindo o re(nmento psso psso pr implementoF y projeto goreew onsiste em um
prserD um interpretdorD um eslondor e um menismo strto de rmzengemF essim possvel exeutr s mquins ews espei(dsF e estrutur d ferrment sed em pluginsD filitndo extenses lingugem so neessrioF
imor nenhum destes mientes desrev um lingugem gr( de espei(oD existem trlhos que propem um semnti forml pr digrm wvD priniplE mente de digrms de trnsio de estdos e tividdesD omo o so dos trlhos de slen yer yeHQD de elexnder unpp e tephn werz uwHP e frgerD gvrr e ioene fgHHD fgHHF hest formD surgem inditivos pr integres dos mientes presentdos om um lingugem gr(D omo o so do trlho gvHHD que estende esmqofer pr ser um simuldor de mquins de estdos de wvF xo so dos trlhos de slen yer yeHHD yeHQ e no trlho gHQD utilizouEse ew
orkenh pr de(nir um semnti pr digrms wvF yutros detlhes sore utilizo de digrms wv pr desrio ew podem ser enontrdos no livro sore ew fHQD eo TFSFIF
odos estes trlhos se seim n espei(o de wvF imor tenh um propost de modelgem universlD os esforos nest lingugem soD n mioriD direioE ndos lingugens impertivs e orientds ojetosF hess formD utilizo diret
TFPF
rlhos eliondos
PHW
de wv pr modelr sistems em ew pode rretr em representes desneessE risD omo o so de de(nies de exeuo em prleloD prinpio no qul implito o modelo ewF elm dissoD oneitos presentes em ew podem no ter um de(nio espe( em wvF im deorrni destes ftosD o wtodo de e(nmento wh %n prope su lingugem de espei(o de wodelo fsioD vingugem de wodelgem wh %nD sed em digrms de estdos de wvD porm om representes mis simples e om onstrues direionds o modelo ewF gonsiderndo esmvD ewD he ew orkenh e esmqoferD meniondos nE teriormenteD frger relt dois prinipis prolems em fHQD eo VFQF rimeiroD estes mientes pens suportm tnis de re(nmento onsiderndo suEmquinsD re(nmento de ddos e suErotinF y segundoD nenhum deles present o modelo ew ssnronoF imor goreew no estej nest vlio de frgerD este sistem tmm no resolve nenhum desses dois prolemsF gom utilizo de higrm de rnsio de istdosD higrm de d de istdo e gontrole qlolD ees QFIFQD QFQFQ e QFIFQFW respetivmenteD em vwwD possvel utilizr utomtimente o re(nmento de uEotins e ixtenso gonservE tivD e om ipo estrto de hdosD relizEse o e(nmento de hdosD que no esto presentes nos mientes meniondos nteriormenteF essimD possvel ordr todos os tipos de re(nmento meniondos n eo PFPFPF e de(nio de proprieddes no qlossrio de vww fundmentl pr expressr rterstis do homnio d eplio e s demis ferrments itds no presenE tm tl possiilidde emutid n desrio do wodelo fsioF sntegrd lingugem de esrit do wodelo fsioD s proprieddes tm importnte ppel n veri(o uE tomti e trnsprente d espei(oF elm dissoD vww de(nid em termos d lingugem wh e herd sus rE %n terstisD sendo ssimD vww permite modelr exeues ssnrons nturlmenteD e pontos de sinronismo so de(nidos por omunio entre gentes onde se enontrm prmetros lssi(dos omo out ou inoutF eind no est ompletmente de(nido um miente de exeuo rel pr linE gugem wh %nF ys trlhos relizdos por wrio vodo voHT e uristin ntos dHT tm o ojetivo de onstruir um ompildor de wh pr gerr digo em %n gCC om determinds otimizes de digoF ormD lteres om novs onstruE es n lingugem impedirm o uso dequdo deste ompildorF x eo de trlhos futurosD TFQD este tem ser novmente orddo om novs propostsF
PIH
gptulo TF gonluso
TFQ
rlhos puturos
gonforme desrito no gptulo SD ind existem lguns estudos que podem ser relizE dos pr melhorr represento gr( do wodelo fsioF possvel propor um mneir mis dequd e no intrusiv pr desrever prepro iniil do sistemD ssim omo pr expressr em lto nvel omunio entre os gentes vi servios disponiilizdosF m outr melhori possiilidde de sepro de omportE mentos representdos no gontrole qlol de um mduloD visndo mior legiilidde e resoF elm dissoD tulmenteD s stres presentds pelos higrms de d de istdo e pelo higrm de rnsio de istdos possiilitm vlido mnul do sistem relizd so superviso de lientes e desenvolvedoresD isto D relizd nos domnios d eplio @lienteA e dos wodelos @desenvolvedoresAF m possvel trlho seri possiilitr exeuo do wodelo fsio intertivmente reeendo omo entrd ddos do usurio ou sds de ontrEexemplo do veri(dor de modelosF yutro tem interessnte nimo em im dos digrms de vww enqunto o sistem exeutdoF istes rteftos terim o ojetivo de filitr depuro do sistem e tornr vlido um proesso mis migvelF hurnte o re(nmento de wh pr um entrd de veri(dor de modelosD %n lguns pontos d lingugem no form possveis de serem trtdosF odeEse itr o trtmento d regr de juste no re(nmento de funes om vrios rgumentosD es om regr de trnsio om loop e lguns tipos de wh que no form trtdosF %n hurnte os estudos de veri(o utomtiD foi possvel onsttr densidde do tem e di(uldde qundo plid o modelo ewF iste ssunto que ind pode ser stnte explordoD priniplmente pr o miente do wtodo de e(nmento wh desritoF %n e trnsformo pr xuwD representndo o sistem omo um todoD usou um situo onde no foi possvel oter um respost do modelo xuwF es lterE es relizds mostrrm que deomposio dos mdulos pr oter veri(o seprd form stisftrisD indindo um nov ordgem melhor que iniilF hurnte o re(nmento de wh pr um entrd de veri(dor de modelosD %n gerEse um lingugem intermediri hmd de gEwh %n@goreEwh %nAF ist pode ser onsiderd o nleo d lingugem wh %nF endo ssimD possvel reduzir o trlho de onstruo de um ompildor ou interpretdor se estes forem desenvolE vidos pr gEwh %nD que um lingugem mis simples e om menos onstrues serem vlidsF elm dissoD futurs onstrues em wh podem ser de(nids %n sem neessidde de lterr o ompildorD stndo pens presentr o re(nmento wh pr gEwh orrespondenteD onforme presentdo n eo RFR pr %n %n
TFQF
rlhos puturos
PII
verso tul de wh %nF yutr vntgem d lingugem gEwh su proximidde om lingugens de %n entrd de veri(dores de modelosF intoD possvel relizrD om ert filiddeD o re(nmento d espei(o em gEwh pr outrs ferrments lm de xuwF %n mm seir interessnte vlir um trnsformo pr provdores de teorem e onfrontr esss ordgens em termos de mientes e ferrments pr ontriuir om melhores resultdos n veri(o de sistemsF odeEse resumir os trlhos futuros d seguinte formX
desrio mis dequd d prepro do sistemD de form no intrusiv e utilizndo um represento proprid o homnio dos wodelosY oter um represento gr( pr modelr omunio entre gentes de form simples e ojetivY inorporo de novos omportmentos o sistem de form independente entre siD melhorndo legiilidde do gontrole qlolY desenvolvimento de um miente pr vlido intertiv e ilustrtivY re(nmento de wh pr gEwh dos itens fltntesX lguns tipos e es %n %n om loop Y trtmento pr reonheimento utomtio d regr de justes em funes om rgumentosY espei(o d lingugem gEwh %nD onde onstrues de wh so de(niE %n ds em termos de onstrues mis simplesY desenvolvimento de um ompildorD interpretdor ou miente de exeuo pr gEwh %nD de form simpli(r este trlhoY trnsformo wh pr xuw deompost em mdulosD que so veri(E %n dos seprdmente simulndo s omunies entre gentesF trnsformo de gEwh em entrds pr diferentes veri(dores de modeE %n losD permitindo melhor vlio dos mtodos formis de veri(oF
efernis filiogr(s
efvWS tenEymond erilD igon frgerD nd rns vngmkD reliminr
report for the hgstuhlEeminr WSPQX wethods fors emntis nd peiE (tionD IWWSF
efvWT tFEF erilD iF frgerD nd rF vngmkD he stem oiler se studyX
gompetition of forml progrm spei(tion nd development methodsD porml wethods for sndustril epplitionsF peifying nd rogrmming the temEfoiler gontrol @tFEF erilD iF frgerD nd rF vngmkD edsFAD veture xotes in gomputer ieneD volF IITSD pringerEerlgD IWWTD ppF I!IPF
erWT erWT tFEF erilD he EookD gmridge niversity ressD gmridgeD IWWTF tenEymond erilD temEfoiler gontrol pei(tion rolemD porE ml wethods for sndustril epplitionsD peifying nd rogrmming the tem foiler gontrol @the ook grow out of hgstuhl eminrD tune IWWSAF @vondonD uAD pringerEerlgD IWWTD ppF SHH!SHWF euHI
exHS
l yjetEyriented enlysis nd hesignD Pnd edFD eddisonEesley yjet ehnology eriesD eddisonEesley rofessionlD PHHSF
enlHH wF enlu'D ew ! en ixtensileD gomponentEfsed estrt tte wE
hines vngugeD estrt tte whinesX heory nd epplitions @F qurevih nd F uutter nd wF ydersky nd vF hieleD edFAD vxgD volF IWIPD pringerEerlgD PHHHD ppF TW!WHF
fVH lphEtohn fkD gorretness preserving progrm re(nementsX roof
theory nd pplitionsD wthemtil genter rtsD volF IQID wtheE mtil gentreD emsterdmD he xetherlndsD IWVHF
PIQ
PIR fVI
ipixgse fsfvsyqpsge
lphEtohn fkD yn orret re(nement of progrmsFD tF gomputF ystF iF PQ @IWVIAD noF ID RW!TVF
ffh+ WT
ning estrt whine pei(tions of the tem foiler gontrol to ell houmented ixeutle godeD porml wethods for sndustril epplitiE onsF peifying nd rogrmming the temEfoiler gontrol @tFEF erilD iF frgerD nd rF vngmkD edsFAD vxgD noF IITSD pringerD IWWTD ppF TP!UVF
ffu+ HR wihel flserD imon fumlerD elexnder unppD olfgng eifD nd endres humsD sntertive veri(tion of uml stte mhinesD roF Tth sntF gonfF porml ingineering wethods @sgpiw9HRAD volF QQHVD PHHRD ppF RQR!RRVF fgHH igon frgerD elessndr gvrrD nd ilvini ioeneD en sm semnE
tis for uml tivity digrmsD ewe 9HHX roeedings of the Vth snterE ntionl gonferene on elgeri wethodology nd oftwre ehnology @vondonD uAD pringerEerlgD PHHHD ppF PWQ!QHVF
fgHH D wodeling the dynmis of uml stte mhinesD ew 9HHX roeeE dings of the snterntionl orkshop on estrt tte whinesD heory nd epplitions @vondonD uAD pringerEerlgD PHHHD ppF PPQ!PRIF ferHP hniel wF ferryD he inevitle pin of softwre developmentD inluE
ding of extreme progrmmingD used y requirements voltilityD snterE ntionl orkshop on imeEgonstrined equirements ingineering PHHP @gi9HPA @PHHPAD W!IWF
fqHH iF frger nd F qotzheinD he light ontrol se studyD tF niversl gomE puter iene T @PHHHAD noF UD SVH!SVSF frWH iF frgerD e vogil ypertionl emntis for pull rologF rt sX eleE
tion gore nd gontrolD gv9VWF Qrd orkshop on gomputer iene vogi @iF frgerD rF uleine fningD wF wF ihterD nd F hnfeldD edsFAD vxgD volF RRHD pringerD IWWHD ppF QT!TRF
frWH D e vogil ypertionl emntis of pull rologF rt ssX fuiltE
in redites for htse wnipultionD wthemtil poundtions of gomputer iene @fF ovnD edFAD vxgD volF RSPD pringerD IWWHD ppF I! IRF
PIS frWP D e vogil ypertionl emntis for pull rologF rt sssX fuiltE
in redites for pilesD ermsD erithmeti nd snputEyutputD vogi prom gomputer iene @F woshovkisD edFAD ferkeley wthemtil ienes eserh snstitute ulitionsD volF PID pringerD IWWPD ppF IU!SHF
frHQ iF frgerD he ew e(nement wethodD porml espets of gomputing
IS @PHHQAD PQU!PSUF
frHQ igon frgerD he ew qround wodel wethod s poundtion for equiE
tion of ews in oftwre hesignD estrt tte whinesX heory nd epplitions @F qurevih nd F uutter nd wF ydersky nd vF hieleD edFAD vxgD volF IWIPD pringerEerlgD PHHHD ppF QTI!QTTF
ftHS qrdy foohD tmes umughD nd svr tosonD ni(ed wodeling
vnguge ser quideD Pnd edFD eddisonEesley yjet ehnology eriesD eddisonEesley yjet ehnology eriesD PHHSF
f+ HH wihel flserD olfgng eifD qerhrd hellhornD uurt tenzelD nd enE dres humsD porml system development with kivFD peiD PHHHD ppF QTQ! QTTF fHH iF frgerD iF ioeneD nd tF hmidD gpturing requirements y esE
trt tte whinesX he light ontrol se studyD tF niversl gomputer iene T @PHHHAD noF UD SWU!TPHF
fWV iF frger nd F hulteD he(ning the tv irtul whine s ltE
form for rovly gorret tv gompiltionD wthemtil poundtions of gomputer iene IWWVD PQrd snterntionl ymposiumD wpg9WVD frnoD gzeh epuli @vF frim nd tF qrusk nd tF ltuskD edFAD vxgD noF IRSHD pringerD eugust IWWVF
fWV D rogrmmer priendly wodulr he(nition of the emntis of
tvD porml yntx nd emntis of tv @tF elvesEpossD edFAD vxgD noF ISPQD pringerD IWWVF
fHI wF frnett nd F hulteD he efgs of pei(tionX esmvD fehviorD
PIT fHQ
ipixgse fsfvsyqpsge
gugem de espei(o forml whn PFHD ehF eport HHIGPHHSD % vvGhggGpwqD xovemro PHHSF
fvWV F tF F fk nd tF von rightD e(nement lulusX e systemti inE
the wv lightweight methodD hFhF thesisD niversity of gtniD iilyD stlyD PHHHF
ggq+ HP eF gimttiD iF glrkeD iF qiunhigliD pF qiunhigliD wF istoreD wF oE veriD F estiniD nd eF hellD xuw ersion PX en ypenE
oure ool for ymoli wodel ghekingD roF snterntionl gonferene on gomputerEeided eri(tion @ge PHHPA @gopenhgenD henmrkAD vxgD volF PRHRD pringerD tuly PHHPF
ggy+ HS oerto gvdD elessndro gimttiD imnuele ylivettiD qvin ueighE renD wro istoreD wro overiD imone empriniD nd enE drey hltsevD xusmv PFQ tutorilD ehF reportD sgEsD PHHSD httpXGGnusmvFirstFitFitGF ggy+ HS D xusmv PFQ user mnulD ehF reportD sgEsD PHHSD httpXGGnusmvFirstFitFitGF ggy+ HT
pgeD
vD
xovemer
PHHTD
gqHH
idmund wF glrkeD yrn qrumergD nd horon eF eledD wodel hekingD he ws ressD PHHHF
gHP
lephonyX experienes in n industril development proessD heory nd epplitions of estrt tte whines @eF flssD iF frgerD nd F quE revihD edsFAD hloss hgstuhlD sntF gonfF nd eserh genter for gomE puter ieneD PHHPF
gHQ eF gvrrD iF ioeneD nd F ndurrD sntegrting wv stti nd
PIU
mhinesD estrt tte whines PHHQ!edvnes in heory nd eppliE tions @iF frgerD eF qrgntiniD nd iF ioeneD edsFAD veture xotes in gomputer ieneD volF PSVWD pringerEerlgD PHHQD ppF PPW!PRQF
gHH qiuseppe hel gstillo nd uirsten interD wodel heking support for
the ew highElevel lngugeD ools nd elgorithms for gonstrution nd enlysis of ystemsD PHHHD ppF QQI!QRTF
g+ WU prniso gorellD F houD ioyu ongD wihel vngevinD nd idurd gernyD wultiwy heision qrphs for eutomted rrdwre eri(tionD porml wethods in ystem hesign IH @IWWUAD noF ID U!RTF g+ WU D wultiwy deision grphs for utomted hrdwre veri(tionD porml wethods in ystem hesign IH @IWWUAD noF ID U!RTF hfHI tF herrik nd iF foitenD e(nement in z nd ojetEzD porml epprohes to gomputing nd snformtion ehnologyD pringerEerlgD PHHIF helWW qF hel gstilloD owrds gomprehensive ool upport for estrt tte
whinesX he ew orkenh ool invironment nd erhitetureD epE plied porml wethods " pwErends WV ITRI @IWWWAD QII!QPSF
helHI D he ew workenhF tool environment for omputerEided
nlysis nd vlidtion of strt stte mhine modelsD hFhF thesisD niversitt derornD qermnyD PHHIF
hijTV iF F hijkstrD e onstrutive pproh to the prolem of progrm orE
proof methods nd their omprisonD gmridge niversity ressD gmE ridgeD IWWVF
dHT uristin wgnni dos ntosD m rouo pr otimizes em mquiE
PIV iF WW
ipixgse fsfvsyqpsge
whinesD gurrent rends in epplied porml wethods @pwErends WVA @hF rutter nd F tephn nd F rverso nd wF llmnnD edFAD vxgD noF ITRID pringerEerlgD IWWWD ppF I!RQF
prHT pqqHS oozeh prhodD goreew ser wnulD eptemer PHHTF F prhodD F qervsiD nd F qlsserD hesign nd pei(tion of
the goreew ixeution ingineFD ehF eport pEgwEEPHHSEHPD gomputing ieneD imon prser niversityD furnyD fFgFD gndD peE rury PHHSF
pqqHT PHHTF pqqwHT F prhodD F qervsiD F qlsserD nd wF wemonD hesign nd peE D goreewX en ixtensile ew ixeution ingineD eptemer
i(tion of the goreew ixeution ingineF rt IX he uernelD ehF eport pEgwEEPHHTEHWD gomputing ieneD imon prser niE versityD furnyD fFgFD gndD wy PHHTF
pvWV tF pitzgerld nd F qF vrsenD wodeling systemsF prtil tool nd tehE
ser9s quideD ehF eport pi i ID hEVIUQHD iemens eqD wunhenD qermnyD IWWRF
phHS hvid pitelsonD tmes elhD nd tim hviesD prom predites to proE
grmsX the semntis of method lngugeD impsio frsileiro de wtoE dos pormis @fwpA @PHHSAF
qqHP olfgng qrieskmpD uri qurevihD olfrm hulteD nd wrgus eE nesD qenerting (nite stte mhines from strt stte mhinesD se 9HPX roeedings of the PHHP egw sqyp interntionl symposium on oftwre testing nd nlysis @xew orkD xD eAD egw ressD PHHPD ppF IIP!IPPF
PIW qHR uri qurevihD fenjmin ossmnD nd olfrm hulteD emnti isE
prtitioned trnsition reltionsD snterntionl gonferene on ery vrge le sntegrtion @IWWIAD RW!SVF
tih+ WR tFF furhD iFwF glrkeD hFiF vongD uFvF wwillnD nd hFvF hillD ymE
oli model heking for sequentil iruit veri(tionD siii rnstions on gomputerEeided hesign of sntegrted giruits nd ystems IQ @IWWRAD noF RD RHI!RPRF
uFvWP uFvF wwillnD he w systemD ehF eport gwEgEWPEIQID gwD IWWPF uwHP elexnder unpp nd tephn werzD wodel heking nd ode genertion
for uml stte mhines nd ollortionsD roF Sth shF ools for ystem hesign nd eri(tion @PHHPAD TW!TRF
uxHP wrt F uwitkowskD qethin xormnD nd hvid rkerD swX roE
ilisti symoli model hekerD gomputer erformne ivlution G yyvD PHHPD ppF PHH!PHRF
unuVQ honld iF unuthD viterte progrmmingD ehnil report exEgEVQE WVID tnford niversityD heprtment of gomputer ieneD IWVQF
PPH unuVR
ipixgse fsfvsyqpsge
voHT
gens de espei(o smD wster9s thesisD niversidde pederl de wins qerisD PHHTF
vWW tohn vilius nd svn ltorD he prodution ellX en exerise in the forE
ml veri(tion of uml modelD ehF reportD urku gentre for gomputer ieneD IWWWF
vWW tohn vilius nd svn orres ltorD vwvX tool for verifying wv
modelsD ehF eport gEEPUPD urku gentre for gomputer ieneD IWWWF
vgHP ghrles iF veisersonD gli'ord teinD onld vF ivestD nd homs rF gormenD elgoritmosX eori e rtiD trduo d segund edio edFD gmpusD PHHPF vtdWU porml ystems @iuropeA vtdFD pilure hivergene e(nementX phP
PPI yeHH sF yerD wore meningful wv modelsD roF yyv @ydneyD eustrliAD siii gomputer oiety ressD PH!PQ xovemer PHHHD ppF IRT!ISUF yeHQ slen yerD en ew semntis for wv derived from the metEmodel nd
inorporting tionsD estrt tte whines E edvnes in heory nd epplitionsFD vxgD volF PSVWD roeedings IHth snterntionl orkshopD ew PHHQD PHHQF
yWP F ywreD tF wF ushyD D nd xF hnkrD X e prototype veri(tion
systemD IIth snterntionl gonferene on eutomted hedution @gehiA @rtogD xA @heepk upurD edFAD veture xotes in erti(il sntelliE geneD volF THUD pringerEerlgD jun IWWPD ppF URV!USPF
ygWV m ywreD tohn ushyD xF hnkrD nd hvid tringerEglvertD X
n experiene reportD epplied porml wethods"pwErends WV @fopprdD qermnyA @hieter rutterD erner tephnD olo rversoD nd wrkus llmnD edsFAD veture xotes in gomputer ieneD volF ITRID pringerE erlgD ot IWWVD ppF QQV!QRSF
peHT qofer puntionl progrmming environmentD qofer ! funtionl progrmE
PPP
ipixgse fsfvsyqpsge
system for veri(tion nd synthesisD roeedings of the iighth snternE tionl gonferene on gomputer eided eri(tion ge @xew frunswikD xtD eA @jeev elur nd homs eF renzingerD edsFAD volF IIHPD prinE ger erlgD G IWWTD ppF RPV!RQPF
tfHR tmes umughD svr tosonD nd qrdy foohD ni(ed wodeling
vnguge eferene wnulD Pnd edFD eddisonEesley yjet ehnology eriesD eddisonEesley rofessionlD PHHRF
h tF hmidD ixeuting ew spei(tions with esmqoferD e pges t httpXGGwwwFtydoFdeGesmqoferF h hHI tohim hmidD esmgoferD httpXGGwwwFtydoFdeGesmqoferGF qF hellhornD eri(tion of ew e(nements sing qenerlized
porwrd imultionD tournl of niversl gomputer iene U @PHHIAD noF IID WSP!WUWF
hHI tF hmidD gompiling estrt tte whines to gCCD tournl of niE versl gomputer iene U @PHHIAD noF IID IHTV!IHVUF piWW wF pielmnnD eutomti eri(tion of estrt tte whinesD roeE edings of IIth snterntionl gonferene on gomputerEeided eri(tion @ge WWAD vxgD volF ITQQD pringerEerlgD IWWWD ppF RQI!RRPF piHH wF pielmnnD wodel gheking estrt tte whines nd feyondD snE terntionl orkshop on estrt tte whines ew PHHHD vxgD pringerEerlgD PHHHD ppF QPQ!QRHF fHI F trkD tF hmidD nd iF frgerD tv nd the tv irtul whineX
PPQ irUI xiklus irthD rogrm development y stepwise re(nementD gommunF egw IR @IWUIAD noF RD PPI!PPUF gHS wnuel vier nd en gvlntiD wehnised re(nement of proeduresD impsio frsileiro de wtodos pormis @fwpA @PHHSAF F VS F qurevihD e xew hesisD estrtsD emerin wthemtil oiety @IWVSAD QIUF