mav-vis: a notation for model uncertainty

50
MAV-Vis: A Notation for Model Uncertainty M.Famelis, S.Santosa Introduction Design Uncertainty MAV-Vis User Study Conclusion MAV-Vis: A Notation for Model Uncertainty Michalis Famelis and Stephanie Santosa University of Toronto May 18th, 2013 Models in Software Engineering Workshop at ICSE 1 / 27

Upload: michalis-famelis

Post on 10-May-2015

303 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

MAV-Vis: A Notation for Model Uncertainty

Michalis Famelis and Stephanie Santosa

University of Toronto

May 18th, 2013

Models in Software Engineering Workshop at ICSE

1 / 27

Page 2: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Design Uncertainty

“The reality of today’s software systems requires us to consider

uncertainty as a first-class concern in the design, implementation,

and deployment of those systems.” [Garlan, 2010]

Our focus:Uncertainty about design decisions – the contents of a model.

Our agenda:Enable MBSE with design uncertainty using Partial models.

2 / 27

Page 3: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Design Uncertainty

“The reality of today’s software systems requires us to consider

uncertainty as a first-class concern in the design, implementation,

and deployment of those systems.” [Garlan, 2010]

Our focus:Uncertainty about design decisions – the contents of a model.

Our agenda:Enable MBSE with design uncertainty using Partial models.

2 / 27

Page 4: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Usable Notation for Uncertainty

Partial models: effective for automated reasoning.However:

Existing notation (“MAV-Text”) developed ad-hoc.Is it effective for human communication?

Need to maximize cognitive effectiveness.“Physics of Notations” [Moody, 2009]

Principles for designing graphical languages.

What we did:

• Developed a new notation: MAV-Vis

• Evaluated our implementation with a user study:“Does MAV-Vis improve cognitive effectiveness?”

Speed, ease, accuracy for reading and writing.

3 / 27

Page 5: MAV-Vis: A Notation for Model Uncertainty

1 Introduction

2 Design Uncertainty

3 Designing MAV-Vis

4 User Study

5 Conclusion

Page 6: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

What is Design UncertaintyExample: a simple class diagram.

What does the modeler know?

5 / 27

Page 7: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

What is Design UncertaintyExample: a simple class diagram.

What does the modeler not know?

5 / 27

Page 8: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

What is Design UncertaintyExample: a simple class diagram.

What does the modeler not know?

5 / 27

Page 9: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

What is Design UncertaintyExample: a simple class diagram.

What does the modeler not know?

5 / 27

Page 10: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

What is Design UncertaintyExample: a simple class diagram.

What does the modeler not know?

5 / 27

Page 11: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Uncertainty: a Set of PossibleRefinements

If we remove all uncertainty, we have a concrete refinement.

6 / 27

Page 12: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Modeling Uncertainty with PartialModels

Explicating uncertainty in a partial model.

• Element is optional.

• Element can be multiplied to many copies.

• Element can be merged with others.

• Model is incomplete.

7 / 27

Page 13: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Modeling Uncertainty with PartialModels

Explicating uncertainty in a partial model.

• May: Element is optional.

• Element can be multiplied to many copies.

• Element can be merged with others.

• Model is incomplete.

7 / 27

Page 14: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Modeling Uncertainty with PartialModels

Explicating uncertainty in a partial model.

• May: Element is optional.

• Abs: Element can be multiplied to many copies.

• Element can be merged with others.

• Model is incomplete.

7 / 27

Page 15: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Modeling Uncertainty with PartialModels

Explicating uncertainty in a partial model.

• May: Element is optional.

• Abs: Element can be multiplied to many copies.

• Var: Element can be merged with others.

• Model is incomplete.

7 / 27

Page 16: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Modeling Uncertainty with PartialModels

Explicating uncertainty in a partial model.

• May: Element is optional.

• Abs: Element can be multiplied to many copies.

• Var: Element can be merged with others.

• OW: Model is incomplete.

7 / 27

Page 17: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Modeling Uncertainty with PartialModels

Explicating uncertainty in a partial model.

• May: Element is optional.

• Abs: Element can be multiplied to many copies.

• Var: Element can be merged with others.

• OW: Model is incomplete.

7 / 27

Page 18: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

“Extended” Partial Models

Expressing dependencies between points of uncertainty.e.g. May Model: variant presented in [ICSE’12]

alternative refinements and relations between them.

8 / 27

Page 19: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Existing Notation: MAV-Text

9 / 27

Page 20: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Assessing MAV-Text

MAV-Text: Textual annotations + Propositional formula

Assessment (based on [Moody, 2009]):Pros:

• Graphically economical

• 1:1 symbol-concept correspondence

Cons:

• Hard to visually distinguish symbols

• Does not intuitively suggest meaning

• Must annotate each element individually

• Does not take advantage of graphics

• Dependencies “hidden” in formula

• Must know how to read propositional formulas

10 / 27

Page 21: MAV-Vis: A Notation for Model Uncertainty

1 Introduction

2 Design Uncertainty

3 Designing MAV-Vis

4 User Study

5 Conclusion

Page 22: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Introducing MAV-Vis

12 / 27

Page 23: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Introducing MAV-VisRepresenting Var

12 / 27

Page 24: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Introducing MAV-VisRepresenting Abs

12 / 27

Page 25: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Introducing MAV-VisRepresenting May: a color for each PoU

12 / 27

Page 26: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Introducing MAV-VisRepresenting May: identify alternative

12 / 27

Page 27: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Introducing MAV-VisRepresenting May: grouping elements in alternatives

12 / 27

Page 28: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Introducing MAV-VisRepresenting May: the other alternative

12 / 27

Page 29: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Introducing MAV-VisRepresenting May: numbers for different alternatives

12 / 27

Page 30: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Introducing MAV-VisRepresenting May: alternative with many parts

12 / 27

Page 31: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Introducing MAV-VisRepresenting May: a different PoU

12 / 27

Page 32: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Introducing MAV-VisRepresenting May: expressing PoU dependencies

12 / 27

Page 33: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Introducing MAV-Vis

12 / 27

Page 34: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Introducing MAV-Vis

12 / 27

Page 35: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Introducing MAV-Vis

12 / 27

Page 36: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Improvements in MAV-Vis

Based on the principles in [Moody, 2009]:

• 1:1 symbol-concept correspondence

• Different retinal vars for each symbol (shape, texture)

• Notation (more) suggestive of concepts

• Relationships are visualized

• Grouping of annotations (not per-element)

• Visually expressive (using shape, color, texture, size)

• Dual coding with text and color

• No need to know propositional logic (per se)

• Relatively economical, cognitively manageable

13 / 27

Page 37: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

MAV-Vis Limitations

Portability Annotation language → cannot guarranteesymbols won’t conflict!

Implemented for Class Diagrams, E-R Diagrams.Porting to other notations not automatable.BUT: can use with any abstract syntax (MOF)

Less powerful than propositional logic (of course)But dependency sub-language can be extended.

No OW OW annotates entire model.(Megamodeling?)

No tooling Out of scope here: focus on ideal notation.

14 / 27

Page 38: MAV-Vis: A Notation for Model Uncertainty

1 Introduction

2 Design Uncertainty

3 Designing MAV-Vis

4 User Study

5 Conclusion

Page 39: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Overview

Motivation Evaluate MAV-Vis as an implementation of thetheory in [Moody, 2009].

Goal User study to confirm or refute the hypothesis:

“MAV-Vis improves cognitive effectiveness forreading and writing compared to MAV-Text”

Cognitive Effectiveness:Ease, Speed, Accuracy

Participants 12 unpaid particip., with Bach. in CS or higherAverage experience in MAVO: 2.2/5(3 participants were experts in MAVO,already familiar with MAV-Text)

16 / 27

Page 40: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

SetupProcedure:

• Tutorial

• Freeform excercise

• [ Reading, Writing ]x2

• Questionnaire

Design:

• Within subjects to allow comparison and minimizeselection bias

• 2x2 Latin square to control for:• Order of syntaxes (MAV-Vis, MAV-Text)• Modeling scenario

(“Hotel Admin” in UML, “School Personnel” in E-R)

Measurements:

Ease Questionnaire responses

Speed Task completion time

Accuracy Error counts and comprehension scores17 / 27

Page 41: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

ResultsEase:

• MAV-Vis considered more intuitive, easier to remember,efficient to read

• MAV-Text and MAV-Vis almost tied for writing efficiency

• MAV-Vis gathered more preferences

Speed:

• MAV-Text took 2:08min longer for reading.

• MAV-Vis was 13sec slower for writing.

Accuracy:

• No difference in reading Abs, Var.

• Noticeable difference for reading May(on average 1.4 fewer errors)

• On average 0.7 more errors writing with MAV-Vis.(most errors were about coloring PoUs)

18 / 27

Page 42: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Result Tables

19 / 27

Page 43: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Threats to Validity

• Small sample size: no statisticsResults to be understood as preliminary evidence

• Prior exposure to MAVO

• Familiarity with propositional logic

• Confusion regarding uncertainty concepts (MAVO)(But both syntaxes affected equally)

• Selection bias from imbalanced knowledge of UML/E-R(Reported by 1 subject)

20 / 27

Page 44: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Discussion

Overall:MAV-Vis more efficientbut more writing errors.

Most writing errors:PoU colors.

(PoU not a formal concept)

However:Not necessarily universalsolution!

Cognitive FitLearning Style and Expertise

Freeform: dashes, pilesquestion marks, ellipses

21 / 27

Page 45: MAV-Vis: A Notation for Model Uncertainty

1 Introduction

2 Design Uncertainty

3 Designing MAV-Vis

4 User Study

5 Conclusion

Page 46: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Summary

Partial models:Formalism for management of design uncertainty.

Existing work:Automated reasoning vs human communicationAd-hoc notation (MAV-Text)

What we did:Developed MAV-Vis, using [Moody, 2009]Performed user study to evaluate our implementationCognitive Effectiveness for reading and writing:

Ease, Speed, Accuracy

Results:MAV-Vis more efficient but more writing errors.

23 / 27

Page 47: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Next Steps

Larger picture:Notation only one aspect.Effective methodological support for Design Uncertainty.Patterns of uncertainty? Sources?How do users already cope with Design Uncertainty?

Focused on notation design, not tooling.Future:

Tooling integration and impact on cognitive effectiveness“MAVO-isation” of arbitrary languages

Dependency sublanguage:What are reasonable extensions?Relation to patterns.Impact on tooling.

24 / 27

Page 48: MAV-Vis: A Notation for Model Uncertainty

Questions?

Page 49: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Bibliography I

Famelis, M., Ben-David, S., Chechik, M., and Salay, R. (2011).

“Partial Models: A Position Paper”.In Proceedings of MoDeVVa’11, pages 1–6.

Famelis, M., Chechik, M., and Salay, R. (2012a).

“Partial Models: Towards Modeling and Reasoning with Uncertainty”.In Proceedings of ICSE’12.

Famelis, M., Salay, R., and Chechik, M. (2012b).

The semantics of partial model transformations.In MISE at ICSE’12, pages 64 –69.

Garlan, D. (2010).

Software engineering in an uncertain world.In FoSER ’10, pages 125–128.

Moody, D. (2009).

The “Physics” of Notations: Toward a Scientific Basis for Constructing Visual Notations in SoftwareEngineering.TSE, 35(6):756–779.

Saadatpanah, P., Famelis, M., Gorzny, J., Robinson, N., Chechik, M., and Salay, R. (2012).

Comparing the effectiveness of reasoning formalisms for partial models.In MoDeVVa’12.

Salay, R., Chechik, M., and Gorzny, J. (2012a).

“Towards a Methodology for Verifying Partial Model Refinements”.In Proceedings of VOLT’12.

26 / 27

Page 50: MAV-Vis: A Notation for Model Uncertainty

MAV-Vis: ANotation for

ModelUncertainty

M.Famelis,S.Santosa

Introduction

DesignUncertainty

MAV-Vis

User Study

Conclusion

Bibliography II

Salay, R., Famelis, M., and Chechik, M. (2012b).

“Language Independent Refinement using Partial Modeling”.In Proceedings of FASE’12.

27 / 27