Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe A 3-Levels approach to GUI development for complex control systems Matteo Risoldi
Dec 21, 2015
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
A 3-Levels approachto GUI development
for complex control systems
Matteo Risoldi
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Outline
Part I: introduction– Description of the project– Control Systems and GUIs
Part II: the project– The 3 levels approach– A case study
Conclusion
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Part I: introduction
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Goal of the project
Building a methodology and techniques for model-based development
of GUIs for complex control systems
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Control System: definition
A computer system which automatically, or manually through an interface, controls a process or mechanical device by sensing the need to vary the output.
Examples:• Vehicles (airplanes, trains, cars…)• Industrial machines• Physics detectors• …
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Control Systems GUIs
Typical tasks:
• Monitor all components• Send commands• Receive feedback• Provide different levels of detail / hierarchy
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Control Systems GUIs
Interfaces to Control Systems can be complex:
• number of components• hierarchy• spatial navigation• adaptation
challenges to GUI design}
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Part II: the project
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
The 3 level approach - overview
Systemmodel
Logicalmodel
Visualmodel
Systemdescription
Database,Requirements…
GUI generation
GUI
Model of the physical system• components• hierarchy• communication
Model of the behaviourof the GUI objects.Their visual aspect isnot yet modeled.
Model of the visual aspectof the GUI objects.Based on one or more repositories of GUI widgets.
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Model generation process
Systemmodel
Logicalmodel
Visualmodel
GUIdescription
ControlSystemsExperts
Language used: CO-OPN(Concurrent Object-Oriented Petri Nets)- Formal- Based on Algebraic Data Types- Executable
3D
GUI Widgetrepositories
2D
ButtonButton
Rules
Rules
SystemBehaviouraldescription
SystemPhysical
description
Engineers
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
The 3 levels in CO-OPN
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
The lightbulb box example
• There is a box with 2 lightbulbs on it.
• The box has a port to send switch commands to the box (affects both bulbs) or to individual bulbs.
• Box and bulbs can give feedback on their status (on/off).
• The interface must be able to control the box and the bulbs via buttons. It has to represent their status (on/off/unknown)
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
SystemLevel
LogicalLevel
VisualLevel
The System level
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
LightBulb
SystemLevel
LogicalLevel
VisualLevel
Pattern: an object that has an internal 2 values, non-numeric state, with one command to invert it, and gives feedback on it.
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
LightBulb + Context
SystemLevel
LogicalLevel
VisualLevel
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
2 LightBulbs, 1 Box:modeling the system
SystemLevel
LogicalLevel
VisualLevel
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Problem: how to send commands/get feedback in the hierarchy?
SystemLevel
LogicalLevel
VisualLevel
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Adding command sending
SystemLevel
LogicalLevel
VisualLevel
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Adding feedback
SystemLevel
LogicalLevel
VisualLevel
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
The Logical Level
SystemLevel
LogicalLevel
VisualLevel
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Logical LightBulb
SystemLevel
LogicalLevel
VisualLevel
Pattern: a control that allows to send a non-parametric command, receives the state of the component and gives feedback on a 3 states value (non-numeric).
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Logical LightBulb + Context
SystemLevel
LogicalLevel
VisualLevel
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
System+Logical Levels:interaction
SystemLevel
LogicalLevel
VisualLevel
+
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
The Visual Level
SystemLevel
LogicalLevel
VisualLevel
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Visual widgets models
SystemLevel
LogicalLevel
VisualLevel
“Sends non-parametric command”
“Show n-states, non-numeric value”
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Visual widgets + contexts
SystemLevel
LogicalLevel
VisualLevel
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Visual control for 1 Lightbulb
SystemLevel
LogicalLevel
VisualLevel
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
3 Levels interacting
SystemLevel
LogicalLevel
VisualLevel
+
+
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
A case study
• CMS Silicon Strip Tracker control system at CERN• ~20.000 objects, organized in a hierarchy• System description will be present in a DB (now XML)• Interface to be (probably) realized in Java3D + PVSS• Currently making a smaller complexity prototype• First representation of geometry in 3D
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Conclusion• Modeling a control system and its interface • Using CO-OPN in a layered structure• Model under development• “Rules” to be better defined• “CommCheck” mechanism to be verified• Case study underway• Future collaborations: EIG & HEV for more studies on
3-Dimensional and adaptive interfaces
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Thank you
Questions?
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Coffee break!
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Classic GUI development
GUI development is typically HAND-CODED
This is not satisfactory if we want to:• Verify the interface with respect to expected functionality• Scale to complex systems• Test multiple different visual choices
Requirements Programmer Result
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
Model-based GUI development
We want to have a model for the GUI on which a prototype is built automatically
Requirements ResultModel Generation
Multi-prototypeVerification Scalability
Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe
The CMS Silicon Strip Tracker control system
• About 20.000 components
• Hierarchically structured
• Requirements for an easy navigation
• Strict requirements for reliability
• Adaptation of the GUI