220 likes | 300 Views
Increasing the Flexibility of Modelling Tools via Constraint-Based Specification. Philip Gray & Ray Welland Computing Science Dept University of Glasgow, Scotland {pdg, ray}@dcs.gla.ac.uk www.dcs.gla.ac.uk/{~pdg, ~ray}. What this presentation is about.
E N D
Increasing the Flexibility of Modelling Tools via Constraint-Based Specification Philip Gray & Ray Welland Computing Science Dept University of Glasgow, Scotland {pdg, ray}@dcs.gla.ac.uk www.dcs.gla.ac.uk/{~pdg, ~ray}
What this presentation is about • degree of configuration of most CASE tools is • limited • ad hoc (or at least not principled) • metaCASE offers the possibility of principled and systematic • development of new or evolving tools • customisation of existing (metaCASE generated) tools
What this presentation is about • we are developing a generic constraint-based approach to tool specification in a metaCASE environment that offers • wide range of modelling techniques • configuration • of the modelling technique • of editing tool • of design support
Intrinsic vs Extrinsic Constraints Intrinsic Constraint - “v2 must be = v1 * 2” v2 v1 v1 * 2 value updated when v1 changes 2 Extrinsic Constraint - “v2 should be = v1 * 2” v1 2 v2 ? checked by constraint manager; different actions possible the constraint v2 = v1 * 2
Hard vs soft constraints • hard constraint - prohibits all actions that would violate the constraint • soft constraint - actions that violate constraints are possible during diagram construction
Levels of specification in a modelling tool • relationship levelboxes and lines (an uninterpreted graph) • representation levelthe semantics of the graph augmented to represent a software model • presentation levelthe appearance and interactive behaviour of the augmented graph
Using constraints to specify a modelling technique • examples of constraints to create a DFD modelling tool • relationship: must be fully connected graph • representation: must have a least one external source • presentation: external entities are displayed as ellipses
Other things we can do with constraints • style rules • critiquing - like Argo UML editor • guidelines • automated “to do” list • automated or semi-automated proof of assertions over constraint set • “Are the constraints consistent?”
DECS • Design Editor Constraint System • based on • Napier 88-based prototype (Serrano 97) • Representer System (Gray 96) • consists of • model editing tools • tool builder • constraint specification language
DECS: the (target) modelling tool Target Tool AugmentedGraph GraphView
DECS: the (target) modelling tool Target Tool Blah blah Constraints Blah blah Blah blah Blah blah ConstraintManager AugmentedGraph GraphView
DECS: the modelling tool generator Tool Generator Blah blah Target Tool Blah blah Constraints Blah blah Blah blah ConstraintManager AugmentedGraph GraphView
DECS: the modelling tool generator modellingtechnique classes Tool Generator tool specification( inVCt ) Blah blah Target Tool Blah blah Constraints Blah blah Blah blah ConstraintManager AugmentedGraph GraphView
Constraint specification • condition • scope • action parameters • critiquing message • optionally • default value • corrective action parameters
VCt : the DECS specification language • declarative language for describing modelling techniques • “There must be a least one external entity which provides input to the system” $e: ExternalEntity ·e ÎExternals(dfd)Ù $f: DataFlow·fÎDataFlows(dfd)Ù (source(f) = e)
State of our work • Prototype DECS run-time system • implemented in Java • based on GEF • limited techniques • constraints semi-automatically generated from XML specification • limited run-time constraint editor
State of our work • current work • VCt Java translator • VPBE system for constraint generation • addition of configurable augmented graph for run-time technique configuration • enhancement of presentation level
Future developments • investigate specification methods • VCt : is it usable? • dynamic specification • support • abstraction/explosion • design history • automatic verification • enhance range of corrective & supportive actions
The missing bit (Section 2.3) • Typically, design-time constraints are used to generate code that will prescribe the way in which the user can interact with the generated tool.