representing process variation by means of a process
play

Representing Process Variation by Means of a Process Family - PowerPoint PPT Presentation

Representing Process Variation by Means of a Process Family Borislava I. Simidchieva, Leon J. Osterweil, Lori A. Clarke Laboratory for Advanced Software Engineering Research University of Massachusetts, Amherst Department of Computer Science


  1. Representing Process Variation by Means of a Process Family Borislava I. Simidchieva, Leon J. Osterweil, Lori A. Clarke Laboratory for Advanced Software Engineering Research University of Massachusetts, Amherst Department of Computer Science

  2. Motivation  Interested in creating formal process definitions to model real world processes  Variation is inherent in real world processes  Need to consider what constructs are needed to capture variation  Abundance of work in variation in software but not processes • Should similar approaches be applied to process languages and process development environments? 2 Department of Computer Science

  3. Issues to be Addressed We need:  To accommodate variation in actual processes  To model variation effectively  To communicate the process and its variants in a clear and concise way  To be able to recognize variation during elicitation and modeling 3 Department of Computer Science

  4. Conjecture  A suitable process modeling language and process development environment should be able to accommodate variation and model it effectively • Certain language features or tools within the development environment can address certain kinds of variation 4 Department of Computer Science

  5. Some Informal Definitions  Variation: a difference in the way two real-world processes handle an identical or almost identical task  Variant: a specific process, which implements specific variations  Process family: a collection of variants 5 Department of Computer Science

  6. Experimental Approach  Consider actual real-world processes in which variation is apparent  Develop techniques to accommodate the variation and model it effectively as a collection of variants  Evaluate how well the techniques represent the variation 6 Department of Computer Science

  7. Process Modeling Language We use Little-JIL to model variation by creating variants because it provides:  Separation of concerns • Coordination specification • Agents • Artifacts  Visual representation • Hierarchical decomposition of steps  An experimental platform that allows modifying the language to include more features for creating variants 7 Department of Computer Science

  8. Techniques for Generating Variants  Reusable components from each of the three parts of a process definition—coordination diagram, agent specification, artifact specification  Combining different components based on user specifications will generate new processes • Step elaboration • Agent behavior • Artifact structure 8 Department of Computer Science

  9. Case Study  Collaboration with the National Mediation Board  Goal: precisely model the process NMB uses to guide mediation • would enable formal analysis and potential improvements  Problem: as we try to accurately model the process in sufficient detail, variations are discovered • these variants are closely related • vary depending on mediator preferences or style, group dynamics, and situational concerns that arise • mediators may wish to adapt processes dynamically • may not be able to capture these variations with a single process 9 Department of Computer Science

  10. Case Study: Examples of Variations Encountered  Restrictions on how part of the process should be executed  Anonymity control  Differences in mediator style 10 Department of Computer Science

  11. Little-JIL Features Overview brainstorm agent: mediator agent: party artifact: interest list present issue go over interests solicit options identify set of acceptable options + * agent: participant clarify option handle inappropriate submission propose option agent: participant process question about idea comment on idea agent: participant agent: participant ask question answer question 11 Department of Computer Science

  12. Creating Variants by Step Elaboration in Coordination Diagram agent: mediator brainstorm agent: party go over interests solicit options identify set of acceptable options present issue + ? * propose issue statement agent: participant disagree with statement clarify option handle inappropriate submission propose option agent: participant present issue process question about idea comment on idea agent: participant agent: participant ask question answer question 12 Department of Computer Science

  13. Creating Variants by Modifying Agent Behavior  Anonymity example • Can modify what the process does by changing the behavior of an agent Pass party Do nothing Pass option, redact information and out author and party Jane, Party 1, Option 1 option, redact out information author information Jane (Party 1): (Party 1): (anonymous): Option 1 Option 1 Option 1 agent: participant agent: redactor 13 Department of Computer Science

  14. Creating Variants by Modifying Artifact Structure “Interest list” example:  Interest List Interest List NMB specializes in • interest-based bargaining Party 1: Interest 1 Interest 1 Before the brainstorming Interest List • begins, parties have to Party 1: Interest 2 Interest 2 Party 1 Party 2 identify their interests Mediators keep a list of Party 2: Interest 3 Interest 3 • Interest 1 Interest 2 interests • divided by party Interest 2 Interest 3 Party 1: Interest 4 Interest 4 • together Interest 4 Interest 6 Party 2: Interest 2 Interest 5 Party 2: Interest 6 Interest 6 14 Department of Computer Science

  15. Observations Little-JIL provides some support for modeling process variation  Outlined variant generation techniques seem to span most of the variations we have encountered  Applying more than one technique could produce even larger families  Can easily fine-tune large processes and switch components depending on context  Visual representation provides a way to communicate about variants within the family 15 Department of Computer Science

  16. Related Work Software families, product lines, and variation  Variability realization techniques (e.g. Svahnberg et al) • Variability (software reuse on a common core) via inheritance, • parameterization, extension points (e.g. Jacobson et al) Conditional compilation/dynamic binding (e.g. Gacek et al) • Generation approaches  Using component generators to support dynamically configurable • components (e.g. Pavel et al) Extending UML models with decision models (KobrA); each • component associated with structural, behavioral and functional model, as well as a decision model (Atkinson et al) Collaboration and group support systems  Some allow implicit variation by providing dynamic configuration • options, but no explicit support for variants (e.g. Facilitate.com) Groupware construction tools enable the creation of process • instances via explicit coding (e.g. LotusNotes) 16 Department of Computer Science

  17. Future Work  Consider other processes where different kinds of variation might occur to identify additional variant generation techniques • E.g. variations in the medical domain  Consider techniques from software product line research and how they may be relevant to processes 17 Department of Computer Science

  18. Questions? ? ? ? ? ? Thank you! ? ? ? ? ? ? ? 18 Department of Computer Science

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend