22
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}

Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

Philip Gray & Ray WellandComputing Science DeptUniversity of Glasgow, Scotland{pdg, ray}@dcs.gla.ac.ukwww.dcs.gla.ac.uk/{~pdg, ~ray}

Page 2: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

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

Page 3: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

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 techniqueof editing toolof design support

Page 4: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

Intrinsic vs Extrinsic Constraints

Intrinsic Constraint - “v2 must be = v1 * 2”

Extrinsic Constraint - “v2 should be = v1 * 2”

2

2

v1

v2

?v2

v2 = v1 * 2

checked byconstraint manager; different actions possible

v1 * 2v1 value updated when v1 changes

the constraint

Page 5: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

Varieties of specification constraints

Design-Time Constraints

Core System

Constraints

Constraint Manager

Run-Time System

EmbeddedConstraints

Run-TimeConstraints

in tool specification language

in designer’s head

Tool Builder

Tool Specification

Page 6: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

Varieties of specification constraints

Design-Time Constraints

Core System

Constraints

Constraint Manager

Run-Time System

EmbeddedConstraints

Run-TimeConstraints

in tool specification language

in designer’s head

Tool Builder

Tool Specification

Page 7: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

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

Page 8: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

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

Page 9: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

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

Page 10: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

Other things we can do with constraints

style rulescritiquing - like Argo UML editor

guidelines automated “to do” list

automated or semi-automated proof of assertions over constraint set “Are the constraints consistent?”

Page 11: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

DECS

Design Editor Constraint Systembased on

Napier 88-based prototype (Serrano 97) Representer System (Gray 96)

consists of model editing tools tool builder constraint specification language

Page 12: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

DECS: the (target) modelling tool

AugmentedGraph

GraphView

Target Tool

Page 13: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

AugmentedGraph

GraphView

Target Tool

DECS: the (target) modelling tool

ConstraintManager

ConstraintsBlah blah

Blah blah

Blah blah

Blah blah

Page 14: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification
Page 15: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

Tool Generator

DECS: the modelling tool generator

AugmentedGraph

GraphView

Target Tool

ConstraintManager

Constraints Blah blahBlah blahBlah blah

Blah blah

Page 16: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

AugmentedGraph

GraphView

Target Tool

ConstraintManager

Constraints

Tool Generatortool

specification( in VCt )

modellingtechnique

classes

DECS: the modelling tool generator

Blah blahBlah blahBlah blah

Blah blah

Page 17: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

Constraint specification

conditionscopeaction parameters

critiquing message optionally

default valuecorrective action parameters

Page 18: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

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)

Page 19: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

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

Page 20: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

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

Page 21: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

Future developments

investigate specification methods VCt : is it usable? dynamic specification

support abstraction/explosion design history automatic verification

enhance range of corrective & supportive actions

Page 22: Increasing the Flexibility of Modelling Tools via Constraint-Based Specification

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.