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.