1 / 26

Alloy4SPV

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 ….

bary
Download Presentation

Alloy4SPV

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Alloy4SPV Part of Yoann Laurent’sPhdWork (a Year and half) - LIP6 yoann.laurent@lip6.fr Reda Bendraou- LIP6

  2. 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]

  3. 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

  4. 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

  5. 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}

  6. BehavioralConstraints (2) Organizational A B1 D (1hour) (1hour) (1hour) B2 (2hour) B3 (30min) [continue]

  7. 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}

  8. Software ProcessConstraintes • Logiques temporelles • LTL : Linear Temporal Logic • CTL : Computation TreeLogic

  9. 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

  10. 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

  11. …. 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

  12. 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

  13. 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?

  14. 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

  15. 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

  16. 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

  17. Our Proposition: Alloy4SPV • Constraints specification through a GUI • Automatic translation to Alloy

  18. 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,...).

  19. 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

  20. 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…

  21. Still to achieve: Performance issues Some Intuitions !

  22. 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

  23. Decomposition • Program slicingmethods • Single Entry Single Exit (SESE) [Johnson’94] H I J 2 A 1 A B C D E 3 F G

  24. Scope and Constraintsreductions • Scopeand constraintsreductions [SPE Journal 13] Impact Reduction H I J A E F G X F G X Currentlyexecuting New activity

  25. 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

  26. 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

More Related