260 likes | 444 Views
Alloy4SPV. Part of Yoann Laurent’s Phd Work (a Year and half ) - LIP6 yoann.laurent@lip6.fr. Reda Bendraou- LIP6. Definitions: Agents, Activities & Artifacts. Software Process. … build ... . in order to produce …. Agent. Activity. Artifact. Modeler Developer Tester ….
E N D
Alloy4SPV Part of Yoann Laurent’sPhdWork (a Year and half) - LIP6 yoann.laurent@lip6.fr Reda Bendraou- LIP6
Definitions: Agents, Activities & Artifacts Software Process … build ... in order to produce… Agent Activity Artifact Modeler Developer Tester … Models Source Code Tests … Software Activityis an elementarytask. Artifactis a productcreated or modifiedduring a processeither as a requiredresult or to facilitate the process. Agent is a performer of the process. It maybe a human or a computerizedtool. Software Processis a set of partiallyorderedactivitiesrealized by agents, whichcreate/maintainsets of relatedartifacts. Based on [Lonchamp, ICSP’93]
Definitions : Software Process Model Artifact Activity Used for learning, vericiation and execution purposes « … is an abstract software process description. It canbe more or lessformal. A givenprocess model expresses: (i) a certain level of abstraction and (ii) a particularview on the process. » [Lonchamp, SICSP’93] designModel sourceCode design code
Someconstraints are not represented in Software ProcessModels • Software ProcessModelsnever come alone • Organizational Constraints • Timing and resources assignement issues • Business Constraints • Specific and verycontextual to the project • And of course, process models should be sound before deployment • Well-Knownsoundnessproperties
BehavioralConstraints (1) Soundness • « Soundness of Workflow nets » [Aalst’11] • (1) Option to complete (2) Proper completion (3) No dead transition A B D Control-Flow {Initial, A, Decision, C, Merge, D, Final} C {Initial, A, Decision, B, Merge} 1..1 1..1 « CtoD » will not receive an offer A B D « D » input willneverreceive an offre Data-Flow C {Initial, A, Decision, B, Merge, D, Final} {Initial, A, Decision, C, Merge}
BehavioralConstraints (2) Organizational A B1 D (1hour) (1hour) (1hour) B2 (2hour) B3 (30min) [continue]
BehavioralConstraints (3) Business ImportantArtifact • Constraintsspecific to a givenproject: • ImportantActionshouldbeexecutedwhatever the executionpath. • ImportantArtifactshouldbecreatedwhatever the executionpath. A B D ImportantAction {Initial, A, Decision, ImportantAction, Merge, D, Final} {Initial, A, Decision, B(ImportantArtifact), Merge, D, Final}
Software ProcessConstraintes • Logiques temporelles • LTL : Linear Temporal Logic • CTL : Computation TreeLogic
PSEE – Process-centered Software Engineering Environment Agent Manager create design Model Are the producedartifacts correct? start design end design Process Modeler Is the agent doingwhatshe/heissupposed to do? Are the requiredartifactspresent? « … provides some assistance to its users by interpreting software proces models » Based on [Lonchamp, SICSP’93] designModel sourceCode design code
Process Models: Strong assumptions 1) The process model is perfect • captures the right steps, milestones, artifacts, roles & workflow 2) Process’s agents are strictly following the process model • They don’t take any personal initiative to perform the process differently
…. Process Deviations Business Constraints Process Model • Deviation: any action performed by an agent during the process execution which is not defined in the process model (In almost 98% of the time [Vissagio]) • Deviation Vs Exception [Lerner et al.] Organizational Constraints Process Description C o n s i s t e n c y C o n s i s t e n c y Time Process realization Agent deviation from the process model What the PSEE/Project Manager should do? PSEE / Execution
What are the impacts of thesedeviations? Soundness? OrganizationalConstraints ? Skip an Activity H H J I Business Constraints ? I I J J A A A E E E F F F G G G X Add a new Activity
Consequences of agent’s deviations • Do they represent a threat to the process’s continuity & project management ? • Do westill have a chance to respect project deadlines? • What are the impacts of thesedeviations? • How canwemake sure to preservetheseconstraintsalong the processexecutionif deviations or modifications have to occur?
Our previous work on process deviations • Earlydetection of deviations[MoDELS 10a, b][TSI 13][Caise-F 12] • Handling of deviations[Caise 10, EDOCW11] • Living withDeviations[ASE 11] • But weneverexplored the idea of on the flyprocess model modification to handeldeviations => need to calculate the impact of a modification/deviation
Requirements for more flexibiliy in handlingprocessdeviations • Ability to decorate the process model withvariousconstraints • More reusability of processmodels • Ability to verifyprocessmodelsbeforeexecution • Ability to preserveprocessconstraintsatruntimeeven if deviationsoccur • Planning possible solutions
Our Proposition: Alloy4SPV • Alloy for Software ProcessVerification UML2.0 Activities fUML Process Model AlloyToProcess PSEE Alloy4SPV Alloy Modules Process View is Enacted Semantic.als Alloy Analyzer Syntax.als Process Engine ProcessModel.als Satysfying Solution Counter-example ProcessToAlloy interact Properties.als PropertiesToAlloy Properties View
Our Proposition: Alloy4SPV • Constraints specification through a GUI • Automatic translation to Alloy
WhyAlloy? • You defineyourownsemantics, youdon’tneed to rely on anyotherformalimssuch as Petri Nets. • It supports a wide variety of properties such as invariants, user-defined assertions, LTL and CTL formulas with fairness constraints • It is expressive enough to represent a UML-based model associated with OCL constraints • A model-finder (and not a model-checker) • Simulation (run) : finds an instance that satisfies a set of constraintes • Checking (check) : finds a counter-example that violates a constraint • On-the-shelf SAT-solvers (MiniSat, ZChaff,...).
Contributions so far • Formalization of the fUML in first order logic [1] • Implementationof the fUMLsemanticsusingAlloy • Processexecutionengine and debugger based on fUML • A library of ready to use and customizable constraints expressed through a graphical interface • GraphicalAlloy-basedVerificationtool [1] http://pagesperso-systeme.lip6.fr/Yoann.Laurent/alloy4sp/formal.pdf
Results • Time to analyze the « OptionToComplete » property with Alloy4SPV • We had « good » results (18 bilion clauses . 7 Bilion vars.) in less than 1 minute • This proofs the effectiveness of the approach…
Still to achieve: Performance issues Some Intuitions !
Abstracting the process • ReductionRules for Petri-Net [Murata’89,Desel’95] SequenceReduction H H I J IJ A B C D A BCD E E F G FG 10 Actions 6 Actions
Decomposition • Program slicingmethods • Single Entry Single Exit (SESE) [Johnson’94] H I J 2 A 1 A B C D E 3 F G
Scope and Constraintsreductions • Scopeand constraintsreductions [SPE Journal 13] Impact Reduction H I J A E F G X F G X Currentlyexecuting New activity
Conclusion • Some promising results so far • Two perspectives on the agenda • To increase performance at runtime • To use the “Synthesis” facility of Alloy to compute solutions and repair plans
Questions • Paperacceptedthisyeararoundthiswork • Executing and Debugging UML Models: an fUML extension, SAC’2013 • Generation of Processusing Multi-objective GeneticAlgorithm, ICSSP’2013 (ICSE co-locatedevent) • Submitted • Alloy4SPV: a Formal Framework for Software ProcessVerification, SLE’2013