Presentation is loading. Please wait.

Presentation is loading. Please wait.

ALLOY4SPV Reda Bendraou- LIP6 1 Part of Yoann Laurent’s Phd Work (a Year and half) - LIP6

Similar presentations

Presentation on theme: "ALLOY4SPV Reda Bendraou- LIP6 1 Part of Yoann Laurent’s Phd Work (a Year and half) - LIP6"— Presentation transcript:

1 ALLOY4SPV Reda Bendraou- LIP6 1 Part of Yoann Laurent’s Phd Work (a Year and half) - LIP6

2 Definitions: Agents, Activities & Artifacts 2 Modeler Developer Tester … … build... Models Source Code Tests … in order to produce… Software AgentArtifactActivity Activity is an elementary task. Artifact is a product created or modified during a process either as a required result or to facilitate the process. Agent is a performer of the process. It may be a human or a computerized tool. Software Process is a set of partially ordered activities realized by agents, which create/maintain sets of related artifacts. Based on [Lonchamp, ICSP’93] Software Process

3 Definitions : Software Process Model « … is an abstract software process description. It can be more or less formal. A given process model expresses: (i) a certain level of abstraction and (ii) a particular view on the process. » [Lonchamp, SICSP’93] 3 designModel sourceCode design code Artifact Activity Used for learning, vericiation and execution purposes

4 Some constraints are not represented in Software Process Models  Software Process Models never come alone  Organizational Constraints Timing and resources assignement issues  Business Constraints Specific and very contextual to the project  And of course, process models should be sound before deployment Well-Known soundness properties 4

5 Behavioral Constraints 5 AB C D {Initial, A, Decision, C, Merge, D, Final} {Initial, A, Decision, B, Merge} « CtoD » will not receive an offer C ABD 1..1 {Initial, A, Decision, B, Merge, D, Final} {Initial, A, Decision, C, Merge} « D » input will never receive an offre Control-Flow Data-Flow  « Soundness of Workflow nets » [Aalst’11]  (1) Option to complete (2) Proper completion (3) No dead transition (1) Soundness

6 Behavioral Constraints 6 AB1 B2 D B3 [continue] (1hour) (2hour) (30min) Execution pathTime Possible in 3 hours? {A, B1, D} 3h yes {A, B2, D} 4h Impossible {A, (B3)*, D} [2:30 à oo] yes but only if B executes only once (2) Organizational

7 Behavioral Constraints 7 AB ImportantAction D ImportantArtifact  Constraints specific to a given project:  ImportantAction should be executed whatever the execution path.  ImportantArtifact should be created whatever the execution path. {Initial, A, Decision, ImportantAction, Merge, D, Final} {Initial, A, Decision, B(ImportantArtifact), Merge, D, Final} (3) Business

8 Software Process Constraintes 8  Logiques temporelles  LTL : Linear Temporal Logic  CTL : Computation Tree Logic

9 PSEE – Process-centered Software Engineering Environment « … provides some assistance to its users by interpreting software proces models » Based on [Lonchamp, SICSP’93] 9 create design Model create design Model start design start design end design end design designModel sourceCode design code Are the required artifacts present? Is the agent doing what she/he is supposed to do? Are the produced artifacts correct? Agent Process Modeler Manager

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 10

11 11 Process Deviations …. Time Process Model PSEE / Execution Process Description Process realization ConsistencyConsistency Agent deviation from the process model What the PSEE/Project Manager should do?  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.] ConsistencyConsistency Organizational Constraints Business Constraints

12 What are the impacts of these deviations? 12 A E FG H IJ A E FG H IJ A E FG I J X Add a new Activity Soundness ? Organizational Constraints ? Business Constraints ? Skip an Activity

13 13 Consequences of agent’s deviations  Do they represent a threat to the process’s continuity & project management ?  Do we still have a chance to respect project deadlines?  What are the impacts of these deviations?  How can we make sure to preserve these constraints along the process execution if deviations or modifications have to occur?

14 Our previous work on process deviations  Early detection of deviations [MoDELS 10a, b][TSI 13][Caise-F 12]  Handling of deviations [Caise 10, EDOCW11]  Living with Deviations [ASE 11]  But we never explored the idea of on the fly process model modification to handel deviations => need to calculate the impact of a modification/deviation 14

15 Requirements for more flexibiliy in handling process deviations  Ability to decorate the process model with various constraints  More reusability of process models  Ability to verify process models before execution  Ability to preserve process constraints at runtime even if deviations occur  Planning possible solutions 15

16 Our Proposition: Alloy4SPV 16 Process Model PSEE Alloy4SPV Alloy Modules Semantic.als Syntax.als ProcessModel.als Process Engine Process View is Enacted ProcessToAlloy Alloy Analyzer Satysfying Solution Properties.als interact AlloyToProcess Counter- example PropertiesToAll oy Properties View  Alloy for Software Process Verification UML2.0 Activities fUML

17 Our Proposition: Alloy4SPV 17  Constraints specification through a GUI  Automatic translation to Alloy

18 Why Alloy? 18  You define your own semantics, you don’t need to rely on any other formalims such 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 19  Formalization of the fUML in first order logic [1]  Implementation of the fUML semantics using Alloy  Process execution engine and debugger based on fUML  A library of ready to use and customizable constraints expressed through a graphical interface  Graphical Alloy-based Verification tool [1]

20 Results 20  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 21 Some Intuitions !

22 Abstracting the process 22 A B D C E FG H IJ 10 Actions A BCD E FG H IJ 6 Actions Sequence Reduction  Reduction Rules for Petri-Net [Murata’89,Desel’95]

23 Decomposition 23 A B D C E FG H IJ 1 1  Program slicing methods  Single Entry Single Exit (SESE) [Johnson’94] A 2 2 3 3

24 Scope and Constraints reductions 24 A E FG H IJ X FG X Impact Reduction  Scope and constraints reductions [SPE Journal 13] Currently executing New activity

25 Conclusion 25  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  Paper accepted this year around this work  Executing and Debugging UML Models: an fUML extension, SAC’2013  Generation of Process using Multi-objective Genetic Algorithm, ICSSP’2013 (ICSE co-located event)  Submitted  Alloy4SPV: a Formal Framework for Software Process Verification, SLE’2013 26

Download ppt "ALLOY4SPV Reda Bendraou- LIP6 1 Part of Yoann Laurent’s Phd Work (a Year and half) - LIP6"

Similar presentations

Ads by Google