Ivano Malavolta
VU University Amsterdam
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Ivano Malavolta.
international conference on software engineering | 2010
Davide Di Ruscio; Ivano Malavolta; Henry Muccini; Patrizio Pelliccione; Alfonso Pierantonio
Despite the flourishing of languages to describe software architectures, existing Architecture Description Languages (ADLs) are still far away from what it is actually needed. In fact, while they support a traditional perception of a Software Architecture (SA) as a set of constituting elements (such as components, connectors and interfaces), they mostly fail to capture multiple stakeholders concerns and their design decisions that represent a broader view of SA being accepted today. Next generation ADLs must cope with various and ever evolving stakeholder concerns by employing semantic extension mechanisms. In this paper we present a framework, called byADL - Build Your ADL, for developing a new generation of ADLs. byADL exploits model-driven techniques that provide the needed technologies to allow a software architect, starting from existing ADLs, to define its own new generation ADL by: i) adding domain specificities, new architectural views, or analysis aspects, ii) integrating ADLs with development processes and methodologies, and iii) customizing ADLs by fine tuning them. The framework is put in practice in different scenarios showing the incremental extension and customization of the Darwin ADL.
The Journal of Object Technology | 2012
Ludovico Iovino; Alfonso Pierantonio; Ivano Malavolta
Harnessing metamodels to engineer application domains is at the core of Model-Driven Engineering. A large number of artifacts pursuing a common scope are defined starting from metamodels which represent the nucleus of an ecosystem. Analogously to any software artifact, metamodels are equally prone to evolution. However, changing a metamodel might affect the components of the ecosystem. In fact, when a metamodel undergoes modifications, the related artifacts might require to be consistently adapted in order to recovery their validity. This is an intrinsically difficult process. It requires different techniques for each specific kind of artifact and can easily lead to inconsistencies and irremediable information erosion, if based on spontaneous and individual skills. This paper discusses the problem of identifying, predicting and evaluating the significance of the metamodel change impact over the existing artifacts. The approach is agnostic of the adaptation technique and formalizes the whole ecosystem and the relatedness of the involved artifacts in terms of megamodels. This allows developers i) to establish relationships between the metamodel and its related artifacts, and ii) to automatically identify those elements within the various artifacts affected by the metamodel changes. The approach can be considered as preparatory to any systematic adaptation process.
Software and Systems Modeling | 2012
Romina Eramo; Ivano Malavolta; Henry Muccini; Patrizio Pelliccione; Alfonso Pierantonio
As it is widely recognized, a universal notation accepted by any software architect cannot exist. This caused a proliferation of architecture description languages (ADLs) each focussing on a specific application domain, analysis type, or modelling environment, and with its own specific notations and tools. Therefore, the production of a software architecture description often requires the use of multiple ADLs, each satisfying some stakeholder’s concerns. When dealing with multiple notations, suitable techniques are required in order to keep models in a consistent state. Several solutions have been proposed so far but they lack in convergence and scalability. In this paper, we propose a convergent change propagation approach between multiple architectural languages. The approach is generic since it depends neither on the notations to synchronize nor on their corresponding models. It is implemented within the Eclipse modelling framework and we demonstrate its usability and scalability by experimenting it on well known architectural languages.
2017 IEEE International Conference on Software Architecture (ICSA) | 2017
Paolo Di Francesco; Ivano Malavolta; Patricia Lago
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.
automated software engineering | 2010
Rich Hilliard; Ivano Malavolta; Henry Muccini; Patrizio Pelliccione
Most practising software architects operate within an architecture framework which is a coordinated set of viewpoints, models and notations prescribed for them. Whereas architecture frameworks are defined to varying degrees of rigour and offer varying levels of tool support, they tend to be closed: constituent elements are defined in different non-standard ways, they are not re-usable, and the creation of other frameworks requires a complete rework. With the aim to manage this issue, this paper presents MEGAF, an infrastructure for realizing architecture frameworks, which can be used to create architecture descriptions. It builds upon the conceptual foundations of ISO/IEC 42010 for architecture description. MEGAF is realized through megamodeling techniques and is implemented via Eclipse plugins.
working ieee/ifip conference on software architecture | 2012
Rich Hilliard; Ivano Malavolta; Henry Muccini; Patrizio Pelliccione
A central aspect of architecting is architecture description. Architecture descriptions take many forms and serve many purposes throughout the life cycle of development, operation and maintenance activities. The use of multiple views -- diverse representations for distinct audiences and uses -- has been a major tenet of architecture description since the earliest work in software architecture. This tenet has been codified in various ways. Most practising software architects must operate within the confines of a prescribed architecture framework (AF) or architecture description language (ADL) as dictated by their organization or client. Current AFs and ADLs are defined with varying degrees of rigour and offer varying levels of tool support, furthermore, these resources are often closed, making it difficult for the architect to tailor a representational solution to the specific challenges of the project at hand. In this paper we propose an automated infrastructure to support the architecture description-related activities of the architect. This infrastructure facilitates customization, composition and reuse of the architects representational resources (AFs, ADLs and their constituents) to meet project-, domain- and organization-specific needs. The proposed approach builds upon the conceptual foundations of ISO/IEC/IEEE 42010 for architecture description. The approach has been evaluated in the context of a complex, real-world, public transportation system.
IEEE Software | 2015
Patricia Lago; Ivano Malavolta; Henry Muccini; Patrizio Pelliccione; Antony Tang
Despite the huge number of architectural languages that have been proposed in the last two decades, evidence today shows that industry-ready, well-accepted, and recognized languages for producing architecture descriptions are still lacking. This article explores the usability requirements of architectural languages from the perspectives of language definition, language mechanisms, and tool support. With a better understanding of architectural-language requirements, the authors explore the use of model-driven engineering to realize next-generation architectural languages, as well as its limitations.
Proceedings of the 1st International Conference on Mobile Software Engineering and Systems | 2014
Mirco Franzago; Henry Muccini; Ivano Malavolta
Guidelines and best practices on how to design and develop mobile applications are being periodically released by mobile OS vendors, mobile developers, and researchers. Still, a framework that collects and integrates them in a simple, holistic, and automated approach is missing. This work proposes a modelling framework supporting the collaborative design and development of data-intensive mobile applications. By using Model-Driven Engineering techniques, we define four modelling languages covering the main concerns coming from the mobile app development domain; the framework supports the analysis of models and the automated synthesis of executable mobile applications for multiple platforms. This paper provides an overall view of the modelling framework, and highlights its main features for both technical and non-technical stakeholders.
fundamental approaches to software engineering | 2012
Davide Di Ruscio; Ivano Malavolta; Henry Muccini; Patrizio Pelliccione; Alfonso Pierantonio
The current practice of software architecture modeling and analysis would benefit of using different architectural languages, each specialized on a particular view and each enabling specific analysis. Thus, it is fundamental to pursue architectural language interoperability. An approach for enabling interoperability consists in defining a transformation from each single notation to a pivot language, and vice versa. When the pivot assumes the form of a small and abstract kernel, extension mechanisms are required to compensate the loss of information. The aim of this paper is to enhance architectural languages interoperability by means of hierarchies of pivot languages obtained by systematically extending a root pivot language. Model-driven techniques are employed to support the creation and the management of such hierarchies and to realize the interoperability by means of model transformations. Even though the approach is applied to the software architecture domain, it is completely general.
european conference on software architecture | 2015
Ivano Malavolta; Henry Muccini; Mohammad Sharaf
Cyber-physical systems (CPSs) are deemed as the key enablers of next generation applications. Needless to say, the design, verification and validation of cyber-physical systems reaches unprecedented levels of complexity, specially due to their sensibility to safety issues. Under this perspective, leveraging architectural descriptions to reason on a CPS seems to be the obvious way to manage its inherent complexity. A body of knowledge on architecting CPSs has been proposed in the past years. Still, the trends of research on architecting CPS is unclear. In order to shade some light on the state-of-the art in architecting CPS, this paper presents a preliminary study on the challenges, goals, and solutions reported so far in architecting CPSs.