Applying a Feature-Oriented Software Development Approach to Model Interaction Diversity

  • Abstract
  • Literature Map
  • Similar Papers
Abstract
Translate article icon Translate Article Star icon

This research introduces a novel modelling approach based on methods from feature-oriented software development, aimed at enhancing accessibility and diversity in interactive systems. The method integrates user requirements, particularly accessibility and sensitivity to diversity, into software family development. Utilizing a user model subtree, it allows for customization based on users' needs, constraints, and preferences. A prototypical demonstration is shown through a voice user interface of an assistance robot. Despite an overall satisfying success rate of 96%, results suggest the quality of configuration slightly decreases with an increasing number of user constraints. This innovative approach offers significant potential, especially given the growing need for personalized human-computer interaction in our ageing society. However, it also prompts further research questions, such as its adaptability to non-software family systems and quality of configuration via smart AI models.

Similar Papers
  • Conference Instance
  • Cite Count Icon 6
  • 10.1145/1629716
Proceedings of the First International Workshop on Feature-Oriented Software Development
  • Oct 6, 2009

Feature orientation is an emerging paradigm of software development. It supports the largely automatic generation of large software systems from a set of units of functionality, so-called features. The key idea of feature-oriented software development (FOSD) is to emphasize the similarities of a family of software systems for a given application domain (e.g., database systems, banking software, text processing systems) with the goal of reusing software artifacts among the family members. Features distinguish different members of the family. For example, features of a database system could be transaction management, query optimization, and multi-user operation, those of a banking software could be account management, authentication, and financial transactions, and those of a text processing system could be printing, spell checking, and document format conversion. A challenge in FOSD is that a feature does not map cleanly to an isolated module of code. Rather it may affect ("cut across") many components/documents of a modular software system. For example, the feature transaction management would affect many parts of a database system, e.g., query processing, logical and physical optimization, and buffer and storage management. Research on FOSD has shown that the concept of features pervades all phases of the software life cycle and requires a proper treatment in terms of analysis, design, and programming techniques, methods, languages, and tools, as well as formalisms and theory. The main goal of the FOSD'09 workshop is to foster and strengthen the collaboration between the different researchers who work in the field of FOSD or in the related fields of software product lines, aspect-oriented software development, service-oriented architecture, and model-driven engineering. A keynote by Don Batory, a leading researcher in FOSD, will be an excellent start up for discussions on historical perspectives, current issues, and visions of FOSD. The FOSD workshop builds on the success of a series of workshops on product lines, generative programming, and aspect orientation, held at GPCE'06, GPCE'07, and GPCE'08. In the predecessor workshops it became apparent that the concept of features and the paradigm of FOSD is central to the thinking of a whole community and is related to the concepts found in different other communities. So, the idea grew to dedicate a workshop specifically to FOSD in order to set a proper focus. Furthermore, four of the organizers of this workshop (Sven Apel, William R. Cook, Krzysztof Czarnecki, and Oscar Nierstrasz) are organizing a research seminar on FOSD at the renowned Dagstuhl castle. The seminar proposal has recently been accepted by Dagstuhl castle and the seminar will take place in January 2011. So, a further motivation for the FOSD workshop is the idea to hold the workshop at MODELS/GPCE/SLE 2009 as a kick-off meeting for the FOSD Dagstuhl Seminar.

  • Conference Instance
  • Cite Count Icon 10
  • 10.1145/2377816
Proceedings of the 4th International Workshop on Feature-Oriented Software Development - FOSD '12
  • Jan 1, 2012

Feature orientation is an emerging paradigm of software development. It supports the largely automatic generation of large software systems from a set of units of functionality called features. The key idea of feature-oriented software development (FOSD) is to emphasize the similarities of a family of software systems for a given application domain (e.g., database systems, banking software, text processing systems) with the goal of reusing software artifacts among the family members. Features distinguish different members of the family. A challenge in FOSD is that a feature does not map cleanly to an isolated module of code. Rather it may affect ("cut across") many components and documents of a software system. Research on FOSD has shown that the concept of features pervades all phases of the software life cycle and requires a proper treatment in terms of analysis, design, and programming techniques, methods, languages, and tools, as well as formalisms and theory. The primary goal of the 4th International Workshop on Feature-Oriented Software Development is to foster and strengthen the collaboration between the researchers who work in the field of FOSD or in the related fields of software product lines, service-oriented architecture, model-driven engineering and feature interactions. The focus of FOSD'12 will be on discussions, rather than on presenting technical content only. Both workshop days start with a keynote by leading researchers in FOSD. Mira Mezini will talk about programming language concepts for FOSD and Salvador Trujillo is going to share experiences in applying FOSD to offshore wind power and railways. These keynotes will be an excellent start up for discussions on historical perspectives, current issues, and visions of FOSD.

  • Conference Instance
  • Cite Count Icon 7
  • 10.1145/1868688
Proceedings of the 2nd International Workshop on Feature-Oriented Software Development
  • Oct 10, 2010

Feature orientation is an emerging paradigm of software development. It supports the largely automatic generation of large software systems from a set of units of functionality called features. The key idea of feature-oriented software development (FOSD) is to emphasize the similarities of a family of software systems for a given application domain (e.g., database systems, banking software, text processing systems) with the goal of reusing software artifacts among the family members. Features distinguish different members of the family. A challenge in FOSD is that a feature does not map cleanly to an isolated module of code. Rather it may affect ("cut across") many components/documents of a software system. Research on FOSD has shown that the concept of features pervades all phases of the software life cycle and requires a proper treatment in terms of analysis, design, and programming techniques, methods, languages, and tools, as well as formalisms and theory. The goal of the FOSD'10 workshop is to foster and strengthen the collaboration between the different researchers who work in the field of FOSD or in the related fields of software product lines, aspect-oriented software development, service-oriented architecture, and model-driven engineering. A keynote by Christian Prehofer, a leading researcher in FOSD, will be an excellent start up for discussions on historical perspectives, current issues, and visions of FOSD. The FOSD workshop builds on the success of a previous edition, held at GPCE'09, and a series of workshops on product lines, generative programming, and aspect orientation, held at GPCE'06, GPCE'07, and GPCE'08. We received an excellent number of 20 submissions. The review process led to the selection of 11 papers for presentation. We would like to thank the program committee and the authors for their contributions to the success of the workshop.

  • Research Article
  • 10.4230/dagrep.1.1.27
Feature-Oriented Software Development (FOSD) (Dagstuhl Seminar 11021)
  • Jan 1, 2011
  • DROPS (Schloss Dagstuhl – Leibniz Center for Informatics)
  • Sven Apel + 3 more

This report documents the program and the outcomes of Dagstuhl Seminar 11021 Feature-Oriented Software Development (FOSD). FOSD is an emerging paradigm that aims at increasing the level of automation, reuse, and variation in software development. The main goal of the Dagstuhl seminar on FOSD was to gather researchers and practitioners who are active in different communities to discuss the roots, state of the art, and future directions of FOSD research and practice. Additional goals were to strengthen the identity of the feature orientation community and to relate FOSD to other software development paradigms. The report contains an executive summary, abstracts of the talks held during the seminar, and summaries of special sessions.

  • Conference Instance
  • 10.1145/2660190
Proceedings of the 6th International Workshop on Feature-Oriented Software Development
  • Sep 14, 2014

Feature orientation is an emerging paradigm of software development. It supports the automatic generation of large-scale software systems from a set of units of functionality called features. The key idea of feature-oriented software development (FOSD) is to emphasize the similarities of a family of software systems for a given application domain (e.g., database systems, banking software, text processing systems) with the goal of reusing software artifacts among the family members. Features distinguish different members of the family. A feature is a unit of functionality that satisfies a requirement, represents a design decision, and provides a potential configuration option. A challenge in FOSD is that a feature does not map cleanly to an isolated module of code. Rather it may affect («cut across») many components/artifacts of a software system. Furthermore, the decomposition of a software system into its features gives rise to a combinatorial explosion of possible feature combinations and interactions. Research on FOSD has shown that the concept of features pervades all phases of the software life cycle and requires a proper treatment in terms of analysis, design, and programming techniques, methods, languages, and tools, as well as formalisms and theory. The goal of the workshop is to foster and strengthen the collaboration between the researchers and practitioners who work in the field of FOSD or in the related fields of software product lines, service-oriented architecture, model-driven engineering and feature interactions. The workshop's focus is on discussions, rather than on presenting technical content only. FOSD'14 was scheduled for one full day. After the keynote by Jo Atlee, the day was divided into two sessions. In the Research session, accepted research papers were presented. To stimulate discussions, each paper was assigned a "devil's advocate," who was supposed to prepare a set of one to three controversial questions, and to step into the discussion when appropriate. The FOSD in Practice session comprised practice-oriented "tech talks" that present or demonstrate the application of FOSD and respective technologies (methods, tools, analyses).

  • Conference Article
  • Cite Count Icon 1
  • 10.1109/splc.2011.19
Third International Workshop on Feature-Oriented Software Development (FOSD 2011)
  • Aug 1, 2011
  • Sven Apel + 3 more

Feature orientation is an emerging paradigm of software development. It supports the automatic generation of large scale software systems from a set of features. A feature is a unit of functionality that satisfies a requirement, represents a design decision, and provides a potential configuration option. The goal of feature-oriented software development (FOSD) is to consider and trace the features of a software system during all phases of the software life cycle from analysis and design to implementation and testing. The aim of the FOSD workshop is to stimulate collaboration between researchers working on FOSD and related areas.

  • Book Chapter
  • Cite Count Icon 4
  • 10.4018/978-1-4666-0179-6.ch018
Project Contexts and the Possibilities for Mixing Software Development and Systems Approaches
  • Jan 1, 2012
  • D Petkov + 6 more

It is widely agreed that no single approach for software or systems development addresses all problems and contexts. This chapter summarizes three software development and systems approaches that are often viewed as somewhat unrelated: soft system methodology (SSM), work system method (WSM), and agile development. Next it presents a framework linking stakeholder interests and problem contexts known as the System of Systems Methodologies (SOSM) from Jackson and Keys (1984) and frameworks from Bustard and Kennan (2005) and Alter and Browne (2005) for visualizing various Information Systems (IS) contexts. It uses SOSM to position and explore alternative sets of IS project contexts described by Bustard and Kennan (2005) and Alter and Browne (2005) using their own frameworks. Comparison of these contexts in relation to SOSM leads to observations about the suitability of SSM, WSM, and agile development in different project contexts. Contributions of this research include identifying and comparing alternative contexts for software and system development and identifying possibilities for including within one project combinations of methodologies that are often viewed as unrelated.

  • Book Chapter
  • Cite Count Icon 1
  • 10.4018/978-1-4666-4301-7.ch018
Project Contexts and the Possibilities for Mixing Software Development and Systems Approaches
  • Jan 1, 2014
  • D Petkov + 6 more

It is widely agreed that no single approach for software or systems development addresses all problems and contexts. This chapter summarizes three software development and systems approaches that are often viewed as somewhat unrelated: soft system methodology (SSM), work system method (WSM), and agile development. Next it presents a framework linking stakeholder interests and problem contexts known as the System of Systems Methodologies (SOSM) from Jackson and Keys (1984) and frameworks from Bustard and Kennan (2005) and Alter and Browne (2005) for visualizing various Information Systems (IS) contexts. It uses SOSM to position and explore alternative sets of IS project contexts described by Bustard and Kennan (2005) and Alter and Browne (2005) using their own frameworks. Comparison of these contexts in relation to SOSM leads to observations about the suitability of SSM, WSM, and agile development in different project contexts. Contributions of this research include identifying and comparing alternative contexts for software and system development and identifying possibilities for including within one project combinations of methodologies that are often viewed as unrelated.

  • Conference Article
  • Cite Count Icon 2
  • 10.1145/3132498.3133838
Aspects influencing feature-oriented software comprehension
  • Sep 18, 2017
  • Alcemir Rodrigues Santos + 2 more

Feature-oriented software development has been considered as a reasonable way to address the ever increasing need of handling variability in software systems. However, we still lack to understand the influence of the use of different ways to implement variability on program comprehension and consequently on the effort they demand from developers, so they could successfully accomplish the assigned maintenance tasks. This paper addresses it presenting a qualitative study carried out as an focus group aimed at identify factors influencing program comprehension. The findings of our study were grouped into four groups, including the followed strategies to understand feature-oriented software, the factors hindering and easing such understanding, as well as general observations on the effort demanded to maintain software either using Conditional Compilation or FeatureHouse.

  • Research Article
  • Cite Count Icon 9
  • 10.1007/s10664-023-10417-5
Insights into software development approaches: mining Q &A repositories
  • Nov 23, 2023
  • Empirical Software Engineering
  • Arif Ali Khan + 4 more

ContextSoftware practitioners adopt approaches like DevOps, Scrum, and Waterfall for high-quality software development. However, limited research has been conducted on exploring software development approaches concerning practitioners’ discussions on Q &A forums.ObjectiveWe conducted an empirical study to analyze developers’ discussions on Q &A forums to gain insights into software development approaches in practice.MethodWe analyzed 13,903 developers’ posts across Stack Overflow (SO), Software Engineering Stack Exchange (SESE), and Project Management Stack Exchange (PMSE) forums. A mixed method approach, consisting of the topic modeling technique (i.e., Latent Dirichlet Allocation (LDA)) and qualitative analysis, is used to identify frequently discussed topics of software development approaches, trends (popular, difficult topics), and the challenges faced by practitioners in adopting different software development approaches.FindingsWe identified 15 frequently mentioned software development approaches topics on Q &A sites and observed an increase in trends for the top-3 most difficult topics requiring more attention. Finally, our study identified 49 challenges faced by practitioners while deploying various software development approaches, and we subsequently created a thematic map to represent these findings.ConclusionsThe study findings serve as a useful resource for practitioners to overcome challenges, stay informed about current trends, and ultimately improve the quality of software products they develop.

  • Research Article
  • Cite Count Icon 13
  • 10.1155/2021/6611407
Analysis of Service-Oriented Architecture and Scrum Software Development Approach for IIoT
  • Jan 23, 2021
  • Scientific Programming
  • Yanqing Cui + 6 more

Flexibility and change adoption are key attributes for service-oriented architecture (SOA) and agile software development processes. Although the notion of agility is quite visible on both sides, still the integration of the two diverse concepts (architectural framework and development process) should be well thought of before employing them for a software development project. For this purpose, this study is designed to analyze the two diverse software architectural framework and development approaches, that is, SOA and Scrum process model, respectively, and their integrated environment in software project development setup perspective for Industrial Internet of Things (IIoT). This study also analyzes commonalities among Scrum process model and SOA architectural framework to identify compatibility between Scrum and SOA so that the Scrum process can be constructively used for SOA based projects. This study also examines the proper design and setup of Scrum process suitable for large-scale SOA based projects. For this purpose, an SOA based research and development project is selected as a case study using Scrum as the software development process. The project development and deployment perspective include eight core modules that constitute the overall project framework.

  • Research Article
  • 10.1080/15228053.2021.1923317
Developing CRMSys at SoftTel: Traditional or agile?
  • May 15, 2021
  • Journal of Information Technology Case and Application Research
  • Hyung Koo Lee + 2 more

The increasing popularity of agile software development has significantly changed the way organizations plan, design, and implement software applications. However, considering the complexity involved with software development, the decision to choose an agile approach over the traditional waterfall approach is not straightforward. Organizations should carefully evaluate a variety of factors when choosing a development approach. In this teaching case study, the authors provide a discussion case to facilitate the students’ learning of using agile vs. traditional approaches in software development. This case study is developed based on experiences of multiple real-world software development projects and the literature on software development. It is designed to reflect the complexities students are likely to encounter in actual software development projects. The case can be used in undergraduate or graduate level management information systems courses that cover agile software development approaches. Students can gain an understanding of factors to consider when choosing a development approach, which tailors to the organization, the project environment, and the project team.

  • Research Article
  • Cite Count Icon 201
  • 10.1016/j.jss.2012.01.061
“Leagile” software development: An experience report analysis of the application of lean approaches in agile software development
  • Feb 14, 2012
  • Journal of Systems and Software
  • Xiaofeng Wang + 2 more

“Leagile” software development: An experience report analysis of the application of lean approaches in agile software development

  • Research Article
  • Cite Count Icon 2
  • 10.1088/1742-6596/1964/4/042009
Assessment of the Impact of the Hybrid Software Development Approach
  • Jul 1, 2021
  • Journal of Physics: Conference Series
  • Shyam Gawade + 1 more

The paper focuses on enhancing the current or modern software development practices in Information Technology (IT) organizations. The research paper aims to address the gap between various hybrid software development approaches and existing practices that contribute to software development practices. The methodology adopted here is to obtain data from software professionals and understand how the current practices in the software development industry have contributed to the productivity of the employees and the IT organization, which has been done with the help of a survey questionnaire and by analyzing existing research articles and papers on the software development practices. This research is a conceptual model focused on a modern hybrid approach for software development, rather than focusing on a single software development approach, which can help IT organization increase productivity and deliver business value beyond customer expectations. The cost to build and time to market a software product or a software service can reduce by integrating the required software development practices. Today, staying relevant in the competitive market can be made easier by choosing the best available software development practices, frameworks, and models to fit an organization’s value and knowledge system. The conceptual model aims to reduce the gap between various hybrid software development approaches and existing practices contributing to software development. The paper concludes by discussing the benefits of the hybrid software development approach and urge IT organizations to adopt it as per their software development requirements and customer requirements.

  • Conference Article
  • Cite Count Icon 14
  • 10.1145/1449913.1449921
Using modern mathematics as an FOSD modeling language
  • Oct 19, 2008
  • Don Batory

Modeling languages are a fundamental part of automated software development. MDD, for example, uses UML class diagrams and state machines as languages to define applications. In this paper, we explore how Feature Oriented Software Development (FOSD) uses modern mathematics as a modeling language to express the design and synthesis of programs in software product lines, but demands little mathematical sophistication from its users. Doing so has three practical benefits: (1) it offers a simple and principled mathematical description of how FOSD transforms, derives, and relates program artifacts, (2) it exposes previously unrecognized commuting relationships among tool chains, thereby providing new ways to debug tools, and (3) it reveals new ways to optimize software synthesis.

Save Icon
Up Arrow
Open/Close