Research Areas

My research interests spread in three main topics: Self-Adaptive Systems, Requirement Engineering and Software Patterns. In the follow I report a summary of the recent and past research lines with a selection of related papers.

Self-Adaptive Systems

The most recent topic concerns self-adaptive systems. This research line initiated within the context of the IDS research project [2011-2013 ]that aimed at managing dynamic workflows in a context of highly variable business rules [1]. In this scenario traditional languages as BPMN or BPEL (proposing an imperative style for defining the exact sequences of activities) may represent a limit. A contexual analysis of three small/medium enterprises highligted the necessity to move towards a more flexible language to express business process and business rules. A couple of outcomes of the project have been (1) GoalSPEC [2], a human-friendly language to specify system requirements as goal (in a goal-oriented fashion) and (2) BPMN2goalSPEC, a java module for translating a BPMN model into a set of coordinated goals.

The intuition that a workflow engine may directly execute a workflow provided as GoalSPEC [1,3] opened a new research direction, explored in details in the OCCP research project. This project aims at delivering a Cloud architecture for distributed applications in which an application may be obtained as run-time composition of existing cloud application and web-services. In this context, GoalSPEC may be employed for specifying the expected result (from the final-user perspective) that triggers the composition logics. It is going to delineate the definition of MUSA, a Middleware for User-driven Service Adaptation.

The main mechanism of MUSA is a run-time bridge for associating system capabilities to user-goals: this is called Proactive Means-End Resoning [4]. This is is based on a grounding Ontology defined for allowing a semantic matching between goals and capabilities. Conversely, the collective definition of solutions is a robotic-planning-like algorithm in which the involved agents simulate the effect (on the environment) of many alternative sequences of capabilities.

References

[1] Sabatucci, L., Lodato, C., Lopes, S., & Cossentino, M. (2013). Towards Self-Adaptation and Evolution in Business Process. In AIBP@ AI* IA (pp. 1-10). [download] [cite]

[2] Sabatucci, L., Ribino, P., Lodato, C., Lopes, S., & Cossentino, M. (2013). GoalSPEC: A Goal Specification Language Supporting Adaptivity and Evolution. In Engineering Multi-Agent Systems (pp. 235-254). Springer Berlin Heidelberg. [download] [cite]

[3] Sabatucci, L., Cossentino, M., Lodato, C., Lopes, S., & Seidita, V. (2013). A Possible Approach for Implementing Self-Awareness in JASON. In EUMAS (pp. 68-81). [download] [cite]

[4] Sabatucci, L. Cossentino, M. (2015). From Means-End Analysis to Proactive Means-End Reasoning. To appear in proceedings of SEAMS 2015. ** selected as BEST PAPER **

Requirements Engineering

The interest on requirements engineering has elicitated (during the ACube project) for the integration of a Goal-Oriented requirement engineering methodology (Tropos) with user-center and contextual inquiry techniques. In the context of user-intensive systems and socio-technical systems [10], the integration aimed at creating a synergy between the rigid construction of requirements models [5,7] (in a software engineering fashion) with the flexibility of ethnographic analysis of users in their environment (supported by instruments such as contexual inquiry, personas, scenarios and so on) [6]. The resulting approach is a method grounded on information about people, that from one side use traditional methods for tracing and abstracting data, but engaging final-users in a partecipatory design [7].

An interesting example of advantage of this integration emerged during the validation of requirements conducted with the participation of final-users. We observed a phenomen of misleading communication due to additional details added for translating requirements into contextually located scenarios (more engaging to the unskilled users). We classified this phenomenon as a semiotics issue and we called it as Ahab's Leg [9] to recall what happened when the famous book was transposed into movies (the Ahab's leg, not specified in the book, one was the right and once was the left). The Ahab‘s Leg dilemma consists in the necessity to add more details to the original storyline, because of the different characteristics of the target media or because of the use of a different communication styles, in order to keep the story engaging. In Requirement Engineering this phenomenon is often nout avoidable, but if analysts are aware, negative impact ma be controlled [11].

References

[5] Morandini, M., Sabatucci, L., Siena, A., Mylopoulos, J., Penserini, L., Perini, A., & Susi, A. (2010). On the use of the Goal-Oriented Paradigm for System Design and Law Compliance Reasoning. iStar, 4, 71.

[6] Leonardi, C., Sabatucci, L., Susi, A., & Zancanaro, M. (2011). Design as intercultural dialogue: coupling human-centered design with requirement engineering methods. In Human-Computer Interaction–INTERACT 2011 (pp. 485-502). Springer Berlin Heidelberg.

[7] Perini, A., Qureshi, N., Sabatucci, L., Siena, A., & Susi, A. (2011). Evolving requirements in socio-technical systems: concepts and practice. In Conceptual Modeling–ER 2011 (pp. 440-447). Springer Berlin Heidelberg.

[8] Sabatucci, L., Leonardi, C., Susi, A., & Zancanaro, M. (2011). Issues and Challenges in Coupling Tropos with User-Centred Design. In iStar (pp. 120-125).

[9] Leonardi, C., Sabatucci, L., Susi, A., & Zancanaro, M. (2010, January). Ahab’s leg: Exploring the issues of communicating semi-formal requirements to the final users. In Advanced Information Systems Engineering (pp. 455-469). Springer Berlin Heidelberg.

[10] Di Francescomarino, C., Leonardi, C., Marchetto, A., Nguyen, C. D., Qureshi, N. A., Sabatucci, L., ... & Zancanaro, M. (2010). A bit of" Persona", a bit of" Goal", a bit of" Process"... a recipe for Analyzing User Intensive Software Systems. In iStar (pp. 36-40).

[11] Sabatucci, L., Ceccato, M., Marchetto, A., & Susi, A. (2011, August). Ahab's Leg dilemma: On the design of a controlled experiment. In Empirical Requirements Engineering (EmpiRE), 2011 First International Workshop on (pp. 69-76). IEEE.

[12] Morales-Ramirez, I., Vergne, M., Morandini, M., Sabatucci, L., Perini, A., & Susi, A. (2012). Where did the requirements come from? a retrospective case study. In Advances in Conceptual Modeling (pp. 185-194). Springer Berlin Heidelberg.

[13] Morales-Ramirez, I., Vergne, M., Morandini, M., Sabatucci, L., Perini, A., & Susi, A. (2012, September). Revealing the obvious?: A retrospective artefact analysis for an ambient assisted-living project. In Empirical Requirements Engineering (EmpiRE), 2012 IEEE Second International Workshop on (pp. 41-48). IEEE.

[14] Serral, E., Sabatucci, L., Leonardi, C., Valderas, P., Susi, A., Zancanaro, M., & Pelechano, V. (2013). Incorporating Users into AmI System Design: From Requirements Toward Automation. In Information Systems Development (pp. 499-511). Springer New York.

Software Patterns

The study on software patterns started with the master degree thesis and continues with the phd. In the context of robotic application the use of multi-agent systems revealed a winning choice because of the possibility to use higher level of abstraction with respect of traditional object oriented programming. However when designing such complex system (we used the PASSI methodology) the need to introduce a degree of reuse of discovered solution is central. We studied a solution, inspired to the famous GoF's book, for documenting proved solution to recurring problems in the context of multi-agent system [15]. The following step was to adapt the reuse approach for integrating it into the PASSI methodology [16]. Since patterns are generative, we developed a tool for producing the code for the solution. The approach was quite generic to be easily instantiated to different agent programming platform (JADE and FIPA-OS) [17,19]. We also started to compile a repository of general purposes patterns and also defined a set of robotic specific patterns [18]. From this experience we observed that the importance of software pattern is their use in combination for solving complex problems [20]. Another further step has been done by the encounter of patterns with goal-orientation: this marriage allows a compact and finer description of the pattern structure as a goal model diagram [21].

 

[15] Cossentino, M., Burrafato, P., Lombardo, S., & Sabatucci, L. (2003). Introducing pattern reuse in the design of multi-agent systems. In Agent Technologies, Infrastructures, Tools, and Applications for E-Services (pp. 107-120). Springer Berlin Heidelberg.

[16] Cossentino, M., Sabatucci, L., & Chella, A. (2004). Patterns reuse in the PASSI methodology. In Engineering Societies in the Agents World IV (pp. 294-310). Springer Berlin Heidelberg.

[17] Sabatucci, L., & Cossentino, M. (2003). A Multi-Platform Architecture for Agent Patterns Representation and Reuse. In WOA (pp. 170-174).

[18] Cossentino, M., Sabatucci, L., & Chella, A. (2003, October). A possible approach to the development of robotic multi-agent systems. In Intelligent Agent Technology, 2003. IAT 2003. IEEE/WIC International Conference on (pp. 539-544). IEEE.

[19] Sabatucci, L., Cossentino, M., & Gaglio, S. (2006). Building Agents with Agents and Patterns. In WOA. ** selected as BEST PAPER **

[20] Sabatucci, L., Garcia, A., Cacho, N., Cossentino, M., & Gaglio, S. (2008). Conquering fine-grained blends of design patterns. In High Confidence Software Reuse in Large Systems (pp. 294-305). Springer Berlin Heidelberg.

[21] Sabatucci, L., Cossentino, M., & Susi, A. (2009). Introducing motivations in design pattern representation. In Formal Foundations of Reuse and Domain Engineering (pp. 201-210). Springer Berlin Heidelberg.