Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe A 3-Levels approach to GUI development for complex control systems Matteo Risoldi.

Post on 21-Dec-2015

215 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

Transcript

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

top related