Title: A 3level approach for
1A 3-level approach for Control Systems GUI
modeling with COOPN M. Risoldi
2Outline
- Introduction to the problem
- 3 levels of modeling
- System model
- Logical model
- Visual model
- Levels interaction and transformation
- Status and outlook
3Problem
- Modeling a GUI for a control system using COOPN.
- Control system a system used to monitor the
state of a hardware apparatus, sending commands
to and retrieving responses from its components. - Components can be organized in a hierarchy.
- Commands can be sent to components, with or
without parameters, to change or poll their
state. - Components can send messages to the interface
notifying their state. - External events can change component states
independently from the interface. - The communication between the interface and the
system is subject to failures.
Introduction 3 levels System Logical
Visual Interaction Transform. Status Outlook
4Different aspects of the problem
- There are 3 aspects to this problem
- Modeling the objects and their hierarchy
- Modeling the interface logical aspects
- Modeling the interface visual aspects
Introduction 3 levels System Logical
Visual Interaction Transform. Status Outlook
- Each can be taken into account with a level of
modelization - A system model level
- A logical model level
- A visual model level
5System model level
- In the system model level we model the objects
and their hierarchy. - The objects themselves are represented by
classes. This allows for different objects, and
different types inside an object. - Objects have methods and gates which express low
level behavior and properties pertaining to the
single object.
Introduction 3 levels System Logical
Visual Interaction Transform. Status Outlook
MyObject
method1
s
method1 will read the internal state of the
object and make it available on gate1 method2
will change the internal state of the object and
make it available on gate1
s
gate1 _
state
s
method2 _
t
6System model level
- The hierarchy of objects is attained through the
use of contexts associated to objects. - Contexts can be nested to express a composition
of objects.
Introduction 3 levels System Logical
Visual Interaction Transform. Status Outlook
MyObject
OtherObjectContext
OtherObjectContext
OtherObject
OtherObject
7Logical model level
- Focuses on interaction at the level of the
interface (but not considering the nature of the
interface). - At this level, objects are mapped to their
logical representation, i.e. they acquire methods
and properties which can be (in an abstract way)
pertaining to a GUI object. - Example toggle, show details, show children
objects - Must interact with the System model by
translating actions to corresponding actions on
objects. - Must also retain abstract information about the
visual status of an object, such as visibility,
or a state indication. How this will be
represented in the GUI is a task for the visual
model level.
Introduction 3 levels System Logical
Visual Interaction Transform. Status Outlook
8Logical model level
- Similarly to the System model level, the Logical
model level has - classes representing the GUI control
- contexts enclosing classes which allow
interaction with other levels and hierarchy of
controls
Introduction 3 levels System Logical
Visual Interaction Transform. Status Outlook
MyLogObjContext
method1
gate1 _
9Visual model level
- This is attaining the actual visual
representation of objects in the interface. It
should couple logical objects with an avatar,
their visual projection, which can be of
different nature (tree node, icon, 3d model,
widget). - The avatar must allow interaction with the
logical object (i.e. show its methods and
properties). Also, it should probably add actions
related to the used visual paradigm (e.g. open a
tree node). - At this level, visual behavior of objects should
be modeled (e.g. show all children should move
the visualization down one level, whatever this
means), giving a visual follow-up to abstract
actions of the logical level.
Introduction 3 levels System Logical
Visual Interaction Transform. Status Outlook
10Interaction of levels
Visual model
User
Introduction 3 levels System Logical
Visual Interaction Transform. Status Outlook
Properties Return values in abstract format
Methods on interface objects
Logical and Visual levels have some
methods/properties which stop at that level, and
others which are sent/taken from the levels above
and below.
Logical model
Physical objects methods
Properties notification
System model
11Modeling failures
- Failures have to be taken into account that can
be of different nature - Physical failures in an object
- Physical failures in the control of an object
- Communication failures between levels
- (others?)
- These have to be modeled for simulation. It can
be done with - additional states/variables and conditions
- appropriate methods and gates to simulate
failures/repairs
Introduction 3 levels System Logical
Visual Interaction Transform. Status Outlook
12Climbing levels
Introduction 3 levels System Logical
Visual Interaction Transform. Status Outlook
13Why two levels for interface?
- The logical interface model is stable once
defined the nature of the interaction, it is
independent on the visual paradigm adopted. - The visual level is incidental in principle, a
logical interface can be remapped to any
(reasonable) visual paradigm. - Possible outcome use code bricks that can be
assembled to automatically generate a GUI from
the logical model. - Have a Logical ?? Visual interface which allows
to - understand the type of interaction with the
control - associate a widget to it
- This could be skinnable different visual
paradigms could be selected, and generate
different interfaces for the same Logical model
Introduction 3 levels System Logical
Visual Interaction Transform. Status Outlook
14Status and Outlook
- Currently, the System and Logical model have been
modeled and simulated in CoopnBuilder using a
very simple example (a switch and light bulb
control system). - Upcoming work
- Model and simulate failures
- Model and simulate hierarchy (more complex
system) - Verify scalability
- Prototype a visual model in CoopnBuilder
- Consider automatic code generation from the
model - Target scenario
- Have a methodology which, from a Control System
specification, can translate (automatically?) to
COOPN and generate a GUI for it.
Introduction 3 levels System Logical
Visual Interaction Transform. Status Outlook