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

representing process variation by means of a process
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Department of Computer Science

Borislava I. Simidchieva, Leon J. Osterweil, Lori A. Clarke Laboratory for Advanced Software Engineering Research University of Massachusetts, Amherst

Representing Process Variation by Means of a Process Family

slide-2
SLIDE 2

2

Department of Computer Science

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?

slide-3
SLIDE 3

3

Department of Computer Science

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

slide-4
SLIDE 4

4

Department of Computer Science

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

slide-5
SLIDE 5

5

Department of Computer Science

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
slide-6
SLIDE 6

6

Department of Computer Science

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

  • f variants
  • Evaluate how well the techniques represent the

variation

slide-7
SLIDE 7

7

Department of Computer Science

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

slide-8
SLIDE 8

8

Department of Computer Science

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
slide-9
SLIDE 9

9

Department of Computer Science

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

slide-10
SLIDE 10

10

Department of Computer Science

Case Study: Examples of Variations Encountered

  • Restrictions on how part of the process should be

executed

  • Anonymity control
  • Differences in mediator style
slide-11
SLIDE 11

11

Department of Computer Science

artifact: interest list agent: mediator agent: participant agent: party agent: participant agent: participant agent: participant

Little-JIL Features Overview

brainstorm present issue propose option go over interests solicit options handle inappropriate submission identify set of acceptable options clarify option comment on idea process question about idea answer question ask question

+

*

slide-12
SLIDE 12

12

Department of Computer Science

agent: participant agent: participant agent: party

Creating Variants by Step Elaboration in Coordination Diagram

brainstorm present issue propose option go over interests solicit options handle inappropriate submission identify set of acceptable options clarify option comment on idea process question about idea answer question ask question

agent: mediator agent: participant agent: participant

+

*

present issue disagree with statement propose issue statement

?

slide-13
SLIDE 13

13

Department of Computer Science

Creating Variants by Modifying Agent Behavior

  • Anonymity example
  • Can modify what the process does by changing the behavior of

an agent

agent: participant agent: redactor Do nothing Pass party information and

  • ption, redact out

author information Pass option, redact

  • ut author and party

information Jane, Party 1, Option 1

Jane (Party 1): Option 1 (Party 1): Option 1 (anonymous): Option 1

slide-14
SLIDE 14

14

Department of Computer Science

Creating Variants by Modifying Artifact Structure

  • “Interest list” example:
  • NMB specializes in

interest-based bargaining

  • Before the brainstorming

begins, parties have to identify their interests

  • Mediators keep a list of

interests

  • divided by party
  • together

Interest 6 Interest 5 Interest 4 Interest 3 Interest 2 Interest 1 Interest List Party 2: Interest 6 Party 2: Interest 2 Party 1: Interest 4 Party 2: Interest 3 Party 1: Interest 2 Party 1: Interest 1 Interest List Interest 6 Interest 4 Interest 3 Interest 2 Interest 2 Interest 1 Party 2 Party 1 Interest List

slide-15
SLIDE 15

15

Department of Computer Science

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

slide-16
SLIDE 16

16

Department of Computer Science

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
  • ptions, 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)

slide-17
SLIDE 17

17

Department of Computer Science

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

slide-18
SLIDE 18

18

Department of Computer Science

Questions?

Thank you!

?

?

? ? ? ? ? ? ? ? ?

?