Human-centered Reconfigurable Software Systems

The velocity and volume of social data has introduced new requirements for underlying software systems that manage and interpret this data. These necessitate the management of evolving and often conflicting requirements that change as social data patterns unfold over time, from the perspectives of  (a) shifting requirements coming from the human stakeholders, and (b) demand for adaptable software architectures. From the first perspective (a), we have extensively investigated how the human-centric concepts of requirement consolidation and conflict resolution during collaborative software design can be formally managed within a theoretical framework. we have proposed belief-theoretical models that capture and represent human stakeholders’ objectives and requirements. Such representations allow for the automatic identification of conflicting information from multiple stakeholders that are then gradually resolved through belief revision. The major distinguishing aspect of this line of work is that it not only provides theoretical contributions in AI-based resolution of conflicts within human group dynamics, but also provides a methodological process to integrate these theoretical contributions into actual working environments. Our work also provides a systematic way for integrating stakeholder preferences during the decision making process – comparing the priority of functional and non-functional requirements, as well as, stakeholder objectives and goals (intention space) vs actual software functional features (operational space).

From the second perspective (b), we have systematically explored how AI planning methods, constraint satisfaction techniques and logic-based reasoning mechanisms can be used to build adaptive software systems that dynamically react to changing contextual influences, e.g., changing human stakeholder requirements, at runtime. This allows the software to decide on the best course of action for dynamically reconfiguring itself. A fully functional implementation of these techniques has been made available within the context of self-healing mashups modeled as BPEL code—the de facto standard for process orchestration that enables the development of end-to-end business processes. The resulting Magus software system has been released as open-source. In addition to Magus, we have made notable contributions to analyzing software execution logs for reconstructing software processes. These make it possible to reconstruct software process models based on historical log files, identify recurring process fragments, reconstruct the initial model and compose desirable execution paths. We have made the outcomes of our research work publicly available in the form of software tools for use by researchers and industry.

Sample Publications

Bagheri, E. and A. A. Ghorbani (2010). “An exploratory classification of applications in the realm of collaborative modeling and design”. Information Systems and E-Business Management, 8(3), 257–286, IF: 1.621.

Noorian, M., Bagheri, and W. Du (2017). “Toward Automated Quality-centric Product Line Configuration using Intentional Variability”. Journal of Software: Evolution and Process 29(9), e1870, IF: 1.305.

Bagheri, E. and F. Ensan (2014). “Dynamic decision models for staged software product line configuration”. Requirements Engineering Journal, 19(2), 187–212, IF: 2.761.

Bagheri, E. and A. A. Ghorbani (2010). “The analysis and management of non-canonical requirement specifications through a belief integration game”. Knowledge and Information Systems, 22(1), 27–64, IF: 2.397.

Bagheri, E. and A. A. Ghorbani (2009). “A belief-theoretic framework for the collaborative development and integration of para-consistent conceptual models”. Journal of Systems and Software, 82(4), 707–729, IF: 2.559.

Bagheri, E. and A. A. Ghorbani (2010). “A Model for the Integration of Prioritized Knowledge Bases Through Subjective Belief Games”. IEEE Transactions on Systems, Man, and Cybernetics, Part A, 40(6), 1257–1270, IF: 7.351.

Bagheri, E. and A. A. Ghorbani (2009). “Astrolabe: A Collaborative Multiperspective Goal-Oriented Risk Analysis Methodology”. IEEE Transations on Systems, Man, and Cybernetics, Part A, 39(1), 66–85, IF: 7.351.

Bagheri, E., Asadi, D. Gasevic, and S. Soltani (2010). “Stratified Analytic Hierarchy Process: Prioritization and Selection of Software Features”. In: International Software Product Line Conference (SPLC).

Soltani, S.*, Asadi, M. Hatala, D. Gasevic, and E. Bagheri (2011). “Automated planning for feature model configuration based on stakeholders’ business concerns”. In: IEEE/ACM International Conference on Automated Software Engineering (ASE).

Noorian, M., Bagheri, and W. Du (2017). “Toward Automated Quality-centric Product Line Configuration using Intentional Variability”. Journal of Software: Evolution and Process 29(9), e1870, IF: 1.305.

Bashari, M., Bagheri, and W. Du (2018). “Automated Composition and Optimization of Services for Variability-Intensive Domains”. Journal of Systems and Software, 146: 356-376, IF: 2.559.

Bashari, M., Bagheri, and W. Du (2018). “Self-Adaptation of Service Compositions through Product Line Reconfiguration”. Journal of Systems and Software 144, 84–105, IF: 2.559.

Bagheri, E., T. D. Noia, D. Gasevic, and A. Ragone (2012). “Formalizing interactive staged feature model configuration”. Journal of Software: Evolution and Process, 24(4), 375–400, IF: 1.305.

Asadi, M., Soltani*, D. Gasevic, M. Hatala, and E. Bagheri (2014). “Toward automated feature model configuration with optimizing non-functional requirements”. Information and Software Technology, 56(9), 1144–1165, IF: 2.921.

Bashari, M., Bagheri, and W. Du (2017). “Dynamic Software Product Line Engineering: A Reference Framework”. International Journal of Software Engineering and Knowledge Engineering, 27(2), 191–234, IF: 0.397.

Pourmasoumi, A., Kahani, and E. Bagheri (2017). “Mining Variable Fragments from Process Event Logs”. Information Systems Frontiers 19(6), 1423–1443, IF: 2.539.

Pourmasoumi, A., M. Kahani, and Bagheri (2019). “The Evolutionary Composition of Desirable Execution Traces from Event Logs”. Future Generation Computer Systems, 98, 78–103, IF: 5.768.

Pourmasoumi A., Kahani, E. Bagheri, and M. Asadi (2015). “On Business Process Variants Generation”. In: CAiSE Forum. Springer.