Patricia Lago

dblp:40/5357 · DBLP profile ↗
← Back
121ranked-venue papers
16as first author
40since 2021 · last 2026
0000-0002-2234-0845ORCID · verified

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

Software engineering, systems software and programming languages · 107 · 13 first-author · 38 since 2021Human-computer interaction and ubiquitous computing · 5 · 3 first-authorArtificial intelligence and machine learning · 4 · 1 first-author · 1 since 2021Databases, data management, data science and information retrieval · 4 · 2 since 2021Applied, interdisciplinary, general and emerging computing · 4 · 1 first-author · 1 since 2021Systems, architecture and hardware · 3 · 2 since 2021Computer networks · 1
YearPublicationVenuePosition
2026 Designing Value-Based Platforms: Architectural Strategies Derived from the Digital Markets Act
abstract
221
Fabian Stiehle, Markus Funke, Patricia Lago, Ingo Weber
ICSA3
2026 An architectural perspective on MLOps: Structures, processes, tools, and stakeholders
abstract
Despite the increasing adoption of Machine Learning Operations (MLOps), teams still encounter challenges in effectively applying this paradigm to their projects. While numerous MLOps tools exist, consolidated knowledge to inform architecture design is still lacking. In response, our goal is to provide a comprehensive overview of MLOps architectures from a structural and process perspective, the tools mentioned supporting the implementation of architecture components, and the stakeholders responsible for the MLOps process. We conduct a systematic mapping study of 93 primary studies to collect and analyze the state of the art knowledge on MLOps systems using automatic, manual, and snowballing-based search strategies. Subsequently, we use card sorting to synthesize the results. We contribute: (i) a categorization of 39 MLOps architecture components and a description of several MLOps architecture variants; (ii) a systematic map between the components and the existing MLOps tools; (iii) a description of 56 process steps for MLOps systems creation, deployment, and maintenance; and (iv) a description of MLOps stakeholders, their responsibilities, and a systematic map between the process steps and the responsible stakeholders. Our results serve as an overview of the state of the art in MLOps architectures from a structural and a process perspective to support researchers and practitioners in the architecture design of their MLOps systems.
Faezeh Amou Najafabadi, Justus Bogner, Ilias Gerostathopoulos, Patricia Lago
Inf. Softw. Technol.4
2026 An accountability evaluation model for systems-of-information systems
Felipe Cordeiro, Aline Vasconcelos, Rodrigo Pereira dos Santos, Patricia Lago
J. Syst. Softw.4
2025 An Empirical Study on the Performance and Energy Usage of Compiled Python Code
abstract
Python is a popular programming language known for its ease of learning and extensive libraries. However, concerns about performance and energy consumption have led to the development of compilers to enhance Python code efficiency. Despite the proven benefits of existing compilers on the efficiency of Python code, there is limited analysis comparing their performance and energy efficiency, particularly considering code characteristics and factors like CPU frequency and core count. Our study investigates how compilation impacts the performance and energy consumption of Python code, using seven benchmarks compiled with eight different tools: PyPy, Numba, Nuitka, Mypyc, Codon, Cython, Pyston-lite, and the experimental Python 3.13 version, compared to CPython. The benchmarks are single-threaded and executed on an NUC and a server, measuring energy usage, execution time, memory usage, and Last-Level Cache (LLC) miss rates at a fixed frequency and on a single core. The results show that compilation can significantly enhance execution time, energy and memory usage, with Codon, PyPy, and Numba achieving over 90% speed and energy improvements. Nuitka optimizes memory usage consistently on both testbeds. The impact of compilation on LLC miss rate is not clear since it varies considerably across benchmarks for each compiler. Our study is important for researchers and practitioners focused on improving Python code performance and energy efficiency. We outline future research directions, such as exploring caching effects on energy usage. Our findings help practitioners choose the best compiler based on their efficiency benefits and accessibility.
Vincenzo Stoico, Andrei Calin Dragomir, Patricia Lago
EASE3
2025 Energize sustainability: EnSAF for sustainability aware, software intensive energy management systems
abstract
India’s coal use for electricity jumped 13% in 2021–22. Energy management systems (EnMS) are seen as a solution, but only sustainable EnMS can have a discernable impact on the carbon footprint and the Return On Investment (ROI). Designing a software-intensive sustainable energy management system requires considering technical, environmental, social, and economic factors. This helps evaluate an EnMS’s overall impact and improve its design. We proposed EnSAF for efficient utilization of the energy incurred for the design of sustainability-aware EnMSs. In this work, EnMSs in diverse use cases were selected and analyzed in terms of technical, social, environmental, and economic dimensions of sustainability in collaboration with various stakeholders. The set of application-specific design concerns and Quality Attributes (QAs) were addressed by the Sustainability Assessment Framework (SAF) toolkit. The resultant SAF instances of each EnMS, derived through the analysis and discussion with the stakeholders, were then analyzed to advocate the DMs and SQ model for generic EnMSs. This study demonstrated the following outcomes (i) technical concerns dominate the existing EnMSs (ii) integration of renewable energy resources reduces dependency to the main power grid and nurtures a sustainable environment by diminishing carbon footprint, and minimizing payback time, in the economic dimension; (iii) extant definitions of quality attributes need significant scrutiny and updates apropos of objectives of EnMSs The SAF toolkit was found to be deficient in the representation of relevant design concerns and quality attributes concomitant with sustainable EnMS. Prevailing DMs are inept to factor in stakeholder’s concerns, as the model is ill-equipped to account for spatio-temporal representation of QAs. Pursuant to the insights from the 4 SAF instances, a generic framework, EnSAF, is proposed to tackle the relevant concerns apropos of EnMS sustainability. This work proposed a representation of DMs in the SAF toolkit specifically for sustainability-aware EnMS.
M. S. Anjana, Patricia Lago, Aryadevi R. Devidas, Maneesha Vinodini Ramesh
Inf. Softw. Technol.2
2025 An approach to carve sustainability into architecture knowledge practice
abstract
Context: The daily work of software architects relies not only on technical expertise, but also on architecture knowledge (AK), which entails the architecture design itself together with the taken decisions and assumptions that provide the rationale for the chosen software solution. However, there is a pressing need to also incorporate sustainability aspects into the complete AK process, i.e., capturing decisions and the design towards software systems that are environmentally, economically, and socially balanced in the long term. Objective: The goal of this study is twofold. First, we aim to provide the fundamental concepts currently used in industry practices to represent and communicate AK. Second, building on this understanding and uncovered insights, we want to explore where sustainability can be applied in such daily practice and how sustainability can be addressed in the existing AK process. Method: We present an empirical study, using the same qualitative research methods applied in two independent industrial contexts. In total, the study encompasses a questionnaire survey with 49 participants, semi-structured interviews with 27 practitioners, and two focus groups. Results: Based on the insights gained from combining our findings, we (i) provide a map of applied concepts for communicating and representing AK in two large enterprises, (ii) present a set of tangible recommendations, and (iii) introduce an approach consisting of an action plan for carving sustainability into current software architecture practice and a reusable methodology applicable to other domains and companies. Conclusion: This paper extends our previous work by adding empirical investigations, and by refining as well as extending the results; this leads to a more comprehensive discussion of the implications for the future of software architecture practice.
Markus Funke, Patricia Lago, Roel Donker
Inf. Softw. Technol.2
2025 Software architecture-based self-adaptation in robotics
abstract
Context: Robotics software architecture-based self-adaptive systems (RSASSs) are robotics systems made robust to runtime uncertainty by adapting their software architectures. The research landscape of RSASS approaches is multidisciplinary and fragmented, with many aspects still unexplored or ineffectively shared among communities involved. Objective: We aim at identifying, classifying, and analyzing the state of the art of existing approaches for RSASSs from the following perspectives: (i) the key characteristics of approaches and (ii) the evaluation strategies applied by researchers. Method: We apply the systematic mapping research method. We selected 37 primary studies via automatic, manual, and snowballing-based search and selection procedures. We rigorously defined and applied a classification framework composed of 32 parameters and synthesize the obtained data to produce a comprehensive overview of the state of the art. Results: This work contributes (i) a rigorously defined classification framework for studies on RSASSs, (ii) a systematic map of the research efforts on RSASSs, (iii) a discussion of emerging findings and implications for future research, and (iv) a publicly available replication package. Conclusion: This study provides a solid evidence-based overview of the state of the art in RSASS approaches. Its results can benefit RSASS researchers at different levels of seniority and involvement in RSASS research. Editor’s note: Open Science material was validated by the Journal of Systems and Software Open Science Board .
Elvin Alberts, Ilias Gerostathopoulos, Ivano Malavolta, Carlos Hernández Corbato, Patricia Lago
J. Syst. Softw.5
2025 Exploring ethical values in software systems: A systematic literature review
Razieh Alidoosti, Patricia Lago, Maryam Razavian, Antony Tang
J. Syst. Softw.2
2025 Insights into resource utilization of code small language models serving with runtime engines and execution providers
abstract
The rapid growth of language models, particularly in code generation, requires substantial computational resources, raising concerns about energy consumption and environmental impact. Optimizing language models inference resource utilization is crucial, and Small Language Models (SLMs) offer a promising solution to reduce resource demands. Our goal is to analyze the impact of deep learning serving configurations, defined as combinations of runtime engines and execution providers, on resource utilization, in terms of energy consumption, execution time, and computing-resource utilization from the point of view of software engineers conducting inference in the context of code generation SLMs. We conducted a technology-oriented, multi-stage experimental pipeline using twelve code generation SLMs to investigate energy consumption, execution time, and computing-resource utilization across the configurations. Significant differences emerged across configurations. CUDA execution provider configurations outperformed CPU execution provider configurations in both energy consumption and execution time. Among the configurations, TORCH paired with CUDA demonstrated the greatest energy efficiency, achieving energy savings from 37.99% up to 89.16% compared to other serving configurations. Similarly, optimized runtime engines like ONNX with the CPU execution provider achieved from 8.98% up to 72.04% energy savings within CPU-based configurations. Also, TORCH paired with CUDA exhibited efficient computing-resource utilization. Serving configuration choice significantly impacts resource utilization. While further research is needed, we recommend the above configurations best suited to software engineers’ requirements for enhancing serving resource utilization efficiency. Editor’s note: Open Science material was validated by the Journal of Systems and Software Open Science Board .
Francisco Durán 0004, Matias Martinez, Patricia Lago, Silverio Martínez-Fernández
J. Syst. Softw.3
2025 Exploring developer experience factors in software ecosystems
Rodrigo Oliveira Zacarias, Léo Carvalho Ramos Antunes, Márcio de Oliveira Barros, Rodrigo Pereira dos Santos, Patricia Lago
J. Syst. Softw.5
2025 The technological landscape of collaborative model-driven software engineering
abstract
Abstract Collaborative technologies are continuously evolving to address existing problems and introduce innovative features for enhancing collaboration in the landscape of model-driven software engineering (MDSE). Different collaborative MDSE technologies (CMTs) provide different solutions to facilitate collaboration, making it hard for practitioners to choose the technology that best suits their needs. This study aims to investigate the landscape of CMTs and to provide a list of recommended technologies tailored to specific use case scenarios in the context of MDSE. We compiled a comprehensive list of CMTs using a systematic search complemented with snowballing, investigating both academic and grey literature. The technologies were selected through a set of inclusion and exclusion criteria and eventually analyzed through an in-depth analysis focusing on model management, collaboration, and communication. The findings of our study reveal that the current landscape of CMTs is characterized by a relatively narrow range of capabilities offered by different technologies. Consequently, practitioners often have to become proficient in combining several different technologies in order to meet their needs. While various CMTs offer distinct collaboration approaches, the current landscape could be richer in terms of capabilities. Our research provides a comprehensive description of recommended CMTs, enabling practitioners to make informed decisions and improve collaboration in their MDSE processes.
Abhishek Choudhury, Ivano Malavolta, Federico Ciccozzi, Kousar Aslam, Patricia Lago
Softw. Syst. Model.5
2025 The sustainability assessment framework toolkit: a decade of modeling experience
Patricia Lago, Nelly Condori-Fernández, Iffat Fatima, Markus Funke, Ivano Malavolta
Softw. Syst. Model.1
2025 A Roadmap for Integrating Sustainability into Software Engineering Education
abstract
The world faces escalating crises: record-breaking temperatures, widespread fires, severe flooding, increased oceanic microplastics, and unequal resource distribution. Academia introduces courses around sustainability to meet the new demand, but software engineering education lags behind. While software systems contribute to environmental issues through high energy consumption, they also hold the potential for solutions, such as more efficient and equitable resource management. Yet, sustainability remains a low priority for many businesses, including those in the digital sector. Business as usual is no longer viable. A transformational change in software engineering education is urgently needed. We must move beyond traditional curriculum models and fully integrate sustainability into every aspect of software development. By embedding sustainability as a core competency, we can equip future engineers not only to minimise harm but also to innovate solutions that drive positive, sustainable change. Only with such a shift can software engineering education meet the demands of a world in crisis and prepare students to lead the next generation of sustainable technology. This article discusses a set of challenges and proposes a customisable education roadmap for integrating sustainability into the software engineering curricula. These challenges reflect our perspective on key considerations, stemming from regular, intensive discussions in regular workshops among the authors and the community, as well as our extensive research and teaching experience in the field.
Ana Moreira 0001, Patricia Lago, Rogardt Heldal, Stefanie Betz, Ian Brooks 0003, Rafael Capilla, Vlad C. Coroama, Leticia Duboc, João Paulo Fernandes, Ola Leifler, Ngoc-Thanh Nguyen 0002, Shola Oyedeji, Birgit Penzenstadler, Anne-Kathrin Peters, Jari Porras, Colin C. Venters
ACM Trans. Softw. Eng. Methodol.2
2025 From Tea Leaves to System Maps: A Survey and Framework on Context-Aware Machine Learning Monitoring
abstract
Machine learning (ML) models in production fail when their broader systems – from data pipelines to deployment environments – deviate from training assumptions, not merely due to statistical anomalies in input data. Despite extensive work on data drift, data validation, and out-of-distribution detection, ML monitoring research remains largely model-centric while neglectingcontextual information: auxiliary signals about the system around the model (external factors, data pipelines, downstream applications). Incorporating this context turns statistical anomalies into actionable alerts and structured root-cause analysis. Drawing on a systematic review of 94 primary studies, we identify three dimensions of contextual information for ML monitoring: thesystemelement concerned (natural environment or technical infrastructure); theaspectof that element (runtime states, structural relationships, prescriptive properties); and therepresentationused (formal constructs or informal formats). This forms theContextual System-Aspect-Representation(C-SAR) framework, a descriptive model synthesizing our findings. We identify 20 recurring triplets across these dimensions and map them to the monitoring activities they support. This study provides a holistic perspective on ML monitoring: from interpreting “tea leaves” (i.e., isolated data and performance statistics) to constructing and managing “system maps” (i.e., end-to-end views that connect data, models, and operating context).
Joran Leest, Claudia Raibulet, Patricia Lago, Ilias Gerostathopoulos
IEEE Trans. Software Eng.3
2024 Identifying Architectural Design Decisions for Achieving Green ML Serving
abstract
The growing use of large machine learning models highlights concerns about their increasing computational demands. While the energy consumption of their training phase has received attention, fewer works have considered the inference phase. For ML inference, the binding of ML models to the ML system for user access, known as ML serving, is a critical yet understudied step for achieving efficiency in ML applications.
Francisco Durán 0004, Silverio Martínez-Fernández, Matias Martinez, Patricia Lago
CAIN4
2024 Software Architecture Assessment for Sustainability: A Case Study
Iffat Fatima, Patricia Lago
ECSA2
2024 Architectural Views: The State of Practice in Open-Source Software Projects
Sofia Migliorini, Roberto Verdecchia, Ivano Malavolta, Patricia Lago, Enrico Vicario
ECSA4
2024 An Analysis of MLOps Architectures: A Systematic Mapping Study
Faezeh Amou Najafabadi, Justus Bogner, Ilias Gerostathopoulos, Patricia Lago
ECSA4
2024 Threats to Validity in Software Engineering - hypocritical paper section or essential analysis?
abstract
Background: In recent years, a discourse on how to systematically consider and report threats to validity started to gain momentum within the empirical software engineering community. Aims: With this study, we aim to systematically underpin the current state of threats to validity practices in software engineering research. Method: We conduct a literature review comprising 91 papers awarded with the ACM SIGSOFT Distinguished Paper Award at the ACM/IEEE International Conference on Software Engineering. Data is extracted and analyzed by considering six main facets of threats to validity, e.g., their explicit documentation, categorization, discussion of limitations, and trade-offs. Results: Results corroborate current critiques to the threats management state of the art. Threats result to be seldom discussed in depth, and are mostly considered as an enforced afterthought rather than an active concern of the research design and execution. Conclusions: To improve the observed practice, we derived items to consider for researchers, reviewers and readers, and call for a community action to increase the understanding of knowledge creation in empirical software engineering research.
Patricia Lago, Per Runeson, Qunying Song, Roberto Verdecchia
ESEM1
2024 Experimental Evaluation of Energy Efficiency Tactics in Industry: Results and Lessons Learned
abstract
Integrating (and evaluating) energy efficiency tactics into daily industrial practice is challenging. This paper addresses the experimental evaluation of energy efficiency tactics in industrial contexts. Based on different real-world scenarios, we assess five energy efficiency tactics for cloud-based software through individual experiments conducted across two companies. The results of the experiments show significant improvements in energy efficiency for three tactics, with two others showing enhanced efficiency albeit without statistical significance. In addition to the experiments, we draw lessons learned and practical insights into utilizing tactics in industrial contexts. Our results could guide practitioners in selecting and applying the most suitable tactic for their individual context. By linking tactics that emerged in the literature with evidence-based measures, we help including sustainability in software architecture design decision making.
Markus Funke, Patricia Lago, Esther Adenekan, Ivano Malavolta, Ilja Heitlager
ICSA2
2024 Development and evaluation of a reference measurement model for assessing the resource and energy efficiency of software products and components - Green Software Measurement Model (GSMM)
abstract
In the past decade, research on measuring and assessing the environmental impact of software has gained significant momentum in science and industry. However, due to the large number of research groups, measurement setups, procedure models, tools, and general novelty of the research area, a comprehensive research framework has yet to be created. The literature documents several approaches from researchers and practitioners who have developed individual methods and models, along with more general ideas like the integration of software sustainability in the context of the UN Sustainable Development Goals, or science communication approaches to make the resource cost of software transparent to society. However, a reference measurement model for the energy and resource consumption of software is still missing. In this article, we jointly develop the Green Software Measurement Model (GSMM), in which we bring together the core ideas of the measurement models, setups, and methods of over 10 research groups in four countries who have done pioneering work in assessing the environmental impact of software. We briefly describe the different methods and models used by these research groups, derive the components of the GSMM from them, and then we discuss and evaluate the resulting reference model. By categorizing the existing measurement models and procedures and by providing guidelines for assimilating and tailoring existing methods, we expect this work to aid new researchers and practitioners who want to conduct measurements for their individual use cases.
Achim Guldner, Rabea Bender, Coral Calero, Giovanni S. Fernando, Markus Funke, Jens Gröger, Lorenz M. Hilty, Julian Hörnschemeyer, Geerd-Dietger Hoffmann, Dennis Junger, Tom Kennes, Sandro Kreten, Patricia Lago, Franziska Mai, Ivano Malavolta, Julien Murach, Kira Obergöker, Benno Schmidt 0001, Arne Tarara, Joseph P. De Veaugh-Geiss, Sebastian Weber 0003, Max Westing, Volker Wohlgemuth, Stefan Naumann
Future Gener. Comput. Syst.13
2024 Sustainability competencies and skills in software engineering: An industry perspective
abstract
Achieving the UN Sustainable Development Goals (SDGs) demands a shift by industry, governments, society, and individuals to reach adequate levels of awareness and actions to address sustainability challenges. Software systems will play an important role in moving towards these targets. Sustainability skills are necessary to support the development of software systems and to provide sustainable IT-supported services for citizens. While there is a growing number of academic bodies including sustainability education in engineering and computer science curricula, there is not yet comprehensive research on the competencies and skills required by IT professionals to develop such systems. This study aims to identify the industrial sustainability needs for education and training from software engineers’ perspective. For this, we answer the following questions: (1) what are the interests of organisations with an IT division with respect to sustainability? (2) what do organisations want to achieve with respect to sustainability, and how? and (3) what are the sustainability-related competencies and skills that organisations need to achieve their sustainability goals? We conducted a qualitative study with interviews and focus groups with experts from twenty-eight organisations with an IT division from nine countries to understand their interests, goals, and achievements related to sustainability, and the skills and competencies needed to achieve their goals. Our findings show that organisations are interested in sustainability, both idealistically and increasingly for core business reasons. They seek to improve the sustainability of software processes and products but encounter difficulties, like the trade-off between short-term financial profitability and long-term sustainability goals or an unclear understanding of sustainability concepts from a software engineering perspective. To fill these gaps, they have promoted in-house training courses, collaborated with universities, and sent employees to external training. The acquired competencies should support translating environmental and social benefits into economic ones and make sustainability an integral part of software development.
Rogardt Heldal, Ngoc-Thanh Nguyen 0002, Ana Moreira 0001, Patricia Lago, Leticia Duboc, Stefanie Betz, Vlad C. Coroama, Birgit Penzenstadler, Jari Porras, Rafael Capilla, Ian Brooks 0003, Shola Oyedeji, Colin C. Venters
J. Syst. Softw.4
2024 Specifying features in terms of domain models: MuDForM method definition and case study
abstract
Abstract To enable the people involved in a software development process to communicate and reason close to their area of knowledge, we are investigating and engineering a method that formalizes and integrates knowledge of multiple domains into domain models and into specifications in terms of those domain models. We follow an action research approach, starting with a diagnosis phase, in which we have previously defined a set of method objectives, and performed a systematic literature review. During action planning, we defined how we are going to develop the method—called Multi‐Domain Formalization Method (MuDForM). This paper reports on the methodical support for using a domain model as the terminology for feature specifications. During action taking, we defined an initial version of the method and set up case studies. During the evaluation phase, we performed a case study to validate how well the method helps in the specification of processes and to realize the case‐specific objectives of the customer. The case study pertains to the formalization of the ISO26262 standard for functional safety in the automotive domain. The created models are explained to the involved experts to ensure their consistency with the original text. We found that MuDForM is suitable to systematically formalize processes described in natural language, such that the resulting process models are fully expressed in terms of domain concepts and concepts from outside the domains and processes of interest. Further, during the specifying learning phase, we have extended our method with concepts, steps, and guidelines for grammatical analysis, for formalization of constraints, and for the specification of processes.
Robert Deckers, Patricia Lago
J. Softw. Evol. Process.2
2023 Carving Sustainability into Architecture Knowledge Practice
Markus Funke, Patricia Lago
ECSA2
2023 Computation offloading for ground robotic systems communicating over WiFi - an empirical exploration on performance and energy trade-offs
abstract
Abstract Context Robotic systems are known to perform computation-intensive tasks with limited computational resources and battery life. Such systems might benefit from offloading heavy workloads to the Cloud; however, in some cases, this implies high network traffic that degrades performance and energy consumption. Goal In this study, we aim at evaluating the impact of different computation offloading strategies on performance and energy consumption in the context of autonomous robots. Method We conduct two controlled experiments involving a robotic mission based on the Turtlebot3 robot and ROS 1. The mission consists of three tasks that are recurrent in robotics and good candidates for computation offloading in research, namely, SLAM mapping, navigation stack, and object recognition. Each of the tasks is either executed on board or offloaded in a full-factorial experiment design. The obtained measures are then statistically analyzed. Results The results show that offloading the object recognition task causes a more significant decrease in resource utilization and energy consumption than both SLAM mapping and navigation. However, object recognition affects the volume of network traffic significantly to the extent that it can easily cause network congestion. Conclusions In the context of our experiments (i.e.,those involving small-scale ground ROS-based mobile robots operating under WiFi networks), offloading object recognition is beneficial in terms of performance and energy consumption. Nevertheless, large network bandwidth needs to be available for object recognition offloading. While the image resolution and frame rate have a significant impact on not only the network traffic but also energy consumption and performance, these parameters need to be carefully set so that the results of this task can be always received in time, which is particularly crucial in real-time systems.
Milica Ðordevic, Michel Albonico, Grace A. Lewis, Ivano Malavolta, Patricia Lago
Empir. Softw. Eng.5
2023 Threats to validity in software engineering research: A critical reflection
Roberto Verdecchia, Emelie Engström, Patricia Lago, Per Runeson, Qunying Song
Inf. Softw. Technol.3
2023 Collaborative Model-Driven Software Engineering - A systematic survey of practices and needs in industry
Istvan David, Kousar Aslam, Ivano Malavolta, Patricia Lago
J. Syst. Softw.4
2023 Self-Adaptation in Industry: A Survey
abstract
Computing systems form the backbone of many areas in our society, from manufacturing to traffic control, healthcare, and financial systems. When software plays a vital role in the design, construction, and operation, these systems are referred to as software-intensive systems. Self-adaptation equips a software-intensive system with a feedback loop that either automates tasks that otherwise need to be performed by human operators or deals with uncertain conditions. Such feedback loops have found their way to a variety of practical applications; typical examples are an elastic cloud to adapt computing resources and automated server management to respond quickly to business needs. To gain insight into the motivations for applying self-adaptation in practice, the problems solved using self-adaptation and how these problems are solved, and the difficulties and risks that industry faces in adopting self-adaptation, we performed a large-scale survey. We received 184 valid responses from practitioners spread over 21 countries. Based on the analysis of the survey data, we provide an empirically grounded overview the of state of the practice in the application of self-adaptation. From that, we derive insights for researchers to check their current research with industrial needs, and for practitioners to compare their current practice in applying self-adaptation. These insights also provide opportunities for applying self-adaptation in practice and pave the way for future industry-research collaborations.
Danny Weyns, Ilias Gerostathopoulos, Nadeem Abbas, Jesper Andersson, Stefan Biffl, Premek Brada, Tomás Bures, Amleto Di Salle, Matthias Galster, Patricia Lago, Grace A. Lewis, Marin Litoiu, Angelika Musil, Jürgen Musil, Panos Patros, Patrizio Pelliccione
ACM Trans. Auton. Adapt. Syst.10
2023 JavaScript Dead Code Identification, Elimination, and Empirical Assessment
abstract
Web apps are built by using a combination of HTML, CSS, and JavaScript. While building modern web apps, it is common practice to make use of third-party libraries and frameworks, as to improve developers’ productivity and code quality. Alongside these benefits, the adoption of such libraries results in the introduction ofJavaScript dead code, i.e., code implementing unused functionalities. The costs for downloading and parsing dead code can negatively contribute to the loading time and resource usage of web apps. The goal of our study is two-fold. First, we presentLacuna, an approach for automatically detecting and eliminating JavaScript dead code from web apps. The proposed approach supports both static and dynamic analyses, it is extensible and can be applied to any JavaScript code base, without imposing constraints on the coding style or on the use of specific JavaScript constructs. Second, by leveraging Lacuna we conduct an experiment to empirically evaluate the run-time overhead of JavaScript dead code in terms of energy consumption, performance, network usage, and resource usage in the context of mobile web apps. We applied Lacuna four times on 30 mobile web apps independently developed by third-party developers, each time eliminating dead code according to a different optimization level provided by Lacuna. Afterward, each different version of the web app is executed on an Android device, while collecting measures to assess the potential run-time overhead caused by dead code. Experimental results, among others, highlight that the removal of JavaScript dead code has a positive impact on the loading time of mobile web apps, while significantly reducing the number of bytes transferred over the network.
Ivano Malavolta, Kishan Nirghin, Gian Luca Scoccia, Simone Romano 0001, Salvatore Lombardi, Giuseppe Scanniello, Patricia Lago
IEEE Trans. Software Eng.7
2022 Sustainability in Software Architecture: A Systematic Mapping Study
abstract
Sustainability is an increasingly-studied topic in software engineering in general, and in software architecture in particular. There are already a number of secondary studies addressing sustainability in software engineering, but no such study focusing explicitly on software architecture. This work aims to fill this gap by conducting a systematic mapping study on the intersection between sustainability and software architecture research with the intention of (i) reflecting on the current state of the art, and (ii) identifying the needs for further research. Our results show that, overall, existing works have focused disproportionately on specific aspects of sustainability, and in particular on the most technical and “inward facing” ones. This comes at the expense of the holistic perspective required to address a multi-faceted concern such as sustainability. Furthermore, more reflection-oriented research works, and better coverage of the activities in the architecting life cycle are required to further the maturity of the area. Based on our findings we then propose a research agenda for sustainability-aware software architecture.
Vasilios Andrikopoulos, Rares-Dorian Boza, Carlos Perales, Patricia Lago
SEAA4
2022 Preliminary Results of a Survey on the Use of Self-Adaptation in Industry
abstract
Self-adaptation equips a software system with a feedback loop that automates tasks that otherwise need to be performed by operators. Such feedback loops have found their way to a variety of practical applications, one typical example is an elastic cloud. Yet, the state of the practice in self-adaptation is currently not clear. To get insights into the use of self-adaptation in practice, we are running a large-scale survey with industry. This paper reports preliminary results based on survey data that we obtained from 113 practitioners spread over 16 countries, 62 of them work with concrete self-adaptive systems. We highlight the main insights obtained so far: motivations for self-adaptation, concrete use cases, and difficulties encountered when applying self-adaptation in practice. We conclude the paper with outlining our plans for the remainder of the study.
Danny Weyns, Ilias Gerostathopoulos, Nadeem Abbas, Jesper Andersson, Stefan Biffl, Premek Brada, Tomás Bures, Amleto Di Salle, Patricia Lago, Angelika Musil, Jürgen Musil, Patrizio Pelliccione
SEAMS9
2022 An evaluation of the effectiveness of personalization and self-adaptation for e-Health apps
abstract
There are many e-Health mobile apps on the apps store, from apps to improve a user’s lifestyle to mental coaching. Whilst these apps might consider user context when they give their interventions, prompts, and encouragements, they still tend to be rigid e.g., not using user context and experience to tailor themselves to the user. To better engage and tailor to the user, we have previously proposed a Reference Architecture for enabling self-adaptation and AI personalization in e-Health mobile apps. In this work we evaluate the end users’ perception, usability, performance impact, and energy consumption contributed by this Reference Architecture. We do so by implementing a Reference Architecture compliant app and conducting two experiments: a user study and a measurement-based experiment. Although limited in the number of participants, the results of our user study show that usability of the Reference Architecture compliant app is similar to the control app. Users’ perception was found to be positively influenced by the compliant app when compared to the control group. Results of our measurement-based experiment showed some differences in performance and energy consumption measurements between the two apps. The differences are, however, deemed minimal. Our experiments show promising results for an app implemented following our proposed Reference Architecture. This is preliminary evidence that the use of personalization and self-adaptation techniques can be beneficial within the domain of e-Health apps.
Eoin Martino Grua, Martina De Sanctis, Ivano Malavolta, Mark Hoogendoorn, Patricia Lago
Inf. Softw. Technol.5
2022 Systematic literature review of domain-oriented specification techniques
abstract
The popularity of domain-specific languages and model driven development has made the tacit use of domain knowledge in system development more tangible. Our vision is a development process where a (software) system specification is based on multiple domain models, and where the specification method is built from cognitive concepts, presumably derived from natural language. To realize this vision, we evaluate and reflect upon the existing literature in domain-oriented specification techniques. We designed and conducted a systematic literature review on domain-oriented specification techniques. We identified 53 primary studies, populated the classification framework for each study, and summarized our findings per classification aspect. We found many approaches for creating domain models or domain-specific languages. Observations include: (i) most methods are defined incompletely; (ii) none offers methodical support for the use of domain models or domain-specific languages to create other specifications; (iii) there are specification techniques to integrate models in general, but no study offers methodical support for multiple domain models. The results indicate which topics need further research and which can instead be reused to realize our vision on system development. Editor’s note: Open Science material was validated by the Journal of Systems and Software Open Science Board.
Robert Deckers, Patricia Lago
J. Syst. Softw.2
2021 Architectural Tactics for Energy-Aware Robotics Software: A Preliminary Study
abstract
In software engineering, energy awareness refers to the conscious design and development of software that is able to monitor and react to energy state. Energy awareness is the key building block for energy efficiency and for other quality aspects of robotics software, such as mission completion time and safety. However, as of today, there is no guidance for practitioners and researchers on how to architect robotics software with energy awareness in mind. The goal of this paper is to identify architectural tactics for energy-aware robotics software. Specifically, using a dataset of 339493 data points extracted from five complementary data sources (e.g., source code repositories, Stack Overflow), we identified and analyzed 97 data points that considered both energy consumption and architectural concerns. We then synthesized a set of energy-aware architectural tactics via thematic analysis. In this preliminary investigation we focus on two representative architectural tactics.
Katerina Chinnappan, Ivano Malavolta, Grace A. Lewis, Michel Albonico, Patricia Lago
ECSA5
2021 Collaborative Model-Driven Software Engineering: A Systematic Update
abstract
Current software engineering practices rely on highly heterogeneous and distributed teams working in a collaborative setting. Between 2013–2020, the publication output in the field of collaborative Model-Driven Software Engineering (MDSE) has significantly increased. However, the only systematic mapping study available is limited to studies published until 2015. In this paper, we provide an update on that study for the complementing 2016–2020 period, and report the latest results, challenges, and trends. Our analysis led to selecting 29 clusters of 54 new peer-reviewed publications on collaborative MDSE. Based on the novel developments in the field, we have extended and improved the original classification framework, making it applicable to recent and future research contributions on collaborative MDSE. The insights in this paper relate to the changing trends in the field and present new relevant information.
Istvan David, Kousar Aslam, Sogol Faridmoayer, Ivano Malavolta, Eugene Syriani, Patricia Lago
MoDELS6
2021 Mining Energy-Related Practices in Robotics Software
abstract
Robots are becoming more and more commonplace in many industry settings. This successful adoption can be partly attributed to (1) their increasingly affordable cost and (2) the possibility of developing intelligent, software-driven robots. Unfortunately, robotics software consumes significant amounts of energy. Moreover, robots are often battery-driven, meaning that even a small energy improvement can help reduce its energy footprint and increase its autonomy and user experience.In this paper, we study the Robot Operating System (ROS) ecosystem, the de-facto standard for developing and prototyping robotics software. We analyze 527 energy-related data points (including commits, pull-requests and issues on ROS-related repositories, ROS-related questions on StackOverflow, ROS Discourse, ROS Answers and the official ROS Wiki).Our results include a quantification of the interest of roboticists on software energy efficiency, 10 recurrent causes and 14 solutions of energy-related issues, and their implied trade-offs with respect to other quality attributes. Those contributions support roboticists and researchers towards having energy-efficient software in future robotics projects.
Michel Albonico, Ivano Malavolta, Gustavo Pinto 0001, Emitza Guzman, Katerina Chinnappan, Patricia Lago
MSR6
2021 Mining the ROS ecosystem for Green Architectural Tactics in Robotics and an Empirical Evaluation
abstract
In today's world, reducing energy consumption should be the goal for any organization and any system, including robotics software systems. However, state of the practice in robotics software development focuses primarily on achieving functionality and performance, with minimal recognition of energy-efficiency as a driving software quality. The goal of this paper is to identify, synthesize, and empirically evaluate architectural tactics for energy-efficiency applied by practitioners in real robotics projects. Four tactics were identified by mining software repository techniques applied to the ROS ecosystem. The tactics were evaluated via experimentation on a real, commodity robotics system. Results show that the application of green architectural tactics tends to largely improve the energy-efficiency of the robot (7.9% energy savings when all tactics are applied) and that the movement strategy and the physical environment where the robot operates strongly influence how energy is consumed by the robot.
Ivano Malavolta, Katerina Chinnappan, Stan Swanborn, Grace A. Lewis, Patricia Lago
MSR5
2021 Mining guidelines for architecting robotics software
abstract
The Robot Operating System (ROS) is the de-facto standard for robotics software. However, ROS-based systems are getting larger and more complex and could benefit from good software architecture practices. We aim at (i) unveiling the state-of-the-practice in terms of targeted quality attributes and architecture documentation in ROS-based systems, and (ii) providing empirically-grounded guidance to roboticists about how to properly architect ROS-based systems. We designed and conducted an observational study where we (i) built a dataset of 335 GitHub repositories containing real open-source ROS-based systems, and (ii) mined the repositories to extract and synthesize quantitative and qualitative findings about how roboticists are architecting ROS-based systems. First, we extracted an empirically-grounded overview of the state of the practice for architecting and documenting ROS-based systems. Second, we synthesized a catalog of 47 architecting guidelines for ROS-based systems. Third, the extracted guidelines were validated by 119 roboticists working on real-world open-source ROS-based systems. Roboticists can use our architecting guidelines for applying good design principles to develop robots that meet quality requirements, and researchers can use our results as evidence-based indications about how real-world ROS systems are architected today, thus inspiring future research contributions.
Ivano Malavolta, Grace A. Lewis, Bradley R. Schmerl, Patricia Lago, David Garlan
J. Syst. Softw.4
2021 Building and evaluating a theory of architectural technical debt in software-intensive systems
abstract
Architectural technical debt in software-intensive systems is a metaphor used to describe the “big” design decisions (e.g., choices regarding structure, frameworks, technologies, languages, etc.) that, while being suitable or even optimal when made, significantly hinder progress in the future. While other types of debt, such as code-level technical debt, can be readily detected by static analyzers, and often be refactored with minimal or only incremental efforts, architectural debt is hard to be identified, of wide-ranging remediation cost, daunting, and often avoided. In this study, we aim at developing a better understanding of how software development organizations conceptualize architectural debt, and how they deal with it. In order to do so, in this investigation we apply a mixed empirical method, constituted by a grounded theory study followed by focus groups. With the grounded theory method we construct a theory on architectural technical debt by eliciting qualitative data from software architects and senior technical staff from a wide range of heterogeneous software development organizations. We applied the focus group method to evaluate the emerging theory and refine it according to the new data collected. The result of the study, i.e., a theory emerging from the gathered data, constitutes an encompassing conceptual model of architectural technical debt, identifying and relating concepts such as its symptoms, causes, consequences, management strategies, and communication problems. From the conducted focus groups, we assessed that the theory adheres to the four evaluation criteria of classic grounded theory, i.e., the theory fits its underlying data, is able to work, has relevance, and is modifiable as new data appears. By grounding the findings in empirical evidence, the theory provides researchers and practitioners with novel knowledge on the crucial factors of architectural technical debt experienced in industrial contexts.
Roberto Verdecchia, Philippe Kruchten, Patricia Lago, Ivano Malavolta
J. Syst. Softw.3
2021 Stability in Software Engineering: Survey of the State-of-the-Art and Research Directions
abstract
With the increasing dependence on software systems, their longevity is becoming a pressing need. Stability is envisioned as a primary property to achieve longevity. Stability has been defined and treated in many different ways in the literature. We conduct a systematic literature review to analyse the state-of-the-art related to stability as a software property. We formulate a taxonomy for characterising the notion, analyse the definitions found in the literature, and present research studies dealing with stability. Also, as architecture is one of the software artefacts with profound effects throughout the software lifecycle, we focus on software engineering practices for realising architectural stability. The analysis results show a wide variation in dimensions when dealing with stability. The state-of-the-art indicates the need for a shift towards a multi-dimensional concept that could cope with runtime dynamics and emerging software paradigms. More research efforts should be directed toward the identified gaps. The presented taxonomy and analysis of the literature aim to help the research community in consolidating the existing research efforts and deriving future developments.
Maria Salama, Rami Bahsoon, Patricia Lago
IEEE Trans. Software Eng.3
2020 Architectural Technical Debt: A Grounded Theory
Roberto Verdecchia, Philippe Kruchten, Patricia Lago
ECSA3
2020 ATDx: Building an Architectural Technical Debt Index
abstract
Architectural technical debt (ATD) in software-intensive systems refers to the architecture design decisions which work as expedient in the short term, but later negatively impact system evolvability and maintainability. Over the years numerous approaches have been proposed to detect particular types of ATD at a refined level of granularity via source code analysis. Nevertheless, how to gain an encompassing overview of the ATD present in a software-intensive system is still an open question. In this study, we present a multi-step approach designed to build an ATD index (ATDx), which provides insights into a set of ATD dimensions building upon existing architectural rules by leveraging statistical analysis. The ATDx approach can be adopted by researchers and practitioners alike in order to gain a better understanding of the nature of the ATD present in software-intensive systems, and provides a systematic framework to implement concrete instances of ATDx according to specific project and organizational needs.
Roberto Verdecchia, Patricia Lago, Ivano Malavolta, Ipek Ozkaya
ENASE2
2019 Guidelines for Architecting Android Apps: A Mixed-Method Empirical Study
abstract
For surviving in the highly competitive market of Android apps, it is fundamental for app developers to deliver apps of high quality and with short release times. A well-architected Android app is beneficial for developers, e.g. in terms of maintainability, testability, performance, and avoidance of resource leaks. However, how to properly architect Android apps is still debated and subject to conflicting opinions usually influenced by technological hypes rather than objective evidence. In this paper we present an empirical study on how developers architect Android apps, what architectural patterns and practices Android apps are based on, and their potential impact on quality. We apply a mixed-method empirical research design that combines (i) semi-structured interviews with Android practitioners in the field and (ii) a systematic analysis of both the grey (i.e., websites, Online blogs) and white literature (i.e., academic studies) on the architecture of Android apps. Based on the analysis of the state of the art and practice about architecting Android apps, we systematically extract a set of 42 evidence-based guidelines supporting developers when architecting their Android apps.
Roberto Verdecchia, Ivano Malavolta, Patricia Lago
ICSA3
2019 A Nichesourcing Framework applied to Software Sustainability Requirements
abstract
Background: A software sustainability model is commonly defined in terms of social, economic, technical and environmental dimensions. A key challenge is its characterization regarding sustainability requirements and their dependencies since it depends on, and varies with, the type of software system, and changes in operational contexts. Aims: With the purpose of facilitating the definition of a context-dependent software sustainability model, we introduce nichesourcing as a type of distributed problem-solving paradigm, named crowdsourcing. Method: First a set of nichesourcing requirements were identified, and an existing nichesourcing methodology, originally used in the cultural heritage domain was analyzed with respect to its applicability in Software Engineering. Results: As a result, we propose an adapted methodology for nichesourcing the knowledge on sustainability requirements and their dependencies. Strengths and challenges for crowdsourced software engineering are also identified.
Nelly Condori-Fernández, Patricia Lago, Miguel Rodríguez Luaces, Alejandro Catalá
RCIS2
2019 Towards a Software Sustainability-Quality Model: Insights from a Multi-Case Study
abstract
Background. Software sustainability is defined in terms of multiple and interdependent dimensions (economic, social, technical and environmental). Preliminary initiatives have investigated the contribution of certain quality attributes to sustainability dimensions. Problem. Despite these valuable efforts, the characterization of software sustainability is still a key challenge. This entails how sustainability can be embraced in the design of software systems by identifying the relevant software quality attributes (QAs) and their dependencies. Both attributes and dependencies vary heavily with amongst others the type of software system and its operational context. Aim and Method. We followed a multiple case study research method with the main objective of investigating the applicability of the sustainability model in different contexts. We aim also to enrich our model, by means of identifying missing quality attributes or new contributions to the sustainability dimensions. We selected two software projects as cases of our study, where each one was independently conducted in specific situations. Results. The results of the study show that the relevant quality requirements identified in both projects (cases) are covered by most of the QAs related to the social (82%) and technical (83%) dimensions. Moreover, some QAs that were not addressed in the corresponding projects, their relevance like context completeness, and flexibility were acknowledged. These results suggest that the software sustainability model could support the identification of relevant QAs. The case study also contributed to identify QAs that had not been considered in the economic, technical and social dimensions of the sustainability-quality model.
Nelly Condori-Fernández, Patricia Lago
RCIS2
2019 CluStream-GT: Online Clustering for Personalization in the Health Domain
abstract
Clustering of users underlies many of the personalisation algorithms that are in use nowadays. Such clustering is mostly performed in an offline fashion. For a health and wellbeing setting, offline clustering might however not be suitable, as limited data is often available and patient states can also quickly evolve over time. Existing online clustering algorithms are not suitable for the health domain due to the type of data that involves multiple time series evolving over time. In this paper we propose a new online clustering algorithm called CluStream-GT that is suitable for health applications. By using both artificial and real datasets, we show that the approach is far more efficient compared to regular clustering, with an average speedup of 93%, while only losing 12% in the accuracy of the clustering with artificial data and 3% with real data.
Eoin Martino Grua, Mark Hoogendoorn, Ivano Malavolta, Patricia Lago, A. E. Eiben
WI4
2019 A tale of three systems: Case studies on the application of architectural tactics for cyber-foraging
Grace A. Lewis, Patricia Lago, Sebastián Echeverría, Pieter Simoens
Future Gener. Comput. Syst.2
2019 Architecting with microservices: A systematic mapping study
Paolo Di Francesco, Patricia Lago, Ivano Malavolta
J. Syst. Softw.2
2018 Migrating Towards Microservice Architectures: An Industrial Survey
abstract
Microservices are gaining tremendous traction in industry and a growing scientific interest in academia. More and more companies are adopting this architectural style for modernizing their products and taking advantage of its promised benefits (e.g., agility, scalability). Unfortunately, the process of moving towards a microservice-based architecture is anything but easy, as there are plenty of challenges to address from both technical and organizational perspectives. In this paper we report about an empirical study on migration practices towards the adoption of microservices in industry. Specifically, we designed and conducted a survey targeting practitioners involved in the process of migrating their applications and we collected information (by means of interviews and questionnaires) on (i) the performed activities, and (ii) the challenges faced during the migration. Our findings benefit both (i) researchers by highlighting future directions for industryrelevant problems and (ii) practitioners by providing a reference framework for their (future) migrations towards microservices.
Paolo Di Francesco, Patricia Lago, Ivano Malavolta
ICSA2
2018 Architectural technical debt identification: the research landscape
abstract
Architectural Technical Debt (ATD) regards sub-optimal design decisions that bring short-term benefits to the cost of long-term gradual deterioration of the quality of the architecture of a software system. The identification of ATD strongly influences the technical and economic sustainability of software systems and is attracting growing interest in the scientific community. During the years several approaches for ATD identification have been conceived, each of them addressing ATD from different perspectives and with heterogeneous characteristics.
Roberto Verdecchia, Ivano Malavolta, Patricia Lago
TechDebt@ICSE3
2018 How Maintainability Issues of Android Apps Evolve
abstract
Context. Android is the largest mobile platform today, with thousands of apps published and updated in the Google Play store everyday. Maintenance is an important factor in Android apps lifecycle, as it allows developers to constantly improve their apps and better tailor them to their user base. Goal. In this paper we investigate the evolution of various maintainability issues along the lifetime of Android apps. Method. We designed and conducted an empirical study on 434 GitHub repositories containing open, real (i.e., published in the Google Play store), and actively maintained Android apps. We statically analyzed 9,945 weekly snapshots of all apps for identifying their maintainability issues over time. We also identified maintainability hotspots along the lifetime of Android apps according to how their density of maintainability issues evolves over time. More than 2,000 GitHub commits belonging to identified hotspots have been manually categorized to understand the context in which maintainability hotspots occur. Results. Our results shed light on (i) how often various types of maintainability issues occur over the lifetime of Android apps, (ii) the evolution trends of the density of maintainability issues in Android apps, and (iii) an in-depth characterization of development activities related to maintainability hotspots. Together, these results can help Android developers in (i) better planning code refactoring sessions, (ii) better planning their code review sessions (e.g., steering the assignment of code reviews), and (iii) taking special care of their code quality when performing tasks belonging to activities highly correlated with maintainability issues. We also support researchers by objectively characterizing the state of the practice about maintainability of Android apps. Conclusions. Independently from the type of development activity, maintainability issues grow until they stabilize, but are never fully resolved.
Ivano Malavolta, Roberto Verdecchia, Bojan Filipovic, Magiel Bruntink, Patricia Lago
ICSME5
2018 The Influence of Green Strategies Design onto Quality Requirements Prioritization
Nelly Condori-Fernández, Patricia Lago
REFSQ2
2018 An extensible approach for taming the challenges of JavaScript dead code elimination
abstract
JavaScript is becoming the de-facto programming language of the Web. Large-scale web applications (web apps) written in Javascript are commonplace nowadays, with big technology players (e.g., Google, Facebook) using it in their core flagship products. Today, it is common practice to reuse existing JavaScript code, usually in the form of third-party libraries and frameworks. If on one side this practice helps in speeding up development time, on the other side it comes with the risk of bringing dead code, i.e., JavaScript code which is never executed, but still downloaded from the network and parsed in the browser. This overhead can negatively impact the overall performance and energy consumption of the web app. In this paper we present Lacuna, an approach for JavaScript dead code elimination, where existing JavaScript analysis techniques are applied in combination. The proposed approach supports both static and dynamic analyses, it is extensible, and independent of the specificities of the used JavaScript analysis techniques. Lacuna can be applied to any JavaScript code base, without imposing any constraints to the developer, e.g., on her coding style or on the use of some specific JavaScript feature (e.g., modules). Lacuna has been evaluated on a suite of 29 publicly-available web apps, composed of 15,946 JavaScript functions, and built with different JavaScript frameworks (e.g., Angular, Vue.js, jQuery). Despite being a prototype, Lacuna obtained promising results in terms of analysis execution time and precision.
Niels Groot Obbink, Ivano Malavolta, Gian Luca Scoccia, Patricia Lago
SANER4
2018 Assessing the impact of the awareness level on a co-operative game
Miguel A. Teruel, Nelly Condori-Fernández, Elena Navarro 0001, Pascual González, Patricia Lago
Inf. Softw. Technol.5
2018 Characterizing the contribution of quality requirements to software sustainability
Nelly Condori-Fernández, Patricia Lago
J. Syst. Softw.2
2018 Empirical validation of cyber-foraging architectural tactics for surrogate provisioning
Fahimeh Alizadeh Moghaddam, Giuseppe Procaccianti, Grace A. Lewis, Patricia Lago
J. Syst. Softw.4
2017 Estimating Energy Impact of Software Releases and Deployment Strategies: The KPMG Case Study
abstract
Background. Often motivated by optimization objectives, software products are characterized by different subsequent releases and deployed through different strategies. The impact of these two aspects of software on energy consumption has still to be completely understood and can be improved by carrying out ad-hoc analyses for specific software products. Aims. In this research we report on an industrial collaboration aiming at assessing the different impact that releases and deployment strategies of a software product can have on the energy consumption of its underlying hardware infrastructure. Method. We designed and performed an empirical experiment in a controlled environment. Deployment strategies, releases and use case scenarios of an industrial third-party software product were adopted as experimental factors. The use case scenarios were used as a blocking factor and adopted to dynamically load-test the software product. Power consumption and execution time were selected as response variables to measure the energy consumption. Results. We observed that both deployment strategies and software releases significantly influence the energy consumption of the hardware infrastructure. A strong interaction between the two factors was identified. The impact of such interaction highly varied depending on which use case scenario was considered, making the identification of the most frequently adopted use case scenario critical for energy optimisation. The collaboration between industry and academia has been productive for both parties, even if some practitioners manifested low interest/awareness on software energy efficiency. Conclusions. For the software product considered there is no absolute preferable release or deployment strategy with respect to energy efficiency, as the interaction of these factors has to be considered. The number of machines involved in a software deployment strategy does not simply constitute an additive effect of the energy consumption of the underlying hardware infrastructure.
Roberto Verdecchia, Giuseppe Procaccianti, Ivano Malavolta, Patricia Lago, Joost Koedijk
ESEM4
2017 Modeling Context with an Architecture Viewpoint
abstract
The context of a software system comprises the knowledge that architects need to have about the environment in which a system is expected to operate. Contextual knowledge, however, is often unknown or overlooked. This results in software architects designing systems based on assumptions that are largely unfounded and can potentially lead to system failures. To address this problem, this paper presents a Context Description Viewpoint that captures context in software architecture. The viewpoint is based on the results of a literature review that analyzed the state-of-the-art in context, its elements, and modeling techniques. We evaluated and revised the viewpoint by using two case studies based on real-world projects. The case studies showed that the viewpoint is expressive enough to capture context. For software architects it represents a reusable work product to design software systems and to help them identify, capture, and analyze contextual knowledge.
Adriatik Bedjeti, Patricia Lago, Grace A. Lewis, Remco C. de Boer, Rich Hilliard
ICSA2
2017 Research on Architecting Microservices: Trends, Focus, and Potential for Industrial Adoption
abstract
Microservices are a new trend rising fast from the enterprise world. Even though the design principles around microservices have been identified, it is difficult to have a clear view of existing research solutions for architecting microservices. In this paper we apply the systematic mapping study methodology to identify, classify, and evaluate the current state of the art on architecting microservices from the following three perspectives: publication trends, focus of research, and potential for industrial adoption. More specifically, we systematically define a classification framework for categorizing the research on architecting microservices and we rigorously apply it to the 71 selected studies. We synthesize the obtained data and produce a clear overview of the state of the art. This gives a solid basis to plan for future research and applications of architecting microservices.
Paolo Di Francesco, Ivano Malavolta, Patricia Lago
ICSA3
2017 Challenges on the Relationship between Architectural Patterns and Quality Attributes
abstract
Among other knowledge, software architecture design decision-making relies on the relation between architectural patterns and quality attributes (QAs). However, this relation is often implicit, or in the best case informally and partially defined. This leads to sub-optimal understanding of the impact of the architecture design on the desired level of quality. In this work, we aim to shed light on the relation patterns-QAs in the context of an important architectural mechanism, architectural tactics. Tactics are design decisions that address a specific quality attribute. In turn, the implementation of a tactic has a different impact according to the used pattern. From a previous systematic literature review, we selected and analyzed 13 primary studies with a clear focus on tactics. From our analysis, we extracted three overarching challenges on the relationship patterns-QAs that are yet unsolved by research. The essence of these challenges suggests that further research is needed to identify a clear and precise link between the functional nature of architectural elements and non-functional quality properties.
Gianantonio Me, Giuseppe Procaccianti, Patricia Lago
ICSA3
2017 Editorial: Reality check for software engineering for sustainability - pragmatism required
abstract
Welcome to this special issue on software engineering for sustainability. Note that software engineering for sustainability has a different emphasis than sustainability in software engineering. Naturally, the latter has a mainly technical focus. The first goes beyond it by looking at the purpose and wider context of a software system, for example, in how it can support social and environmental concerns that help humanity move towards a more sustainable lifestyle and help sustaining our planet and societies. This special issue takes this broad perspective. Before introducing the articles in this special issue, the following takes a look at why sustainability matters and why software engineering for sustainability has a large potential for impact. The general importance of sustainability as an objective for developing our future has become apparent via the Millennium Development Goals that were targeting 2015. 1 “At the Millennium Summit in September 2000” the largest gathering of world leaders in history adopted the UN Millennium Declaration, committing their nations to a new global partnership to reduce extreme poverty and setting out a series of time-bound and quantified targets, with a deadline of 2015, that have become known as the Millennium Development Goals (MDGs).” 1 They address extreme poverty in its many dimensions—income poverty, hunger, disease, lack of adequate shelter, and exclusion—while promoting gender equality, education, and environmental sustainability. They also include basic human rights—health, education, shelter, and security. The world has made significant progress in achieving many of the goals, for example, between 1990 and 2002, average overall incomes rose by approximately 21%. The number of people in extreme poverty decreased by an estimated 130 million. Child mortality rates went down from 103 deaths per 1000 live births a year to 88. Life expectancy increased from 63 years to nearly 65 years. An additional 8% of the developing world's people now have access to water. And an additional 15% have access to improved sanitation services. 1 However, there still remains a lot to be done. The follow-up on the MDGs were the Sustainable Development Goals. 2 The Sustainable Development Goals (SDGs), also known as the Global Goals, are a “call to action to end poverty, protect the planet, and ensure that all people enjoy peace and prosperity.” 2 These 17 goals build on the successes of the MDGs, while including new priority areas such as climate change, economic inequality, innovation, sustainable consumption, peace and justice. The goals are interconnected: often the key to success on one will involve tackling issues more commonly associated with another. The SDGs provide guidelines and targets for all countries to adopt in accordance with their own priorities and the environmental challenges of the world at large. The SDGs are an inclusive agenda. They tackle the root causes of poverty and aim to unite all people to make a positive change for both people and planet. 2 Not limited to humanitarian and environmental causes, also business and economics recognize sustainability as a major objective. The newest edition of the UN Global Compact–Accenture Strategy CEO Study represents more than a decade of research on sustainable business. 5 Published every 3 years, it is the largest study of CEO attitudes to sustainability globally. The study traces the development of corporate motivations in engaging with environmental, social, and governance issues in core business. In this edition, over 1000 CEOs from 100+ countries and 25+ industries were interviewed. While in 2013, frustrated ambition was prevalent; now, there is optimism as CEOs see a mandate to solve societal challenges as a core element to gain competitive advantage. The backdrop to this edition of the study was the adoption of the United Nations 2030 Agenda for Sustainable Development and the SDGs. Results suggest that business leaders are committed to sustainability, forging a stronger global environment for business. “The majority of CEOs surveyed (87%) believe the SDGs provide an opportunity to rethink approaches to sustainable value creation—and 78% already see opportunities to contribute through core business.” 6 According to nearly half of all CEOs surveyed (49%), business will be the single most important actor in delivering the SDGs. Their major conclusion was that the private sector now has a window of opportunity to reshape the way we live and work. 6 Given the pervasive role of information and communication technology (ICT) and software solutions in all aspects of our society, it is obvious that researchers, practitioners, and decision makers in any sector need to change their mindset and include sustainability concerns by default. More on the technical side, the Smarter 2020 and Smarter 2030 reports by the Global e-Sustainability Initiative (GeSI) presented what the future could look like by making the best of technological opportunities. GeSI's SMARTer2020 report 3 demonstrates how the increased use of ICT such as video conferencing and smart-building management could cut the projected 2020 global greenhouse gas (GHG) emissions by 16.5%, amounting to $1.9 trillion in gross energy and fuel savings and a reduction of 9.1 gigatons carbon dioxide equivalent of greenhouse gases. This is equivalent to more than seven times the ICT sector's emissions in the same period. 3 Here, ICT can work as an enabler—if we have software engineers who know how to design for sustainability. In this special issue, we have, for example, contributions on design patterns and mobile cloud apps that support energy efficiency. In the Smarter 2030 report, policy makers, businesses, and consumers were called to action. By 2030, ICT will provide benefits across the triple bottom line, from reducing CO2 emissions and resource use, to generating additional revenues, cost savings, and wider societal benefits. The report includes scenarios like “a doctor in your pocket,” “education on your terms,” “decarbonizing the energy sector,” “the future of buildings,” “feeding a growing world,” “mobile and connected reaching your destination,” “smarter customers, smarter services,” and the Internet of Things. 4 Each of those is fundamentally realized and implemented by software systems, and again, we need software engineers capable of designing these systems with individual, social, economic, technical, and environmental sustainability in mind. Furthermore, each of these topics also depends on highly interdisciplinary collaborarion. For example, the “doctor in your pocket” requires both medical expertise, user experience design, and software engineering. Each discipline has to start building its half of the bridges towards the others. From the humanitarian perspective of MDGs and SDGs to the business perspective of the UN Global Compact study to the Smarter 2020 and 2030 future scenarios, all of the solutions involve large amounts of software systems and services. This is where software engineering comes into play as a critical facilitator. In more concrete terms, if we manage to support sustainability in business strategies, translate the related objectives into requirements, and then manage to design and implement them into the software, we can facilitate a huge potential positive impact on our lifestyle and the planet. In our opinion, the maturity of the field is still developing. In distinct research community pockets, we have advanced specific topics quite well. Now is the time to bring those research pockets together and integrate them into the bigger picture. This is what this special issue is about. The six papers part of this special issue showcase the diversity of the field of software engineering for sustainability. A way to emphasize this diversity is to show how they contribute to the different sustainability dimensions, as illustrated in Figure 1. There, we used the notation of the Software Sustainability Assessment Method (SoSA 14) and linked the software engineering contribution of each paper with the sustainability concerns that have been directly addressed (i.e., placed in the immediate impact area) as well as those that are indirectly enabled (i.e., in the enabling impact area). The focus of the papers goes from specific types of software systems (cloud based and mobile cloud), to software engineering techniques (patterns), approaches (release management and software product line engineering), and finally a code of ethics overarching the profession. Given the focus differences, the papers tackle sustainability in different dimensions. However, we observe that most papers directly focus on technical and environmental concerns, and only two papers directly address concerns related to social sustainability. This suggests that the community perceives sustainability as a “narrow" technical versus environmental problem. While energy efficiency is important, the sustainability impact of software in society requires a broader perspective addressing the socioeconomic problems, too. This of course calls for more interdisciplinary collaboration. We also elicited the types of concerns that are indirectly mentioned (or enabled) and could identify some concerns belonging to the social and economic dimensions. The following summarizes the papers in terms of both direct and enabled contribution to sustainability. In “Cloud Architecture Continuity: Change Models and Change Rules for Sustainable Cloud Software Architectures,” Pahl et al. propose a framework for cloud environments and for aiding technical sustainability in terms of longevity and resilience to uncertainty (as both evolution and adaptation). This, in turn, influences economic sustainability concerns like maintenance of capital and added value. The evaluation shows how the framework ensures cloud-based systems to continuously meet changing goals and change the architecture accordingly. In “BEFTIGRE: Behaviour-driven Full-tier Green Evaluation of Mobile Cloud Applications,” Chinenyeze et al. propose an approach that optimizes the energy consumption of applications that rely on a mobile cloud architecture. Past approaches aimed at saving the battery life of mobile devices by offloading data and/or computation to the cloud. Based on target behavioral scenarios that span the full mobile cloud tier, this work identifies the best-fitting offloading scheme in terms of energy usage, resource usage, and performance, hence balancing factors in the environmental and technical sustainability dimensions. In addition, the use of scenarios capturing, for example, the implications of a certain offloading scheme aids decision making of, and communication towards, business analysts. This can have an indirect positive effect toward business adoption, hence economic savings. In “Investigating the Effect of Design Patterns on Energy Consumption,” Feitosa et al. evaluate the impact on energy consumption of two GoF pattern solutions versus alternative solutions. While limited to two patterns and two OSS projects, this work shows that pattern solutions tend to be less energy efficient than alternative ones. This may suggest a trade-off between environmental concerns (software energy footprint) and socioeconomic advantages (pattern reusability across projects or application domains and development effort). While only energy consumption is being discussed, decision making should look at the broader picture, in this case at sociotechnical indicators, too. In “Energy efficiency on the Product Roadmap: an Empirical Study Across Releases of a Software Product,” Jagroep et al. present two empirical studies: an experiment on the energy impact of software change across two consecutive releases of an commercial software product and a subsequent semistructured interview showing how the quantification of software energy consumption helps to create awareness and include energy efficiency aspects in the decision-making process, when planning software releases. Experiment results contribute to technical-environmental sustainability by providing insights in how software design decisions impact energy consumption across releases. In addition, interview results contribute to social sustainability by creating awareness and by enabling strategic software product roadmapping by planning its evolution also in terms of energy efficiency. In “Uncovering Sustainability Concerns in Software Product Lines,” Groher et al. study how the software product line engineering (SPL) engineering approach helps addressing concerns that might be relevant for sustainability. In particular, as SPLs foster reuse of resources and controlled evolution, most of the identified sustainability concerns directly related to SPL engineering naturally belong to the economic dimension (e.g., time to market, productivity, and asset management) and the technical dimension (e.g., maintainability and scalability). In these dimensions, evolution and resource consumption over time are of the essence. Therefore, the next step is to apply this work in multiproduct analysis in a SPL engineering context, hence adding time-related sustainability analysis. In “GreCo: Green Code of ethics,” Moraga et al. propose a code of ethics for engineering green software. The authors directly cover what they call “green in software”, which regards the direct impact of software on relevant environmental concerns. However, as natural in a code of ethics, the work also provides reflection on the social impact of green software engineering, spanning from the relevance to the public to individual good practices. Similar to the work of Hankel et al.,7 it also addresses the impact for the employer and customer and from both product and process perspectives. Finally, we want to emphasize that many papers make their data (e.g., experiments' raw data, metrics, and measures) available for reproduction and replication of the results. This is crucial to stimulate the community towards replicating studies and share new findings. Overall, the knowledge resulting from all papers has relevance for both researchers and practitioners. The pervasive role of sustainability in engineering software has have a great impact on the international scientific software engineering community. As illustrated in Figure 2, since 2012, a number of workshops kickstarted software engineering research and helped shaping a strong, active, and innovative community with a strong presence in the main conferences in the field. The two international workshops with the longest history are RE4SuSy and GREENS, followed by WSSSPE and GinSEng. The Workshop on Requirements Engineering for Sustainable Systems (RE4SuSy) was established at REFSQ (www.refsq.org) and continued at RE since 2013. The main focus of RE4SuSy has been to improve requirements engineering techniques in a way that they better support the sustainability of software systems and the development of software systems for sustainability. The Workshop on Green and Sustainable Software (GREENS) was established at ICSE (http://icse-conferences.org). Its main focus has been to discuss academic research and industrial practice, about how software engineering methods, techniques, tools, and knowledge can contribute to developing sustainable software as well as software that supports sustainable processes. The Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE) started in 2013 and over the years developed into “an international community-driven organization that promotes sustainable research software by addressing challenges related to the full lifecycle of research software through shared learning and community action” (cf., http://wssspe.researchcomputing.org.uk/about-wssspe). The Workshop on Green in Software Engineering (GinSEng) started in 2015 and focused on the role of software engineering in and for greenability. Among other more specific initiatives, these efforts gave birth to the Software Engineering in Society (SEIS) track in the premier software engineering conference, ACM/IEEE ICSE, hence recognizing the pervasive societal role of software. It also witnessed the stable participation in broader and interdisciplinary conferences like ICT4S, where the software engineering community has the invaluable opportunity to discuss research ideas with colleagues from other disciplines. We take the opportunity to thank all workshop organizers that kickstarted the community, helped in building a stronger community with a stable place in international conferences, and that are joining forces as we speak (or, better, as we write) to converge in a new International Symposium on Sustainable Software Engineering, ISSSE, planned for 2019. Last but not least, we reiterate on the need to infuse software engineering education and professional training with the objective of sustainability—a blend of specifically dedicated sustainability courses and courses teaching technical competences for engineering sustainable software will provide the software industry with the right “software engineering for sustainability” instruments. We hope that readers will enjoy this special issue and gain useful insights from the six papers presented. Finally, we would like to thank the editorial board for providing us with the opportunity to devote this issue to this important topic. We also thank the reviewers for their invaluable help. Enjoy!
Patricia Lago, Birgit Penzenstadler
J. Softw. Evol. Process.1
2016 A Long Way to Quality-Driven Pattern-Based Architecting
Gianantonio Me, Coral Calero, Patricia Lago
ECSA3
2016 Energy Efficiency of ORM Approaches: an Empirical Evaluation
abstract
Context. Object-Relational Mapping (ORM) frameworks are widely used in business software applications to interact with database systems. Even if ORMs introduce several benefits when compared to a plain SQL approach, these techniques have known disadvantages.
Giuseppe Procaccianti, Patricia Lago, Wouter Diesveld
ESEM2
2016 Software that Meets Its Intent
Marieke Huisman, Herbert Bos, Sjaak Brinkkemper, Arie van Deursen, Jan Friso Groote, Patricia Lago, Jaco van de Pol, Eelco Visser
ISoLA (2)6
2016 A Decision Model for Cyber-Foraging Systems
abstract
Cyber-foraging is a technique to enable mobile devices to extend their computing power and storage by offloading computation or data to more powerful servers located in the cloud or in single-hop proximity. While there is a large amount of research in this area, the reality is that there are not many deployed, operational cyber-foraging systems. As these systems become more prevalent due to their proven benefits, combined with the emergence of micro data centers and edge clouds, a need will arise for guidance on their architecture and development. To provide this guidance, we present a decision model based on a mapping of functional and non-functional requirements for cyber-foraging systems to a set of architectural tactics. The decision model was validated by developers to obtain an expert opinion on its correctness and usefulness for guiding the architecture, design, and evolution of cyber-foraging systems that meet their intended functional and non-functional requirements, while understanding the effects of decisions.
Grace A. Lewis, Patricia Lago, Paris Avgeriou
WICSA2
2016 Empirical evaluation of two best practices for energy-efficient software development
Giuseppe Procaccianti, Hector Fernandez, Patricia Lago
J. Syst. Softw.3
2016 In two minds: how reflections influence software design thinking
abstract
We theorize a two-mind model of design thinking. Mind 1 is about logical design reasoning, and Mind 2 is about the reflection on our reasoning and judgments. The problem solving ability of Mind 1 has often been emphasized in software engineering. The reflective Mind 2, however, has not received much attention. In this study, we want to find out if Mind 2, or reflection, can improve design discourse, a prerequisite of design quality. We conducted multiple case studies with 12 student groups, divided into test groups and control groups. We provided external reflections to the test groups. No reflections were given to the control groups. We analyzed the quality of the design discourse in both groups. We found that reflection (Mind 2) improves the quality of design discourse (Mind 1) under certain preconditions. The results highlight the significance of reflection as a mean to improve the quality of design discourse. We conclude that software designers need both Mind 1 and Mind 2 to obtain a higher quality design discourse, as a foundation for a good design. Copyright © 2016 John Wiley & Sons, Ltd.
Maryam Razavian, Antony Tang, Rafael Capilla, Patricia Lago
J. Softw. Evol. Process.4
2015 Characterization of Cyber-Foraging Usage Contexts
Grace A. Lewis, Patricia Lago
ECSA2
2015 4th International Workshop on Green and Sustainable Software (GREENS 2015)
abstract
Engineering green software-intensive systems is critical in our drive towards a sustainable, smarter planet. The goal of green software engineering is to apply green principles to the design and operation of software-intensive systems. Green and self-greening software systems have tremendous potential to decrease energy consumption. Moreover, enterprise software can and should be re-thought to address sustainability issues using innovative business models, processes, and incentives. Monitoring and measuring the greenness of software is critical towards the notion of sustainable and green software. Demonstrating improvement is paramount for users to achieve and affect change. Thus, the theme of GREENS 2015 is Towards a Green Software Body of Knowledge. The GREENS workshop series brings together researchers and practitioners to discuss both the state-of-the-art and state-of-the-practice in green software, including novel ideas, research challenges, methods, experiences, and tools to support the engineering of sustainable and energy efficient software systems.
Maurizio Morisio, Patricia Lago, Niklaus Meyer, Hausi A. Müller, Giuseppe Scanniello
ICSE (2)2
2015 The Green Lab: Experimentation in Software Energy Efficiency
abstract
Software energy efficiency is a research topic where experimentation is widely adopted. Nevertheless, current studies and research approaches struggle to find generalizable findings that can be used to build a consistent knowledge base for energy-efficient software. To this end, we will discuss how to combine the traditional hypothesis-driven (top-down) approach with a bottom-up discovery approach. In this technical briefing, participants will learn the challenges that characterize the research in software energy efficiency. They will experience the complexity in this field and its implications for experimentation.
Giuseppe Procaccianti, Patricia Lago, Antonio Vetrò, Daniel Méndez 0001, Roel J. Wieringa
ICSE (2)2
2015 Architectural tactics for cyber-foraging: Results of a systematic literature review
Grace A. Lewis, Patricia Lago
J. Syst. Softw.2
2015 A systematic literature review on SOA migration
abstract
When Service Orientation was introduced as the solution for retaining and rehabilitating legacy assets, both researchers and practitioners proposed techniques, methods, and guidelines for SOA migration. With so much hype surrounding SOA, it is not surprising that the concept was interpreted in many different ways, and consequently, different approaches to SOA migration were proposed. Accordingly, soon there was an abundance of methods that were hard to compare and eventually adopt. Against this backdrop, this paper reports on a systematic literature review that was conducted to extract the categories of SOA migration proposed by the research community. We provide the state-of-the-art in SOA migration approaches, and discuss categories of activities carried out and knowledge elements used or produced in those approaches. From such categorization, we derive a reference model, called SOA migration frame of reference, that can be used for selecting and defining SOA migration approaches. As a co-product of the analysis, we shed light on how SOA migration is perceived in the field, which further points to promising future research directions. Copyright © 2015 John Wiley & Sons, Ltd.
Maryam Razavian, Patricia Lago
J. Softw. Evol. Process.2
2014 Architecture Strategies for Cyber-Foraging: Preliminary Results from a Systematic Literature Review
Grace A. Lewis, Patricia Lago, Giuseppe Procaccianti
ECSA2
2014 Green Architectural Tactics for the Cloud
abstract
Energy efficiency is a primary concern for the ICT sector. In particular, the widespread adoption of cloud computing technologies has drawn attention to the massive energy consumption of data centers. Although hardware constantly improves with respect to energy efficiency, this should also be a main concern for software. In previous work we analyzed the literature and elicited a set of techniques for addressing energy efficiency in cloud-based software architectures. In this work we codified these techniques in the form of Green Architectural Tactics. These tactics will help architects extend their design reasoning towards energy efficiency and to apply reusable solutions for greener software.
Giuseppe Procaccianti, Patricia Lago, Grace A. Lewis
WICSA2
2014 Architecting in Networked Organizations
abstract
The context of software architecting increasingly reflects webs of IT companies pooling resources together for software development. What results is a networked organization, populated by heterogeneous development communities connected via internet. How does this scenario change the process of software architecting? Pivoting around this research question, this paper presents architecture concerns relevant in such networked development scenarios. Supporting these concerns is critical to understand the impact of architecture on organizational change and vice versa. To this aim, we introduce a viewpoint, its supporting tool and evaluate both through a case-study.
Damian A. Tamburri, Patricia Lago, Christoph Mayr-Dorn, Rich Hilliard
WICSA2
2014 A lean and mean strategy: a data migration industrial study
abstract
SUMMARY Many companies have legacy assets to be integrated or modernized. Like today's software developments, migration projects are faced with steadily increasing demands for efficiency: migration has to be carried out faster, better, and cheaper. At the same time, migration complexity increases, and migration projects remain challenging despite the companies' extensive experience. To cope with such efficiency demands, companies need a well‐defined migration strategy. In previous work, we have defined such a migration strategy called lean and mean strategy. In this paper, following technical action research, we apply our migration strategy, and evaluate it, in two large industrial case studies in the field of data migration. The use of the strategy in our case studies reveals the benefits of lean and mean strategy for meeting the efficiency demands. Copyright © 2013 John Wiley & Sons, Ltd.
Maryam Razavian, Patricia Lago
J. Softw. Evol. Process.2
2014 Towards a framework for the development of adaptable service-based applications
Stephen Lane, Qing Gu 0003, Patricia Lago, Ita Richardson
Serv. Oriented Comput. Appl.3
2013 Teaching software design with social engagement
abstract
Software designers constantly mediate with various stakeholders, agree with requirement engineers and interact with coders. Software design is a socially-intensive activity. Teaching software design should be equally socially-intensive. However academic courses still lack a beneficial balance between theory, practice and social engagement. This paper provides details on how we address this problem in our course on software design. The course is designed to engage students with real-life projects and using peer-review sessions within collaborative team clusters. These instruments embed the social conditions of software design within the students' learning process. We show the effectiveness of the course by discussing student evaluations.
Damian A. Tamburri, Maryam Razavian, Patricia Lago
CSEE&T3
2013 5th international workshop on principles of engineering service-oriented systems (PESOS 2013)
abstract
PESOS 2013 is a forum that brings together software engineering researchers from academia and industry, as well as practitioners working in the areas of service-oriented systems to discuss research challenges, recent developments, novel application scenarios, as well as methods, techniques, experiences, and tools to support engineering, evolution and adaptation of service-oriented systems. The special theme of the 5th edition of PESOS is “Service Engineering for the Cloud” The goal is to explore approaches to better engineer service-oriented systems, to either take advantage of the qualities offered by cloud infrastructures or to account for lack of full control over important quality attributes. PESOS 2013 also continues to be the key forum for collecting case studies and artifacts for educators and researchers in this area.
Domenico Bianculli, Patricia Lago, Grace A. Lewis, Hye-Young Paik
ICSE2
2013 2nd international workshop on green and sustainable software (GREENS 2013)
abstract
ICT accounts for approximately 2% of world CO2 emissions, a figure equivalent to aviation, according to Gartner estimates. In the remaining 98% software counts for both operationalizing the private sector in doing its business and the public sector in supporting the society, as well as delivering enduser applications that permeate personal life of individuals and families. Software can contribute to decrease power consumption (i.e., become greener) in at least two ways. First, by being more energy efficient, hence using fewer resources and causing fewer CO2 emissions. Second, by making its processes more sustainable, i.e. decreasing the emissions of governments, companies and individuals. To this end, enterprise software must be rethought to address sustainability issues and support innovative business models and processes. The special theme of the second edition of GREENS is “Leveraging energy efficiency to software users”. This workshop brings together software engineering researchers and practitioners to discuss the state-of-the-art and state-of-the-practice in green software, as well as research challenges, novel ideas, methods, experiences, and tools to support the engineering of sustainable and energy efficient software systems.
Patricia Lago, Niklaus Meyer, Maurizio Morisio, Hausi A. Müller, Giuseppe Scanniello
ICSE1
2013 Service networks for development communities
abstract
Communities of developers have rapidly become global, encompassing multiple timezones and cultures alike. In previous work we investigated the possible shapes of communities for software development. In addition, we explored mechanisms to uncover communities emerging during development. However, we barely scratched the surface. We found that development communities yield properties of dynamic change and organic evolution. Much work is still needed to support such communities with mechanisms able to proactively react to community dynamism. We argue that service-networks can be used to deliver this support. Service-networks are sets of people and information brought together by the internet. This paper is a first attempt at studying this research area by means of a real-life case-study in a large global software development organisation.
Damian A. Tamburri, Patricia Lago, Hans van Vliet
ICSE2
2013 Estimating the Economic Value of Reusable Green ICT Practices
Qing Gu 0003, Patricia Lago
ICSR2
2013 3D architecture viewpoints on service automation
Qing Gu 0003, Félix Cuadrado, Patricia Lago, Juan C. Dueñas
J. Syst. Softw.3
2013 What Industry Needs from Architectural Languages: A Survey
abstract
Many times we are faced with the proliferation of definitions, concepts, languages, and tools in certain (research) topics. But often there is a gap between what is provided by existing technologies and what is needed by their users. The strengths, limitations, and needs of the available technologies can be dubious. The same applies to software architectures, and specifically to languages designed to represent architectural models. Tens of different architectural languages have been introduced by the research and industrial communities in the last two decades. However, it is unclear if they fulfill the user's perceived needs in architectural description. As a way to plan for next generation languages for architectural description, this study analyzes practitioners' perceived strengths, limitations, and needs associated with existing languages for software architecture modeling in industry. We run a survey by interviewing 48 practitioners from 40 different IT companies in 15 countries. Each participant is asked to fill in a questionnaire of 51 questions. By analyzing the data collected through this study, we have concluded that 1) while practitioners are generally satisfied with the design capabilities provided by the languages they use, they are dissatisfied with the architectural language analysis features and their abilities to define extra-functional properties; 2) architectural languages used in practice mostly originate from industrial development instead of from academic research; 3) more formality and better usability are required of an architectural language.
Ivano Malavolta, Patricia Lago, Henry Muccini, Patrizio Pelliccione, Antony Tang
IEEE Trans. Software Eng.2
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
ICGSE2
2012 Special issue: Selected papers from the 9th Working IEEE/IFIP Conference on Software Architecture (WICSA 2011)
Patricia Lago, Rich Hilliard
J. Syst. Softw.1
2012 An empirical study of learning by osmosis in global software engineering
abstract
SUMMARY To teach global software engineering, we devised a complementary distributed module with a shared project involving both local and international teams. In local teams, students are located at the same university and trained in one of the two complementary topics. In international teams, students are located at two different universities and trained in one of the two complementary topics. This study empirically investigates whether the students in the international teams can compensate the extra effort required to deal with communication, coordination, and collaboration issues that characterize global software engineering projects with learning by osmosis (i.e., by transferring knowledge among globally distributed teams trained on different topics). The results show that there was no statistically significant difference between the performance of local and international teams. We assert that the students in the international and local teams perform equally well, thanks to learning by osmosis. However, our analysis of the self‐reported questionnaire data revealed that most of the participants (i.e., 70%) would like to work in local teams in real‐life project, 74% of the participants thought international teams were less efficient, and 41% of the participants reported lack of trust in their international team members compared with their local team members. Copyright © 2011 John Wiley & Sons, Ltd.
Patricia Lago, Henry Muccini, Muhammad Ali Babar 0001
J. Softw. Evol. Process.1
2011 Supporting Communication and Cooperation in Global Software Development with Agile Service Networks
Damian A. Tamburri, Patricia Lago
ECSA2
2011 Workshop on SHAring and Reusing architectural Knowledge: (SHARK 2011)
abstract
Architectural Knowledge (AK) is defined as the integrated representation of the software architecture of a software-intensive system or family of systems along with architectural decisions and their rationale, external influence and the development environment. The SHARK workshop series focuses on current methods, languages, and tools that can be used to extract, represent, share, apply, and reuse AK, and the experimentation and/or exploitation thereof. This sixth edition of SHARK will discuss, among other topics, the approaches for AK personalization, where knowledge is not codified through templates or annotations, but it is exchanged through the discussion between the different stakeholders.
Paris Avgeriou, Patricia Lago, Philippe Kruchten
ICSE2
2011 A Survey of SOA Migration in Industry
Maryam Razavian, Patricia Lago
ICSOC2
2011 Satisfying Cloud Computing Requirements with Agile Service Networks
abstract
Cloud computing is an emerging paradigm able of flexibly offering IT resources and services over the Internet. Cloud computing's high flexibility needs novel software engineering approaches, and technologies to deliver agile, flexible, scalable yet secure software solutions with full technical (e.g. QoS, service continuity etc.) and business gain (e.g. profit, corporate value, utility etc.). Agile Service Networks are themselves an emerging paradigm envisioning collaborative and dynamic service interactions (network edges) among global service-oriented applications (network nodes). We argue that Agile Service Networks can be used as a paradigm for software engineering in the cloud, since they are indeed able to deliver solutions which are both compliant to the cloud's needs and able to harness it, bringing about its full potential. In this paper we identify requirements for the cloud, and show how these can be satisfied using Agile Service Networks.
Damian A. Tamburri, Patricia Lago
SERVICES2
2011 Empirical research in software architecture: opportunities, challenges, and approaches
abstract
Software architecture has become an important area of research and practice since the late 1980s (Shaw and Clements 2006 ). The term “software architecture” started gaining acceptance by the software engineering community in early 1990s but the foundations of this field were laid by the seminal work of Edsger Dijkstra, David Parnas, and others between 1960s and 1980s (Clements 2000 ). The increasing size and complexity of software systems and demand for high quality are some of the most important factors that have driven the increased interest in this sub-discipline of software engineering. It has generally been realized that a high-level design description can play an important role in successfully understanding and managing large and complex software systems (Clements et al. 2002 ; Lung and Kalaichelvan 2000 ). The high-level design decisions regarding the software architecture of a system are not only the hardest and most expensive to change but also play a fundamental role in setting the boundaries for the required quality attributes such as maintainability, reliability, usability, performance, and flexibility of a system (Bass et al. 2003 ; Clement and Northorp 1996 ).
Muhammad Ali Babar 0001, Patricia Lago, Arie van Deursen
Empir. Softw. Eng.2
2011 The lonesome architect
Johan F. Hoorn, Rik Farenhorst, Patricia Lago, Hans van Vliet
J. Syst. Softw.3
2011 Guiding the selection of service-oriented software engineering methodologies
abstract
Service-oriented computing is a paradigm for effectively delivering software services in a dynamic environment. Accordingly, many service-oriented software engineering (SOSE) methodologies have been proposed and practiced in both academia and industry. Some of these methodologies share common features (e.g. cover similar life-cycle phases) but are presented for different purposes, ranging from project management to system modernization, and from business analysis to technical solutions development. Given this diversity in the methodologies available in the literature, it is very hard for a company to decide which methodology would fit best for its specific needs. With this aim, we took a feature analysis approach and devised a framework for comparing the existing SOA methodologies. Different from existing comparison frameworks, ours specifically highlights aspects that are specific to SOA and aims to differentiate the methodologies that are truly service-oriented from those that deal little with service aspects. As such, the criteria defined in the framework can be used as a checklist for selecting a SOSE methodology.
Qing Gu 0003, Patricia Lago
Serv. Oriented Comput. Appl.2
2010 Fifth International Workshop on Sharing and Reusing Architectural Knowledge (SHARK 2010)
abstract
Architectural Knowledge (AK) is defined as the integrated representation of the software architecture of a software-intensive system or family of systems along with architectural decisions and their rationale, external influence and the development environment. The SHARK workshop series focuses on current methods, languages, and tools that can be used to extract, represent, share, apply, and reuse AK, and the experimentation and/or exploitation thereof. This fifth edition of SHARK will discuss, among other topics, the contributions of this community to a Body of Knowledge on software architecture.
Patricia Lago, Paris Avgeriou, Philippe Kruchten
ICSE (2)1
2010 Families of SOA Migration
Maryam Razavian, Patricia Lago
ICSOC2
2009 Designing a Multi-disciplinary Software Engineering Project
abstract
Software engineering courses often include some form of project, aimed at bridging the theory-practice gap. These projects tend to emphasize technical topics. Because software engineering has an important organizational and social dimension as well, and because software engineering courses may be taken by non-CS majors too, there is every reason to also include these non-technical issues in the software project. In this paper we discuss how we designed a multi-disciplinary software engineering project course that pays attention to non-technical issues. We report about our experience in four editions of the same project, and discuss lessons learned. Our general conclusion is that software engineering projects need to have specific characteristics to attract a multi-disciplinary student population.
Patricia Lago, Joost J. P. Schalken, Hans van Vliet
CSEE&T1
2009 The Usefulness of Architectural Knowledge Management Practices in GSD
abstract
Practices for architectural knowledge management (AKM) may alleviate the challenges involved with GSD. We have conducted empirical research at a large Dutch IT service provider to validate a set of practices for architectural knowledge management in GSD and to specifically investigate the relation between the number of sites and the perceived usefulness of these practices. The results show that AKM practices supporting a personalization strategy towards knowledge management are perceived to be more useful than practices that support a codification strategy. Further, the usefulness of AKM practices in general is confirmed. Finally, we observe a peak in the perceived usefulness of AKM practices in projects that evolved to a multi-site situation. This high perceived usefulness denotes a more critical need to plan for AKM practices in advance.
Viktor Clerc, Patricia Lago, Hans van Vliet
ICGSE2
2009 Design decisions and design rationale in software architecture
Muhammad Ali Babar 0001, Patricia Lago
J. Syst. Softw.2
2009 A scoped approach to traceability management
Patricia Lago, Henry Muccini, Hans van Vliet
J. Syst. Softw.1
2009 Exploring service-oriented system engineering challenges: a systematic literature review
abstract
Service-oriented system engineering (SOSE) has drawn increasing attention since service-oriented computing was introduced in the beginning of this decade. A large number of SOSE challenges that call for special software engineering efforts have been proposed in the research community. Our goal is to gain insight into the current status of SOSE research issues as published to date. To this end, we conducted a systematic literature review exploring SOSE challenges that have been claimed between January 2000 and July 2008. This paper presents the results of the systematic review as well as the empirical research method we followed. In this review, of the 729 publications that have been examined, 51 were selected as primary studies, from which more than 400 SOSE challenges were elicited. By applying qualitative data analysis methods to the extracted data from the review, we proved our hypotheses about the classification scheme. We are able to conclude that the SOSE challenges can be classified along two dimensions: (a) based on themes (or topics) that they cover and (b) based on characteristics (or types) that they reveal. By analyzing the distribution of the SOSE challenges on the topics and types in the years 2000–2008, we are able to point out the trend in SOSE research activities. The findings of this review further provide empirical evidence for establishing future SOSE research agendas.
Qing Gu 0003, Patricia Lago
Serv. Oriented Comput. Appl.2
2008 Developing a Course on Designing Software in Globally Distributed Teams
abstract
Present-day software engineering combines technical and social skills, as well as collaboration among people with different backgrounds (e.g. due to global development and outsourcing). In this paper we address the problem of teaching "globally distributed development", and specifically software design. Our goal is to develop a joint Master course teaching software design in a global setting. To this end, we contribute with a list of characteristics to be developed, in the form of an 'orientation map' for educators. We use this map to build a joint course between two European universities.
Patricia Lago, Henry Muccini, Muhammad Ali Babar 0001
ICGSE1
2008 A Just-In-Time Architectural Knowledge Sharing Portal
abstract
In recent years, management of architectural knowledge has become a more prominent theme in software architecture research. Although various specialized tools have been proposed for use in the architecting process, observations show that architects in industry have yet to meet a tool environment that matches their knowledge needs. In order to discover what architectural knowledge needs architects have, we conducted a study in a large organization. In this study we discovered that architects are especially in need for 'just-in-time architectural knowledge'. To fulfill this need we designed and implemented an architectural knowledge sharing portal. Our portal's integrated functionality supports architects in their decision-making process, by providing easy access to the right architectural knowledge at any given point in time.
Rik Farenhorst, Ronald Izaks, Patricia Lago, Hans van Vliet
WICSA3
2008 Wishes and Boundaries for a Software Architecture Knowledge Community
abstract
Software architecting is a highly knowledge-intensive process demanding and producing a large and rich amount of information. To remain competitive, companies and organizations working in the IT sector must be able to manage this knowledge portfolio and effectively exploit and reuse it. In the era of Web 2.0, knowledge grids, social networking, global development and semantic Web, this working session addresses the problem of building a knowledge community in the field of software architecture. To this end, we aim at exploring the wishes of academics and industrial organizations, on the one hand, and their boundaries on he other. Our goal is to compare and contrast the inputs from academia and industry, and gain a shared understanding about what can be done now, and in the near future.
Patricia Lago, Paris Avgeriou, Rafael Capilla, Philippe Kruchten
WICSA1
2008 Software engineering article types: An analysis of the literature
Michela Montesi, Patricia Lago
J. Syst. Softw.2
2007 Towards a European Master Programme on Global Software Engineering
abstract
This paper presents a European Master programme on global software engineering (SE), being put forward by four leading institutions from Sweden, UK, Netherlands and Italy. The Global SE European Master (GSEEM) programme aims to provide students with an excellence in SE based on sound theoretical foundations and practical experience, as well as prepare them to participate in global development of complex and large software systems. GSEEM has been designed with three noteworthy aspects: 1) Three specialization profiles in which the consortium excels: Software Architecting, Real-time Embedded Systems Engineering, and Web Systems and Services Engineering. 2) Two market-driven routes: "professional" to work as professionals, and "scientific" to continue the education towards research degrees. 3) An innovative concept of "shared modules", delivered together by multiple institutions. Four types of shared modules are foreseen: "parallel" twin modules which run remotely between universities, "shifted" modules which teach SE concepts incrementally with shifts in study locations and timeline ,"complementary" modules in which complementary SE concepts are taught in parallel through shared projects, and "common" modules which share the presentations and the project. The profiles realize "integrated knowledge" by complementing partial knowledge available at partner institutions. The paper explains how GSEEM achieves the objectives of educating global software engineers.
Patricia Lago, Henry Muccini, Ljerka Beus-Dukic, Ivica Crnkovic, Sasikumar Punnekkat, Hans van Vliet
CSEE&T1
2007 Effective Tool Support for Architectural Knowledge Sharing
Rik Farenhorst, Patricia Lago, Hans van Vliet
ECSA2
2007 Global Software Development: Are Architectural Rules the Answer?
abstract
Global software development (GSD) faces additional challenges as compared to single-site software development. Some of the better known challenges include temporal, geographical, and socio-cultural differences. To overcome these challenges, organizations need to revert to measures in order to deliver software in time in a distributed setting. Some of these measures may exist in the form of architectural rules: principles and statements on the software architecture that must be complied with throughout the organization. From the GSD literature we distilled four main GSD challenges and seven sub-challenges, or issues. For each issue, we list possible solutions and observe that solutions to GSD challenges may be obtained by adhering to architectural rules. We present a study on how two organizations involved in GSD solve the GSD challenges and issues. One of the organizations mainly uses rules regulating the architecture of the product. The other organization does not emphasize these architectural rules but rather focuses on the joint team effort in establishing and committing to measures that mainly pertain to the architecture process. We conclude that rules regulating a combination of both proves valuable in handling GSD challenges.
Viktor Clerc, Patricia Lago, Hans van Vliet
ICGSE2
2007 Assessing a Multi-Site Development Organization for Architectural Compliance
abstract
Multi-site development organizations require coordination and communication efforts between different sites to ensure successful distributed development. These efforts need to be guided by a set of principles and statements on the software architecture that must be complied with throughout the organization: architectural rules. It is of paramount importance that multi-site development organizations incorporate measures in the architecting process to secure compliance with these rules throughout the organization. We describe a method to assess the degree to which compliance measures are secured in multi-site development organizations. We share our experience in applying this method in a large development organization in the consumer electronics domain.
Viktor Clerc, Patricia Lago, Hans van Vliet
WICSA2
2007 Eagle: Effective Tool Support for Sharing Architectural Knowledge
abstract
Knowledge management plays an important role in the software architecting process. Recently, this role has become more apparent by a paradigm shift that views a software architecture as the set of architectural design decisions it embodies. This shift has sparked the discussion in both research and practice on how to best facilitate sharing of so-called architectural knowledge, and how tools can best be employed. In order to design successful tool support for architectural knowledge sharing it is important to take into account what software architecting really entails. In this paper, we define the main characteristics of architecting, based on observations in a large software development organization, and state-of-the-art literature in software architecture. Based on the defined characteristics, we determine how best practices known from knowledge management could be used to improve architectural knowledge sharing. This results in the definition of a set of desired properties of architectural knowledge sharing tools. Finally, we highlight the design and implementation of EAGLE, an architectural knowledge sharing portal that implements those properties.
Rik Farenhorst, Patricia Lago, Hans van Vliet
Int. J. Cooperative Inf. Syst.2
2006 What's in Constructing a Domain Model for Sharing Architectural Knowledge?
Rik Farenhorst, Remco C. de Boer, Robert Deckers, Patricia Lago, Hans van Vliet
SEKE4
2006 Recovering architectural assumptions
Ronny Roeller, Patricia Lago, Hans van Vliet
J. Syst. Softw.2
2005 Teaching a Course on Software Architecture
abstract
Software architecture is a relatively new topic in software engineering. It is quickly becoming a central issue, and leading-edge organizations spend a considerable fraction of their development effort on software architecture. Consequently, software architecture is increasingly often the topic of a dedicated course in software engineering curricula. There are two general flavors as for the contents of such a course. One flavor emphasizes the programming-in-the-large aspects of software architecture and concentrates on design and architectural patterns, architecture description languages and the like. The other emphasizes the communication aspects of software architecture to a variety of stakeholders, thereby acknowledging a broader view of software architecture. In this paper we report our experiences with two master-level courses in software architecture that focus on these communication aspects. We show that, by appropriately focusing the contents of such a course, key aspects of this industrially very relevant field within software engineering can be taught successfully in a university setting
Patricia Lago, Hans van Vliet
CSEE&T1
2005 Explicit assumptions enrich architectural models
abstract
Design for change is a well-known adagium in software engineer-ing. We separate concerns, employ well-designed interfaces, and the like to ease evolution of the systems we build. We model and build in changeability through parameterization and variability points (as in product lines). These all concern places where we ex-plicitly consider variability in our systems. We conjecture that it is helpful to also think of and explicitly model invariability, things in our systems and their environment that we assume will not change. We give examples from the literature and our own experience to illustrate how evolution can be seriously hampered because of tacit assumptions made. In particular, we show how we can explicitly model assumptions in an existing product family. From this, we derive a metamodel to document assumptions. Finally, we show how this type of modeling adds to our understanding of the archi-tecture and the decisions that led to it.
Patricia Lago, Hans van Vliet
ICSE1
2005 Building up and Exploiting Architectural Knowledge
abstract
Architectural knowledge consists of architecture design as well as the design decisions, assumptions, context, and other factors that together determine why a particular solution is the way it is. Except for the architecture design part, most of the architectural knowledge usually remains hidden, tacit in the heads of the architects. We conjecture that an explicit representation of architectural knowledge is helpful for building and evolving systems. If we had a repository of architectural knowledge for a system, what would it ideally contain, how would we build it, and exploit it in practice? In this paper we describe a use case model for an architectural knowledge system.
Philippe Kruchten, Patricia Lago, Hans van Vliet, Timo Wolf
WICSA2
2005 Toward an Architectural Knowledge Base for Wireless Service Engineering
abstract
Wireless services are software-based services that exploit distribution infrastructure embedded in our everyday life as various communication and computing technologies. Service architecture defines concepts and principles to develop and maintain services to obtain the quality issues with minimum cost and faster time-to-market. In order to boost the development of wireless services, more effective means of using existing architectural know-how and artifacts are required. Our contribution is the architectural knowledge base that introduces three cornerstones: the service taxonomy, reference service architecture, and basic services that alt together provide an efficient means of creating added value with wireless services. The service taxonomy assists in identifying the required functional and quality properties of services and the constraints of the underlying technology platforms. The reference architecture realizes the required properties, based on a selected set of architectural styles and patterns, and provides a skeleton upon which a new end-user service can be developed faster and more easily by using partially ready-made solutions, and furthermore, to keep the architectural knowledge base evolving at the same time. The architectural knowledge base has been validated in several research projects with industrial companies.
Eila Ovaska, Jarmo Kalaoja, Patricia Lago
IEEE Trans. Software Eng.3
2004 Observations from the Recovery of a Software Product Family
Patricia Lago, Hans van Vliet
SPLC1
2002 The WISE Approach to Architect Wireless Services
Patricia Lago, Mari Matinlassi
PROFES1
2001 An architecture for IN-internet hybrid services
C. A. Licciardi, Gianni Canal, A. Andreetto, Patricia Lago
Comput. Networks4
1998 Eliciting software Process Models with the E3 Language
abstract
Software processes are complex entities that demand careful understand ing and improvement as they determine the quality of the resulting product. A necessary step toward the improvement of an organization's process is a clear description of the entities involved and of their mutual relationships. Process modelelicitationaims at constructing this description under the shape of a software process model. The model is constructed by gathering, from several sources, process information which is often incomplete, inconsistent, and ambiguous. A process modeling language can be used to represent the model being elicited. However, elicitation requires process models to be understandable and well structured. These requirements are often not satisfied by available process modeling languages becuase of their bias toward process enaction rather than process description. This article presents a process modeling language and a support tool which are conceived especially for process model elicitation. TheE3language is an object-oriented modeling language with a graphical notation. InE3, associations are a means to express constraints and facilitate reuse. TheE3p-draw tool supports the creation and management ofE3models and provides a view mechanism that enables inspection of models according to different perspectives.
Letizia Jaccheri, Gian Pietro Picco, Patricia Lago
ACM Trans. Softw. Eng. Methodol.3
1997 Applying Software Process Modeling and Improvement in Academic Setting
abstract
This work concerns the software process of a software engineering course project work. The quality manual contains a general process model, written in a formal software process modeling language that describes activities, tools, products, responsibilities, and measures. The quality manual serves as a basis for obtaining project specific plans, and for communicating the process to students, colleagues, and customers. The formal process model is the basis for analyzing and improving the process over the years, thus improving the quality of the provided education. The analysis of a given project run has revealed some problems and errors in the original model. This list of problems has been used as an action list to design a new process model. The new model will be exploited for the next years project runs.
Letizia Jaccheri, Patricia Lago
CSEE&T2