Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Elisabetta Di Nitto

dblp:76/4635 · DBLP profile ↗
← Back
56ranked-venue papers
10as first author
13since 2021 · last 2026
0000-0003-3422-5171ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 40 · 8 first-author · 5 since 2021Systems, architecture and hardware · 6 · 1 first-author · 5 since 2021Computer networks · 3 · 2 since 2021Human-computer interaction and ubiquitous computing · 3 · 1 first-authorDatabases, data management, data science and information retrieval · 2 · 2 since 2021Applied, interdisciplinary, general and emerging computing · 2Artificial intelligence and machine learning · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
5 papers
High-performance computing · 34% Storage systems · 31% Distributed systems · 25%
Software engineering, system software, and programming languages
10 papers
Requirements engineering and software design · 85% Services computing and microservices · 15%
Databases, data mining, and information retrieval
2 papers
Data stream processing · 95% Data models and query languages · 5%

Topics — the 25 heaviest of 33, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Requirements engineering and software design
model-driven engineering
0.522021
StreamGen: Model-driven Development of Distributed Streaming Applications · ACM Trans. Softw. Eng. Methodol. 2021
Deriving executable process descriptions from UML · ICSE 2002
High-performance computing
data-intensive computing
0.312018
Experiences and challenges in building a data intensive system for data migration · ICSE 2018
Storage systems
data migration
0.312018
Experiences and challenges in building a data intensive system for data migration · ICSE 2018
Data stream processing
distributed stream processing
0.112021
StreamGen: Model-driven Development of Distributed Streaming Applications · ACM Trans. Softw. Eng. Methodol. 2021
Cloud and datacenter computing › resource management › cloud resource management
elastic resource management
0.112018
Experiences and challenges in building a data intensive system for data migration · ICSE 2018
Requirements engineering and software design › software architecture
self-adaptive systems
0.112007
An infrastructure for autonomic system development: the selflet approach · ASE 2007
Distributed systems › self-adaptive systems
autonomic computing
0.112007
An infrastructure for autonomic system development: the selflet approach · ASE 2007
Distributed systems › self-adaptive systems › autonomic computing
self-managing systems
0.112007
An infrastructure for autonomic system development: the selflet approach · ASE 2007
Distributed systems
event-based architecture
0.122001
The JEDI Event-Based Infrastructure and Its Application to the Development of the OPSS WFMS · IEEE Trans. Software Eng. 2001
Exploiting an Event-Based Infrastructure to Develop Complex Distributed Systems · ICSE 1998
Requirements engineering and software design
software architecture
0.022006
Exploiting ADLs to Specify Architectural Styles Induced by Middleware Infrastructures · ICSE 1999
International workshop on service oriented software engineering (IW-SOSE'06) · ICSE 2006
Requirements engineering and software design › software process
software process modeling
0.012002
Deriving executable process descriptions from UML · ICSE 2002
High-performance computing
distributed computing infrastructure
0.012001
The JEDI Event-Based Infrastructure and Its Application to the Development of the OPSS WFMS · IEEE Trans. Software Eng. 2001
Distributed systems › middleware
event-based middleware
0.012001
The JEDI Event-Based Infrastructure and Its Application to the Development of the OPSS WFMS · IEEE Trans. Software Eng. 2001
Distributed systems
publish/subscribe systems
0.012001
The JEDI Event-Based Infrastructure and Its Application to the Development of the OPSS WFMS · IEEE Trans. Software Eng. 2001
Requirements engineering and software design
requirements specification
0.012000
Managing software artifacts on the Web with Labyrinth · ICSE 2000
Requirements engineering and software design › software architecture
architectural style
0.011999
Exploiting ADLs to Specify Architectural Styles Induced by Middleware Infrastructures · ICSE 1999
Requirements engineering and software design › software architecture › architecture description
architecture description language
0.011999
Exploiting ADLs to Specify Architectural Styles Induced by Middleware Infrastructures · ICSE 1999
Collaborative and social computing
computer-supported cooperative work
0.011996
Supporting Cooperation in the SPADE-1 Environment · IEEE Trans. Software Eng. 1996
Requirements engineering and software design › software process
process model
0.011996
A Framework for Formalizing Inconsistencies and Deviations in Human-Centered Systems · ACM Trans. Softw. Eng. Methodol. 1996
Requirements engineering and software design
software process
0.011996
A Framework for Formalizing Inconsistencies and Deviations in Human-Centered Systems · ACM Trans. Softw. Eng. Methodol. 1996
Logic in computer science
temporal logic
0.011995
How to Deal With Deviations During Process Model Enactment · ICSE 1995
Services computing and microservices › workflow management
workflow management system
0.012001
The JEDI Event-Based Infrastructure and Its Application to the Development of the OPSS WFMS · IEEE Trans. Software Eng. 2001
Distributed systems
middleware
0.011999
Exploiting ADLs to Specify Architectural Styles Induced by Middleware Infrastructures · ICSE 1999
Collaborative and social computing › computer-supported cooperative work › collaborative technology
CSCW toolkit
0.011996
Supporting Cooperation in the SPADE-1 Environment · IEEE Trans. Software Eng. 1996
Requirements engineering and software design › software process
process-centered environment
0.011996
Supporting Cooperation in the SPADE-1 Environment · IEEE Trans. Software Eng. 1996

Methods — techniques the papers use, named apart from their topics

model-driven engineering · 1.0policy-based self-management · 0.1dynamic adaptation · 0.1content integration · 0.1object-oriented design · 0.1architecture description language evaluation · 0.0model transformation · 0.0formal semantics · 0.0process modeling · 0.0formal framework · 0.0anomaly management · 0.0temporal logic · 0.0
YearPublicationVenuePosition
2026 DANTE: Data-Driven Test Case Selection and Prioritization for Long-Running Test Suites
Simone Reale, Elisabetta Di Nitto, Luciano Baresi, Massimiliano Di Penta, Giovanni Quattrocchi
ICST2
2026 A knowledge-based approach for guided development of Infrastructure as Code
abstract
Abstract Infrastructure as Code (IaC) uses versionable software code to define, deploy, and configure physical computational resources, software execution platforms, and applications. As a result, IaC enables the scalable management of complex computing environments while preventing environment drift. IaC frameworks typically offer specific languages such as the industrial Terraform, Ansible, Chef, or TOSCA—standing for Topology and Orchestration Specification for Cloud Applications—the OASIS (Organization for the Advancement of Structured Information Standards) open standard approach to IaC. Developing high-quality IaC for deploying and managing applications demands expertise and knowledge in specific IaC languages, infrastructure resources, resource providers, quality issues in IaC scripts, and so on. While several model-driven engineering (MDE) approaches have been proposed to simplify IaC development, they cannot capture and use expert knowledge to assist with modeling tasks and MDE processes by providing interactive recommendations. This paper presents a knowledge-based framework for guiding the model-driven development of IaC. We use TOSCA as the target IaC language as it is an open standard. We enable IaC and resource experts to share their IaC and resource-related knowledge with application operational experts to help simplify the development of application deployment models. We use an ontology to record the relevant deployment knowledge and ontology reasoning to implement modeling guidance capabilities such as TOSCA model auto-completion, code smell and error detection, and model element matchmaking. We show the flexibility of our methodology by applying it to three industrial applications, covering cloud, edge, and HPC (High-Performance Computing) domains. Moreover, we also assess the use acceptance of our approach and framework by conducting controlled experiments with expert and non-expert IaC users. The results indicate that our method can simplify IaC development by providing appropriate recommendations.
Zoe Vasileiou, Indika Kumara, Georgios Meditskos, Kamil Tokmakov, Dragan Radolovic, Jesús Gorroñogoitia, Elisabetta Di Nitto, Damian A. Tamburri, Willem-Jan van den Heuvel, Stefanos Vrochidis
Softw. Syst. Model.7
2024 Electric Vehicle Fast-Charging Software: Architectural Considerations Towards Trustworthiness
Vick Dini, Damian A. Tamburri, Elisabetta Di Nitto
ECSA3
2024 DOML: A new modeling approach to Infrastructure-as-Code
abstract
One of the main DevOps practices is the automation of resource provisioning and deployment of complex software. This automation is enabled by the explicit definition of Infrastructure-as-Code (IaC), i.e., a set of scripts, often written in different modeling languages, which defines the infrastructure to be provisioned and applications to be deployed. We introduce the DevOps Modeling Language (DOML), a new Cloud modeling language for infrastructure deployments. DOML is a modeling approach that can be mapped into multiple IaC languages, addressing infrastructure provisioning, application deployment and configuration. The idea behind DOML is to use a single modeling paradigm which can help to reduce the need of deep technical expertise in using different specialized IaC languages. We present the DOML’s principles and discuss the related work on IaC languages. Furthermore, the advantages of the DOML for the end-user are demonstrated in comparison with some state-of-the-art IaC languages such as Ansible, Terraform, and Cloudify, and an evaluation of its effectiveness through several examples and a case study is provided.
Michele Chiari, Bin Xiang, Sergio Canzoneri, Galia Novakova Nedeltcheva, Elisabetta Di Nitto, Lorenzo Blasi, Debora Benedetto, Laurentiu Niculut, Igor Skof
Inf. Syst.5
2024 Introduction to ACSOS 2022 Special Issue
abstract
This special issue collects extended versions of four of the papers that have received the best scores during the review process of the 3rd IEEE International Conference on Autonomic Computing and Self- Organizing Systems (ACSOS 2022). In this introduction we are going to frame the papers in the general ACSOS context.
Elisabetta Di Nitto, Ilias Gerostathopoulos, Kirstie L. Bellman
ACM Trans. Auton. Adapt. Syst.1
2023 DOML: A New Modelling Approach to Infrastructure-as-Code
abstract
Abstract One of the main DevOps practices is the automation of resource provisioning and deployment of complex software. This automation is enabled by the explicit definition of Infrastructure-as-Code (IaC), i.e., a set of scripts, often written in different modelling languages, which defines the infrastructure and applications to be deployed. We introduce the DevOps Modelling Language (DOML), a new Cloud modelling language for infrastructure deployments. DOML is a modelling approach that can be mapped into multiple IaC languages, addressing infrastructure provisioning, application deployment and configuration at once. The idea behind DOML is to use a single modelling paradigm which can help to reduce the need of deep technical expertise in using different specialised IaC languages. We present the DOML’s principles and discuss the related work on IaC languages. We demonstrate the DOML advantages for the end-user in comparison with state-of-the-art IaC languages such as Ansible, Terraform, and Cloudify, and show its effectiveness through an example.
Michele Chiari, Bin Xiang, Galia Novakova Nedeltcheva, Elisabetta Di Nitto, Lorenzo Blasi, Debora Benedetto, Laurentiu Niculut
CAiSE4
2023 Joint Planning of Network Slicing and Mobile Edge Computing: Models and Algorithms
abstract
Multi-access Edge Computing (MEC) facilitates the deployment of critical applications with stringent QoS requirements, latency in particular. This article considers the problem of jointly planning the availability of computational resources at the edge, the slicing of mobile network and edge computation resources, and the routing of heterogeneous traffic types to the various slices. These aspects are intertwined and must be addressed together to provide the desired QoS to all mobile users and traffic types still keeping costs under control. We formulate our problem as a mixed-integer nonlinear program (MINLP) and we define a heuristic, named Neighbor Exploration and Sequential Fixing (NESF), to facilitate the solution of the problem. The approach allows network operators to fine tune the network operation cost and the total latency experienced by users. We evaluate the performance of the proposed model and heuristic against two natural greedy approaches. We show the impact of the variation of all the considered parameters (viz., different types of traffic, tolerable latency, network topology and bandwidth, computation and link capacity) on the defined model. Numerical results demonstrate that NESF is very effective, achieving near-optimal planning and resource allocation solutions in a very short computing time even for large-scale network scenarios.
Bin Xiang, Jocelyne Elias, Fabio Martignon, Elisabetta Di Nitto
IEEE Trans. Cloud Comput.4
2022 Architectural Design of Cloud Applications: A Performance-Aware Cost Minimization Approach
abstract
Cloud Computing has assumed a relevant role in the ICT, profoundly influencing the life-cycle of modern applications in the manner they are designed, developed, and deployed and operated. In this article, we tackle the problem of supporting the design-time analysis of Cloud applications to identify a cost-optimized strategy for allocating components onto Cloud Virtual Machine infrastructural services, taking performance requirements into account. We present an approach and a tool, SPACE4Cloud, that supports users in modeling the architecture of an application, in defining performance requirements as well as deployment constraints, and then in mapping each architecture component into a corresponding VM service, minimizing total costs. An optimization algorithm supports the mapping and determines the Cloud configuration that minimizes the execution costs of the application over a daily time horizon. The benefits of this approach are demonstrated in the context of an industrial case study. Furthermore, we show that SPACE4Cloud leads to a cost reduction up to 60 percent, when compared to a first-principle technique based on utilization thresholds, like the ones typically used in practice, and that our solution is able to solve large problem instances within a time frame compatible with a fast-paced design process (less than half an hour in the worst case). Finally, we show that SPACE4Cloud is suitable to model even microservice-based applications and to compute the corresponding optimized deployment configuration which is compared with a state-of-the art meta-heuristic alternative method, achieving savings between 21 and 85 percent.
Michele Ciavotta, Giovanni Paolo Gibilisco, Danilo Ardagna, Elisabetta Di Nitto, Marco Lattuada 0001, Marcos Aurélio Almeida da Silva
IEEE Trans. Cloud Comput.4
2021 Resource Calendaring for Mobile Edge Computing in 5G Networks
abstract
Mobile Edge Computing (MEC) is a key technology for the deployment of next generation (5G and beyond) mobile networks, specifically for reducing the latency experienced by mobile users which require ultra-low latency, high bandwidth, as well as real-time access to the radio network. In this paper, we propose an optimization framework that considers several key aspects of the resource allocation problem for MEC, by carefully modeling and optimizing the allocation of network resources including computation and storage capacity available on network nodes as well as link capacity. Specifically, both an exact optimization model and an effective heuristic are provided, jointly optimizing (1) the connections admission decision (2) their scheduling, also called calendaring (3) and routing as well as (4) the decision of which nodes will serve such connections and (5) the amount of processing and storage capacity reserved on the chosen nodes. Numerical experiments are conducted in several real-size network scenarios, which demonstrate that the heuristic performs close to the optimum in all the considered network scenarios, while exhibiting a low computing time.
Bin Xiang, Jocelyne Elias, Fabio Martignon, Elisabetta Di Nitto
ICC4
2021 HPC application optimisation in SODALITE
abstract
We propose to tackle the complexity of deploying and operating modern applications onto heterogeneous HPC and cloud-based systems by providing application developers and infrastructure operators with tools to abstract their application and infrastructure requirements.
Daniel Vladusic, João Pita Costa, Dragan Radolovic, Kalman Z. Meth, Elisabetta Di Nitto, Alfio Lazzaro, Nina Mujkanovic, Maria Carbonell
SYSTOR5
2021 Resource calendaring for Mobile Edge Computing: Centralized and decentralized optimization approaches
Bin Xiang, Jocelyne Elias, Fabio Martignon, Elisabetta Di Nitto
Comput. Networks4
2021 SODALITE@RT: Orchestrating Applications on Cloud-Edge Infrastructures
abstract
Abstract IoT-based applications need to be dynamically orchestrated on cloud-edge infrastructures for reasons such as performance, regulations, or cost. In this context, a crucial problem is facilitating the work of DevOps teams in deploying, monitoring, and managing such applications by providing necessary tools and platforms. The SODALITE@RT open-source framework aims at addressing this scenario. In this paper, we present the main features of the SODALITE@RT: modeling of cloud-edge resources and applications using open standards and infrastructural code, and automated deployment, monitoring, and management of the applications in the target infrastructures based on such models. The capabilities of the SODALITE@RT are demonstrated through a relevant case study.
Indika Kumara, Paul Mundt, Kamil Tokmakov, Dragan Radolovic, Alexander Maslennikov, Román Sosa, Jorge Fernández-Fabeiro, Giovanni Quattrocchi, Kalman Z. Meth, Elisabetta Di Nitto, Damian A. Tamburri, Willem-Jan van den Heuvel, Georgios Meditskos
J. Grid Comput.10
2021 StreamGen: Model-driven Development of Distributed Streaming Applications
abstract
Distributed streaming applications, i.e., applications that process massive streams of data in a distributed fashion, are becoming increasingly popular to tame the velocity and the volume of Big Data . Nevertheless, the widespread adoption of data-intensive processing is still limited by the non-trivial design paradigms involved, which deal with the unboundedness and volume of involved data streams and by the many distributed streaming platforms, each with its own characteristics and APIs. In this article, we present StreamGen, a Model-Driven Engineering tool to simplify the design of such streaming applications and automatically generate the corresponding code. StreamGen is able to automatically generate fully working and processing-ready code for different target platforms (e.g., Apache Spark, Apache Flink). Evaluation shows that (i) StreamGen is general enough to model and generate the code, offering comparable performance against a preexisting similar and well-known application; (ii) the tool is fully compliant with streaming concepts defined as part of the Google Dataflow Model; and (iii) users with little computer science background and limited experience with big data have been able to work with StreamGen and create/refactor an application in a matter of minutes.
Michele Guerriero, Damian A. Tamburri, Elisabetta Di Nitto
ACM Trans. Softw. Eng. Methodol.3
2020 Cloud applications monitoring: An industrial study
abstract
Modern software systems employ large IT infrastructures hosted in on-premise clouds or using “rented” cloud resources from specific vendors. The unifying force across any cloud strategy is incremental product and application improvement against conservation of those resources. This is where monitoring of cloud applications becomes a key asset To shed light over the status of monitoring practices in industry, we study: (a) monitoring practices and tools adoption in industry; (b) size and complexity of industrial monitoring problems; (c) the role of software architecture and software process with respect to monitoring strategies. We conduct mixed-methods empirical research featuring interviews and a web survey featuring 140+ practitioners from over 70 different organizations. Even if the market makes available a significant set of monitoring tools, our results show a rather unappealing picture of industrial monitoring: (a) industrial decision-makers do not perceive monitoring as a key asset even though the downtime of their applications correlates heavily with the level of automation and responsiveness enabled by monitoring; (b) monitoring is done with crude technology, mostly MySQL querying or similar (e.g., Nagios); finally, (c) incidents are discovered by clients rather than application owners. We conclude that the road toward the industrial adoption of cutting-edge monitoring technology is still one of the less travelled, presumably in connection to the considerable investment required. Furthermore, the lack of industrial cloud monitoring standards does not help in addressing the proliferation of multiple tool combinations, with varying effectiveness. Further research should be invested in looking into and addressing these major concerns.
Damian A. Tamburri, Marco Miglierina, Elisabetta Di Nitto
Inf. Softw. Technol.3
2019 Joint Network Slicing and Mobile Edge Computing in 5G Networks
abstract
Mobile traffic generated by a variety of services is rapidly increasing in volume. Both network and computation resources in a single edge network are therefore often too limited to provide the desired Quality of Service (QoS) to mobile users. In this paper, we propose a mathematical model, called JSNC, to perform an efficient joint slicing of mobile network and edge computation resources. JSNC aims at minimizing the total latency of transmitting, outsourcing and processing user traffic, under the constraint of user tolerable latency for multiple classes of traffic. The constraints of network, link and server capacities are considered as well. The optimization model results in a mixed-integer nonlinear programming (MINLP) problem. To tackle it efficiently, we perform an equivalent reformulation, and based on that, we further propose two effective heuristics: Sequential Fixing (SF), which can achieve near-optimal solutions, and a greedy approach which obtains suboptimal results with respect to SF. Both of them can solve the optimization problem in a very short computing time. We evaluate the performance of the proposed model and heuristics, showing the impact of all the considered parameters (viz. different types of traffic, tolerable latency, network topology and bandwidth, computation and link capacity) on the optimal and approximate solutions. Numerical results demonstrate that JSNC and the heuristics can provide efficient resource allocation solutions.
Bin Xiang, Jocelyne Elias, Fabio Martignon, Elisabetta Di Nitto
ICC4
2019 Managing Diversity in Distributed Software Development Education - A Longitudinal Case Study
abstract
Teaching Distributed Software Development with real distributed settings is a challenging and rewarding task. Distributed courses are idiosyncratically more challenging than standard local courses. We have experienced this during our distributed course, which has been run for 14 consecutive years. In this article, we present and analyze the emerging diversities specific to distributed project-based courses. We base our arguments on our experience, and we exploit a three-layered distributed course model, which we use to analyze several course elements throughout the 14-years lifetime of our distributed project-based course. In particular, we focus on the changes that the course underwent throughout the years, combining findings obtained from the analyzed data with our own teaching perceptions. Additionally, we propose insights on how to manage the various diversity aspects.
Ivana Bosnic, Federico Ciccozzi, Ivica Crnkovic, Igor Cavrak, Elisabetta Di Nitto, Raffaela Mirandola, Mario Zagar
ACM Trans. Comput. Educ.5
2019 A UML Profile for the Design, Quality Assessment and Deployment of Data-intensive Applications
Diego Perez-Palacin, José Merseguer, José Ignacio Requeno, Michele Guerriero, Elisabetta Di Nitto, Damian A. Tamburri
Softw. Syst. Model.5
2018 Infrastructure-as-Code for Data-Intensive Architectures: A Model-Driven Development Approach
abstract
As part of the DevOps tactics, Infrastructure-as-Code (IaC) provides the ability to create, configure, and manage complex infrastructures by means of executable code. Writing IaC, however, is not an easy task, since it requires blending different infrastructure programming languages and abstractions, each specialized on a particular aspect of infrastructure creation, configuration, and management. Moreover, the more the architectures become large and complex (e.g. Data-Intensive or Microservice-based architectures), the more dire the need of IaC becomes. The goal of this paper is to exploit Model-Driven Engineering (MDE) to create language-agnostic models that are then automatically transformed into IaC. We focus on the domain of Data-Intensive Applications as these typically exploit complex infrastructures which demand sophisticated and fine-grained configuration and re-configuration - we show that, through our approach, called DICER, it is possible to create complex IaC with significant amounts of time savings, both in IaC design as well as deployment and re-deployment times.
Matej Artac, Tadej Borovsak, Elisabetta Di Nitto, Michele Guerriero, Diego Perez-Palacin, Damian A. Tamburri
ICSA3
2018 Streamgen: a UML-based tool for developing streaming applications
abstract
Distributed streaming applications, i.e. applications that process massive and potentially infinite streams of data, are becoming increasingly popular in order to tame at the same time the velocity and the volume of Big Data. Designing and developing distributed streaming applications is currently difficult because it involves the employment of 1) complex programming paradigms to deal with the unboundedness of data streams together with 2) distributed streaming engines, each coming with its own APIs. To address the above shortcomings, in this tool demo paper we present StreamGen, a model-driven tool aiming at simplifying the development of distributed streaming applications. StreamGen provides (i) a UML profile to add streaming-specific concepts to standard UML Class Diagrams and (ii) a model-to-text transformation to automatically generate the application code starting from UML models.
Michele Guerriero, Alessandro Nesta, Elisabetta Di Nitto
MiSE@ICSE3
2018 Experiences and challenges in building a data intensive system for data migration
abstract
Recent analyses[2, 4, 5] report that many sectors of our economy and society are more and more guided by data-driven decision processes (e.g., health care, public administrations, etc.). As such, Data Intensive (DI) applications are becoming more and more important and critical. They must be fault-tolerant, they should scale with the amount of data, and be able to elastically leverage additional resources as and when these last ones are provided [3]. Moreover, they should be able to avoid data drops introduced in case of sudden overloads and should offer some Quality of Service (QoS) guarantees.
Marco Scavuzzo, Elisabetta Di Nitto, Danilo Ardagna
ICSE2
2018 Experiences and challenges in building a data intensive system for data migration
Marco Scavuzzo, Elisabetta Di Nitto, Danilo Ardagna
Empir. Softw. Eng.2
2017 Hall of Fame Nomination Paper: Distributed Software Development Course
abstract
Distributed Software Development course is a joint project-based course involving three universities, from Croatia, Sweden and Italy, running each year since 2003. Distributed student teams work on all phases of a complex software engineering project, solving several challenges of working in a global environment, thus obtaining a valuable experience for their future careers. The course is very well received by both the students and course partners from the industry.
Igor Cavrak, Ivana Bosnic, Mario Zagar, Federico Ciccozzi, Elisabetta Di Nitto, Raffaela Mirandola, Ivica Crnkovic
CSEE&T5
2016 SeaClouds: An Open Reference Architecture for Multi-cloud Governance
Antonio Brogi, Jose Carrasco 0001, Javier Cubo, Francesco D'Andria, Elisabetta Di Nitto, Michele Guerriero, Diego Pérez, Ernesto Pimentel 0001, Jacopo Soldani
ECSA5
2015 Mycocloud: Elasticity through Self-Organized Service Placement in Decentralized Clouds
abstract
We present Mycocloud, a fully self-organized approach to service placement. Mycocloud supports service elasticity within a network of hosts with heterogeneous computational capacity. Mycocloud proposes a completely decentralized algorithm that continuously calculates the dynamic placement of different services on the host nodes, in response to the varying demand for each service, the churn and dynamism of the node set contributing resources to the system, and the changes in the overlay topology. Our simulation results show how Mycocloud provides good performance in terms of convergence rate, response time, system load and network traffic overhead.
Daniel J. Dubois, Giuseppe Valetto, Donato Lucia, Elisabetta Di Nitto
CLOUD4
2015 DICE: Quality-Driven Development of Data-Intensive Cloud Applications
abstract
Model-driven engineering (MDE) often features quality assurance (QA) techniques to help developers creating software that meets reliability, efficiency, and safety requirements. In this paper, we consider the question of how quality-aware MDE should support data-intensive software systems. This is a difficult challenge, since existing models and QA techniques largely ignore properties of data such as volumes, velocities, or data location. Furthermore, QA requires the ability to characterize the behavior of technologies such as Hadoop/MapReduce, NoSQL, and stream-based processing, which are poorly understood from a modeling standpoint. To foster a community response to these challenges, we present the research agenda of DICE, a quality-aware MDE methodology for data-intensive cloud applications. DICE aims at developing a quality engineering tool chain offering simulation, verification, and architectural optimization for Big Data applications. We overview some key challenges involved in developing these tools and the underpinning models.
Giuliano Casale, Danilo Ardagna, Matej Artac, Franck Barbier, Elisabetta Di Nitto, Alexis Henry, Gabriel Iuhasz, Christophe Joubert, José Merseguer, Victor Ion Munteanu, Juan F. Pérez, Dana Petcu, Matteo G. Rossi, Craig Sheridan, Ilias Spais, Daniel Vladuic
MiSE@ICSE5
2015 When Software Architecture Leads to Social Debt
abstract
Social and technical debt both represent the state of software development organizations as a result of accumulated decisions. In the case of social debt, decisions (and connected debt) weigh on people and their socio-technical interactions/characteristics. Digging deeper into social debt with an industrial case-study, we found that software architecture, the prince of development artefacts, plays a major role in causing social debt. This paper discusses a key circumstance wherefore social debt is connected to software architectures and what can be done and measured in response, as observed in our case-study. Also, we introduce DAHLIA, that is "Debt-Aimed Architecture-Level Incommunicability Analysis" - a framework to elicit some of the causes behind social debt for further analysis.
Damian A. Tamburri, Elisabetta Di Nitto
WICSA2
2014 An experiment on teaching coordination in a globally distributed software engineering class
abstract
The importance of planning and management skills in software development is very difficult to convey in software engineering courses. We present the synopsis of an assignment whose purpose is to demonstrate the significance of such skills, including effective communication, team coordination and collaboration, and overall project planning. The assignment is organized in the context of a distributed software engineering course carried out in collaboration with 12 universities in South America, Europe and Africa. The assignment is a globally distributed contest issued before most development activities related to the course's software project are performed, aiming at favoring the collaboration between students prior to project development. The contest does not involve any programming, and is not related to the project development activities. Instead, it consists of making teams in different countries compete in collaboratively solving a set of very simple tasks. The complexity of the activity is in team collaboration and coordination, and their lack is evident when the tasks are not correctly solved, or not solved in time. Despite the simplicity of the as-signment, students have found it useful in helping them understand the significance of management and planning challenges in distributed software development. Moreover, the assignment helped in team building, by creating a better team atmosphere and contributing in identifying team members better suited for management.
Martín Nordio, H.-Christian Estler, Bertrand Meyer 0001, Nazareno Aguirre, Rafael Prikladnicki, Elisabetta Di Nitto, Anthony Savidis
CSEE&T6
2013 An Approach for the Development of Portable Applications on PaaS Clouds
Filippo Giove, Davide Longoni, Majid Shokrolahi Yancheshmeh, Danilo Ardagna, Elisabetta Di Nitto
CLOSER5
2013 Model based control for multi-cloud applications
abstract
The advent of cloud computing has offered to developers a new appealing paradigm to deploy their applications without capital investments. Resources can now be acquired on-demand in a flexible, scalable and rapid way. However, cloud providers lack of native mechanisms to guarantee the Quality of Service required by specific application domains. High availability can be achieved by replication of critical components. Since outages could affect the entire cloud provider, replication can be effective only by using multiple providers. In this paper we tackle the above problem and present an approach to guarantee availability requirements of cloud-based applications by exploiting replication on multiple clouds to reduce unavailability, still limiting costs. More precisely, we propose: i) an approach to model, at design time, the application, its availability requirements and the characteristics of the used clouds, and ii) a self-adaptive technique responsible, at runtime, of both in-cloud scaling policies and traffic routing among different cloud providers, by means of a control-theoretical approach. We integrated the modeling approach in the Palladio Bench IDE and developed a runtime self-adaptation controller in Matlab. The controller has been evaluated against different workload conditions, costs variations and service failures in simulated scenarios. The controller has been able to provide the desired availability minimizing costs.
Marco Miglierina, Giovanni Paolo Gibilisco, Danilo Ardagna, Elisabetta Di Nitto
MiSE4
2012 On the Nature of GSE Organizational Social Structures: An Empirical Study
abstract
In Global Software Engineering (GSE), people are organized in teams, distanced in space, time and culture. Organizational research calls this interplay of people an Organizational Social Structure (OSS). Previous literature in GSE shows that its OSS is highly dynamic and unpredictable. This paper presents a mapping of OSS types onto GSE organizational factors, based on empirical evidence. We made two observations: first, current OSS types don't support factors related to GSE process management and organizational efficiency (e.g. risk management, language, etc.). Second, OSSs in GSE have attributes which don't map onto any GSE factor, rather introduce a new one, awareness management (e.g. awareness of skills to others, awareness of tasks, tasks (re-)localization, etc.). Our conclusions are twofold. First, OSSs for GSE should focus on increasing support to process management and organizational efficiency. Lastly, research in GSE should include factors focusing on awareness management.
Damian A. Tamburri, Patricia Lago, Hans van Vliet, Elisabetta Di Nitto
ICGSE4
2012 MODAClouds: a model-driven approach for the design and execution of applications on multiple clouds
abstract
Cloud computing is emerging as a major trend in the ICT industry. While most of the attention of the research community is focused on considering the perspective of the Cloud providers, offering mechanisms to support scaling of resources and interoperability and federation between Clouds, the perspective of developers and operators willing to choose the Cloud without being strictly bound to a specific solution is mostly neglected. We argue that Model-Driven Development can be helpful in this context as it would allow developers to design software systems in a cloud-agnostic way and to be supported by model transformation techniques into the process of instantiating the system into specific, possibly, multiple Clouds. The MODAClouds (MOdel-Driven Approach for the design and execution of applications on multiple Clouds) approach we present here is based on these principles and aims at supporting system developers and operators in exploiting multiple Clouds for the same system and in migrating (part of) their systems from Cloud to Cloud as needed. MODAClouds offers a quality-driven design, development and operation method and features a Decision Support System to enable risk analysis for the selection of Cloud providers and for the evaluation of the Cloud adoption impact on internal business processes. Furthermore, MODAClouds offers a run-time environment for observing the system under execution and for enabling a feedback loop with the design environment. This allows system developers to react to performance fluctuations and to re-deploy applications on different Clouds on the long term.
Danilo Ardagna, Elisabetta Di Nitto, Giuliano Casale, Dana Petcu, Parastoo Mohagheghi, Sébastien Mosser 0001, Peter Matthews, Anke Gericke, Cyril Ballagny, Francesco D'Andria, Cosmin-Septimiu Nechifor, Craig Sheridan
MiSE2
2011 How Do Distribution and Time Zones Affect Software Development? A Case Study on Communication
abstract
Software projects have crossed seas and continents looking for talented developers, moving from local developments to geographically distributed projects. This paper presents a case study analyzing the effect of distribution and time zones on communication in distributed projects. The study was performed in a university course during two semesters, where students developed projects jointly with teams located in ten different countries in South America, Europe, and Asia. The study compares the results of the projects distributed in two locations with projects distributed in three locations. It also analyzes projects in different time zone ranges. The initial results show that the amount of communication in projects distributed in two locations is bigger than the communication in projects distributed in three locations. We also found that projects in closer time zones have more communication than projects in farther time zones. Furthermore, we analyze the reply time for e-mails of projects distributed in different time zones, and discuss the challenges faced by the students during these projects.
Martín Nordio, H.-Christian Estler, Bertrand Meyer 0001, Julian Tschannen, Carlo Ghezzi, Elisabetta Di Nitto
ICGSE6
2010 Using Compositionality to Formally Model and Analyze Systems Built of a High Number of Components
abstract
When dependability of systems with a large number of components is a concern, being able to model and analyze their properties, especially non-functional ones, in a formal and automated way becomes essential. Often, however, the application of formal methods and automated reasoning is seen by practitioners as complex and time consuming. Compositional techniques can help modify this belief. In this paper we show how a compositional modeling and verification technique can be applied to the analysis of distributed systems with numerous interacting nodes. We automate the proof by exploiting a SAT-based tool. We demonstrate the validity of the resulting approach by applying it to an autonomic service-based system that manages, in a coordinated peer-to-peer manner, electricity consumption in a geographical area. In particular, we show that in this case the time needed for performing the proof is remarkably shorter than in the case in which we adopt a non-compositional approach.
Silvia Bindelli, Elisabetta Di Nitto, Carlo A. Furia, Matteo G. Rossi
ICECCS2
2010 A Tile-Based Approach for Self-Assembling Service Compositions
abstract
This paper presents a novel approach to the design of self-adaptive service-oriented applications based on a new model called service tiles. The approach allows designers to develop a service-oriented system by building an assembly of component services that accomplishes the given goal. The assembly is computed automatically starting from the specification of a subset of the whole system, a few constraints, and the goals the application should fulfill. An application designed according to the service-tile model can also dynamically self-adapt by replacing, in part or entirely, services in the assembly whenever they fail or the application context changes. The service-tile design technique has been implemented in a prototype and some experiments with several examples demonstrate the feasibility of the approach and its practical efficiency.
Luca Cavallaro, Elisabetta Di Nitto, Carlo A. Furia, Matteo Pradella
ICECCS2
2008 A journey to highly dynamic, self-adaptive service-based applications
Elisabetta Di Nitto, Carlo Ghezzi, Andreas Metzger, Mike P. Papazoglou, Klaus Pohl
Autom. Softw. Eng.1
2008 On adopting Content-Based Routing in service-oriented architectures
Gianpaolo Cugola, Elisabetta Di Nitto
Inf. Softw. Technol.2
2007 Negotiation of Service Level Agreements: An Architecture and a Search-Based Approach
Elisabetta Di Nitto, Massimiliano Di Penta, Alessio Gambi, Gianluca Ripa, Maria Luisa Villani
ICSOC1
2007 An infrastructure for autonomic system development: the selflet approach
abstract
Autonomic computing is an emergent field for the development of large-scale, self-managing, complex distributed computer-based systems. This paper aims to be a practical approach to Autonomic Computing, by defining and implementing a generic model for autonomic systems, allowing software developers to create autonomic applications using a common and comprehensive infrastructure. In particular, this paper defines a simple but complete model andarchitecture of an autonomic computing element called SelfLet, which could be the building components used to create autonomic systems. SelfLets can be defined by specifying their behaviour, the abilities and goals they need to use and/or provide, and a high-level policy guiding their self-management.
Davide Devescovi, Elisabetta Di Nitto, Raffaela Mirandola
ASE2
2007 2nd international workshop on service oriented software engineering (IW-SOSWE 2007)
abstract
Software engineering practitioners and researchers continue to face huge challenges in the development, maintenance, and use of software systems. This has been even more prominent with the new paradigm of service oriented computing in which service integrators, developers, and providers need to create methods, tools, and techniques to support cost-effective development and use of dependable services and service oriented applications. This workshop provides a forum for presentations and discussions of topics related to service oriented software engineering paradigm.
Elisabetta Di Nitto, Andrea Polini, Andrea Zisman
ESEC/SIGSOFT FSE1
2007 A framework for the deployment of adaptable web service compositions
Luciano Baresi, Elisabetta Di Nitto, Carlo Ghezzi, Sam Guinea
Serv. Oriented Comput. Appl.2
2006 International workshop on service oriented software engineering (IW-SOSE'06)
abstract
No abstract available.
Elisabetta Di Nitto, Robert J. Hall 0001, Jun Han 0004, Yanbo Han, Andrea Polini, Kurt Sandkuhl, Andrea Zisman
ICSE1
2006 SCENE: A Service Composition Execution Environment Supporting Dynamic Changes Disciplined Through Rules
Massimiliano Colombo, Elisabetta Di Nitto, Marco Mauri
ICSOC2
2006 Towards Open-World Software: Issue and Challenges
abstract
Summary form only given. Traditional software development is based on the closed-world assumption that the boundary between system and environment is known and unchanging. However, this assumption no longer works within today's unpredictable open-world settings, which demands techniques that let software react to changes by self-organizing its structure and self-adapting its behavior
Luciano Baresi, Elisabetta Di Nitto, Carlo Ghezzi
SEW2
2005 Speaking a Common Language: A Conceptual Model for Describing Service-Oriented Systems
Massimiliano Colombo, Elisabetta Di Nitto, Massimiliano Di Penta, Damiano Distante, Maurilio Zuccalà
ICSOC2
2003 Adaptation of Web Contents and Services to Terminals Capabilities: the @Terminals Approach
abstract
Special purpose terminals able to be interconnected to the Internet and offering to users some inherently limited service fruition capabilities are nowadays emerging. This is fostering the need to support dynamic adaptation of contents and services in order to overcome terminal limitations. We present the @Terminals Adaptation System, an extensible infrastructure for universal access to Web contents and services. It mediates the interaction between user terminals and service providers through dynamic adaptation, integration, and selection of contents and services.
Elisabetta Di Nitto, Giordano Sassaroli, Maurilio Zuccalà
PerCom1
2003 Using CC/PP to Manage Context Awareness: The @Terminals Approach
Elisabetta Di Nitto, Giordano Sassaroli, Maurilio Zuccalà
SNPD1
2002 Deriving executable process descriptions from UML
abstract
In the recent past, a relevant effort has been devoted to the definition of process modeling languages (PMLs). The resulting languages and environments –although technically successful– did not receive much attention from industry. On the contrary, researchers and practitioners have recently started experimenting with the usage of UML as a PML. Being so popular and widely used, UML has an important competitive advantage compared to any specialized PML. However, it has also a main limitation. While most PMLs are executable by some process engine, UML was conceived as a non-executable, semi-formal language. The work described here aims at assessing the possibility of employing a subset of UML as an executable PML. The article proposes a formalization of the semantics of the UML subset and presents the translation of UML process models into code, which can be enacted in the OPSS process-centered environment. The paper also presents a case study to validate the approach. We expect that process modeling by means of UML is easier and available to a larger community of software process managers. Moreover, process enactment makes the process more efficient, reliable, predictable and controllable, as widely shown by previous research.
Elisabetta Di Nitto, Luigi Lavazza, Marco Schiavoni, Emma Tracanella, Michele Trombetta
ICSE1
2001 The JEDI Event-Based Infrastructure and Its Application to the Development of the OPSS WFMS
abstract
The development of complex distributed systems demands the creation of suitable architectural styles (or paradigms) and related runtime infrastructures. An emerging style that is receiving increasing attention is based on the notion of event. In an event-based architecture, distributed software components interact by generating and consuming events. An event is the occurrence of some state change in a component of a software system, made visible to the external world. The occurrence of an event in a component is asynchronously notified to any other component that has declared some interest in it. This paradigm (usually called "publish/subscribe", from the names of the two basic operations that regulate the communication) holds the promise of supporting a flexible and effective interaction among highly reconfigurable, distributed software components. In the past two years, we have developed an object-oriented infrastructure called JEDI (Java event-based distributed infrastructure). JEDI supports the development and operation of event-based systems and has been used to implement a significant example of distributed system, namely, the OPSS workflow management system (WFMS). The paper illustrates the main features of JEDI and how we have used them to implement OPSS. Moreover, the paper provides an initial evaluation of our experiences in using the event-based architectural style and a classification of some of the event-based infrastructures presented in the literature.
Gianpaolo Cugola, Elisabetta Di Nitto, Alfonso Fuggetta
IEEE Trans. Software Eng.2
2000 Analyzing the Behavior of Event Dispatching Systems through Simulation
Giovanni Bricconi, Emma Tracanella, Elisabetta Di Nitto, Alfonso Fuggetta
HiPC3
2000 Managing software artifacts on the Web with Labyrinth
abstract
Software developers are increasingly exploiting the Web as a document management system. However, the Web has some limitations, since it is not aware of the structure and semantics associated to pieces of information (e.g., the fact that a document is a requirement specification) and of the semantics of relationships between pieces of information (e.g., the fact that a requirement specification document may be associated to some design specification document). In the Labyrinth project we enhance the capabilities of the Web as a document management system by means of a semantic model (called schema, in analogy with database schemas), which is associated to Web documents. This model is itself a Web document and can be accessed and navigated through a simple Web browser.
Fabiano Cattaneo, Elisabetta Di Nitto, Alfonso Fuggetta, Luigi Lavazza, Giuseppe Valetto
ICSE2
1999 Exploiting ADLs to Specify Architectural Styles Induced by Middleware Infrastructures
abstract
Architecture Dejnition Languages (ADLs) enable the for- malization of the architecture of software systems and the execution of preliminary analyses on them.These analyses aim at supporting the identification and solution of design problems in the early stages of software development.We have used ADLs to describe middleware-induced architectural styles.These styles describe the assumptions and constraints that middleware infrastructures impose on the architecture of systems.Our work originates from the belief that the explicit representation of these styles at the architectural level can guide designers in the definition of an architecture compliant with a pre-selected middleware infrastructure, or, conversely can support designers in the identification of the most suitable middleware infrastructure for a specific architecture.In this paper we provide an evaluation of ADLs as to their suitability for defining middleware-induced architectural styles.We identify new requirements for ADLs, and we highlight the importance of existing capabilities.Although our experimentation starts from an attempt to solve a specific problem, the results we have obtained provide general lessons about ADLs, learned from defining the architecture of existing, complex, distributed, running systems.
Elisabetta Di Nitto, David S. Rosenblum
ICSE1
1998 Exploiting an Event-Based Infrastructure to Develop Complex Distributed Systems
abstract
The development of complex distributed systems demands for the creation of suitable architectural styles (or paradigms) and related run-time infrastructures. An emerging style that is receiving increasing attention is based on the notion of event. In an event-based architecture, distributed software components interact by generating and consuming events. The occurrence of an event in a component (called source) is asynchronously notified to any other component (called recipient) that has declared some interest in it. This paradigm holds the promise of supporting a flexible and effective interaction among highly reconfigurable distributed software components. We have developed an object-oriented infrastructure, called JEDI (Java Event-based Distributed Infrastructure), to support the development and operation of event-based systems. During the past year, JEDI has been used to implement a significant example of distributed system, namely, the OPSS workflow management system. The paper illustrates JEDI main features and how we have used it to implement the OPSS workflow management system. Moreover, it provides an initial evaluation of our experiences in using an event-based architectural style.
Gianpaolo Cugola, Elisabetta Di Nitto, Alfonso Fuggetta
ICSE2
1998 Special Issue on Process Technology
Elisabetta Di Nitto, Alfonso Fuggetta
Autom. Softw. Eng.1
1996 A Framework for Formalizing Inconsistencies and Deviations in Human-Centered Systems
abstract
Most modern business activities are carried out by a combination of computerized tools and human agents. Typical examples are engineering design activities, office procedures, and banking systems. All these human-centered systems are characterized by the interaction among people, and between people and computerized tools. This interaction defines a process, whose effectiveness is essential to ensure the quality of the delivered products and/or services. To support these systems, process-centered environments and workflow management systems have been recently developed. They can be collectively identified with the term process technology . This technology is based on the explicit definition of the process to be followed (the process model ). The model specifies the kind of support that has to be provided to human agents. An essential property that process technology mut exhibit is the ability of tolerating, controlling, and supporting deviations and inconsistencies of the real-world behaviors with respect to the proocess model. This is necessary to provide consistent and effective support to the human-centered system, still maintaining a high degree of flexibility and adaptability to the evolving needs, preferences, an expertise of the the human agents. This article presents a formal framework to characterize the interaction between a human-centered system and its automated support. It does not aim at introducing a new language or system to describe processes. Rather, it aims at identifying the basic properties and features that make it possible to formally define the concepts of inconsistency and deviation. This formal framework can then be used to compare existing solutions and guide future research work.
Gianpaolo Cugola, Elisabetta Di Nitto, Alfonso Fuggetta, Carlo Ghezzi
ACM Trans. Softw. Eng. Methodol.2
1996 Supporting Cooperation in the SPADE-1 Environment
abstract
Software development is a cooperative activity that relies heavily on the quality and effectiveness of the communication channels established within the development team and with the end-user. Process-centered software engineering environments (PSEEs) support the definition and the execution of various phases of the software process. This is achieved by explicitly defining cooperation procedures, and by supporting synchronization and data sharing among its users. PSEE and CSCW technologies have been developed rather independently from each other, leading to a large amount of research results, tools and environments, and practical experiences. We have reached a stage in technology development where it is necessary to assess and evaluate the effectiveness of the research efforts carried out so far. Moreover, it is important to understand how to integrate and exploit the results of these different efforts. The goal of the paper is to understand which kind of basic functionalities PSEEs can and should offer, and how these environments can be integrated with other tools to effectively support cooperation in software development. In particular, the paper introduces a process model we have built to support a cooperative activity related to anomaly management in an industrial software factory. The core of the paper presents and discusses the experiences and results that we have derived from this modeling activity, and how they related to the general problem of supporting cooperation in software development. The project was carried out using the SPADE (Software Process Analysis, Design and Enactment) PSEE and the ImagineDesk CSCW toolkit.
Sergio Bandinelli, Elisabetta Di Nitto, Alfonso Fuggetta
IEEE Trans. Software Eng.2
1995 How to Deal With Deviations During Process Model Enactment
abstract
A fundamental problem in software processes is how the mintrinsic rigidity of a predejined (formal) model can be reconciled with the need for flexibility, change, and evolution.We therefore distinguish between software processes, as specified in a process description, and their actual performance by humans.Further, we claim that the two inevitably diverge, and thus it is necessary to provide means to reconcile them.We present a preliminary exploration into the problem.In particular, we illustrate how a temporal logic-based approach can be used to capture and tolerate some deviations from the process description during execution.We present a simple process language (LATIN), and its prototype environment (SENTINEL), in which these ideas are currently experimented.1
Gianpaolo Cugola, Elisabetta Di Nitto, Carlo Ghezzi, M. Mantione
ICSE2