34
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008

Behavioral+Models+for+Software+Development

Embed Size (px)

DESCRIPTION

Behavioral+Models+for+Software+Development

Citation preview

2008 IBM CorporationBehavioral Models for Software DevelopmentAndrei Kirshin, Dolev Dotan, Alan Hartmanan!ar" 20082Haifa #esear$h %a& ' Model Driven (n)ineerin) *e$hnolo)ies +ro!p 2008 IBM CorporationA&stra$tMDD raisin) the level of a&stra$tion, in$reasin) the a!tomationModels and model transformations in$reased prod!$tivit", ,!alit", effe$tive wa" of adaptin) to $han)es in re,!irements*his tal- fo$!ses on models whi$h des$ri&e the &ehavior of the s"stem, and the tools for e.e$!tin) at the model level/latform independent a$tion lan)!a)e0Haifa #esear$h %a& ' Model Driven (n)ineerin) *e$hnolo)ies +ro!p 2008 IBM Corporation1!tlineIntrod!$tion' Motivation' 2M% Behavioral Modelin)' A$tion %an)!a)e2M% Model De&!))er' De&!))in) $apa&ilities' De&!))in) perspe$tive' Dia)ram animation*estin)' Model testin)' Model3&ased testin) 4test )eneration56Haifa #esear$h %a& ' Model Driven (n)ineerin) *e$hnolo)ies +ro!p 2008 IBM Corporation1!tline ' Introd!$tionIntrod!$tion' Motivation' 2M% Behavioral Modelin)' A$tion %an)!a)e2M% Model De&!))er' De&!))in) $apa&ilities' De&!))in) perspe$tive' Dia)ram animation*estin)' Model testin)' Model3&ased testin) 4test )eneration57Haifa #esear$h %a& ' Model Driven (n)ineerin) *e$hnolo)ies +ro!p 2008 IBM CorporationIntrod!$tion ' 8ision*imeDevelopers8ariet" 9 versatilit" of !sers: &!siness anal"sts, ar$hite$ts, developers, testers*oolsMan" hi)hl" ,!alified developersA&stra$tion#e)isters,low level $ommandsStr!$t!res, operations, statements, e.pressions, $lasses, interfa$es, pa$-a)esComponents, servi$es,feat!res, &ehaviors,a$tions, patterns0+% level de&!))in),0+% testin) tools,Assem&ler,Assem&l" de&!))erCompiler#(OODMDDPD;ew e.perts/D ' /ro$ed!ral Development,#( ' #everse (n)ineerin), MD ' Model Dis$over"Model level de&!))in) Model level testin)S!pport for A%Stati$ model anal"sisMDCode +enerationdo>e.it &ehaviorsB+!ardsB' B$an a$$ess $lass attri&!tes, $all $lass operations, et$C*ri))ers:' 1peration $alls' Attri&!te $han)esD0Haifa #esear$h %a& ' Model Driven (n)ineerin) *e$hnolo)ies +ro!p 2008 IBM CorporationA$tivit" Dia)rams ' ESophisti$ated ;low$hartsF;eat!res in$l!de:Control flow Data flowConditionals 4$hoi$e node, )!ards5Con$!rren$" 4for- 9 Aoin5@ested &ehavior $alls Data storesInte)ration with the 1&Ae$t 1riented Model:4E1pa,!eF5 a$tions ' $ode snippetsB +!ard e.pressionsB' B$an a$$ess $lass attri&!tes, $all $lass operations, et$CA$tions for:' Callin) operations' #eadin) and modif"in) attri&!tes' Sendin) si)nals' and moreBDDHaifa #esear$h %a& ' Model Driven (n)ineerin) *e$hnolo)ies +ro!p 2008 IBM Corporation2M% Behavioral Modelin)Str!$t!re: proto$ol, $lasses 4$aps!les5, ports and $onne$torsBehaviors 4state ma$hines, a$tivities, intera$tions5' Stand3alone' Spe$if" the implementation of operations' Spe$if" the life$"$le of o&Ae$ts 4$aps!les5' Spe$if" state entr">do>e.it &ehavior and transition effe$tCode snippets 4tar)et lan)!a)e or platform independent5' Spe$if" the implementation of operations' Spe$if" state entr">do>e.it &ehavior and transition effe$t' A$tivit" a$tions' +!ards 4a$tivit" ed)e, state ma$hine transition5;le.i&le8er" $omple. 4almost as $omple. as $ode5D2Haifa #esear$h %a& ' Model Driven (n)ineerin) *e$hnolo)ies +ro!p 2008 IBM CorporationA$tion %an)!a)eSnippets of Code in the Model*ar)et lan)!a)e 4ava, CGG, CH5 or its s!&set (rror prone, &o!nd to spe$ifi$ tar)et platform and $ompiler Alread" -nown lan)!a)e/latform independent @ew lan)!a)e to learn Ma-es the model retar)eta&le, less error proneD0Haifa #esear$h %a& ' Model Driven (n)ineerin) *e$hnolo)ies +ro!p 2008 IBM Corporation1!tline ' 2M% Model De&!))erIntrod!$tion' Motivation' 2M% Behavioral Modelin)' A$tion %an)!a)e2M% Model De&!))er' De&!))in) $apa&ilities' De&!))in) perspe$tive' Dia)ram animation*estin)' Model testin)' Model3&ased testin) 4test )eneration5D6Haifa #esear$h %a& ' Model Driven (n)ineerin) *e$hnolo)ies +ro!p 2008 IBM CorporationIntera$tive De&!))in)*raditional de&!))in)' #!nnin) a main f!n$tion' Hittin) a &rea-point ' Steppin)' 1&servin) val!esIntera$tive de&!))in) 4model Ee.er$iserF5' Creating instances' Invo#ing operations and be$aviors% send signals' Hittin) a &rea-point ' Steppin)' 1&servin) val!esD7Haifa #esear$h %a& ' Model Driven (n)ineerin) *e$hnolo)ies +ro!p 2008 IBM CorporationModel De&!))in) /erspe$tiveDebug VariablesConsoleDiagram AnimationSignalsEvent PoolsInstancesBreakpointsI/OSnippetD1 8iewsSend and &roadcast Signal &uttonsDouble*clic# to send signalSignals +istor,22Haifa #esear$h %a& ' Model Driven (n)ineerin) *e$hnolo)ies +ro!p 2008 IBM CorporationDia)ram Animation ' State Ma$hineCurrent StateExecution PendingRunning Transition&rea#point20Haifa #esear$h %a& ' Model Driven (n)ineerin) *e$hnolo)ies +ro!p 2008 IBM CorporationDia)ram Animation ' A$tivit"To#en ProviderOffer Pat$Execution Pending26Haifa #esear$h %a& ' Model Driven (n)ineerin) *e$hnolo)ies +ro!p 2008 IBM Corporation1!tline ' *estin)Introd!$tion' Motivation' 2M% Behavioral Modelin)' A$tion %an)!a)e2M% Model De&!))er' De&!))in) $apa&ilities' De&!))in) perspe$tive' Dia)ram animation*estin)' Model testin)' Model3&ased testin) 4test )eneration527Haifa #esear$h %a& ' Model Driven (n)ineerin) *e$hnolo)ies +ro!p 2008 IBM CorporationDe&!))in) ' Model InterpretationSim!lation > (m!lation 4for de&!))in) and !nderstandin)5#e$ordin) of e.e$!tion tra$es 4assisted test )eneration5Model DebuggerTest -eneratorTest Execution Environment.M/ Model0pplicationTest 1 TraceCode -eneration2