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

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

  1. 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
  2. DSouza, D., and Wills, A. Catalysis: Practical rigor and refinement. Fusion in Real World (1995)
  3. Files, M. C. Object constraint language.
  4. Fish, A., Howse, J., Taentzer, G., and Winkelmann, J. Two visualizations of ocl: A comparison.
  5. Kent, S. Constraint diagrams: visualizing invariants in object-oriented models. In ACMD SigPLAN Notices (1997), vol. 32, ACM, pp. 327-341
  6. Kent, S., and Howse, J. Constraint trees. In Object Modeling with the OCL. Springer, 2002, pp. 228-249.
  7. 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)
  8. Parnas, D. L. Mathematical methods: What we need and don't need. IEEE Computer 29, 4 (1996), 28-29
  9. Vaziri, M., and Jackson, D. Some shortcomings of ocl, the object constraint language of uml. In Tools (2000), IEEE, p.555.
Made with Slides.com