Presentation by Romuald Deshayes at VL/HCC 2013 (San Jose, California) of joint paper with Tom Mens and Philippe Palanque about executable Petri net modeling of HMI applications
The document discusses software visualization and the challenges of bridging the cognitive and conceptual gaps between software and its visual representations. It provides examples of software visualization tools and argues that visualizations alone are not enough, as they sit across a cognitive divide and can be isolated, unintuitive, and overloaded. To overcome these gaps, metaphors must be used, but adoption of metaphors is challenging without wide acceptance. Closing both the cognitive and conceptual gaps will require convincing people of visualization's benefits and relying on future generations familiar with visual approaches.
The document discusses various topics related to interaction design basics including goals and constraints of design, understanding users through personas and scenarios, prototyping and iteration, navigation design, screen design principles, and more. It emphasizes the importance of an user-centered design approach and provides examples and guidelines to help design intuitive interactions.
We "see" and use patterns every day - not only in software user interfaces. For example, doors and windows of a house follow a well known mechanism or "pattern' and a user expects the them to conform to certain behavioral characteristics like "open" or "close". Usability or HCI (Human Computer Interaction) Patterns are no different, they contribute to an intuitive, easy to use and consistent software user interface. In this talk you will learn what Usability Patterns are, how they can improve user interface design and lead to better user experience. Examples for web app and game patterns are presented and discussed with the audience.
The document discusses designing distributed user interfaces (DUIs) that span multiple devices. It proposes developing a design patterns language to provide interaction designers with options for how to distribute interfaces across devices and a rationale for choosing different design options. Example patterns could illustrate concepts like distribution of interactions and activities. Future work involves clarifying the pattern language concepts, evaluating existing DUIs with the patterns, designing a mobile DUI using the patterns, and assessing the patterns' usefulness for designers.
Systems Dynamics in boundaries @ HaCIRIC 2010 conference EdinburghMaria Kapsali
1) The simulation model served as a boundary object between stakeholders in two healthcare modeling projects with different goals and group compositions.
2) In the national project, the group had a shared understanding which allowed the model to be used predictively, while the local project used the model to develop understanding through workshops.
3) The local project's diverse group negotiated the model boundaries iteratively, while the national project's cohesive group codified their shared knowledge with less emphasis on the model as a boundary object.
Nudge by Design (2015 Data Transparency Conference @MIT)Paolo Ciuccarelli
Anybody should be able to understand what kind of personal data are gathered, used and shared by digital services and device she uses. Unfortunately even data transparency initiatives are technology-driven and fail in increasing the awareness of non-expert users.
The document discusses the challenges of visualizing complex systems and presents an ongoing project called SystemViz that aims to address these challenges. It notes that complex systems are difficult for humans to understand without visual aids due to limits in working memory. The project involves taking stock of existing visualization methods, identifying concepts that are not easily depicted, and exploring recurring visualization problems. The overall goal is to develop guidelines and tools to help design effective visualizations for understanding complex systems.
Formal 8 – Interaction Models – describing general properties of systems incl...Alan Dix
Slides for the Formal Methods in HCI unit of my 2013 online course on HCI
https://hcibook.com/hcicourse/2013/unit/09-formal
* the PIE model
* properties – WYSIWYG
* proving things – undo
* modelling artistic performance
The document discusses software visualization and the challenges of bridging the cognitive and conceptual gaps between software and its visual representations. It provides examples of software visualization tools and argues that visualizations alone are not enough, as they sit across a cognitive divide and can be isolated, unintuitive, and overloaded. To overcome these gaps, metaphors must be used, but adoption of metaphors is challenging without wide acceptance. Closing both the cognitive and conceptual gaps will require convincing people of visualization's benefits and relying on future generations familiar with visual approaches.
The document discusses various topics related to interaction design basics including goals and constraints of design, understanding users through personas and scenarios, prototyping and iteration, navigation design, screen design principles, and more. It emphasizes the importance of an user-centered design approach and provides examples and guidelines to help design intuitive interactions.
We "see" and use patterns every day - not only in software user interfaces. For example, doors and windows of a house follow a well known mechanism or "pattern' and a user expects the them to conform to certain behavioral characteristics like "open" or "close". Usability or HCI (Human Computer Interaction) Patterns are no different, they contribute to an intuitive, easy to use and consistent software user interface. In this talk you will learn what Usability Patterns are, how they can improve user interface design and lead to better user experience. Examples for web app and game patterns are presented and discussed with the audience.
The document discusses designing distributed user interfaces (DUIs) that span multiple devices. It proposes developing a design patterns language to provide interaction designers with options for how to distribute interfaces across devices and a rationale for choosing different design options. Example patterns could illustrate concepts like distribution of interactions and activities. Future work involves clarifying the pattern language concepts, evaluating existing DUIs with the patterns, designing a mobile DUI using the patterns, and assessing the patterns' usefulness for designers.
Systems Dynamics in boundaries @ HaCIRIC 2010 conference EdinburghMaria Kapsali
1) The simulation model served as a boundary object between stakeholders in two healthcare modeling projects with different goals and group compositions.
2) In the national project, the group had a shared understanding which allowed the model to be used predictively, while the local project used the model to develop understanding through workshops.
3) The local project's diverse group negotiated the model boundaries iteratively, while the national project's cohesive group codified their shared knowledge with less emphasis on the model as a boundary object.
Nudge by Design (2015 Data Transparency Conference @MIT)Paolo Ciuccarelli
Anybody should be able to understand what kind of personal data are gathered, used and shared by digital services and device she uses. Unfortunately even data transparency initiatives are technology-driven and fail in increasing the awareness of non-expert users.
The document discusses the challenges of visualizing complex systems and presents an ongoing project called SystemViz that aims to address these challenges. It notes that complex systems are difficult for humans to understand without visual aids due to limits in working memory. The project involves taking stock of existing visualization methods, identifying concepts that are not easily depicted, and exploring recurring visualization problems. The overall goal is to develop guidelines and tools to help design effective visualizations for understanding complex systems.
Formal 8 – Interaction Models – describing general properties of systems incl...Alan Dix
Slides for the Formal Methods in HCI unit of my 2013 online course on HCI
https://hcibook.com/hcicourse/2013/unit/09-formal
* the PIE model
* properties – WYSIWYG
* proving things – undo
* modelling artistic performance
Applying biological evolution to software ecosystems: A case study with GnomeTom Mens
Presented by Maelick Claes (Software Engineering Lab, Département d'Informatique, COMPLEXYS Research Insitute of UMONS) at BENEVOL 2012 research seminar on software evolution in Delft, The Netherlands, 3 December 2012
The document defines and provides examples of various concepts related to political ideologies and sociological terms. It includes definitions of ideology, individualism, collectivism, liberalism, self-interest, competition, freedom, rule of law, private property, collective responsibility, collective interest, cooperation, economic equality, collective norms, public property, belief, value, individual identity, and collective identity. For each term, it provides a definition and an example to illustrate the meaning.
This is my second in a series of 4 lectures on the topic of Evolving Software Ecosystems, presented during the NATO Marktoberdorf 2014 Summer School on Dependable Software System Engineering in Germany, August 2014.
KinectBalls: An Interactive Tool for Ball Throwing GamesTom Mens
Presentation by Jonathan Schoreels of KinectBalls during the INTETAIN 2013 conference in Mons, 4 July 2013. KinectBalls is an interactive computer game in which a player throws real balls toward a virtual scene, using the Kinect 3D sensor. This work is the result of a master student project at the Département d'Informatique, Faculté des Sciences, UMONS, Belgium
This is my fourth and final lecture in a series of 4 lectures on the topic of Evolving Software Ecosystems, presented during the NATO Marktoberdorf 2014 Summer School on Dependable Software System Engineering in Germany, August 2014.
Future Research Challenges in Software EvolutionTom Mens
Future research challenges in software evolution include scaling techniques to large interconnected systems, migrating legacy systems to new technologies, and upgrading frameworks while preserving customizations. Another challenge is dynamically updating systems during runtime for high availability, as well as supporting the co-evolution of models and code in model-driven engineering approaches. Improving software quality and making metrics for quality and evolvability visible to managers is also a challenge.
This is my third in a series of 4 lectures on the topic of Evolving Software Ecosystems, presented during the NATO Marktoberdorf 2014 Summer School on Dependable Software System Engineering in Germany, August 2014.
Object-oriented software engineering: Example (for teaching purposes) of a refactoring case study based on a very simple Java example of a Local Area Network. Used as part of the software engineering and software evolution courses of the University of Mons, taught by Prof. Tom Mens, Software Engineering Lab.
This is my first in a series of 4 lectures on the topic of Evolving Software Ecosystems, presented during the NATO Marktoberdorf 2014 Summer School on Dependable Software System Engineering in Germany, August 2014.
Analysing the evolution of social aspects of open source software ecosystemsTom Mens
The document discusses analyzing the social aspects of open source software ecosystems by studying software evolution over time. Specifically, it aims to analyze how social factors like community interactions, structures, and processes coevolve with the software product and process. The researchers plan to mine data from various open source project repositories, select appropriate projects, and use frameworks like Herdsman and FLOSSMetrics to extract and merge identity data, perform statistical analysis and visualization. This will help understand success factors for open source projects and identify best practices.
Seconda: A tool for analysing software ecosystemsTom Mens
Presentation by Javier Perez, Software Engineering Lab, University of Mons, Belgium. Presented during the CSMR 2012 conference in Szeged, Hungary.
Software ecosystems are coherent collections of software projects that evolve together and are main- tained by the same developer community. They exhibit some particular evolution features because of the dependencies between the software projects and the interactions between the community members. Tools for analysing and visualising the evolution of software ecosystems must take these aspects into account. SECONDA is a software ecosys- tem visualization and analysis dashboard that offers both individual and grouped analysis of the evolution of projects and developers belonging to the software ecosystem, at coarse-grained and fine-grained level. Using GNOME as a case study, we use SECONDA to study these ecosystem and community aspects.
Thomas Hobbes believed that security was more important than freedom and that people are selfish by nature. He argued society should be structured with an absolute monarch who provides security in exchange for citizens giving up their freedom. John Locke viewed humans as rational and believed people have natural rights to life, liberty, and property. He advocated for a democratic government that protects these rights and is accountable to the people. Jean-Jacques Rousseau saw humans as inherently good but corrupted by society. He envisioned a communist government with laws set fairly by the people to allow them to live freely and comfortably.
This document summarizes the key beliefs and thinkers of several different political ideologies and movements:
1) Luddites opposed machines replacing skilled labor and their leader Ned Ludd led attacks on factories, seeing it as a threat to employment.
2) Chartists advocated for electoral reform in Britain in the 1800s, calling for expanded voting rights through their People's Charter.
3) Utopian Socialists like Robert Owen believed in using education and improved living/working conditions to transition peacefully to an ideal socialist society.
4) Marxists Socialists, led by Karl Marx, advocated for abolition of inheritance and confiscating rebel property, believing change required violence.
5) Classical Conservat
Approaches to software model inconsistency managementTom Mens
The document discusses software co-evolution challenges that arise at different levels of abstraction and modeling. It specifically focuses on managing inconsistencies between software models. Generic techniques for inconsistency management are described, including the use of description logics, graph transformation, logic programming, and automated planning. Ragnhild Van Der Straeten's work on using description logics like RACER to check consistency between UML models is also summarized.
ECOS: Ecological Studies of Open Source Software Ecosystems (@ CSMR-WCRE 2014...Tom Mens
Presentation of research goals and ongoing research in the joint ARC project "ECOS: Ecological Studies of Open Source Software Ecosystems", presented by Tom Mens (UMONS) during the projects track of the CSMR-WCRE 2014 Software Evolution Week. Collaborators: Philippe Grosjean and Maelick Claes.
A survey on software quality practice - Pilot study in the Walloon regionTom Mens
In the context of a European ERDF project, researchers from UMONS and FUNDP in Belgium carried out a survey on the use of software quality practices in software producing and maintaining companies in Wallonia.
Contact: tom.mens@umons.ac.be
The document discusses various topics related to human-computer interaction (HCI), including usability paradigms, object-action interfaces, principles and guidelines. It describes key concepts like usability and its components (learnability, efficiency, etc.). It also covers the history of HCI through different paradigm shifts from time-sharing to ubiquitous computing. Theories, models, principles and guidelines for designing usable interactive systems are explained at different levels from conceptual to practical. The object-action interface model and its application in design is discussed in detail.
This document provides an overview of the Summer 2007 Seminar on Context-Aware and Ambient Applications at the University of Bonn. The seminar will be run like a scientific conference over three dates in April and June 2007. Topics to be covered include context-aware software architectures, indoor and outdoor location sensing, activity recognition, and security and privacy issues in context-aware systems. Students will present topics in 90-second presentations and submit papers by early June. More information can be found on the seminar website.
User Centered Design Patterns and Related Issues – A ReviewWaqas Tariq
A design pattern describes possible good solutions to common problems within certain context. This is done by describing the invariant qualities of all those solutions where good patterns improve with time and widespread use. In this research paper some existing user centered design patterns and their issues are discussed. We have studied many user centered design patterns; however most of them do not provide diagrammatic solutions which can be implementable. It is observed that there is a need of a design pattern which can address issues specifically related to Open Source Software (OSS) users.
Using Evolutionary Prototypes To Formalize Product RequirementsArnold Rudorfer
Boundary objects are artifacts that facilitate
communication and interaction between people or groups
functioning in different domains. Software engineers, user
interface designers and usability specialists have different
domain knowledge, different terminologies, and shared
terms with different, distinct meanings. Boundary objects
can help assist the process of designing software by
providing a common interface for communication between
professionals in different domains. The Software
Engineering department and User Interface Design Center
at Siemens Corporate Research used an evolutionary
prototype as a boundary object to help elicit product
requirements from their client, Siemens Medical Solutions.
This enhanced communication with the client and between
groups at SCR. This paper describes how the evolutionary
prototype functioned as a boundary object and how it
allowed software engineering processes and humancomputer
interaction methods to proceed concurrently
without the need for well-defined interaction points.
Separation of Organic User Interfaces: Envisioning the Diversity of Programma...Felix Epp
Emerging technologies in nanotechnology, material science and mi- cro-robotics will make Programmable Matter possible. This creates the vision of transformable user interfaces as the successor of today’s user interfaces. This theoretical work discusses the new concepts in creating these interfaces. Instead of creating a singular device for the various use-cases and contents, future inter- faces will focus more on representing the underlying content and mental models than on a certain technique. This will lead to a vast variety of physical devices each representing one virtual entity and forming the overall user interaction in combination with each other. The concept of TiID – Time Interface Device – exemplifies such a device by including all time dependent actions and attributes in one device.
Applying biological evolution to software ecosystems: A case study with GnomeTom Mens
Presented by Maelick Claes (Software Engineering Lab, Département d'Informatique, COMPLEXYS Research Insitute of UMONS) at BENEVOL 2012 research seminar on software evolution in Delft, The Netherlands, 3 December 2012
The document defines and provides examples of various concepts related to political ideologies and sociological terms. It includes definitions of ideology, individualism, collectivism, liberalism, self-interest, competition, freedom, rule of law, private property, collective responsibility, collective interest, cooperation, economic equality, collective norms, public property, belief, value, individual identity, and collective identity. For each term, it provides a definition and an example to illustrate the meaning.
This is my second in a series of 4 lectures on the topic of Evolving Software Ecosystems, presented during the NATO Marktoberdorf 2014 Summer School on Dependable Software System Engineering in Germany, August 2014.
KinectBalls: An Interactive Tool for Ball Throwing GamesTom Mens
Presentation by Jonathan Schoreels of KinectBalls during the INTETAIN 2013 conference in Mons, 4 July 2013. KinectBalls is an interactive computer game in which a player throws real balls toward a virtual scene, using the Kinect 3D sensor. This work is the result of a master student project at the Département d'Informatique, Faculté des Sciences, UMONS, Belgium
This is my fourth and final lecture in a series of 4 lectures on the topic of Evolving Software Ecosystems, presented during the NATO Marktoberdorf 2014 Summer School on Dependable Software System Engineering in Germany, August 2014.
Future Research Challenges in Software EvolutionTom Mens
Future research challenges in software evolution include scaling techniques to large interconnected systems, migrating legacy systems to new technologies, and upgrading frameworks while preserving customizations. Another challenge is dynamically updating systems during runtime for high availability, as well as supporting the co-evolution of models and code in model-driven engineering approaches. Improving software quality and making metrics for quality and evolvability visible to managers is also a challenge.
This is my third in a series of 4 lectures on the topic of Evolving Software Ecosystems, presented during the NATO Marktoberdorf 2014 Summer School on Dependable Software System Engineering in Germany, August 2014.
Object-oriented software engineering: Example (for teaching purposes) of a refactoring case study based on a very simple Java example of a Local Area Network. Used as part of the software engineering and software evolution courses of the University of Mons, taught by Prof. Tom Mens, Software Engineering Lab.
This is my first in a series of 4 lectures on the topic of Evolving Software Ecosystems, presented during the NATO Marktoberdorf 2014 Summer School on Dependable Software System Engineering in Germany, August 2014.
Analysing the evolution of social aspects of open source software ecosystemsTom Mens
The document discusses analyzing the social aspects of open source software ecosystems by studying software evolution over time. Specifically, it aims to analyze how social factors like community interactions, structures, and processes coevolve with the software product and process. The researchers plan to mine data from various open source project repositories, select appropriate projects, and use frameworks like Herdsman and FLOSSMetrics to extract and merge identity data, perform statistical analysis and visualization. This will help understand success factors for open source projects and identify best practices.
Seconda: A tool for analysing software ecosystemsTom Mens
Presentation by Javier Perez, Software Engineering Lab, University of Mons, Belgium. Presented during the CSMR 2012 conference in Szeged, Hungary.
Software ecosystems are coherent collections of software projects that evolve together and are main- tained by the same developer community. They exhibit some particular evolution features because of the dependencies between the software projects and the interactions between the community members. Tools for analysing and visualising the evolution of software ecosystems must take these aspects into account. SECONDA is a software ecosys- tem visualization and analysis dashboard that offers both individual and grouped analysis of the evolution of projects and developers belonging to the software ecosystem, at coarse-grained and fine-grained level. Using GNOME as a case study, we use SECONDA to study these ecosystem and community aspects.
Thomas Hobbes believed that security was more important than freedom and that people are selfish by nature. He argued society should be structured with an absolute monarch who provides security in exchange for citizens giving up their freedom. John Locke viewed humans as rational and believed people have natural rights to life, liberty, and property. He advocated for a democratic government that protects these rights and is accountable to the people. Jean-Jacques Rousseau saw humans as inherently good but corrupted by society. He envisioned a communist government with laws set fairly by the people to allow them to live freely and comfortably.
This document summarizes the key beliefs and thinkers of several different political ideologies and movements:
1) Luddites opposed machines replacing skilled labor and their leader Ned Ludd led attacks on factories, seeing it as a threat to employment.
2) Chartists advocated for electoral reform in Britain in the 1800s, calling for expanded voting rights through their People's Charter.
3) Utopian Socialists like Robert Owen believed in using education and improved living/working conditions to transition peacefully to an ideal socialist society.
4) Marxists Socialists, led by Karl Marx, advocated for abolition of inheritance and confiscating rebel property, believing change required violence.
5) Classical Conservat
Approaches to software model inconsistency managementTom Mens
The document discusses software co-evolution challenges that arise at different levels of abstraction and modeling. It specifically focuses on managing inconsistencies between software models. Generic techniques for inconsistency management are described, including the use of description logics, graph transformation, logic programming, and automated planning. Ragnhild Van Der Straeten's work on using description logics like RACER to check consistency between UML models is also summarized.
ECOS: Ecological Studies of Open Source Software Ecosystems (@ CSMR-WCRE 2014...Tom Mens
Presentation of research goals and ongoing research in the joint ARC project "ECOS: Ecological Studies of Open Source Software Ecosystems", presented by Tom Mens (UMONS) during the projects track of the CSMR-WCRE 2014 Software Evolution Week. Collaborators: Philippe Grosjean and Maelick Claes.
A survey on software quality practice - Pilot study in the Walloon regionTom Mens
In the context of a European ERDF project, researchers from UMONS and FUNDP in Belgium carried out a survey on the use of software quality practices in software producing and maintaining companies in Wallonia.
Contact: tom.mens@umons.ac.be
The document discusses various topics related to human-computer interaction (HCI), including usability paradigms, object-action interfaces, principles and guidelines. It describes key concepts like usability and its components (learnability, efficiency, etc.). It also covers the history of HCI through different paradigm shifts from time-sharing to ubiquitous computing. Theories, models, principles and guidelines for designing usable interactive systems are explained at different levels from conceptual to practical. The object-action interface model and its application in design is discussed in detail.
This document provides an overview of the Summer 2007 Seminar on Context-Aware and Ambient Applications at the University of Bonn. The seminar will be run like a scientific conference over three dates in April and June 2007. Topics to be covered include context-aware software architectures, indoor and outdoor location sensing, activity recognition, and security and privacy issues in context-aware systems. Students will present topics in 90-second presentations and submit papers by early June. More information can be found on the seminar website.
User Centered Design Patterns and Related Issues – A ReviewWaqas Tariq
A design pattern describes possible good solutions to common problems within certain context. This is done by describing the invariant qualities of all those solutions where good patterns improve with time and widespread use. In this research paper some existing user centered design patterns and their issues are discussed. We have studied many user centered design patterns; however most of them do not provide diagrammatic solutions which can be implementable. It is observed that there is a need of a design pattern which can address issues specifically related to Open Source Software (OSS) users.
Using Evolutionary Prototypes To Formalize Product RequirementsArnold Rudorfer
Boundary objects are artifacts that facilitate
communication and interaction between people or groups
functioning in different domains. Software engineers, user
interface designers and usability specialists have different
domain knowledge, different terminologies, and shared
terms with different, distinct meanings. Boundary objects
can help assist the process of designing software by
providing a common interface for communication between
professionals in different domains. The Software
Engineering department and User Interface Design Center
at Siemens Corporate Research used an evolutionary
prototype as a boundary object to help elicit product
requirements from their client, Siemens Medical Solutions.
This enhanced communication with the client and between
groups at SCR. This paper describes how the evolutionary
prototype functioned as a boundary object and how it
allowed software engineering processes and humancomputer
interaction methods to proceed concurrently
without the need for well-defined interaction points.
Separation of Organic User Interfaces: Envisioning the Diversity of Programma...Felix Epp
Emerging technologies in nanotechnology, material science and mi- cro-robotics will make Programmable Matter possible. This creates the vision of transformable user interfaces as the successor of today’s user interfaces. This theoretical work discusses the new concepts in creating these interfaces. Instead of creating a singular device for the various use-cases and contents, future inter- faces will focus more on representing the underlying content and mental models than on a certain technique. This will lead to a vast variety of physical devices each representing one virtual entity and forming the overall user interaction in combination with each other. The concept of TiID – Time Interface Device – exemplifies such a device by including all time dependent actions and attributes in one device.
A Uniform Specification Of Mixed Reality Interface ComponentsNicole Heredia
This document presents a conceptual model and XML specification language (ICDL) for describing mixed reality user interface components in a standardized way. The goal is to facilitate reuse of interface components across different hardware contexts and applications. The conceptual model defines interface components as having properties such as required devices, parameters, states, and behavior. Both specific and generic interface component descriptions are supported. The ICDL XML schema allows formal descriptions of components that can be automatically processed to enable tool support and reuse.
A Framework To Generate 3D Learning ExperienceNathan Mathis
The document discusses a framework called OpenWebTalk (OWT) that was created to generate configurable 3D learning experiences. OWT is a declarative 3D component framework based on XML documents that describe both the formal structure of the virtual world and the complex set of interaction rules that govern user interactions. This framework aims to help fast prototyping and easy building of collaborative applications. It decouples all phases of authoring, allows easy definition and composition of virtual sessions in a component-oriented fashion, and can drive and control interactions to stimulate collaboration. The framework also provides a high-performance 3D rendering engine configurable through XML.
This document provides an overview of a course on usability and interaction design. The course investigates how to design software that meets users' needs and goals by including usability throughout the development process. It covers principles of usability like learnability and efficiency. Students will learn how to design and conduct usability tests of a product to identify potential usability issues.
Towards a Generic Cloud-based Modeling Environmentljuracz
This document discusses the development of a cloud-based modeling environment that allows for collaborative diagramming and modeling. It proposes two main use cases: 1) an HTML-based educational diagramming tool and 2) modeling in the browser. Some key requirements and design challenges are outlined, including making the tools usable across devices, allowing for simultaneous collaboration, and handling constraints to prevent invalid model states. The proposed architecture includes an HTML/JavaScript client, a Python/TurboGears server, and a descriptor language to define modeling languages and apps. Prototypes are under development to test the approach.
Designing Powerful Web Applications Using AJAX and Other RIAsDave Malouf
This is the slide deck from the workshop given at UI11 on October 9, 2006. This presentation was given with myself (David Malouf) and Bill Scott (AJAX Evangelist @ Yahoo!).
The goal of the course was to teach people the basics of Interaction Design and then how to apply those principles to design using RIA technologies like AJAX and Flash.
This document discusses the design of augmented reality interfaces. It begins by describing different types of AR interfaces such as browsing interfaces, 3D interfaces, tangible interfaces, and tangible AR interfaces. It then discusses specific interface design considerations for AR like using physical objects as controls for virtual objects. The document provides examples of space-multiplexed and time-multiplexed tangible AR interfaces. It emphasizes designing AR interfaces using principles from tangible user interfaces. Overall, the document provides guidance on conceptualizing and building effective AR experiences through consideration of physical components, display elements, and interaction metaphors.
This document discusses a proposal for a new architecture for intelligent tutoring systems (ITS) that enables mobility and context-awareness. The proposal combines OSGi and semantic web technologies on an Android platform to allow ITS services and functionalities to be adapted and reconfigured at runtime based on the user's context. Existing ITS architectures do not support modularity, dynamic adaptability, or auto-adaptability based on changing user contexts. The proposed architecture uses ontologies to semantically describe ITS services, bundles, contexts, and the Android hardware model to enable semantic service discovery and auto-adaptation of the ITS based on the user's mobility and surrounding environment. The solution aims to satisfy requirements for flexibility, reusability
2013 Lecture 6: AR User Interface Design GuidelinesMark Billinghurst
COSC 426 Lecture 6: on AR User Interface Design Guidelines. Lecture taught by Mark Billinghurst from the HIT Lab NZ at the University of Canterbury on August 16th 2013
Our research aims to propose a global approach for specification, design and verification of context awareness Human Computer Interface (HCI). This is a Model Based Design approach (MBD). This methodology describes the ubiquitous environment by ontologies. OWL is the standard used for this purpose. The specification and modeling of Human-Computer Interaction are based on Petri nets (PN). This raises the question of representation of Petri nets with XML. We use for this purpose, the standard of modeling PNML. In this paper, we propose an extension of this standard for specification, generation and verification of HCI. This extension is a methodological approach for the construction of PNML with Petri nets. The design principle uses the concept of composition of elementary structures of Petri nets as PNML Modular. The objective is to obtain a valid interface through verification of properties of elementary Petri nets represented with PNML.
Questa lezione spiega i principi dell'User Centric Design per la modellazione in UML di applicazioni web. Tale lezione e' parte del corso di "Modellazione UML per il WEB", del Master in Web Technology, Universita' degli Studi dell'Aquila (http://www.di.univaq.it/mwt/)
The document discusses various software design patterns including Singleton, MVC, Factory Method, and Observer. It provides examples of when and how each pattern is used. For instance, the Singleton pattern ensures only one instance of a resource exists, like a database connection. The MVC pattern separates business logic from presentation logic. The Factory Method creates object instances by defining an interface, while the Observer pattern allows objects to watch others for state changes. Design patterns provide proven solutions to common software problems and facilitate communication between designers.
SVHsIEVs for Navigation in Virtual Urban Environmentcsandit
Many virtual reality applications, such as training, urban design or gaming are based on a rich
semantic description of the environment. This paper describes a new representation of semantic
virtual worlds. Our model, called SVHsIEVs1
should provide a consistent representation of the
following aspects: the simulated environment, its structure, and the knowledge items using
ontology, interactions and tasks that virtual humans can perform in the environment. Our first
main contribution is to show the influence of semantic virtual objects on the environment. Our
second main contribution is to use these semantic informations to manage he tasks of each
virtual object. We propose to define each task by a set of attributes and relationships, which
determines the links between attributes in tasks, and links between other tasks. The architecture
has been successfully tested in 3D dynamic environments for navigation in virtual urban
environments.
Similar to A Generic Framework for Executable Gestural Interaction Models (20)
Keynote talk targeted to PhD students, during the BENEVOL 2023 research seminar (focused on software evolution) in Nijmegen, 27 November 2023, by Tom Mens (full professor in software engineering at University of Mons, Belgium). The keynote aims to provide tips, tricks and practical advice on how to become successful as a PhD student.
Recognising bot activity in collaborative software developmentTom Mens
Presentation by Natarajan Chidambaram during the International ICSE Workshop on Bots in Software Engineering (BotSE 2023) in Australia. Joint work with Mehdi Golzadeh, Tom Mens, Alexandre Decan of the Software Engineering Lab of the University of Mons and with Eleni Constantinou.
A Dataset of Bot and Human Activities in GitHubTom Mens
Presentation at the IEEE International Conference on Mining Software Repositories (MSR 2023) by Natarajan Chidambaram (Software Engineering Lab, University of Mons, Belgium) of a dataset of bot and human activities extracted from GitHub
This document discusses the rise of GitHub Actions (GHA) as a dominant continuous integration (CI) service based on a longitudinal study of 91,810 GitHub repositories. The study analyzed the evolution and usage of seven popular CI services over nine years, focusing on their co-usage and migration patterns. The study provides statistical evidence that GHA became the most used CI service within 18 months of its introduction, coinciding with a decrease in Travis usage likely due to policy changes and migrations to GHA. Interviews with software practitioners revealed competition between services and reasons for co-using or migrating between alternatives.
Nurturing the Software Ecosystems of the FutureTom Mens
In January 2018, four Software Engineering research groups located in different Belgian Universities launched a five year research project to nurture the software ecosystems of the future. We assembled a diverse team of about a dozen researchers and embarked on an exciting journey leading to a rich and diverse suite of papers, tools and datasets. Halfway into the project the corona pandemic intervened, but despite several months of lockdown, we succeeded in increasing inter-university collaboration. In this paper we share our achievements so that the BENEVOL community may benefit from our experience.
Comment programmer un robot en 30 minutes?Tom Mens
Comment apprendre à programmer un robot en 30 minutes? Atelier organisé par Tom Mens (en collaboration avec Pierre Zielinski, Gauvain Devillez et Sebastien Bonte) lors des Journées Math-Sciences du Printemps des Sciences 2022 à l'Université de Mons
On the rise and fall of CI services in GitHubTom Mens
Presentation of SANER 2022 conference article "On the rise and fall of CI services in GitHub" by Mehdi Golzadeh (co-authored with Alexandre Decan and Tom Mens).
On backporting practices in package dependency networksTom Mens
Presentation at FOSDEM 2022 Composition and Dependency Management DevRoom of empirical research on backporting practices in package dependency networks, published in the IEEE Transactions in Software Engineering in 2021 (https://doi.org/10.1109/TSE.2021.3112204)
Joint work by Alexandre Decan, Tom Mens; Ahmed Zeourali, Coen De Roover as part of the Belgian Excellence of Science research project SECOASSIST (https://secoassist.github.io)
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsTom Mens
Presentation by Tom Mens at PackagingCon 2021 on Wednesday 10 November 2021.
Abstract: Semantic versioning (semver) is a commonly accepted open source practice, used by many package management systems to inform whether new package releases introduce possibly backward incompatible changes. Maintainers depending on such packages can use this practice to reduce the risk of breaking changes in their own packages by specifying version constraints on their dependencies. Depending on the amount of control a package maintainer desires to assert over her package dependencies, these constraints can range from very permissive to very restrictive. We empirically compared the evolution of semver compliance in four package management systems: Cargo, npm, Packagist and Rubygems. We discuss to what extent ecosystem-specific characteristics influence the degree of semver compliance, and we suggest to develop tools adopting the wisdom of the crowds to help package maintainers decide which type of version constraints they should impose on their dependencies.
We also studied to which extent the packages distributed by these package managers are still using a 0.y.z release, suggesting less stable and immature packages. We explore the effect of such "major zero" packages on semantic versioning adoption.
Our findings shed insight in some important differences between package managers with respect to package versioning policies.
Our empirical results have been published in two peer-reviewed academic journals: the IEEE Transactions in Software Engineering (https://doi.org/10.1109/TSE.2019.2918315) and Elsevier Science of Computer Programming (https://doi.org/10.1016/j.scico.2021.102656).
Achknowledgments: Research conducted in the context of the SECOASSIST "Excellence of Science" Research Project.
Presentation by Tom Mens at FOSDEM21 (Free Open Source Developers Meeting, February 2021). Published in Science of Computer Programming, August 2021.
https://doi.org/10.1016/j.scico.2021.102656
Abstract: When developing open source software end-user applications or reusable software packages, developers depend on software packages distributed through package managers such as npm, Packagist, Cargo, RubyGems. In addition to this, empirical evidence has shown that these package managers adhere to a large extent to semantic versioning principles. Packages that are still in major version zero are considered unstable according to semantic versioning, as some developers consider such packages as immature, still being under initial development.
This presentation reports on large-scale empirical evidence on the use of dependencies towards 0.y.z versions in four different software package distributions: Cargo, npm, Packagist and RubyGems. We study to which extent packages get stuck in the zero version space, never crossing the psychological barrier of major version zero. We compare the effect of the policies and practices of package managers on this phenomenon. We do not reveal the results of our findings in this abstract yet, as it would spoil the fun of the presentation.
Evaluating a bot detection model on git commit messagesTom Mens
Detecting the presence of bots in distributed software development activity is very important in order to prevent bias in socio-technical empirical studies. In previous work, we proposed a classification model to detect bots in GitHub repositories based on the pull request and issue comments of GitHub accounts. The current study generalises the approach to git contributors based on their commit messages. We train and evaluate the classification model on a large dataset of 6,922 git contributors. The original model based on pull request and issue comments obtained a precision of 0.77 on this dataset, whereas retraining the classification model on git commit messages increased the precision to 0.80. As a proof-of-concept, we implemented this model in BoDeGiC, an open source command-line tool to detect bots in git repositories.
Is my software ecosystem healthy? It depends!Tom Mens
QUATIC 2020 keynote presentation by Tom Mens (University of Mons) on dependency-related health issues in software ecosystems and research advances to address such health issues. Part of the presented research has been conducted as part of the Belgian SECO-ASSIST Excellence of Science Research Project.
Bot or not? Detecting bots in GitHub pull request activity based on comment s...Tom Mens
Presentation by Mehdi Golzadeh (Software Engineering Lab, University of Mons) of an article published at the 2nd International ICSE Workshop on Bots In Software Engineering (BotSE). See https://doi.org/10.1145/3387940.3391503
Abstract: Many empirical studies focus on socio-technical activity in social coding platforms such as GitHub, for example to study the onboarding, abandonment, productivity and collaboration among team members. Such studies face the difficulty that GitHub activity can also be generated automatically by bots of a different nature. It therefore becomes imperative to distinguish such bots from human users. We propose an automated approach to detect bots in GitHub pull request activity. Relying on the assumption that bots contain repetitive message patterns in their pull request comments, we analyse the similarity between multiple messages from the same GitHub identity, using a clustering method that combines the Jaccard and Levenshtein distance. We empirically evaluate our approach by analysing 20,090 comments of 250 users and 42 bots in 1,262 GitHub repositories. Our results show that the method is able to clearly separate bots from human users.
How magic is zero? An Empirical Analysis of Initial Development Releases in S...Tom Mens
1. 0.y.z packages are highly prevalent, contributing to 90% of packages in some distributions even though documentation states they are for initial development.
2. It generally takes a few months for packages to reach ≥1.0.0 but 20% take over a year, suggesting packages get stuck in 0.y.z.
3. 0.y.z packages are updated slightly more frequently but the difference is negligible, and there is little practical difference in how 0.y.z and ≥1.0.0 packages are used.
Comparing dependency issues across software package distributions (FOSDEM 2020)Tom Mens
This talk reports on our findings based on multiple empirical studies that we have conducted to understand different aspects of dependency management and their practical implications. This includes:
* the outdatedness of package dependencies, the transitive impact of such "technical lag", and its relation to the presence of bugs and security vulnerabilities.
* the impact of using either more permissive or more restrictive version contraints on dependencies.
* the virtues and limitations of being compliant to semantic versioning, a common policy to inform dependents whether new releases of software packages introduce possibly backward incompatible changes.
* the impact of specific characteristics, policies and tools used by the packaging ecosystem and its supporting community on all of the above.
The contents of the talk is primarily based on the following peer-reviewed scientific articles:
* What do package dependencies tell us about semantic versioning? Alexandre Decan, Tom Mens. IEEE Transactions on Software Engineering, 2019. https://doi.org/10.1109/TSE.2019.2918315
* An empirical comparison of dependency network evolution in seven software packaging ecosystems. Alexandre Decan, Tom Mens, Philippe Grosjean. Empirical Software Engineering 24(1):381-416, 2019. https://doi.org/10.1007/s10664-017-9589-y
* A formal framework for measuring technical lag in component repositories and its application to npm. Ahmed Zerouali, Tom Mens, Jesus Gonzalez‐Barahona, Alexandre Decan, Eleni Constantinou, Gregorio Robles. Journal of Software: Evolution and Process 31(8), 2019. https://doi.org/10.1002/smr.2157
* On the Impact of Security Vulnerabilities in the npm Package Dependency Network. Alexandre Decan, Tom Mens, Eleni Constantinou. International Conference on Mining Software Repositories, 2018. https://doi.org/10.1145/3196398.3196401
* On the Evolution of Technical Lag in the npm Package Dependency Network. Alexandre Decan, Tom Mens, Eleni Constantinou. International Conference on Software Maintenance and Evolution, 2018. https://doi.org/10.1109/ICSME.2018.00050
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)Tom Mens
Presentation at CHAOSSCon Europe 2020 about the generic technical lag software measurement framework. Technical lag measures the increasing difference between deployed software components and the ideal upstream software components.
For more information, see https://doi.org/10.1002/smr.2157
This presentation reports on the research results achieved in the context of the interuniversity interdisciplinary research project SECOHealth "Vers une méthodologie et analyse socio-technique interdisciplinaire de la santé des écosystèmes logiciels" co-financed by FRS-FNRS Belgium and FRQ (FRSC - FRNT, Québec) with principal investigators Tom Mens (UMONS), Bram Adams (Polytechnique Montréal) and Josianne Marsan (Université Laval).
Introduction to the research seminar on empirical analysis of open source software ecosystems, organised by the SECO-ASSIST "excellence of science" research project, on September 4th, 2019 at the University of Mons, Belgium. With invited presentations by Alexander Serebrenik, Jesus Gonzalez-Barahona, Dario Di Nucci and Henrique Nucci. The seminar concludes with the public PhD defense of Ahmed Zerouali (supervised by Tom Mens) on the topic of "A Measurement Framework for Analyzing Technical Lag in Open-Source Software Ecosystems"
Empirically Analysing the Socio-Technical Health of Software Package ManagersTom Mens
Invited presentation at Concordia University (Montreal, Canada) by Eleni Constantinou and Tom Mens on recent research about the socio-technical health issues in software package management ecosystems.
Abstract: The large majority of today’s software is relying on open software software components. Such components are typically distributed through package managers for a wide variety of programming languages, and developed and maintained through online distributed software development services like GitHub. Software component repositories are perceived as software ecosystems that constitute complex and evolving socio-technical software dependency networks. Because of their complexity and evolution, these ecosystems tend to suffer from a wide variety of software health issues that can be either technical or social in nature. Examples of such issues include the ecosystem fragility due to exponential growth and transitive dependencies; the abundance of outdated, unmaintained or obsolete software components; the prolonged presence of unfixed bugs and security vulnerabilities; the abandonment or high turnover of key contributors, suboptimal collaboration between contributors, and many more. This presentation will report on our past and ongoing empirical research that studies such health factors within and across different software packaging ecosystems (such as npm, RubyGems, Cargo, CRAN, CPAN). We provide empirical evidence of some of the health problems, compare their presence across different ecosystems, and suggest ways to reduce their potential impact by providing concrete guidelines and tools. The presented research Is being conducted by researchers of the Software Engineering Lab at the University of Mons in the context of two ongoing projects SECOHealth and SECO-ASSIST, aiming to analyse and improve the health of software ecosystems.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Building RAG with self-deployed Milvus vector database and Snowpark Container...Zilliz
This talk will give hands-on advice on building RAG applications with an open-source Milvus database deployed as a docker container. We will also introduce the integration of Milvus with Snowpark Container Services.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
A Generic Framework for Executable Gestural Interaction Models
1. Behaviour and interaction modeling of 3D virtual objects
A Generic Framework for Executable
Gestural Interaction Models
Romuald Deshayes, Tom Mens, Philippe Palanque
Software Engineering Lab IRIT
2012-2013
Deshayes Romuald – UMONS 1 / 15
2. Behaviour and interaction modeling of 3D virtual objects
Table of Contents
1 Introduction
Context
Paper Goal
2 The Framework
Modular and Generic Framework
Layers and Gestures
3 Conclusion
4 Future Work
Deshayes Romuald – UMONS 2 / 15
3. Behaviour and interaction modeling of 3D virtual objects
Introduction
Context
Context
Different objects with different ways of interacting with them
Enhance computer with better insight in user interaction with
real and virtual objects
[Target Domain] Virtual and Augmented Reality applications such
as games, home automation and simulation
Deshayes Romuald – UMONS 3 / 15
4. Behaviour and interaction modeling of 3D virtual objects
Introduction
Context
Context
Context
Development of Human-Computer Interaction (HCI) applications
involving gestural interaction
High technical complexity (low level aspects)
Low learning curve
Deshayes Romuald – UMONS 4 / 15
5. Behaviour and interaction modeling of 3D virtual objects
Introduction
Paper Goal
Paper Goal
Goal
Provide a generic and efficient way of describing and executing software
involving gestural interaction with real or virtual objects
Based on executable models
Domain Specific Modeling Language (DSML)
A DSML simplifies the creation of gesture based application
Generic framework for gestural interaction
Deshayes Romuald – UMONS 5 / 15
6. Behaviour and interaction modeling of 3D virtual objects
Introduction
Paper Goal
Why Modeling
Why is executable modeling appropriate for developing HCI
applications ?
Visual aspects allow to hide low level details by raising the
level of abstraction (simplicity)
Formal analysis can help reduce the amount of bugs in
complex systems (security)
Behavior can be changed at runtime by editing the running
models (productivity)
Deshayes Romuald – UMONS 6 / 15
7. Behaviour and interaction modeling of 3D virtual objects
Introduction
Paper Goal
Why Modeling
Why is executable modeling appropriate for developing HCI
applications ?
Visual aspects allow to hide low level details by raising the
level of abstraction (simplicity)
Formal analysis can help reduce the amount of bugs in
complex systems (security)
Behavior can be changed at runtime by editing the running
models (productivity)
Challenge
counter critique from [SKF+94] that model-based approaches
"model the previous generation of UI"
Deshayes Romuald – UMONS 6 / 15
8. Behaviour and interaction modeling of 3D virtual objects
The Framework
Modular and Generic Framework
The framework
Goal
Provide a generic and efficient way of describing and executing
software involving gestural interaction with real or virtual objects
How ?
By creating a modular and generic framework that allows the
specification of executable models for manipulating objects with
gestures
I/O independence
Client/server approach for modularity
Layered architecture
Deshayes Romuald – UMONS 7 / 15
9. Behaviour and interaction modeling of 3D virtual objects
The Framework
Modular and Generic Framework
A Layered Architecture
A layered architecture
Each layer is modeled as an ICO (formalism based on
High-Level Petri nets)
Layers communicate through events
Deshayes Romuald – UMONS 8 / 15
10. Behaviour and interaction modeling of 3D virtual objects
The Framework
Layers and Gestures
The Layers and the Gestures
The layers
L1 detects new users, receives raw data and converts them to
positions w.r.t head position
L2 create low-level gestures and detect hand state changes
Move
Open
Close
L3 combine low-level gestures with users’ state to create
high-level gestures
SimpleDrag
ColinearDrag
NonColinearDrag
Deshayes Romuald – UMONS 9 / 15
11. Behaviour and interaction modeling of 3D virtual objects
The Framework
Layers and Gestures
Modeling the state of the users
Layer 3 : modeling the state of the users
Deshayes Romuald – UMONS 10 / 15
12. Behaviour and interaction modeling of 3D virtual objects
The Framework
Layers and Gestures
Modeling the interaction with virtual objects
Layer 4 contains a different
model for each object
Used to combine all existing
gestures into a model
describing how to interact
with an object
Example : a book
Deshayes Romuald – UMONS 11 / 15
13. Behaviour and interaction modeling of 3D virtual objects
Conclusion
Conclusion
Advantages of resorting to executable modeling for HCI application
development
Reduced technical complexity thanks to higher level of
abstraction
Dynamic execution particularly suitable for rapid prototyping
of interactive applications
Communicating models allow to concurrently interact with
multiple objects and enable separation of concerns
Our framework allows to easily specify gestural interaction
with real or virtual objects
Deshayes Romuald – UMONS 12 / 15
14. Behaviour and interaction modeling of 3D virtual objects
Future Work
Future Work
Current research and future work
Explore heterogeneity in the layers to use the most appropriate
formalism (MultiPM vs MonoPM)
Develop a DSML for Layer 4
Perform a controlled user study with CS students to evaluate
the productivity gain of using the framework and its usability.
Code generation
Deshayes Romuald – UMONS 13 / 15
15. Behaviour and interaction modeling of 3D virtual objects
Future Work
Thank you
Questions ?
Deshayes Romuald – UMONS 14 / 15
16. Behaviour and interaction modeling of 3D virtual objects
Future Work
Bibliography I
P. N. Sukaviriya, S. Kovacevic, J. D. Foley, B. A. Myers, D. R.
Olsen Jr., and M. Schneider-Hufschmidt.
Model- based user interfaces: What are they and why should
we care?
In Proc. UIST94, pages 133–135. ACM, November 1994.
Deshayes Romuald – UMONS 15 / 15