SlideShare a Scribd company logo
1 of 27
27/06/2012 1
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
• Motivations and related works
• AUI generation workflow and its principal
components
• Conclusion
• Demo
27/06/2012 2
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
• Today, there exists many ways for generating
an Abstract UI (AUI) from different sources
such as:
• Task model
• Domain model (more than a mere data model)
• Context model
• Consequences
• Heterogeneity of techniques
• No coverage of all possible AUIs at once
27/06/2012 3
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
IKnowU: expert system for deciding AUIs based on
rules
27/06/2012 EICS'2012 (Copenhagen, Denmark, June 25-28, 2012) 4
Generating AUIs based on discourse model
27/06/2012 EICS'2012 (Copenhagen, Denmark, June 25-28, 2012) 5
ROAM: Generating AUIs based on task model
27/06/2012 EICS'2012 (Copenhagen, Denmark, June 25-28, 2012) 6
Dygimes: Generating AUIs based on task model
27/06/2012 EICS'2012 (Copenhagen, Denmark, June 25-28, 2012) 7
• Generating the abstract user interfaces for multiple
platforms based on:
• Task model
• and domain model.
18-03-22 8
Principal components
27/06/2012 9
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
AUI generation workflow
27/06/2012 10
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
Task and domain models
27/06/2012 11
Contacts task model
Contacts domain model
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
AUI generation workflow
• Link tasks to domain’s components
27/06/2012 12
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
AUI generation workflow
• Link tasks to domain’s components
27/06/2012 13
An example of linking tasks to domain components
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
AUI generation workflow
• Link tasks to domain’s components
• Assign weights for the tasks
27/06/2012 14
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
AUI generation workflow
• Link tasks to domain’s components
• Assign weights for the tasks
27/06/2012 15
Tasks in Contact task model are assigned weights based on the task types
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
AUI generation workflow
• Link tasks to domain’s components
• Assign weights for the tasks
• Create task groups
27/06/2012 16
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
AUI generation workflow
• Link tasks to domain’s components
• Assign weights for the tasks
• Create task groups
27/06/2012 17
An example of task grouping
An example of operator check
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
27/06/2012 18
AUI generation workflow
• Link tasks to domain’s components
• Assign weights for the tasks
• Create task groups
• Assign weights for the platforms
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
AUI generation workflow
• Link tasks to domain’s components
• Assign weights for the tasks
• Create task groups
• Assign weights for the platforms
• Generate configurations
27/06/2012 19
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
AUI generation workflow
• Link tasks to domain’s components
• Assign weights for the tasks
• Create task groups
• Assign weights for the platforms
• Generate configurations
27/06/2012 20
The configuration is generated for Palm platform
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
27/06/2012 21
AUI generation workflow
• Link tasks to domain’s components
• Assign weights for the tasks
• Create task groups
• Assign weights for the platforms
• Generate configurations
• Generate abstract user interface
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
27/06/2012 22
AUI generation workflow
• Link tasks to domain’s components
• Assign weights for the tasks
• Create task groups
• Assign weights for the platforms
• Generate configurations
• Generate abstract user interface
Rule1: An AbstractSelectionUI is considered when a task derives from an attribute of a domain class
which is not the edited class and the relationships between the edited class and another one is ‘1-1’ or
‘n-1’and .
Rule2: An AbstractInputUI is considered when a task derives from the attributes of the classes that
these classes are the edited classes.
Rule3: An AbstractOutputUI is considered when an abstract user interaction has been created and its
label is the task name of the task related to this abstract user interaction.
Rule4: An AbstractDataItemUI is considered when a task derives from the attributes of the classes.
Rule5: An AbstractTriggerUI is considered when a task derives from an operation of a class. For
example. Once the tasks have been grouped by the developer based on the screen size of devices,
the AUIs are generated automatically by system.
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
27/06/2012 23
AUI generation workflow
• Link tasks to domain’s components
• Assign weights for the tasks
• Create task groups
• Assign weights for the platforms
• Generate configurations
• Generate abstract user interface
AUI is generated from configuration specified above
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
27/06/2012 24
AUI generation workflow
• Link tasks to domain’s components
• Assign weights for the tasks
• Create task groups
• Assign weights for the platforms
• Generate configurations
• Generate abstract user interface
• Store generated AUIs into a xml file in
terms of UsiXML specification
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
• Providing a general process for systematically
generating abstract user interfaces from the task
and the domain models is necessary, but not
sufficient
• Providing a palette algorithms for specifying
abstract user interface types and configurating
these abstract user interfaces is definitely a plus
• Implementing a software that supports this
process is important for maximal usage
• Import/export facilities need to be elaborated (for
the moment, only UsiXML is supported)
27/06/2012 25
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
Demonstration: https://www.youtube.com/watch?v=KoY6KxkVzAU&feature=g-upl
27/06/2012 26
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
Thank you very much for your attention!
Any question?
See more at:
www.usixml.org, www.usixml.eu
www.lilab.eu, www.lilab.be
27/06/2012 27
EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)

More Related Content

Similar to Generating AUIs from Task and Domain Models

SPCA2013 - Building a SharePoint Factory
SPCA2013 - Building a SharePoint FactorySPCA2013 - Building a SharePoint Factory
SPCA2013 - Building a SharePoint FactoryNCCOMMS
 
Odi course curriculumn
Odi course curriculumnOdi course curriculumn
Odi course curriculumnAmit Sharma
 
Oracle Data Integrator 11g Integration and Administration
Oracle Data Integrator 11g  Integration and AdministrationOracle Data Integrator 11g  Integration and Administration
Oracle Data Integrator 11g Integration and AdministrationMd. Noor Alam
 
Oracle data integrator 12c - getting started
Oracle data integrator 12c - getting startedOracle data integrator 12c - getting started
Oracle data integrator 12c - getting startedMichael Rainey
 
2013 OHSUG - Best Practices for Setting up the CDA Repository for CTMS/OC
2013 OHSUG - Best Practices for Setting up the CDA Repository for CTMS/OC2013 OHSUG - Best Practices for Setting up the CDA Repository for CTMS/OC
2013 OHSUG - Best Practices for Setting up the CDA Repository for CTMS/OCPerficient
 
What's New in Oracle BI for Developers
What's New in Oracle BI for DevelopersWhat's New in Oracle BI for Developers
What's New in Oracle BI for DevelopersDatavail
 
Iphone programming: Core Data Tutorial for iOS
Iphone programming: Core Data Tutorial for iOSIphone programming: Core Data Tutorial for iOS
Iphone programming: Core Data Tutorial for iOSKenny Nguyen
 
On mission for Digital Sovereignty
On mission for Digital SovereigntyOn mission for Digital Sovereignty
On mission for Digital SovereigntyownCloud
 
Clean architecture with asp.net core
Clean architecture with asp.net coreClean architecture with asp.net core
Clean architecture with asp.net coreSam Nasr, MCSA, MVP
 
Agile Practices and Cloud Computing in Software Development
Agile Practices and Cloud Computing in Software DevelopmentAgile Practices and Cloud Computing in Software Development
Agile Practices and Cloud Computing in Software DevelopmentRaja Bavani
 
Proof of Concept for Learning Analytics Interoperability
Proof of Concept for Learning Analytics InteroperabilityProof of Concept for Learning Analytics Interoperability
Proof of Concept for Learning Analytics InteroperabilityOpen Cyber University of Korea
 
Master Thesis Final Discussion - Decentralised Utility Scheduling Algorithm f...
Master Thesis Final Discussion - Decentralised Utility Scheduling Algorithm f...Master Thesis Final Discussion - Decentralised Utility Scheduling Algorithm f...
Master Thesis Final Discussion - Decentralised Utility Scheduling Algorithm f...João Vazão Vasques
 
Oracle BPM workflow and Open-XDX web services (Part 2)
Oracle BPM workflow and Open-XDX web services (Part 2)Oracle BPM workflow and Open-XDX web services (Part 2)
Oracle BPM workflow and Open-XDX web services (Part 2)Bizagi Inc
 
JUC Paris 2012 — Jenkins @ Nuxeo
JUC Paris 2012 — Jenkins @ NuxeoJUC Paris 2012 — Jenkins @ Nuxeo
JUC Paris 2012 — Jenkins @ NuxeoJulien Carsique
 
2004 Net-centric Systems and Services Interoperability Engineering (NESSIE)
2004 Net-centric Systems and Services  Interoperability Engineering (NESSIE)2004 Net-centric Systems and Services  Interoperability Engineering (NESSIE)
2004 Net-centric Systems and Services Interoperability Engineering (NESSIE)Bob Marcus
 

Similar to Generating AUIs from Task and Domain Models (20)

SPCA2013 - Building a SharePoint Factory
SPCA2013 - Building a SharePoint FactorySPCA2013 - Building a SharePoint Factory
SPCA2013 - Building a SharePoint Factory
 
Odi course curriculumn
Odi course curriculumnOdi course curriculumn
Odi course curriculumn
 
toolkit
toolkittoolkit
toolkit
 
Oracle Data Integrator 11g Integration and Administration
Oracle Data Integrator 11g  Integration and AdministrationOracle Data Integrator 11g  Integration and Administration
Oracle Data Integrator 11g Integration and Administration
 
Oracle data integrator 12c - getting started
Oracle data integrator 12c - getting startedOracle data integrator 12c - getting started
Oracle data integrator 12c - getting started
 
70487.pdf
70487.pdf70487.pdf
70487.pdf
 
Odi training
Odi trainingOdi training
Odi training
 
2013 OHSUG - Best Practices for Setting up the CDA Repository for CTMS/OC
2013 OHSUG - Best Practices for Setting up the CDA Repository for CTMS/OC2013 OHSUG - Best Practices for Setting up the CDA Repository for CTMS/OC
2013 OHSUG - Best Practices for Setting up the CDA Repository for CTMS/OC
 
What's New in Oracle BI for Developers
What's New in Oracle BI for DevelopersWhat's New in Oracle BI for Developers
What's New in Oracle BI for Developers
 
Iphone programming: Core Data Tutorial for iOS
Iphone programming: Core Data Tutorial for iOSIphone programming: Core Data Tutorial for iOS
Iphone programming: Core Data Tutorial for iOS
 
On mission for Digital Sovereignty
On mission for Digital SovereigntyOn mission for Digital Sovereignty
On mission for Digital Sovereignty
 
Clean architecture with asp.net core
Clean architecture with asp.net coreClean architecture with asp.net core
Clean architecture with asp.net core
 
Agile Practices and Cloud Computing in Software Development
Agile Practices and Cloud Computing in Software DevelopmentAgile Practices and Cloud Computing in Software Development
Agile Practices and Cloud Computing in Software Development
 
Proof of Concept for Learning Analytics Interoperability
Proof of Concept for Learning Analytics InteroperabilityProof of Concept for Learning Analytics Interoperability
Proof of Concept for Learning Analytics Interoperability
 
IOER Integration Guide
IOER Integration GuideIOER Integration Guide
IOER Integration Guide
 
Master Thesis Final Discussion - Decentralised Utility Scheduling Algorithm f...
Master Thesis Final Discussion - Decentralised Utility Scheduling Algorithm f...Master Thesis Final Discussion - Decentralised Utility Scheduling Algorithm f...
Master Thesis Final Discussion - Decentralised Utility Scheduling Algorithm f...
 
Oracle BPM workflow and Open-XDX web services (Part 2)
Oracle BPM workflow and Open-XDX web services (Part 2)Oracle BPM workflow and Open-XDX web services (Part 2)
Oracle BPM workflow and Open-XDX web services (Part 2)
 
JUC Paris 2012 — Jenkins @ Nuxeo
JUC Paris 2012 — Jenkins @ NuxeoJUC Paris 2012 — Jenkins @ Nuxeo
JUC Paris 2012 — Jenkins @ Nuxeo
 
AngularJS
AngularJSAngularJS
AngularJS
 
2004 Net-centric Systems and Services Interoperability Engineering (NESSIE)
2004 Net-centric Systems and Services  Interoperability Engineering (NESSIE)2004 Net-centric Systems and Services  Interoperability Engineering (NESSIE)
2004 Net-centric Systems and Services Interoperability Engineering (NESSIE)
 

More from 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
 

More from 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
 

Recently uploaded

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 

Recently uploaded (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 

Generating AUIs from Task and Domain Models

  • 1. 27/06/2012 1 EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
  • 2. • Motivations and related works • AUI generation workflow and its principal components • Conclusion • Demo 27/06/2012 2 EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
  • 3. • Today, there exists many ways for generating an Abstract UI (AUI) from different sources such as: • Task model • Domain model (more than a mere data model) • Context model • Consequences • Heterogeneity of techniques • No coverage of all possible AUIs at once 27/06/2012 3 EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
  • 4. IKnowU: expert system for deciding AUIs based on rules 27/06/2012 EICS'2012 (Copenhagen, Denmark, June 25-28, 2012) 4
  • 5. Generating AUIs based on discourse model 27/06/2012 EICS'2012 (Copenhagen, Denmark, June 25-28, 2012) 5
  • 6. ROAM: Generating AUIs based on task model 27/06/2012 EICS'2012 (Copenhagen, Denmark, June 25-28, 2012) 6
  • 7. Dygimes: Generating AUIs based on task model 27/06/2012 EICS'2012 (Copenhagen, Denmark, June 25-28, 2012) 7
  • 8. • Generating the abstract user interfaces for multiple platforms based on: • Task model • and domain model. 18-03-22 8
  • 9. Principal components 27/06/2012 9 EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
  • 10. AUI generation workflow 27/06/2012 10 EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
  • 11. Task and domain models 27/06/2012 11 Contacts task model Contacts domain model EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
  • 12. AUI generation workflow • Link tasks to domain’s components 27/06/2012 12 EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
  • 13. AUI generation workflow • Link tasks to domain’s components 27/06/2012 13 An example of linking tasks to domain components EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
  • 14. AUI generation workflow • Link tasks to domain’s components • Assign weights for the tasks 27/06/2012 14 EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
  • 15. AUI generation workflow • Link tasks to domain’s components • Assign weights for the tasks 27/06/2012 15 Tasks in Contact task model are assigned weights based on the task types EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
  • 16. AUI generation workflow • Link tasks to domain’s components • Assign weights for the tasks • Create task groups 27/06/2012 16 EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
  • 17. AUI generation workflow • Link tasks to domain’s components • Assign weights for the tasks • Create task groups 27/06/2012 17 An example of task grouping An example of operator check EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
  • 18. 27/06/2012 18 AUI generation workflow • Link tasks to domain’s components • Assign weights for the tasks • Create task groups • Assign weights for the platforms EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
  • 19. AUI generation workflow • Link tasks to domain’s components • Assign weights for the tasks • Create task groups • Assign weights for the platforms • Generate configurations 27/06/2012 19 EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
  • 20. AUI generation workflow • Link tasks to domain’s components • Assign weights for the tasks • Create task groups • Assign weights for the platforms • Generate configurations 27/06/2012 20 The configuration is generated for Palm platform EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
  • 21. 27/06/2012 21 AUI generation workflow • Link tasks to domain’s components • Assign weights for the tasks • Create task groups • Assign weights for the platforms • Generate configurations • Generate abstract user interface EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
  • 22. 27/06/2012 22 AUI generation workflow • Link tasks to domain’s components • Assign weights for the tasks • Create task groups • Assign weights for the platforms • Generate configurations • Generate abstract user interface Rule1: An AbstractSelectionUI is considered when a task derives from an attribute of a domain class which is not the edited class and the relationships between the edited class and another one is ‘1-1’ or ‘n-1’and . Rule2: An AbstractInputUI is considered when a task derives from the attributes of the classes that these classes are the edited classes. Rule3: An AbstractOutputUI is considered when an abstract user interaction has been created and its label is the task name of the task related to this abstract user interaction. Rule4: An AbstractDataItemUI is considered when a task derives from the attributes of the classes. Rule5: An AbstractTriggerUI is considered when a task derives from an operation of a class. For example. Once the tasks have been grouped by the developer based on the screen size of devices, the AUIs are generated automatically by system. EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
  • 23. 27/06/2012 23 AUI generation workflow • Link tasks to domain’s components • Assign weights for the tasks • Create task groups • Assign weights for the platforms • Generate configurations • Generate abstract user interface AUI is generated from configuration specified above EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
  • 24. 27/06/2012 24 AUI generation workflow • Link tasks to domain’s components • Assign weights for the tasks • Create task groups • Assign weights for the platforms • Generate configurations • Generate abstract user interface • Store generated AUIs into a xml file in terms of UsiXML specification EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
  • 25. • Providing a general process for systematically generating abstract user interfaces from the task and the domain models is necessary, but not sufficient • Providing a palette algorithms for specifying abstract user interface types and configurating these abstract user interfaces is definitely a plus • Implementing a software that supports this process is important for maximal usage • Import/export facilities need to be elaborated (for the moment, only UsiXML is supported) 27/06/2012 25 EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)
  • 27. Thank you very much for your attention! Any question? See more at: www.usixml.org, www.usixml.eu www.lilab.eu, www.lilab.be 27/06/2012 27 EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)

Editor's Notes

  1. Good morning, Today I would like to present a new approach for generating the abstract user interface from the task and domain models It is “Systematic Generation of Abstract User Interfaces”
  2. The presentation is structrured by the following manners: Firstly, I will talk about the motivation which produces the subject of my research and the related works … Secondly, I will present you the workflow of the abstract user interface generation and its principal components Then next, I will talk about the conclusion of my work Finally, I finish my presentation by a demo
  3. The motivation of our work comes from the following important points.
  4. To highlight the issues raised above, we present some major processes of abstract user interface generation. These processes differ from each other in terms of input information such as task model, discourse model and domain model. IknowU is an expert system for deciding AUIs based on the rules. These rules rules concern device characteristics (i.e. space), user preferences, contextual issues.
  5. Bogdan et al use discourse models to generate different abstract user interfaces for different target devices such as cell phone, PC or PDA. Discourse model is used to describe the human communicative acts. The figure shows a discourse model that presents information about an animal selected by the user from a map.
  6. Unlike two previous approaches, in ROAM sytem, the AUI is generated based on task model. In order to generate the different AUIs for the different plaforms, the UI designer has to create the different layout structures; one layout structure created is suitable to one platform. The figure depicts the associations between task model and a concrete layout.
  7. Not in the paper
  8. So the objectives of my research is to generate the abstract user interface for multiple platforms such as desktop, mobile phone, palm based on the task and domain models. In our process, the task and domain models are adopted for the following reasons: The Task model describes the abstract user interface which is independent of the platform, the devices and the environment. The Domain model provides the special features for creating the user interface: such as specifying the Abstract user interface type, the size
  9. Here are the principal components of AUI generation process including three process-roles (UI developer, UI designer and System) and six workproducts (Mapping rules, platform information, Algorithm document, task model, domain model and Aui model).
  10. Here is our AUI generation process This process is divided into 7 steps depending on the role of participants and tasks that they perform This process will be presented step by step. In each step, I will do an example to show you how this step is performed.
  11. Firstly, I show you the task and domain models used in our examples. The task model discribes a contact management system which allows user to add a new contact, to modify an existing one or to search a phone number based on the first name and last name. The components are show in this domain model are the ones that relates to the tasks in « contacts » task model. But in practice, the domain model is bigger than this one.
  12. The process starts with linking the tasks to domain’s components. Once, the task and domain model have been loaded, the UI developer will link the tasks in task model to the component of domain model.
  13. The developer makes the links based on the task types: for example: interaction task type is linked to the domain’s object (in this example, it is « category » task); application task type is linked to the attribute « in this exmple, they are «  first name», « last name », « phone number » tasks; the action task type is linked to the method (in this example, they are « modify », « add contact » … tasks).
  14. The weight of task are automatically assigned by the system.
  15. Each task in task model is assigned a weight depending on its task type. The weight is estimated by the UI designer. This value is constant for all platforms. Let’s assume that we have four task types and each one has a weight as depicting in Table. So the task weights in “contact” model are depicted in the figure.
  16. Now, the tasks will be grouped together based on the operators between them. This phase is decomposed in two sub-steps.
  17. The first one tries to find all of the possible groups of tasks without examining operators between these tasks (see the first figure). But in practice, tasks can also exclude each other so they cannot be grouped together So in the second one, the unsuitable task groups will be rejected from the ones created in the first sub-step by checking operators between the tasks (see the second figure). In this example, the “Submit” task and “Modify” task can not be grouped together.
  18. Similar to assign weight for the tasks. In this step, the UI designer will assign weights for the platforms based on platform information. Usually, this weight is in direct ratio to the screen’s size, the power of processor and memory, screen type ...
  19. Once the tasks have been grouped and the platform has been assigned a weight, the system automatically specifies the configurations by selecting one or more task groups. The system generates the different configurations for the different platforms.
  20. Here is an example of configuration generation. The figure depicts the configuration of contacts for a task model with a device weight of 11
  21. AUIs are generated based on the mapping rules and the task groups specified above.
  22. Here are the rules for determining the abstract user interaction type.
  23. AUI is automatically generated by the system.
  24. And finally, the user can store generated AUIs into a xml file in terms of UsiXML specification.
  25. The editor tool has been implemented in Java. Now I will do a small demo to show you how our AUI generation process works.