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

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

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe A 3-Levels approach to GUI development for complex control systems Matteo Risoldi.

Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe

A 3-Levels approachto GUI development

for complex control systems

Matteo Risoldi

Page 2: Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe A 3-Levels approach to 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

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

Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe

Part I: introduction

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

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

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

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• …

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

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

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

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}

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

Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe

Part II: the project

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

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.

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

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

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

Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe

The 3 levels in CO-OPN

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

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)

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

Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe

SystemLevel

LogicalLevel

VisualLevel

The System level

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

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.

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

Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe

LightBulb + Context

SystemLevel

LogicalLevel

VisualLevel

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

Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe

2 LightBulbs, 1 Box:modeling the system

SystemLevel

LogicalLevel

VisualLevel

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

Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe

Problem: how to send commands/get feedback in the hierarchy?

SystemLevel

LogicalLevel

VisualLevel

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

Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe

Adding command sending

SystemLevel

LogicalLevel

VisualLevel

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

Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe

Adding feedback

SystemLevel

LogicalLevel

VisualLevel

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

Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe

The Logical Level

SystemLevel

LogicalLevel

VisualLevel

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

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).

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

Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe

Logical LightBulb + Context

SystemLevel

LogicalLevel

VisualLevel

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

Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe

System+Logical Levels:interaction

SystemLevel

LogicalLevel

VisualLevel

+

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

Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe

The Visual Level

SystemLevel

LogicalLevel

VisualLevel

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

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”

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

Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe

Visual widgets + contexts

SystemLevel

LogicalLevel

VisualLevel

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

Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe

Visual control for 1 Lightbulb

SystemLevel

LogicalLevel

VisualLevel

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

Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe

3 Levels interacting

SystemLevel

LogicalLevel

VisualLevel

+

+

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

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

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

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

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

Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe

Thank you

Questions?

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

Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe

Coffee break!

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

Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe

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

Les Diablerets - 07/07/2005 - M.Risoldi - SMV UniGe

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

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

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

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

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

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