156
IDM & IHM un point de vue partiel Mireille Blay-Fornarino (octobre 2016 ) 1

Idm et ihm

Embed Size (px)

Citation preview

Page 1: Idm et ihm

IDM & IHM un point de vue

partiel

Mireille Blay-Fornarino (octobre 2016)

1

Page 2: Idm et ihm

Ingénierie des modeles et Interactions Homme-Machine ?

• Objectifs de ce cours :

• Avoir une compréhension générale de l’IDM

• Appréhender la nécessité d’utiliser l’IDM dans la construction des IHMs

• Percevoir les bouleversements logiciels induits par les IHMs

2

Survol de quelques travaux prospectifs.

Page 3: Idm et ihm

IHMs : Un point de vue développeur

• IHM = Ce qui fait vendre : essentiel

• IHM : Lourd à développer, tester, déployer, ....

• IHM & adaptation aux utilisateurs :

• l’enfer du développeur.

• IHM = Point d’entrée dans le système (pour l’utilisateur, c’est le produit !!)

• Agilité du code et IHM : .... ?

3

Page 4: Idm et ihm

IHMs : Un point de vue développeur

4

the graphical user interface (GUI) of an interactive system represents about 48% of the source code, requires about 45% of the development time and 50% of the implementation time, and covers 37% of the maintenance time (Myers and Rosson, 1992)

Page 5: Idm et ihm

IHMs : Un point de vue développeur, « vous modifiez vos codes pour : »

5

Sondage en coursNombrederéponses Pourcentage

Trèssouvent 34 15,9%

77,6%Souvent 57 26,6%

Régulièrement 75 35,0%

Rarement 38 17,8%22,5 %

Jamais 10 4,7%

Somme 214

Page 6: Idm et ihm

IHMs : Un point de vue développeur

6

• La complexité des UI augmente dans le temps➡ nouveaux évènements, devices, use cases, interactions• Outils de mise en oeuvre des UI peu performants ou inexistants • Les outils de modélisation généraux ne sont pas adaptés à la

production des UI «modernes».

Page 7: Idm et ihm

IHMs : Un monde en

pleine évolution

«logicielle»

7

Page 8: Idm et ihm

IHMs : Un monde en pleine évolution «logicielle»

• Multiplicité des supports (et de leurs capacités)

• Déplacement de la production du logiciel vers des experts «métiers»

• Démocratisation du «numérique» (accessibilité, richesse)

8

• Multi-modalités

Page 9: Idm et ihm

Société du numérique

9

"Le pouvoir du Web est son Universalité. Qu'il soit accessible par n'importe qui quel que soit son handicap est un de ses aspects essentiels." Tim Berners Lee - Directeur et inventeur du World Wide Web.

Loi n° 2005-102 du 11 février 2005 « Les services de communication publique en ligne des services de l’Etat, des collectivités territoriales et des établissements publics qui en dépendent doivent être accessibles aux personnes handicapées.

Appel H2020 : Cyber-Physical Systems (CPS) refer to next generation embedded ICT systems that are interconnected and collaborating including through the Internet of things, and providing citizens and businesses with a wide range of innovative applications and services. These are the ICT systems increasingly embedded in all types of artefacts making "smarter", more intelligent, more energy-efficient and more comfortable our transport systems, cars, factories, hospitals, offices, homes, cities and personal devices. Focus is on both reinforcing European industrial strengths as well as exploring new markets.

=> Développement centré utilisateur

=> Langages spécifiques domaines

=> Autres approches du développement logiciel

Page 10: Idm et ihm

IHMs : Un monde en pleine évolution «logicielle»

• Multiplicité des supports (et de leurs

• Déplacement de la production du logiciel vers des experts «métiers»

• Démocratisation du «numérique» (accessibilité, richesse)

• Intégration des IHMs aux environnements : documents collaboratifs; BD : phpmyadmin; Processus Métier : bonitaSoft ; googleMap ; ....

10

• Multi-modalités

Page 11: Idm et ihm

IHMs : Un monde en pleine évolution «logicielle»

• Multiplicité des supports (et de leurs

• Déplacement de la production du logiciel vers des experts «métiers»

• Démocratisation du «numérique» (accessibilité, richesse)

• Intégration des IHMs aux environnements

➡ Exigences : Accélération de la production, grande adéquation à l’utilisateur et réduction des coûts

11

• Multi-modalités

Page 12: Idm et ihm

Mais ...• In many cases, the tools that exist rely on proprietary formats, or APIs

specific to particular programming languages, and this hinders developers from switching between tools, and this is increasingly a concern in a number of industries, e.g. aviation and automotive.

• The emergence of popular libraries such as jQuery demonstrate the importance of reducing the burden on developers, and the need to decouple the effort required to work on different aspects of design and implementation of interactive application front ends.

• If you are focusing on the usability or styling of a user interface, you shouldn't need to deal with the lower level details of how this will be realized on a given device or platform.

12

Une autre approche de la construction des IHMs

Page 13: Idm et ihm

model-based user interface development environment (MBUIDE):

• includes a high-level, abstract and explicitly represented (declarative) model about the interactive system to be developed (either a task model or a domain model or both)”

• exploits a clear and computer-supported relation from (1) to the desired and running UI. That means that there is some kind of automatic transformation like knowledge-based generation or simple compilation to implement the running UI.“

13Past, Present, and Future of Model-BasedUser Interface , nov. 2011

(Schlungbaum, 1996)

Page 14: Idm et ihm

From model-based user interface development environment (MBUIDE) to

Model Driven ....

14Past, Present, and Future of Model-BasedUser Interface , nov. 2011

Abstraction des GUI et Génération

b

Niveau sémantique : ex, modèles

de tâches

Interactions et Devices :

indépendance et choix

appropriésContext-

Sensitive & usability :

model driven and not

model based

Page 15: Idm et ihm

Ingénierie des modèles : principes

http://www.theenterprisearchitect.eu/archive/2009/08/05/a-metaphor-for-model-driven-engineering

15

Page 16: Idm et ihm

L’Electricien et l’Informaticien

Un problème, des besoins

Un composant virtuel (des entrées des sorties)

Des portes AND, OR, NOR, …

Un schéma électrique

Le composant électrique Le programme informatique

Modèle

16 X. Blanc -Université Paris 6

Page 17: Idm et ihm

Principes

17

From : Model-driven engineering: A survey supported by the unified conceptual model October 2015

To distinguish a model from any other type of artefact, Stachowiak proposes three criteria for their unique identification [40]: (1) Mapping criteria: It must be possible to identify the object or original phenomenon (of the system) that is represented or mapped in the model; (2) Reduction criteria: The model must be a simplified version of the original, so not all aspects of the original must be depicted in the model; and (3)Pragmatism criteria: The model has to be useful; namely it should be able to replace the original for certain purposes.

Page 18: Idm et ihm

Principes

18

From : Model-driven engineering: A survey supported by the unified conceptual model October 2015

Page 19: Idm et ihm

Principes

19

From : Model-driven engineering: A survey supported by the unified conceptual model October 2015

Page 20: Idm et ihm

Modèles et métamodèles

20

Page 21: Idm et ihm

Modèle

• définition du standard UML – "A model is an abstraction of a physical system, with a certain

purpose."

• "A model is a simplification of a system built with an intended goal in mind. The model should be able to answer questions in place of the actual system.“ : Bézivin et Gérbé

Magritte

21

Page 22: Idm et ihm

Un modèle : un point de vue sur un système

Percentage of termite infestation

in France.

The System

Models

France in 1453 The cheese french map

Railroad map in western fFrance

System ModelrepOf22

Page 23: Idm et ihm

Modèle : abstraction/simplification

Make everything as simple as possible, but not simpler. by Albert Einstein

Metro avant 1949

23

Page 24: Idm et ihm

MDA proposed R&D Agenda : "Everything is a model"

… (or may be converted into a model), not only PIMs and PSMs 1. A process is a model 2. A platform is a model 3. A transformation is a model 4. A system is a model 5. A metamodel is a model 6. A model-element is a model 7. A program is a model 8. An execution trace is a model 9. A measure is a model 10.A test is a model 11.A decoration is a model 12.An aspect is a model 13.A pattern is a model 14.A legacy system is a model 15.etc.

24

Page 25: Idm et ihm

Modèle représentant un modèle

Ce n’est pas un métamodèle !

25

Page 26: Idm et ihm

Un modèle n’a pas de signification sans « son métamodèle »

Percentage of places infested by termites in France.

First round of political election in France in 2002.

26

Page 27: Idm et ihm

Métamodèle dans l’IDM : vers des modèles productifs

• dans le contexte de l'IDM, Warmer et ses collègues donnent la définition suivante:

"A model is a description of (part of) a system written in a well-defined language"

• "A meta-model is a model that defines the language for expressing a model".

27

Page 28: Idm et ihm

Des langages pour décrire des métamodèles

• Meta Object Facility (MOF) • Eclipse Modeling Framework (EMF) • Graph eXchange Language Metaschema (GXL) • UML 2.0 infrastructure • KM3

28

Page 29: Idm et ihm

La pyramide des quatre niveaux

meta-meta modèle

meta

modèle

Données UtilisateurM0

M1

M2

M3

29

Page 30: Idm et ihm

Relations entre les niveaux

the UML Meta-Model

Class Attribute*1

a UML Model

Client

Name : String

M2

M1

the MOF

Class Association

source

destination

M3

c2

c2

c2

metameta meta

metameta

metamodel

model

"the real world"

meta-meta model

The MOF

The UML metamodel

Some UML ModelsVarious usages of these modelsM0

M1

M2

M3

χ χ

χ χ χ

30

Page 31: Idm et ihm

Les 4 niveaux de modélisation

• Hiérarchie à 4 niveaux existe en dehors du MOF et d'UML, dans d'autres espaces technologiques que celui de l'OMG – Langage de programmation

• M0 : l'exécution d'un programme • M1 : le programme • M2 : la grammaire du langage dans lequel est écrit le programme • M3 : le concept de grammaire EBNF

– XML • M0 : données du système • M1 : données modélisées en XML • M2 : DTD XML • M3 : le langage XML

31

Page 32: Idm et ihm

Modélisation des tâches

32

http://www.w3.org/2005/Incubator/model-based-ui/XGR-mbui-20100504/

Page 33: Idm et ihm

MetaModèle de tâches

33

Page 34: Idm et ihm

Modèle de tâches

34

<taskModel> <task id='root' name='Digital Home' type='abstract'> <relations> <enabling left='login' right='access' /> <deactivation left='access' right='close' /> </relations> </task> <task id='access' name='Control System' type='abstract' parent='root'> <relations> <choice> <task id='home' /> <task id='entmt'> <contextCondition situation='atHome' /> </task> <task id='presence' /> </choice> </relations> </task> <task id='home' name='Control Home' type='abstract' parent='access'> <relations> <choice> <task id='crooms' /> <task id='domesticappls' /> </choice> </relations> </task> <task id='croom' type='abstract' parent='home' name='Control Rooms'> <relations> <enablingInfo left='selroom' right='control' /> </relations> </task></taskModel>

Page 35: Idm et ihm

Transformations de modèles

35

Page 36: Idm et ihm

Write Once, Run Anywhere

CORBA

Java/EJBC#/DotNet

Web/XML/SOAP

PIM

etc.

Platform-Independent Model

Multi-target code generation

+ SVG, GML, Delphi, ASP, MySQL, PHP, etc.

data grid computing pervasive computing cluster computing

SMIL/Flash

[JB04]

Modèles neutres basés sur UML et MOF

Model Once, Generate Anywhere

36

Page 37: Idm et ihm

Principes “généraux” MDA de génération de code

Conforms to Conforms to

37

Page 38: Idm et ihm

Etapes du processus MDAwww.sqli.com/ressources/files/IBCom_mai2006_MDEMDA_ecourte.doc

CWM : Langage de modélisation pour les entrepôts de données, Common Warehouse Meta-model XMI : XML Model Interchange, le standard des échanges entre modèles PDM : Plateform Description Model 38

Page 39: Idm et ihm

IDM pour les IHMS

39

image : http://www.festo.com/cms/fr_fr/9548.htm

Page 40: Idm et ihm

Langages de descriptions

d’IHMs &

Transformations

40

Image : http://fr.wikipedia.org/wiki/Tour_de_Babel

1) MBUI &

2) FIML

Page 41: Idm et ihm

• The mission of the Model-Based UI Working Group, part of the Ubiquitous Web Applications Activity, is to develop standards as a basis for interoperability across authoring tools for context aware user interfaces for Web-based interactive applications.

41

Page 42: Idm et ihm

Cameleon Reference Framework

42

Page 43: Idm et ihm

43

Abstraction levels for multi-platform development

http://www.w3.org/2005/Incubator/model-based-ui/wiki/Main_Page

Indépendant plateforme et

modalité

Page 44: Idm et ihm

Exemple de transformation

44http://personales.upv.es/jopana/Files/Conferences/A_Proposal_for_Enhancing.pdf

Page 45: Idm et ihm

Cameleon Reference Framework : Transformations

45

Transformations

• Concretization : operation that transforms a particular model into another one of a lower level of abstraction, ex : the Task and Domain level (task model and/or the domain model) is “concretized” into an Abstract UI model,...

•Abstraction : operation that transforms a UI representation from any level of abstraction to a higher level of abstraction. Reverse engineering of user interfaces is a typical example of abstraction.

•Translation : operation that transforms a description intended for a particular context of use into a description at the same level of abstraction, but aimed at a different context of use.

Page 46: Idm et ihm

The CAMELEON Reference Framework

46

http://www.w3.org/2005/Incubator/model-based-ui/XGR-mbui-20100504/#crf

Page 47: Idm et ihm

Exemples à différents niveaux de modélisation

47

Page 48: Idm et ihm

Digital Home

48http://www.w3.org/TR/mbui-intro/#uc2-digital-home

Page 49: Idm et ihm

IDM pour concevoir des IHM indépendante plateforme

49http://www.w3.org/TR/mbui-intro/#uc2-digital-home

?

Page 50: Idm et ihm

The Task Model for the Digital Home.

50

http://www.w3.org/TR/mbui-intro/#uc2-digital-home

Page 51: Idm et ihm

IDM pour concevoir des IHM indépendante plateforme

51http://www.w3.org/TR/mbui-intro/#uc2-digital-home

Page 52: Idm et ihm

IDM pour concevoir des IHM indépendante plateforme

52http://www.w3.org/TR/mbui-intro/#uc2-digital-home

Page 53: Idm et ihm

UI development in the automotive industry to handle UI varieties and to increase

efficiency of UI development processes

53

Introduction to Model-Based User InterfacesW3C Working Group Note 07 January 2014

The idea was to devise a toolkit that would reduce the time it takes to develop the human machine interface, which puts controls for everything from the vehicle’s radio to advanced active-safety systems in front of the driver.

http://wardsauto.com/vehicles-amp-technology/project-aims-faster-development-hmi-systems

Page 54: Idm et ihm

UI development in the automotive industry

Objectives : For example, if a designer produces a screen in Photoshop, software developed in the automotiveHMI project can pull the design data from the image, such as the color, size in pixels and location, and deliver it to the developer.

Each auto maker has its own rules for the look and feel it wants to present on its infotainment screens, and one aspect of the automotiveHMI language allows the OEM to prepare a sort of algorithm rulebook for its style and run this package of constraints on the developer’s version of a screen to identify errors early.

Orfgen says using the system should result in better quality, faster development and lower costs. Because the language is common, any supplier will be able to develop software for any auto maker, much redundancy in training will be reduced and developers will be able to spend more time improving content.

54

http://wardsauto.com/vehicles-amp-technology/project-aims-faster-development-hmi-systems

Sep 11, 2013 William Diem | WardsAuto

PROBLEM : «Car infotainment systems are currently developed using huge textual specifications that are refined iteratively while parallel being implemented. This approach is characterized by diverging specifications and implementation versions, change request negotiations and very late prototyping with cost-intensive bug fixing. Number and variety of involved actors and roles lead to a huge gap between what the designers and ergonomists envision as the final version, what they describe in the system specification and how the specification is understood and implemented by the developers.»

Page 55: Idm et ihm

UI development in the automotive industry to handle UI varieties and to increase

efficiency of UI development processes

55 http://www.w3.org/TR/mbui-intro/#uc6-automotive

In the automotive industry UIs are developed starting at the CUI level. Normally developers start with sketches, mock-ups or paper prototypes and iterate. On the basis of mock-ups interaction and graphical designers refine the mock-ups to wireframes and finally develop the graphical design e.g., with Adobe Photoshop. In the end the prototypes are manually transferred into a final UI for a specific infotainment system. The project automotiveHMI (http://www.automotive-hmi.org/) is developing a process and a UIDL to integrate the working artifacts of the involved developers to generate the FUI automatically.

Page 56: Idm et ihm

Différentes mises en oeuvre compatibles avec le Framework de Reference Cameleon

56

Page 57: Idm et ihm

57http://modeling-languages.com/ifml-interaction-flow-modeling-language-1-0-tutorial/

Février 2015

http://www.omg.org/spec/IFML/

The UI Design solution: IFML

No model driven

engineering

Platform independent description of UIs

Focused on user interactions

No definition of graphics and styles

Reference external models

Page 58: Idm et ihm

58http://modeling-languages.com/ifml-interaction-flow-modeling-language-1-0-tutorial/

IFML Objectives: Content

Content

Page 59: Idm et ihm

59http://modeling-languages.com/ifml-interaction-flow-modeling-language-1-0-tutorial/

IFML Objectives : Navigation Path

Page 60: Idm et ihm

60http://modeling-languages.com/ifml-interaction-flow-modeling-language-1-0-tutorial/

IFML Objectives: Events

Mouse Over

Page 61: Idm et ihm

61http://modeling-languages.com/ifml-interaction-flow-modeling-language-1-0-tutorial/

IFML Objectives: Binding to Business logic

Page 62: Idm et ihm

62http://modeling-languages.com/ifml-interaction-flow-modeling-language-1-0-tutorial/

IFML Objectives: Binding to persistence

Content

Book

Title: string Cover: file List Price: currency Price: currency Save: currency Rating: integer ………

Page 63: Idm et ihm

63http://modeling-languages.com/ifml-interaction-flow-modeling-language-1-0-tutorial/

IFML Essentials (point de vue « user »)

Page 64: Idm et ihm

64http://modeling-languages.com/ifml-interaction-flow-modeling-language-1-0-tutorial/

IFML by example

BasicnavigationflowbetweenViewComponents

Artists List

Artists

Artist

Event

View Component

View Container ParameterBinding«ParameterBindingGroup» SelectedArtist -> AnArtist

Page 65: Idm et ihm

65

IFML by example

Page 66: Idm et ihm

66http://modeling-languages.com/ifml-interaction-flow-modeling-language-1-0-tutorial/

Page 67: Idm et ihm

67http://modeling-languages.com/ifml-interaction-flow-modeling-language-1-0-tutorial/

Page 68: Idm et ihm

68http://modeling-languages.com/ifml-interaction-flow-modeling-language-1-0-tutorial/

Page 69: Idm et ihm

69

IFML : Metamodels

Page 70: Idm et ihm

70

IFML : Metamodels

InteractionFlowModel

Page 71: Idm et ihm

71

ACER

Page 72: Idm et ihm

72

ACER

Page 73: Idm et ihm

73

ACER

Page 74: Idm et ihm

74

ACER

Page 75: Idm et ihm

Difficultés

• La transformation de modèles peut faire passer X à Z ... mais comment pouvons-nous assurer que l’utilisabilité n'est pas perdue dans ce processus?

• Comment combiner les transformations de modèles et l'intention des designers? quid des interaction à grains fins,...

• Dure de gérer les erreurs si les développeurs doivent passer par dans le code pour voir et corriger les spécifications

• Les langages de descriptions d’UI sont une des solutions adéquates pour le développement des interfaces utilisateur multi-plateformes, mais une étude plus approfondie devrait être menée pour comprendre comment les développeurs et les concepteurs les emploient dans la pratique

75

Page 76: Idm et ihm

Mireille Blay-Fornarino – 2012 EPU département SI, Master STIC

MDD Principles

76

Page 77: Idm et ihm

IDM pour améliorer la construction

des IHMs

77

Image : http://www.sapdesignguild.org/editions/edition3/interact_design.asp

Page 78: Idm et ihm

78

Towards optimizing the usability of user interfacegenerated with model-driven development process,

Juin 2015

- Comment prendre en compte l’utilisabilité d’une IHM dès le début du développement?

- Comment contrôler sa génération pour assurer son utilisabilité?

Page 79: Idm et ihm

79

Towards optimizing the usability of user interfacegenerated with model-driven development process,

Juin 2015

Page 80: Idm et ihm

80

Evaluer l’utilisabilité d’une interface => quels métrics, quelles valeurs ?

ISO/IEC 9126-1standard

Towards optimizing the usability of user interfacegenerated with model-driven development process,

Juin 2015

Wi : Poids des paramètres d’utilisabilité (préférence utilisateur, caractéristique du device, ) Vi : sa valeur

Page 81: Idm et ihm

The Information Density of a user interface can be measured by the number of elements per user interface:

where n represents the total number of UI elements per interface.81

Towards optimizing the usability of user interface generated with model-driven development process, Juin 2015

Critères d’utilisabilité basés sur l’interface concrète

ISO/IEC 9126-1standard

The Prompting presented by a user in te r face can be measured in terms of the proportion of label that displays supplementary information:

where StaticField() returns the number of labels which displaythe supplementary information and n is the total number ofstatic field (label).

Brevity attribute (BR) can be quantified by the number of steps required to accomplish a task:

whe re d i s tance (x , y ) returns the distance between source screen(x) and the target screen (y).

The error prevention can be quantified by the percentage of the list primitive used instead of text field when the input e l e m e n t h a s a s e t o f enumerated values:

where list(x) returns the number of the list primitive and n is the number of input data elements with limited possible values.

The user control actions can be measured according to the degree of control assigned by the system which includes cancellability, undoability and explicit user actions:

where xi represents the action elements and n represents the total number of elements.

Page 82: Idm et ihm

82

Quelle priorité en fonction des utilisateurs ?

Towards optimizing the usability of user interfacegenerated with model-driven development process,

Juin 2015

Page 83: Idm et ihm

83

ISO/IEC 9126-1standard

Towards optimizing the usability of user interface generated with model-driven development process, Juin 2015

Critères d’utilisabilité basés sur l’interface concrète

Page 84: Idm et ihm

84

Towards optimizing the usability of user interface generated with model-driven development process, Juin 2015

Critères d’utilisabilité basés sur l’interface concrète

Expert InterfaceNovice Interface

Page 85: Idm et ihm

Un exemple d’atelier dédié aux IHMs basé

sur l’IDM

85

Image : http://www.sapdesignguild.org/editions/edition3/interact_design.asp

Page 86: Idm et ihm

Un exemple d’atelier basé sur l’IDM

86

On stories, models and notations: Storyboard creation as an entry point for model-based interface development with UsiXML

In Faure, D., Vanderdonckt, J., (Eds.), Proc. of 1st Int. Workshop on User Interface Extensible Markup Language UsiXML’2010 (Berlin,20 June 2010), Thales Research and Technology France, Paris, 2010

Page 87: Idm et ihm

StoryBoard

http://research.edm.uhasselt.be/~kris/research/projects/StoryBoardML/

87

«To enable integration of ... storyboards with other models, we need a meta-model for these storyboards.»

Page 88: Idm et ihm

Un métamodele

pour les storyborad

88

Page 89: Idm et ihm

89

l Set of models for describing UI (structure, presentation and dialog) at different abstract levels, including: l UI Model l Mapping Model l Domain Model l AUI Model l CUI Model l Task Model l Context Model l Transformation Model l Resource Model

Page 90: Idm et ihm

Task Model Generation

90

module activity2task; create OUT : MUsiXmlTask from IN : Mstoryboard2; rule activity2task{ from a : Mstoryboard2!Activity to t : MUsiXmlTask!Task (name <- a.title) }

- Activités ➥ tâches- Scène ➥ structuration des tâches- Relations entre les scènes induisent des relations d’ordre entre les tâches

Page 91: Idm et ihm

91

The meta-model for the UsiXML context model.

Page 92: Idm et ihm

Partial Context Model Generation

92

- Persona ➥ userStereoType - Device element ➥ hardwarePlatform and softwarePlatform - Annotations

* Noise ➥ isNoisy property and set it to true. * Light ➥ lightningLevel property.

....

Page 93: Idm et ihm

Mapping editor ;-)

93

Page 94: Idm et ihm

IDM en support aux applications

complexes : Réalité

virtuelle

94

Image : http://www.irisa.fr/immersia/collaviz/

Page 95: Idm et ihm

MDE en support aux applications complexes : Réalité virtuelle

95

• Collaviz framework (http://www.irisa.fr/immersia/collaviz/)

- création d’objets virtuels

- création de mondes virtuels- associations entre des objets physiques et des objets

virtuels

- interactions via les objets physiques avec les objets virtuels.

When Model Driven Engineering meets Virtual Reality:Feedback from Application to the Collaviz Framework

Thierry Duval∗Université Rennes 1

IRISA – UMR CNRS 6074Arnaud Blouin†

INSA RennesIRISA – UMR CNRS 6074

Page 96: Idm et ihm

public class A_Compass extends A_Tool implements IA_Compass { protected String northId ; protected IA_SupportedObject north; protected Transform targetTransform = null ; public A_Compass (String objectType, String objectName, IC_ObjectManager objectManager) { super (objectType, objectName, objectManager) ; parameters.put("North",northId); registerModificationCallback ("setNorth", new ICallbackHandler () { @Override public void callback (Object [] args) { setNorth((String)args[0]); } }); } ETC...

Un objet Virtuel dans Collaviz

96

public interface IA_Compass extends IA_Tool { void setNorth (String target); }

public interface IC_Compass extends IA_Compass, IC_Tool{}

public class CService_Compass extends CService_Tool

implements IC_Compass { public CService_Compass (IA_SharedObject abstraction, boolean referentProxyArchi, int accessLevel, CService_ObjectManager objectManager) { super (abstraction, referentProxyArchi, accessLevel, objectManager) ; } @Override public void setNorth (){ callModificationMethod ("setNorth"); } }

Page 97: Idm et ihm

MDE en support aux applications complexes : Réalité virtuelle

97

package org.collaviz.clientJava3D.pJava3D ; public interface IP_Compass extends IP_Tool, ISceneGraphObject {

public class PJava3D_Compass extends PJava3D_Tool implements IP_Compass { public PJava3D_Compass (IC_SharedObject ctr, Vector3d translation, Quat4d rotation, Vector3d scale, PJava3D_ObjectManager presObjManager, String geometry){ super (ctr, translation, rotation, scale, geometry, presObjManager) ; }

Présentation

Page 98: Idm et ihm

MDE en support aux applications complexes : Réalité virtuelle

98

<virtualObject id="compass1" type="Compass"> <owners>All</owners> <accessLevel>3</accessLevel> <param name="Support" type="String">support</param> <param name="north" type="String">north</param> </virtualObject>

<virtualObject id="support" type="Tool"> ...</virtualObject>

<virtualObject id="north" type="SupportedObject">... </virtualObject>

<virtualObject id="Hand1_User1" type="Cursor3D"> <param name="Offset" type="Transform"> 0 0 0 0 0 0 0.03 0.03 0.03</param> <param name="Color" type="Color">1.0 0.0 0.0</param> <param name="Geometry" type="String">cube</param> </virtualObject>

Instanciation des objets virtuels

Page 99: Idm et ihm

processus pour aider la génération des composants

99

DSL pour les

designers

1- Modéliser les objets virtuels

Page 100: Idm et ihm

Un métamodèle dédié à Collaviz

100

Page 101: Idm et ihm

Un modèle d’objet virtuel

101

Utilisation de l’éditeur basé sur

le MM.

Page 102: Idm et ihm

Réalité virtuelle : processus

102

2- Associer les objets virtuels

et leur représentation

Page 103: Idm et ihm

Réalité virtuelle : processus

103

http://www.eclipse.org/sirius/

Association des représentations 2D dans un atelier dédié pour lequel le modèle du domaine a été généré.

Construction «automatique» d’un «éditeur» pour construire les mondes virtuels.

Page 104: Idm et ihm

Réalité virtuelle : processus

104

Instanciations

Page 105: Idm et ihm

Enrichissement des IHMs par l’IDM

105Travaux de S. Dupuy-Chessa, Grenoble

Les grandes personnes ne comprennent jamais rien toutes seules, etc’est fatigant, pour les enfants, de toujours et toujours leur donnerdes explications.Antoine de Saint-Exupéry

Page 106: Idm et ihm

UsingSo)wareMetricsintheEvalua6onofa

ConceptualComponentModel

IHMauto-explica;ves

Pourquoi?Quoi?

Où?

Comment?

Interfaceauto-explicaQve

...ÀsélecQonnerl’horairedelasaisied’absences

Aquoiserventlescasesvertes?

Auto-explicaQonparlesmodèles

106

Page 107: Idm et ihm

Exploitation du modèle d’Interface Concrète Utilisateur (CUI)

107

Users need your models!Exploiting Design Models for ExplanationsGarc´ıa Frey Calvary Dupuy-Chessa

Page 108: Idm et ihm

IDM pour raisonner sur les IHMS

108Travaux de Ch. Brel, Sophia Antipolis

Page 109: Idm et ihm

UI Modeling as Ontology for Composition – Christian Brel

IncreasingnumberofapplicaQons

109

Desktop/Mobile/Web

Page 110: Idm et ihm

UI Modeling as Ontology for Composition – Christian Brel

IntegraQonofsamefuncQonaliQesinseveralapplicaQons

110

Encyclopedia

SocialNetwork

HotelBooking

Movie Database

Travel Plan

Page 111: Idm et ihm

UI Modeling as Ontology for Composition – Christian Brel

ReusefuncQonaliQeswithoutdevelopment

111

Adding Movie Theaters localization

Page 112: Idm et ihm

UI Modeling as Ontology for Composition – Christian Brel

AninteracQvesystemtocomposeapplicaQons

112

UI 2

Businesspart 2

UI 1

Businesspart 1

Page 113: Idm et ihm

UI Modeling as Ontology for Composition – Christian Brel

AninteracQvesystemtocomposeapplicaQons

113

New UI = UI1 + UI2

UI 2

Businesspart 2

UI 1

Businesspart 1

Page 114: Idm et ihm

UI Modeling as Ontology for Composition – Christian Brel

AninteracQvesystemtocomposeapplicaQons

114

New UI = UI1 + UI2

UI 2

Businesspart 2

UI 1

Businesspart 1

Page 115: Idm et ihm

UI Modeling as Ontology for Composition – Christian Brel

PortsandRoles ChoixdumétamodèleadaptéàlacomposiQon

115

Application Element

Input

Trigger

Output

Page 116: Idm et ihm

UI Modeling as Ontology for Composition – Christian Brel

PortsandRoles ChoixdumétamodèleadaptéàlacomposiQon

116

E1,Controller

ComboBox1,View

E2,Functionality

E3,Functionality

TextField1,View

Button1,View

TextArea1,View

Button2,View

Input1

Input2

Trigger1Trigger2

Output1

Output2

Trigger3

Output3 Output4

Trigger4

Page 117: Idm et ihm

UI Modeling as Ontology for Composition – Christian Brel 117

Element2,Role2

Element,Role

Element3,Role3

Element4,Role4

Element5,Role5

Page 118: Idm et ihm

UI Modeling as Ontology for Composition – Christian Brel

ComposiQonparsubsQtuQon

118

Element2,Role2

Element,Role

Element3,Role3

Element4,Role4

Element5,Role5

Page 119: Idm et ihm

IDM support au raisonnement

• Réutilisation d’applications et des Interfaces utilisateur associées.

• Les modèles capturent les éléments essentiels au raisonnement et son évolution.

119

Page 120: Idm et ihm

Adaptation au contexte d’usage par les modèles

120

At the Cross-Roads between Human-Computer Interaction and Model Driven Engineering

Gaëlle Calvary, Anne-Marie Dery-Pinna, Audrey Occello, Philippe Renevier-Gonin, Michel Riveill

in ARPN Journal of Systems and Software (AJSS), 4 (3), pages 64-76, ARPN, May 2014

Page 121: Idm et ihm

Usines logicielles Pour et par les IHMs

121

image : http://blog.valtech.fr/2009/09/

Travaux de S. Urli, Sophia Antipolis

Page 122: Idm et ihm

Ligne de produits

122

Production manuelleProduction personnalisée

Production de masse

Page 123: Idm et ihm

Ligne de produits

123

logiciels

Programmation

Production personnalisée

graph-add graph-movegraph-select

graph-manipulate

moving-modemoving-constraint

outline-move content-move

graph-delete

entity-add connector-add

graph-compose

select-mode

increment-select nonincrement-select

hori-constraint verti-constraint

dimension-valuefeature

whole-part relationoptional

graph-dim

3D 2D

alternative

orrequire

mutex

Modélisation de la variabilité :

Feature Models

Page 124: Idm et ihm

Des modèles de variabilité aux codes

124

Page 125: Idm et ihm

125

Une IHM, des Styles, ... des IHMs* !

*IHM : Interaction Homme-Machine

Modélisation des «renderers» comme une ligne de produit ;

Modélisation des layout comme une ligne de produits ;

Page 126: Idm et ihm

126

Une IHM, des Styles, ... des IHMs* !

*IHM : Interaction Homme-Machine

Modélisation des «renderers» comme une ligne de produit ;

Modélisation des layout comme une ligne de produits ;

Page 127: Idm et ihm

127

Une IHM, des Styles, ... des IHMs* !

*IHM : Interaction Homme-Machine

Règles d’ergonomie? Contexte d’usage ?

Page 128: Idm et ihm

Ligne de produits Logiciels et Configurateurs ?

128

Programmation

Production personnalisée

graph-add graph-movegraph-select

graph-manipulate

moving-modemoving-constraint

outline-move content-move

graph-delete

entity-add connector-add

graph-compose

select-mode

increment-select nonincrement-select

hori-constraint verti-constraint

dimension-valuefeature

whole-part relationoptional

graph-dim

3D 2D

alternative

orrequire

mutex

Modélisation de la variabilité :

Feature Models

Page 129: Idm et ihm

Des modèles aux IHMs de configuration

129

Enrichir les Feature Models par des annotations

graphiques

Génération

Ergonomie, passage à l’échelle, ...

Page 130: Idm et ihm

En conclusion Usine logicielle & IHM

• Un rapprochement évident pour les deux «partis»

• De beaux défis pour les deux partis.

130

Page 131: Idm et ihm

131

En conclusion Usine logicielle & IHM : PBME

DIFFICLE !!

Page 132: Idm et ihm

IHMS pour l’IDM

132

IMAGES : http://www.123rf.com/photo_15881605_illustration-of-people-doing-business-inside-the-virtual-world-of-internet.html

Page 133: Idm et ihm

Model driven software migration : Abstraction

133

• Code = la logique applicative, la persistance, la gestion des erreurs, ...➡ on attend d’un modèle de réduire la complexité en allant à l’essentiel.

• Deux points de départ à l’abstraction : ➡ la structuration des codes et ➡ les interfaces internes et externes des programmes : en particulier les

GUI !Les menus, options, .. représentent des points d’entrées d’actions utilisateurs possibles : l’ensemble des points d’entrées dans les processus métier!

➡Un modèle du code est obtenu par «abstraction» des codes sous-jacent aux GUI.

Model-Driven Software Migration: A Methodology: Reengineering, Recovery and Modernization of Legacy Systems (Google eBook), Christian Wagner, Springer Science & Business Media, Mar 10, 2014

Page 134: Idm et ihm

Emergence du métamodèle ?

134https://openflexo.org

Page 135: Idm et ihm

Expression & visualisation de la complexité

135http://www.iutbayonne.univ-pau.fr/~roose/gdri3/images/ThomasPolacsek.pdf

Page 136: Idm et ihm

Expression & visualisation de la complexité

136http://www.iutbayonne.univ-pau.fr/~roose/gdri3/images/ThomasPolacsek.pdf

Page 137: Idm et ihm

Expression & visualisation de la complexité

137http://www.iutbayonne.univ-pau.fr/~roose/gdri3/images/ThomasPolacsek.pdf

Page 138: Idm et ihm

Spécification dirigée par les IHMs

138

http://arstechnica.com/science/2015/08/mit-claims-to-have-found-a-language-universal-that-ties-all-languages-together/

Page 139: Idm et ihm

Systèmes complexes : de la specification par l’exemple à la génération d’IHMS

139Designing Functional Specifications for Complex Systems, HCI 2016

- Controlling such a system onboard requires widgets for high-level control and monitoring, allowing functions to be run more easily. - Functional specifications are user’s sequences of actions on the system, required for

performing functions taking into account all possibilities (configurations).

- The task of the expert in system design is to define these functional specifications. S/he writes these latter in natural language, and then provides them to the designers of the supervision interface and the control-command code. - The designers’ job is to implement and integrate these specifications into the system.- - Specification interpretation errors come from the difference of technical knowledge

between prescribers (mechanic engineers) and designers (computer system engineers and/or control-command engineers)

Case Study : a system for the production, storage and distribution of fresh water, onboard a ship

Page 140: Idm et ihm

Spécification d’un système complexe

140Designing Functional Specifications for Complex Systems, HCI 2016

Page 141: Idm et ihm

Spécification d’un système complexe

141Designing Functional Specifications for Complex Systems, HCI 2016

- 7 functions to be specified (transfer, treatment, embedded distribution, distribution from quay, production, loading and unloading)

- Each function can be performed according to several configurations.

- Possibility of performing several functions simultaneously.

- The expert’s task is to define

- 73 unit configurations (functional specification)

- and simultaneous executions

- S/He provides them to the designers of the supervision interface and the control-command code. The designer’s job is then to implement and integrate these specifications into the system.

Page 142: Idm et ihm

Processus de production du Système : exemple

142Designing Functional Specifications for Complex Systems, HCI 2016

Page 143: Idm et ihm

Processus de production du Système

143Designing Functional Specifications for Complex Systems, HCI 2016

Page 144: Idm et ihm

Systèmes complexes : de la specification par l’exemple à la génération d’IHMS

144Designing Functional Specifications for Complex Systems, HCI 2016

Où est l’IDM?

Page 145: Idm et ihm

IDM & IHMS pour maitriser les nouvelles applications

145Travaux de Ivan Logre, Sophia Antipolis

Page 146: Idm et ihm

Des millions d’«objets» connectés

➡ Dashboards : pour «analyser», «comprendre», «apprendre», ....

146

Page 147: Idm et ihm

Des widgets dédiées

147

1,790,000 results for Data Visualization Tools

HIER !

Page 148: Idm et ihm

Des Besoins «utilisateurs» variés

148

Page 149: Idm et ihm

Une approche basée sur la composition de modeles «as services»

149

Page 150: Idm et ihm

A Unified framework for the comprehension of software’s

Time dimension (ICSE ’15)

150

Software development Teams in different locations Long period of time: team restructuring Rarely from scratch

Software engineering tools and techniques Two research communities

Evolution comprehension Execution comprehension

Time representation •Visualization ‣ Axis ‣Graphical attribute ‣ Animation •Automatic approaches ‣ Sequence of events ‣ Comprehension models

Page 151: Idm et ihm

Color Weaving

Page 152: Idm et ihm

152

Page 153: Idm et ihm

153

https://youtu.be/eSijgKLV_zQ

DSL & IHM

Page 154: Idm et ihm

En conclusion

• DES Standards, langages, .... • Ingénierie des modèles : un outil (pas

seulement «statique»)➡ Monter en abstraction pour améliorer la

production logicielle de l’IHM➡ Intégrer la prise en compte de l’IHM comme

une activité première de la construction d’un logiciel

154

Page 155: Idm et ihm

Pour continuer

➡ Une étude plus approfondie du sujet

155

At the Cross-Roads between Human-Computer Interaction and Model

Driven Engineering Gaëlle Calvary, Anne-Marie Dery-Pinna, Audrey Occello, Philippe Renevier-Gonin, Michel Riveill

in ARPN Journal of Systems and Software (AJSS), 4 (3), pages 64-76, ARPN, May 2014

Page 156: Idm et ihm

Pedagogical Issues

156