Visual Constraint Specification
Brian Broll
Presentation Overview
- Background
- Research Challenges
- Visual Constraint Specifications
- Constraint Diagrams
- Visual OCL
- Constraint Trees
- Comparative Analysis and Taxonomy
- Future Work
Background
Object Constraint Language
- Textual language for constraint specification
- Part of the UML standard
- Strengths
- More natural than traditional mathematical syntax
- Identified core concepts required in constraint specification (Kent and Howse, 2002)
-
Weaknesses
- Notation
- Integration with modeling languages
"We need a lot more work on notation. The notation that is purveyed by most formal methods researchers is cumbersome and hard to read. Even the best notation I know (mine of course) is inadequate." - Parnas (1996)
"OCL is still of limited use even in organizations which extensively employ some form of UML diagrams. The reasons for this are various, but they can often be traced back to the difficulty of integrating a purely textual language like OCL into diagrams." - Bottoni, et al (2001)
Visual Constraint Language
- Strengths
- Better integration with UML
- Lower barrier to entry
- Challenges
- Clear and unambiguous semantics
- Robust
- Replacement for OCL
- Concise
- Deutsch limit
Presentation Overview
- Background
- Research Challenges
-
Visual Constraint Specifications
- Constraint Diagrams
- Visual OCL
- Constraint Trees
- Comparative Analysis and Taxonomy
- Future Work
Constraint Diagrams
Overview
- Euler Diagram Style syntax
- Core concepts
- Sets
- Types
- States
- Navigation
- New Objects
- Uses film-strips for pre and postconditions
Example
Strengths
- Simple syntax
- Concise constraint representations
Weaknesses
- Constraints with many overlaps are hard to visualize
- Mathematical relationships
- Complex data types
- Missing concepts
- Disjunction
- Conditionals
- Implication
Visual OCL
Overview
- A visualization of OCL
- UML Style syntax
- Concepts
- Types
- Attributes
- Associations
- Collections
- Pre and Post conditions
Example
Strengths
- Similar to UML
- Robust
- If-else
- Implication
Weaknesses
- Poor representation of some concepts
- Mathematical relationships
Constraint Trees
Overview
- "Meta" approach to constraint specification
- Tree syntax
- Concepts:
- Nodes
- Let statements and quantification
- Boolean formulas
- Logical connectives
- Connections
- Nodes
Example
Strengths
- Incorporates other languages
- Simple, powerful language
Weaknesses
- Variable scoping
- Missing concepts
- Implication
Presentation Overview
- Background
- Research Challenges
- Visual Constraint Specifications
- Constraint Diagrams
- Visual OCL
- Constraint Trees
- Comparative Analysis and Taxonomy
- Future Work
Comparative Analysis
Taxonomy
Constraint Diagrams | Visual OCL | Constraint Trees | |
---|---|---|---|
Visualization Style | Euler Diagrams | UML | Trees |
Language Size | Small | Large | Small (extensible) |
Code Reuse Support | Minimal | Mild | Minimal |
Extensibility | Minimal | Mild | Moderate |
Complexity | Minimal | Mild | Minimal |
Future Work
- Creation of more novel, specialized constraint languages
- Functional
- Hybrid approaches (as done in constraint trees) to other visual programming problems
References
- Bottoni, P., Koch, M., Parisi-Presicce, F., and Taentzer, G. A visualization of ocl using collaborations. In UML 2001 The Unified Modeling Language. Modeling Languages, Concepts, and Tools. Springer, 2001, pp. 257-271
- DSouza, D., and Wills, A. Catalysis: Practical rigor and refinement. Fusion in Real World (1995)
- Files, M. C. Object constraint language.
- Fish, A., Howse, J., Taentzer, G., and Winkelmann, J. Two visualizations of ocl: A comparison.
- Kent, S. Constraint diagrams: visualizing invariants in object-oriented models. In ACMD SigPLAN Notices (1997), vol. 32, ACM, pp. 327-341
- Kent, S., and Howse, J. Constraint trees. In Object Modeling with the OCL. Springer, 2002, pp. 228-249.
- Kiesner, C., Taentzer, G., and Winkelmann, J. Visual ocl: A visual notation of the object constraint language. Available Online, URL: http://www.user.tu-berlin.de/o.runge/tfs/projekte/vocl/gKTW02.pdf (2002)
- Parnas, D. L. Mathematical methods: What we need and don't need. IEEE Computer 29, 4 (1996), 28-29
- Vaziri, M., and Jackson, D. Some shortcomings of ocl, the object constraint language of uml. In Tools (2000), IEEE, p.555.
Visual Constraint Specification
By Brian Broll
Visual Constraint Specification
- 992