... Francisca Pérez, Pedro Valderas and Joan Fons Centro de Investigación en Métodos de Producció... more ... Francisca Pérez, Pedro Valderas and Joan Fons Centro de Investigación en Métodos de Producción de Software Universitat Polit`ecnica de Val`encia Camino de Vera, s/n, 46022 Valencia, Spain 1mperez, pvalderas, [email protected] ... DSL Variation model Weaver model ...
There are a significant number of proposals for modelling and developing Web Applications, but ve... more There are a significant number of proposals for modelling and developing Web Applications, but very few of them state rigorously how to elicit and represent requirements, and how to go from the requirements specification to the conceptual schema with a sound methodological basis. This work presents an approach to capture Web application requirements by means of: (1) the identification of the tasks that users must be able to achieve and (2) the description of these tasks from the point of view of the interaction that the user requires of the web application. In addition, we show how the navigational structure of a Web application can be systematically derived from the task-based requirement specification.
Conferencia Iberoamericana de Software Engineering, 2007
Resumen En este trabajo, se introduce un entorno de desarrollo MDD para aplicaciones Web: La OOWS... more Resumen En este trabajo, se introduce un entorno de desarrollo MDD para aplicaciones Web: La OOWS Suite. Dicho entorno proporciona herramientas que dan soporte al proceso de desarrollo del método OOWS permitiendo la generación automática de aplicaciones ...
El incremento en la complejidad de los Sistemas de Información Basados en Web (WIS), hace que cad... more El incremento en la complejidad de los Sistemas de Información Basados en Web (WIS), hace que cada vez sea más evidente la necesidad de aplicar técnicas ingenieriles al desarrollo de los mismos. A raíz de esto, en estos últimos años han surgido una serie de métodos que permiten modelar y generar aplicaciones Web complejas. Este artículo presenta un marco de evaluación de métodos para el diseño y desarrollo de aplicaciones Web, y su aplicación a un caso de estudio.
Developing smart home systems that properly fit end-user needs is not always an easy task due to ... more Developing smart home systems that properly fit end-user needs is not always an easy task due to the lack of understanding that may exist between end-users and system developers. In the context of Software Product Lines, several approaches have been presented to improve the development of smart home system functionality. However, little support is provided to improve the interaction with end-users. In this work, we extend a Software Product Line based on Model-Driven Development with an interactive design tool that allows end-users to actively participate in the SPL. This tool allows end-users to configure the decision model that drives the production process of the software product line by themselves. In order to develop this tool we have been inspired by well-known and tested enduser techniques and interaction patterns that improve the user interface usability.
Current Web Engineering methods develop "closed" web ap... more Current Web Engineering methods develop "closed" web applications from conceptual models. This fact makes difficult the integration and the interoperability of different web applications. In this context it is necessary to establish a technological framework where the application data and functionality could be represented and shared between different web applications. Semantic web languages provide an appropriate framework to achieve these non-functional requirements. Ontologies are proliferating to enable interoperability between Internet-connected applications. Web Engineering methods should be prepared to face up this new challenge. A first attempt in this community is based on the transformation of conceptual schemas into ontologies. This strategy does not take into account navigational and presentation models. This work takes advantage from all these models (navigational and presentation) enriching the web implementations with all the knowledge gathered during the modeling and design process. Our approach provides different ontologies as a basis to enable a more fruitful interchange of knowledge between web applications. We provide a semantic representation of web applications that enables not just to merely access to static information. We also provide a navigational ontology that can be queried through the use of a semantic query language.
Autonomous capabilities are required in AmI environments in order to adapt systems to new environ... more Autonomous capabilities are required in AmI environments in order to adapt systems to new environmental conditions and situations. However, keeping the human in the loop and in control of such systems is still necessary because of the diversity of systems, domains, environments, context situations, and social and legal constraints, which makes full autonomy a utopia within the short or medium term. Human-system integration introduces an important number of challenges and problems that have to be solved. On the one hand, humans should interact with systems even in those situations where their attentional, cognitive, and physical resources are limited in order to perform the interaction. On the other hand, systems must avoid overwhelming the user with unnecessary actions. Therefore, appropriate user-centered methods for AmI development should be used to help designers analyze and design human-in-the-loop interactions in AmI environments. This paper presents a user-centered design meth...
Anais do I Simpósio Brasileiro de Qualidade de Software (SBQS 2002), 2002
El incremento en la complejidad de los Sistemas de Información Basados en Web (WIS), hace que cad... more El incremento en la complejidad de los Sistemas de Información Basados en Web (WIS), hace que cada vez sea más evidente la necesidad de aplicar técnicas ingenieriles al desarrollo de los mismos. A raíz de esto, en estos últimos años han surgido una serie de métodos que permiten modelar y generar aplicaciones Web complejas. Este artículo presenta un marco de evaluación de métodos para el diseño y desarrollo de aplicaciones Web, y su aplicación a un caso de estudio.
Context: Cyber-Physical Systems (CPSs) are gradually and widely introducing autonomous capabiliti... more Context: Cyber-Physical Systems (CPSs) are gradually and widely introducing autonomous capabilities into everything. However, human participation is required to accomplish tasks that are better performed with humans (often called human-in-the-loop). In this way, human-in-the-loop solutions have the potential to handle complex tasks in unstructured environments, by combining the cognitive skills of humans with autonomous systems behaviors. Objective: The objective of this paper is to provide appropriate techniques and methods to help designers analyze and design human-in-the-loop solutions. These solutions require interactions that engage the human, provide natural and understandable collaboration, and avoid disturbing the human in order to improve human experience. Method: We have analyzed several works that identified different requirements and critical factors that are relevant to the design of human-in-the-loop solutions. Based on these works, we have defined a set of design principles that are used to build our proposal. Fast-prototyping techniques have been applied to simulate the designed human-in-the-loop solutions and validate them. Results: We have identified the technological challenges of designing human-in-the-loop CPSs and have provided a method that helps designers to identify and specify how the human and the system should work together, focusing on the control strategies and interactions required. Conclusions: The use of our approach facilitates the design of human-in-the-loop solutions. Our method is practical at earlier stages of the software life cycle since it allows domain experts to focus on the problem and not on the solution.
International Journal of Human-Computer Studies, 2019
Even though full autonomy in Cyber-Physical Systems (CPSs) is a challenge that has been confronte... more Even though full autonomy in Cyber-Physical Systems (CPSs) is a challenge that has been confronted in different application domains and industrial sectors, the current scenario still requires human intervention in these autonomous systems in order to accomplish tasks that are better performed with human-in-the-loop. Humans, machines, and software systems are required to interact and understand each other in order to work together in an effective and robust way. This human integration introduces an important number of challenges and problems to be solved in order to achieve seamless and solid participation. To manage this complexity, appropriate techniques and methods must be used to help CPS developers analyze and design this kind of human-in-the-loop integration. The goal of this paper is to identify the technological challenges and limitations of integrating humans into the CPSs autonomy loop and to break new ground for design solutions in order to develop what we call HiL-ACPS systems. This work defines a conceptual framework to characterize the cooperation between humans and autonomous CPSs and provides techniques for applying the framework in order to design proper human integration. The emergent autonomous car domain is considered as a running example. It covers some of the current limitations of involving drivers into the autonomous functionalities. Finally, to validate the proposal, an autonomous car prototype was built applying the conceptual framework. This prototype was evaluated to check whether the human integration implemented behaves as defined in its specification.
When a software product is designed and implemented, it is very important to assure that the user... more When a software product is designed and implemented, it is very important to assure that the user requirements have been properly represented. To achieve this objective, a guided software production process is needed, starting from the initial requirements engineering activities and through to the resultant software product. In this paper, a methodological approach for generating user interfaces corresponding to the user requirements is introduced. By doing this, we go a step further in the process of properly embedding requirements engineering in to the software production process, because users can validate their requirements as early as possible, through the validation of the user interfaces generated as a software representation of their requirements. Also, these interfaces can be reused for further refinement as a useful starting point in the software development process.
Although MDA defines each stage for building software from models, it does not specify any concre... more Although MDA defines each stage for building software from models, it does not specify any concrete technique. In this sense, in the Web applications development, little methodological support is provided to both define and apply model to model transformations. In this work, we present a strategy based on graph transformations in order to define and to automatically apply model to model transformations. This strategy has been used to automate the OOWS CIM to PIM transformation.
... Francisca Pérez, Pedro Valderas and Joan Fons Centro de Investigación en Métodos de Producció... more ... Francisca Pérez, Pedro Valderas and Joan Fons Centro de Investigación en Métodos de Producción de Software Universitat Polit`ecnica de Val`encia Camino de Vera, s/n, 46022 Valencia, Spain 1mperez, pvalderas, [email protected] ... DSL Variation model Weaver model ...
There are a significant number of proposals for modelling and developing Web Applications, but ve... more There are a significant number of proposals for modelling and developing Web Applications, but very few of them state rigorously how to elicit and represent requirements, and how to go from the requirements specification to the conceptual schema with a sound methodological basis. This work presents an approach to capture Web application requirements by means of: (1) the identification of the tasks that users must be able to achieve and (2) the description of these tasks from the point of view of the interaction that the user requires of the web application. In addition, we show how the navigational structure of a Web application can be systematically derived from the task-based requirement specification.
Conferencia Iberoamericana de Software Engineering, 2007
Resumen En este trabajo, se introduce un entorno de desarrollo MDD para aplicaciones Web: La OOWS... more Resumen En este trabajo, se introduce un entorno de desarrollo MDD para aplicaciones Web: La OOWS Suite. Dicho entorno proporciona herramientas que dan soporte al proceso de desarrollo del método OOWS permitiendo la generación automática de aplicaciones ...
El incremento en la complejidad de los Sistemas de Información Basados en Web (WIS), hace que cad... more El incremento en la complejidad de los Sistemas de Información Basados en Web (WIS), hace que cada vez sea más evidente la necesidad de aplicar técnicas ingenieriles al desarrollo de los mismos. A raíz de esto, en estos últimos años han surgido una serie de métodos que permiten modelar y generar aplicaciones Web complejas. Este artículo presenta un marco de evaluación de métodos para el diseño y desarrollo de aplicaciones Web, y su aplicación a un caso de estudio.
Developing smart home systems that properly fit end-user needs is not always an easy task due to ... more Developing smart home systems that properly fit end-user needs is not always an easy task due to the lack of understanding that may exist between end-users and system developers. In the context of Software Product Lines, several approaches have been presented to improve the development of smart home system functionality. However, little support is provided to improve the interaction with end-users. In this work, we extend a Software Product Line based on Model-Driven Development with an interactive design tool that allows end-users to actively participate in the SPL. This tool allows end-users to configure the decision model that drives the production process of the software product line by themselves. In order to develop this tool we have been inspired by well-known and tested enduser techniques and interaction patterns that improve the user interface usability.
Current Web Engineering methods develop "closed" web ap... more Current Web Engineering methods develop "closed" web applications from conceptual models. This fact makes difficult the integration and the interoperability of different web applications. In this context it is necessary to establish a technological framework where the application data and functionality could be represented and shared between different web applications. Semantic web languages provide an appropriate framework to achieve these non-functional requirements. Ontologies are proliferating to enable interoperability between Internet-connected applications. Web Engineering methods should be prepared to face up this new challenge. A first attempt in this community is based on the transformation of conceptual schemas into ontologies. This strategy does not take into account navigational and presentation models. This work takes advantage from all these models (navigational and presentation) enriching the web implementations with all the knowledge gathered during the modeling and design process. Our approach provides different ontologies as a basis to enable a more fruitful interchange of knowledge between web applications. We provide a semantic representation of web applications that enables not just to merely access to static information. We also provide a navigational ontology that can be queried through the use of a semantic query language.
Autonomous capabilities are required in AmI environments in order to adapt systems to new environ... more Autonomous capabilities are required in AmI environments in order to adapt systems to new environmental conditions and situations. However, keeping the human in the loop and in control of such systems is still necessary because of the diversity of systems, domains, environments, context situations, and social and legal constraints, which makes full autonomy a utopia within the short or medium term. Human-system integration introduces an important number of challenges and problems that have to be solved. On the one hand, humans should interact with systems even in those situations where their attentional, cognitive, and physical resources are limited in order to perform the interaction. On the other hand, systems must avoid overwhelming the user with unnecessary actions. Therefore, appropriate user-centered methods for AmI development should be used to help designers analyze and design human-in-the-loop interactions in AmI environments. This paper presents a user-centered design meth...
Anais do I Simpósio Brasileiro de Qualidade de Software (SBQS 2002), 2002
El incremento en la complejidad de los Sistemas de Información Basados en Web (WIS), hace que cad... more El incremento en la complejidad de los Sistemas de Información Basados en Web (WIS), hace que cada vez sea más evidente la necesidad de aplicar técnicas ingenieriles al desarrollo de los mismos. A raíz de esto, en estos últimos años han surgido una serie de métodos que permiten modelar y generar aplicaciones Web complejas. Este artículo presenta un marco de evaluación de métodos para el diseño y desarrollo de aplicaciones Web, y su aplicación a un caso de estudio.
Context: Cyber-Physical Systems (CPSs) are gradually and widely introducing autonomous capabiliti... more Context: Cyber-Physical Systems (CPSs) are gradually and widely introducing autonomous capabilities into everything. However, human participation is required to accomplish tasks that are better performed with humans (often called human-in-the-loop). In this way, human-in-the-loop solutions have the potential to handle complex tasks in unstructured environments, by combining the cognitive skills of humans with autonomous systems behaviors. Objective: The objective of this paper is to provide appropriate techniques and methods to help designers analyze and design human-in-the-loop solutions. These solutions require interactions that engage the human, provide natural and understandable collaboration, and avoid disturbing the human in order to improve human experience. Method: We have analyzed several works that identified different requirements and critical factors that are relevant to the design of human-in-the-loop solutions. Based on these works, we have defined a set of design principles that are used to build our proposal. Fast-prototyping techniques have been applied to simulate the designed human-in-the-loop solutions and validate them. Results: We have identified the technological challenges of designing human-in-the-loop CPSs and have provided a method that helps designers to identify and specify how the human and the system should work together, focusing on the control strategies and interactions required. Conclusions: The use of our approach facilitates the design of human-in-the-loop solutions. Our method is practical at earlier stages of the software life cycle since it allows domain experts to focus on the problem and not on the solution.
International Journal of Human-Computer Studies, 2019
Even though full autonomy in Cyber-Physical Systems (CPSs) is a challenge that has been confronte... more Even though full autonomy in Cyber-Physical Systems (CPSs) is a challenge that has been confronted in different application domains and industrial sectors, the current scenario still requires human intervention in these autonomous systems in order to accomplish tasks that are better performed with human-in-the-loop. Humans, machines, and software systems are required to interact and understand each other in order to work together in an effective and robust way. This human integration introduces an important number of challenges and problems to be solved in order to achieve seamless and solid participation. To manage this complexity, appropriate techniques and methods must be used to help CPS developers analyze and design this kind of human-in-the-loop integration. The goal of this paper is to identify the technological challenges and limitations of integrating humans into the CPSs autonomy loop and to break new ground for design solutions in order to develop what we call HiL-ACPS systems. This work defines a conceptual framework to characterize the cooperation between humans and autonomous CPSs and provides techniques for applying the framework in order to design proper human integration. The emergent autonomous car domain is considered as a running example. It covers some of the current limitations of involving drivers into the autonomous functionalities. Finally, to validate the proposal, an autonomous car prototype was built applying the conceptual framework. This prototype was evaluated to check whether the human integration implemented behaves as defined in its specification.
When a software product is designed and implemented, it is very important to assure that the user... more When a software product is designed and implemented, it is very important to assure that the user requirements have been properly represented. To achieve this objective, a guided software production process is needed, starting from the initial requirements engineering activities and through to the resultant software product. In this paper, a methodological approach for generating user interfaces corresponding to the user requirements is introduced. By doing this, we go a step further in the process of properly embedding requirements engineering in to the software production process, because users can validate their requirements as early as possible, through the validation of the user interfaces generated as a software representation of their requirements. Also, these interfaces can be reused for further refinement as a useful starting point in the software development process.
Although MDA defines each stage for building software from models, it does not specify any concre... more Although MDA defines each stage for building software from models, it does not specify any concrete technique. In this sense, in the Web applications development, little methodological support is provided to both define and apply model to model transformations. In this work, we present a strategy based on graph transformations in order to define and to automatically apply model to model transformations. This strategy has been used to automate the OOWS CIM to PIM transformation.
Uploads
Papers by Joan Fons