SlideShare uma empresa Scribd logo
1 de 21
Model-Driven Engineering
                of Behaviors in User Interfaces

                                  Efrem Mbaki & Jean Vanderdonckt


                               Université catholique de Louvain (UCL)
                               Louvain School of Management (LSM)
       Pole of Research on Information and Services Management and Engineering (PRISME)
                                          http://www.lilab.be




IHCI'2011 - Rome, July 26, 2011
Objective


   • Our goal: build a methodology for model-based
     approach for behavior:

                                  Foundation

                       MODELS              METHOD           SOFTWARE

                                                   Exploitation




IHCI'2011 - Rome, July 26, 2011
Why behavior in user interfaces?


   • Two dimensions in UI development: presentation (look) vs
     behavior (feel)
        – Behavior is often left out for the profit of the presentation
        – Behavior is more complex
        – Behavior is often programmed, not frequently modeled nor
          represented
        – When behavior is represented, many different techniques exist
        – Behavior is hard to abstract from computing platform and from
          interaction modality
        – Behavior is hard to generate in a way that remains independent
          from any technology




IHCI'2011 - Rome, July 26, 2011
What is a behavior model?


   • A behavior model defines how users can interact with the presentation
     in order to carry out a given interactive task
        – Thus, behavior is intertwined with task and presentation
   • It represents
        – the actions that a user may initiate via CIO
        – the reactions that the UI communicates via CIOs
            • Same
   •   Different
        – It tries to relate task to presentation




IHCI'2011 - Rome, July 26, 2011
Models: Conceptual Model




IHCI'2011 - Rome, July 26, 2011
Main Classes : ToolKit (1/3)


       In the modern graphical environments of design or development,
       Toolkits are represented as an objects box in which the developer can
       drag and drop items.

       A toolkit is characterized by its name, its level (abstract, concrete and
       Final) and a series of templates, functions and events describing
       particular behaviors.

       With this view, we consider a toolkit as a Model




IHCI'2011 - Rome, July 26, 2011
Main Classes : ToolKit (1/3)




IHCI'2011 - Rome, July 26, 2011
Main Classes : Mapping (2/3)


       Mechanism which makes it possible to define rules of transformation
       from a Toolkit towards another, possibly the same one

       Applying mapping, a given object can change to another or several
       others. In this second case, rules of transformations are necessary.

       A mapping is based primarily on two toolkits; a source and a
       destination. Its application requires presence of a user interface
       relating to the source Toolkit to lead to an interface in the destination
       Toolkit.

       It’s possible to apply the same mapping into to several interfaces.



IHCI'2011 - Rome, July 26, 2011
Main Classes : Mapping (2/3)




IHCI'2011 - Rome, July 26, 2011
Main Classes : Behavior Script (3/3)




       A sequential text furnished with the logic and conditional elements.

       It describes the desired actions according to a given interaction
       scenario.

       An action can be the change of an attribute value; the call of a
       mathematical function, the opening or the closing of a user interface,
       etc.




IHCI'2011 - Rome, July 26, 2011
Main Classes : Behavior Script (3/3)




IHCI'2011 - Rome, July 26, 2011
Method: Global View



          Strategy : Level X Model X Project X Mapping




IHCI'2011 - Rome, July 26, 2011
Method: Data Flow


         Strategy : Level X Model X Project X Mapping




IHCI'2011 - Rome, July 26, 2011
Software: Global View


   To support our model and method, we exploit MDA to build a graphic
      Dialog Editor




IHCI'2011 - Rome, July 26, 2011
Software: Object Tree


   To support our model and method, we exploit MDA to build a graphic
      Dialog Editor




IHCI'2011 - Rome, July 26, 2011
Software: characteristics


   This Dialog Editor is Implemented with Visual Basic 6 (VB6) and VBA

   1. It’s based primarily on the concept of objects Box. Developer has the
      choice between creating his own objects, using existing interactive
      objects or making both;

   2. It Gives freedom concerning the level of specification. The user can
      choose to specify his project at the abstract, concrete or final level;

   3. It generates the user interface at final level according to the platform
      toolkit. The resulting executable proposes architecture with three
      layers: The user interface, the functional machine and, the dialog
      controller;

   4. It Provides reification and concretization functionalities by skews of the
      mappings.


IHCI'2011 - Rome, July 26, 2011
Software: Architecture


   The Dialog Editor architecture is composed of four components




IHCI'2011 - Rome, July 26, 2011
Case Study: CTI Application


       With our dialog editor, we developed a software intended to cover the
       activities of a company which is specialized in the international transfer
       of money and import express worldwide services




IHCI'2011 - Rome, July 26, 2011
Case Study: CTI Application


       Percentage indicating the parts carried out manually and those
       generated automatically




IHCI'2011 - Rome, July 26, 2011
Conclusion


   • We introduce a particular method for supporting model-driven
     engineering of UI behaviors that are compliant with the Cameleon
     Reference Framework (CRF).

   • For this purpose, a UI Dialog Editor has been implemented;

   • Three target contexts of user are supported: HTML for Applications
     (HTA) in a mobile context, Microsoft Visual Basic 6 and Microsoft Visual
     Basic for Applications (VBA) in a stationary context;

   • Two operating systems are equally addressed: Microsoft Windows and
     Mac OS X;

   • A Case Study, CTI Application, is implemented using Dialog Editor
IHCI'2011 - Rome, July 26, 2011
Thank you very much!




FP7 Serenoa project
http://www.serenoa-fp7.eu


User Interface eXtensible Markup Language
http://www.usixml.org



For more information and downloading,
http://www.lilab.be

Mais conteúdo relacionado

Semelhante a MODEL-DRIVEN ENGINEERING OF BEHAVIORS FOR USER INTERFACES IN MULTIPLE CONTEXTS OF USE

Analysis and design web portl amazing north sulawesi using aup methodology
Analysis and design web portl amazing north sulawesi using aup methodologyAnalysis and design web portl amazing north sulawesi using aup methodology
Analysis and design web portl amazing north sulawesi using aup methodologyStanley Karouw
 
UML Diagrams- Unified Modeling Language Introduction
UML Diagrams- Unified Modeling Language IntroductionUML Diagrams- Unified Modeling Language Introduction
UML Diagrams- Unified Modeling Language IntroductionRamakant Soni
 
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...Alessandra Bagnato
 
Publication Non Visual Components
Publication Non Visual ComponentsPublication Non Visual Components
Publication Non Visual Componentssatyres
 
Improving Quality and Cost-effectiveness in Enterprise Software Application ...
Improving Quality and Cost-effectiveness in  Enterprise Software Application ...Improving Quality and Cost-effectiveness in  Enterprise Software Application ...
Improving Quality and Cost-effectiveness in Enterprise Software Application ...Luigi Buglione
 
An Application of Business Process Modeling System Ilnet.pdf
An Application of Business Process Modeling System Ilnet.pdfAn Application of Business Process Modeling System Ilnet.pdf
An Application of Business Process Modeling System Ilnet.pdfJennifer Holmes
 
Various Approaches Of System Analysis
Various Approaches Of System AnalysisVarious Approaches Of System Analysis
Various Approaches Of System AnalysisLaura Torres
 
Towards Model-Based AHMI Development
Towards Model-Based AHMI DevelopmentTowards Model-Based AHMI Development
Towards Model-Based AHMI DevelopmentJean Vanderdonckt
 
2. uml-methodology_hypermedia_design_2000
2.  uml-methodology_hypermedia_design_20002.  uml-methodology_hypermedia_design_2000
2. uml-methodology_hypermedia_design_2000eudal
 
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...WTHS
 
MK_MSc_Degree_Project_Report ver 5_updated
MK_MSc_Degree_Project_Report ver 5_updatedMK_MSc_Degree_Project_Report ver 5_updated
MK_MSc_Degree_Project_Report ver 5_updatedMohammed Ali Khan
 
Fourth Serenoa Newsletter
Fourth Serenoa NewsletterFourth Serenoa Newsletter
Fourth Serenoa NewsletterSerenoa Project
 

Semelhante a MODEL-DRIVEN ENGINEERING OF BEHAVIORS FOR USER INTERFACES IN MULTIPLE CONTEXTS OF USE (20)

Analysis and design web portl amazing north sulawesi using aup methodology
Analysis and design web portl amazing north sulawesi using aup methodologyAnalysis and design web portl amazing north sulawesi using aup methodology
Analysis and design web portl amazing north sulawesi using aup methodology
 
UML Diagrams- Unified Modeling Language Introduction
UML Diagrams- Unified Modeling Language IntroductionUML Diagrams- Unified Modeling Language Introduction
UML Diagrams- Unified Modeling Language Introduction
 
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...
 
Publication Non Visual Components
Publication Non Visual ComponentsPublication Non Visual Components
Publication Non Visual Components
 
Accessible project newsletter 5
Accessible project newsletter 5Accessible project newsletter 5
Accessible project newsletter 5
 
Improving Quality and Cost-effectiveness in Enterprise Software Application ...
Improving Quality and Cost-effectiveness in  Enterprise Software Application ...Improving Quality and Cost-effectiveness in  Enterprise Software Application ...
Improving Quality and Cost-effectiveness in Enterprise Software Application ...
 
Hse mda bpmn_210410
Hse mda bpmn_210410Hse mda bpmn_210410
Hse mda bpmn_210410
 
An Application of Business Process Modeling System Ilnet.pdf
An Application of Business Process Modeling System Ilnet.pdfAn Application of Business Process Modeling System Ilnet.pdf
An Application of Business Process Modeling System Ilnet.pdf
 
Framework
FrameworkFramework
Framework
 
Various Approaches Of System Analysis
Various Approaches Of System AnalysisVarious Approaches Of System Analysis
Various Approaches Of System Analysis
 
Towards Model-Based AHMI Development
Towards Model-Based AHMI DevelopmentTowards Model-Based AHMI Development
Towards Model-Based AHMI Development
 
Identification Criteria in Task Modeling
Identification Criteria in Task ModelingIdentification Criteria in Task Modeling
Identification Criteria in Task Modeling
 
2. uml-methodology_hypermedia_design_2000
2.  uml-methodology_hypermedia_design_20002.  uml-methodology_hypermedia_design_2000
2. uml-methodology_hypermedia_design_2000
 
3a5 accessible eu project use cases
3a5 accessible eu project use cases3a5 accessible eu project use cases
3a5 accessible eu project use cases
 
Ad upresentation
Ad upresentationAd upresentation
Ad upresentation
 
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...
 
Hci practices-in-agile-software-development
Hci practices-in-agile-software-developmentHci practices-in-agile-software-development
Hci practices-in-agile-software-development
 
MK_MSc_Degree_Project_Report ver 5_updated
MK_MSc_Degree_Project_Report ver 5_updatedMK_MSc_Degree_Project_Report ver 5_updated
MK_MSc_Degree_Project_Report ver 5_updated
 
Fourth Serenoa Newsletter
Fourth Serenoa NewsletterFourth Serenoa Newsletter
Fourth Serenoa Newsletter
 
Jar chapter 1
Jar chapter 1Jar chapter 1
Jar chapter 1
 

Mais de Jean Vanderdonckt

To the end of our possibilities with Adaptive User Interfaces
To the end of our possibilities with Adaptive User InterfacesTo the end of our possibilities with Adaptive User Interfaces
To the end of our possibilities with Adaptive User InterfacesJean Vanderdonckt
 
Engineering the Transition of Interactive Collaborative Software from Cloud C...
Engineering the Transition of Interactive Collaborative Software from Cloud C...Engineering the Transition of Interactive Collaborative Software from Cloud C...
Engineering the Transition of Interactive Collaborative Software from Cloud C...Jean Vanderdonckt
 
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...Jean Vanderdonckt
 
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...Jean Vanderdonckt
 
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...Jean Vanderdonckt
 
Gesture-based information systems: from DesignOps to DevOps
Gesture-based information systems: from DesignOps to DevOpsGesture-based information systems: from DesignOps to DevOps
Gesture-based information systems: from DesignOps to DevOpsJean Vanderdonckt
 
Engineering Slidable User Interfaces with Slime
Engineering Slidable User Interfaces with SlimeEngineering Slidable User Interfaces with Slime
Engineering Slidable User Interfaces with SlimeJean Vanderdonckt
 
Evaluating Gestural Interaction: Models, Methods, and Measures
Evaluating Gestural Interaction: Models, Methods, and MeasuresEvaluating Gestural Interaction: Models, Methods, and Measures
Evaluating Gestural Interaction: Models, Methods, and MeasuresJean Vanderdonckt
 
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...Jean Vanderdonckt
 
Designing Gestural Interaction: Challenges and Pitfalls
Designing Gestural Interaction: Challenges and PitfallsDesigning Gestural Interaction: Challenges and Pitfalls
Designing Gestural Interaction: Challenges and PitfallsJean Vanderdonckt
 
Fundamentals of Gestural Interaction
Fundamentals of Gestural InteractionFundamentals of Gestural Interaction
Fundamentals of Gestural InteractionJean Vanderdonckt
 
Gestural Interaction, Is it Really Natural?
Gestural Interaction, Is it Really Natural?Gestural Interaction, Is it Really Natural?
Gestural Interaction, Is it Really Natural?Jean Vanderdonckt
 
User-centred Development of a Clinical Decision-support System for Breast Can...
User-centred Development of a Clinical Decision-support System for Breast Can...User-centred Development of a Clinical Decision-support System for Breast Can...
User-centred Development of a Clinical Decision-support System for Breast Can...Jean Vanderdonckt
 
Simplifying the Development of Cross-Platform Web User Interfaces by Collabo...
Simplifying the Development of  Cross-Platform Web User Interfaces by Collabo...Simplifying the Development of  Cross-Platform Web User Interfaces by Collabo...
Simplifying the Development of Cross-Platform Web User Interfaces by Collabo...Jean Vanderdonckt
 
Attach Me, Detach Me, Assemble Me like you Work
Attach Me, Detach Me, Assemble Me like you WorkAttach Me, Detach Me, Assemble Me like you Work
Attach Me, Detach Me, Assemble Me like you WorkJean Vanderdonckt
 
The Impact of Comfortable Viewing Positions on Smart TV Gestures
The Impact of Comfortable Viewing Positions on Smart TV GesturesThe Impact of Comfortable Viewing Positions on Smart TV Gestures
The Impact of Comfortable Viewing Positions on Smart TV GesturesJean Vanderdonckt
 
Head and Shoulders Gestures: Exploring User-De fined Gestures with Upper Body
Head and Shoulders Gestures: Exploring User-Defined Gestures with Upper BodyHead and Shoulders Gestures: Exploring User-Defined Gestures with Upper Body
Head and Shoulders Gestures: Exploring User-De fined Gestures with Upper BodyJean Vanderdonckt
 
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for SmartphonesG-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for SmartphonesJean Vanderdonckt
 
Vector-based, Structure Preserving Stroke Gesture Recognition
Vector-based, Structure Preserving Stroke Gesture RecognitionVector-based, Structure Preserving Stroke Gesture Recognition
Vector-based, Structure Preserving Stroke Gesture RecognitionJean Vanderdonckt
 
An ontology for reasoning on body-based gestures
 An ontology for reasoning on body-based gestures An ontology for reasoning on body-based gestures
An ontology for reasoning on body-based gesturesJean Vanderdonckt
 

Mais de Jean Vanderdonckt (20)

To the end of our possibilities with Adaptive User Interfaces
To the end of our possibilities with Adaptive User InterfacesTo the end of our possibilities with Adaptive User Interfaces
To the end of our possibilities with Adaptive User Interfaces
 
Engineering the Transition of Interactive Collaborative Software from Cloud C...
Engineering the Transition of Interactive Collaborative Software from Cloud C...Engineering the Transition of Interactive Collaborative Software from Cloud C...
Engineering the Transition of Interactive Collaborative Software from Cloud C...
 
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
 
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
 
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
 
Gesture-based information systems: from DesignOps to DevOps
Gesture-based information systems: from DesignOps to DevOpsGesture-based information systems: from DesignOps to DevOps
Gesture-based information systems: from DesignOps to DevOps
 
Engineering Slidable User Interfaces with Slime
Engineering Slidable User Interfaces with SlimeEngineering Slidable User Interfaces with Slime
Engineering Slidable User Interfaces with Slime
 
Evaluating Gestural Interaction: Models, Methods, and Measures
Evaluating Gestural Interaction: Models, Methods, and MeasuresEvaluating Gestural Interaction: Models, Methods, and Measures
Evaluating Gestural Interaction: Models, Methods, and Measures
 
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
 
Designing Gestural Interaction: Challenges and Pitfalls
Designing Gestural Interaction: Challenges and PitfallsDesigning Gestural Interaction: Challenges and Pitfalls
Designing Gestural Interaction: Challenges and Pitfalls
 
Fundamentals of Gestural Interaction
Fundamentals of Gestural InteractionFundamentals of Gestural Interaction
Fundamentals of Gestural Interaction
 
Gestural Interaction, Is it Really Natural?
Gestural Interaction, Is it Really Natural?Gestural Interaction, Is it Really Natural?
Gestural Interaction, Is it Really Natural?
 
User-centred Development of a Clinical Decision-support System for Breast Can...
User-centred Development of a Clinical Decision-support System for Breast Can...User-centred Development of a Clinical Decision-support System for Breast Can...
User-centred Development of a Clinical Decision-support System for Breast Can...
 
Simplifying the Development of Cross-Platform Web User Interfaces by Collabo...
Simplifying the Development of  Cross-Platform Web User Interfaces by Collabo...Simplifying the Development of  Cross-Platform Web User Interfaces by Collabo...
Simplifying the Development of Cross-Platform Web User Interfaces by Collabo...
 
Attach Me, Detach Me, Assemble Me like you Work
Attach Me, Detach Me, Assemble Me like you WorkAttach Me, Detach Me, Assemble Me like you Work
Attach Me, Detach Me, Assemble Me like you Work
 
The Impact of Comfortable Viewing Positions on Smart TV Gestures
The Impact of Comfortable Viewing Positions on Smart TV GesturesThe Impact of Comfortable Viewing Positions on Smart TV Gestures
The Impact of Comfortable Viewing Positions on Smart TV Gestures
 
Head and Shoulders Gestures: Exploring User-De fined Gestures with Upper Body
Head and Shoulders Gestures: Exploring User-Defined Gestures with Upper BodyHead and Shoulders Gestures: Exploring User-Defined Gestures with Upper Body
Head and Shoulders Gestures: Exploring User-De fined Gestures with Upper Body
 
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for SmartphonesG-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
 
Vector-based, Structure Preserving Stroke Gesture Recognition
Vector-based, Structure Preserving Stroke Gesture RecognitionVector-based, Structure Preserving Stroke Gesture Recognition
Vector-based, Structure Preserving Stroke Gesture Recognition
 
An ontology for reasoning on body-based gestures
 An ontology for reasoning on body-based gestures An ontology for reasoning on body-based gestures
An ontology for reasoning on body-based gestures
 

Último

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 

Último (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 

MODEL-DRIVEN ENGINEERING OF BEHAVIORS FOR USER INTERFACES IN MULTIPLE CONTEXTS OF USE

  • 1. Model-Driven Engineering of Behaviors in User Interfaces Efrem Mbaki & Jean Vanderdonckt Université catholique de Louvain (UCL) Louvain School of Management (LSM) Pole of Research on Information and Services Management and Engineering (PRISME) http://www.lilab.be IHCI'2011 - Rome, July 26, 2011
  • 2. Objective • Our goal: build a methodology for model-based approach for behavior: Foundation MODELS METHOD SOFTWARE Exploitation IHCI'2011 - Rome, July 26, 2011
  • 3. Why behavior in user interfaces? • Two dimensions in UI development: presentation (look) vs behavior (feel) – Behavior is often left out for the profit of the presentation – Behavior is more complex – Behavior is often programmed, not frequently modeled nor represented – When behavior is represented, many different techniques exist – Behavior is hard to abstract from computing platform and from interaction modality – Behavior is hard to generate in a way that remains independent from any technology IHCI'2011 - Rome, July 26, 2011
  • 4. What is a behavior model? • A behavior model defines how users can interact with the presentation in order to carry out a given interactive task – Thus, behavior is intertwined with task and presentation • It represents – the actions that a user may initiate via CIO – the reactions that the UI communicates via CIOs • Same • Different – It tries to relate task to presentation IHCI'2011 - Rome, July 26, 2011
  • 5. Models: Conceptual Model IHCI'2011 - Rome, July 26, 2011
  • 6. Main Classes : ToolKit (1/3) In the modern graphical environments of design or development, Toolkits are represented as an objects box in which the developer can drag and drop items. A toolkit is characterized by its name, its level (abstract, concrete and Final) and a series of templates, functions and events describing particular behaviors. With this view, we consider a toolkit as a Model IHCI'2011 - Rome, July 26, 2011
  • 7. Main Classes : ToolKit (1/3) IHCI'2011 - Rome, July 26, 2011
  • 8. Main Classes : Mapping (2/3) Mechanism which makes it possible to define rules of transformation from a Toolkit towards another, possibly the same one Applying mapping, a given object can change to another or several others. In this second case, rules of transformations are necessary. A mapping is based primarily on two toolkits; a source and a destination. Its application requires presence of a user interface relating to the source Toolkit to lead to an interface in the destination Toolkit. It’s possible to apply the same mapping into to several interfaces. IHCI'2011 - Rome, July 26, 2011
  • 9. Main Classes : Mapping (2/3) IHCI'2011 - Rome, July 26, 2011
  • 10. Main Classes : Behavior Script (3/3) A sequential text furnished with the logic and conditional elements. It describes the desired actions according to a given interaction scenario. An action can be the change of an attribute value; the call of a mathematical function, the opening or the closing of a user interface, etc. IHCI'2011 - Rome, July 26, 2011
  • 11. Main Classes : Behavior Script (3/3) IHCI'2011 - Rome, July 26, 2011
  • 12. Method: Global View Strategy : Level X Model X Project X Mapping IHCI'2011 - Rome, July 26, 2011
  • 13. Method: Data Flow Strategy : Level X Model X Project X Mapping IHCI'2011 - Rome, July 26, 2011
  • 14. Software: Global View To support our model and method, we exploit MDA to build a graphic Dialog Editor IHCI'2011 - Rome, July 26, 2011
  • 15. Software: Object Tree To support our model and method, we exploit MDA to build a graphic Dialog Editor IHCI'2011 - Rome, July 26, 2011
  • 16. Software: characteristics This Dialog Editor is Implemented with Visual Basic 6 (VB6) and VBA 1. It’s based primarily on the concept of objects Box. Developer has the choice between creating his own objects, using existing interactive objects or making both; 2. It Gives freedom concerning the level of specification. The user can choose to specify his project at the abstract, concrete or final level; 3. It generates the user interface at final level according to the platform toolkit. The resulting executable proposes architecture with three layers: The user interface, the functional machine and, the dialog controller; 4. It Provides reification and concretization functionalities by skews of the mappings. IHCI'2011 - Rome, July 26, 2011
  • 17. Software: Architecture The Dialog Editor architecture is composed of four components IHCI'2011 - Rome, July 26, 2011
  • 18. Case Study: CTI Application With our dialog editor, we developed a software intended to cover the activities of a company which is specialized in the international transfer of money and import express worldwide services IHCI'2011 - Rome, July 26, 2011
  • 19. Case Study: CTI Application Percentage indicating the parts carried out manually and those generated automatically IHCI'2011 - Rome, July 26, 2011
  • 20. Conclusion • We introduce a particular method for supporting model-driven engineering of UI behaviors that are compliant with the Cameleon Reference Framework (CRF). • For this purpose, a UI Dialog Editor has been implemented; • Three target contexts of user are supported: HTML for Applications (HTA) in a mobile context, Microsoft Visual Basic 6 and Microsoft Visual Basic for Applications (VBA) in a stationary context; • Two operating systems are equally addressed: Microsoft Windows and Mac OS X; • A Case Study, CTI Application, is implemented using Dialog Editor IHCI'2011 - Rome, July 26, 2011
  • 21. Thank you very much! FP7 Serenoa project http://www.serenoa-fp7.eu User Interface eXtensible Markup Language http://www.usixml.org For more information and downloading, http://www.lilab.be