Sonia Pini
University of Genoa
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Sonia Pini.
acm symposium on applied computing | 2007
Walter Cazzola; Sonia Pini; Ahmed Ghoneim; Gunter Saake
Evolvability and adaptability are intrinsic properties of todays software applications. Unfortunately, the urgency of evolving/adapting a system often drives the developer to directly modify the application code neglecting to update its design models. Even, most of the development environments support the code refactoring without supporting the refactoring of the design information. Refactoring, evolution and in general every change to the code should be reflected into the design models, so that these models consistently represent the application and can be used as documentation in the successive maintenance steps. The code evolution should not evolve only the application code but also its design models. Unfortunately, to co-evolve the application code and its design is a hard job to be carried out automatically, since there is an evident and notorious gap between these two representations. We propose a new approach to code evolution (in particular to code refactoring) that supports the automatic co-evolution of the design models. The approach relies on a set of predefined metadata that the developer should use to annotate the application code and to highlight the refactoring performed on the code. Then, these meta-data are retrieved through reflection and used to automatically and coherently update the application design models.
acm symposium on applied computing | 2005
Walter Cazzola; Sonia Pini; Massimo Ancona
In this paper, we have briefly explored the aspect-oriented approach as a tool for supporting the software evolution. The aim of this analysis is to highlight the potentiality and the limits of the aspect-oriented development for software evolution. From our analysis follows that in general (and in particular for AspectJ) the approach to join points, pointcuts and advices definition are not enough intuitive, abstract and expressive to support all the requirements for carrying out the software evolution. We have also examined how a mechanism for specifying pointcuts and advices based on design information, in particular on the use of UML diagrams, can better support the software evolution through aspect oriented programming. Our analysis and proposal are presented through an example.
The Journal of Object Technology | 2007
Walter Cazzola; Sonia Pini
Aspect-oriented techniques are widely used to better modularize object-oriented programs by introducing crosscutting concerns in a safe and non-invasive way, i.e., aspectoriented mechanisms better address the modularization of functionality that orthogonally crosscuts the implementation of the application. Unfortunately, as noted by several researchers, most of the current aspect-oriented approaches are too coupled with the application code, and this fact hinders the concerns separability and consequently their re-usability since each aspect is strictly tailored on the base application. Moreover, the join points (i.e., locations affected by a crosscutting concerns) actually are defined at the operation level. It implies that the possible set of join points includes every operation (e.g., method invocations) that the system performs. Whereas, in many contexts we wish to define aspects that are expected to work at the statement level, i.e., by considering as a join point every point between two generic statements (i.e., lines of code). In this paper, we present our approach, called Blueprint, to overcome the abovementioned limitations of the current aspect-oriented approaches. The Blueprint consists of a new aspect-oriented programming language based on modeling the join point selection mechanism at a high-level of abstraction to decouple aspects from the application code. To this regard, we adopt a high-level pattern-based join point model, where join points are described by join point blueprints, i.e., behavioral patterns describing where the join points should be found.
model driven engineering languages and systems | 2006
Walter Cazzola; Sonia Pini
Aspect-Oriented Programming is a powerful technique to better modularize object-oriented programs by introducing crosscutting concerns in a safe and noninvasive way. Unfortunately, most of the current join point models are too coupled with the application code. This fact hinders the concerns separability and reusability since each aspect is strictly tailored on the base application. This work proposes a possible solution to this problem based on modeling the join points selection mechanism at a higher level of abstraction. In our view, the aspect designer does not need to know the inner details of the application such as a specific implementation or the used name conventions rather he exclusively needs to know the application behavior to apply his/her aspects. In the paper, we present a novel join point model with a join point selection mechanism based on a high-level program representation. This high-level view of the application decouples the aspects definition from the base program structure and syntax. The separation between aspects and base program will render the aspects more reusable and independent of the manipulated application.
international conference on automated production of cross media content for multi channel distribution | 2005
Mikhail Simonov; Luca Sammartino; Massimo Ancona; Sonia Pini; Walter Cazzola; Marco Frascio
New technologies have improved the ability of electronically storing, transferring and sharing medical data; they also create serious questions about who has access to this cross-media content and how it is protected and distributed. Our aim is to support healthcare professionals in this changing environment, by providing a set of software tools that help reducing the time and associated costs to collect the information and knowledge required, and in making the best use of it for a more informed decision making (diagnoses, therapies, protocols). An appropriate and consistent level of information security consists of protecting information both in written, spoken, electronically recorded, or printed form from accidental or malicious modification, destruction, or disclosure by applying the strictest requirements for data security and privacy and complying with ethical standards. By Doc@Hand project we experiment the distribution of computer-based patient record, natural language queries and the contained knowledge in a secured way.
european conference on object-oriented programming | 2006
Walter Cazzola; Sonia Pini; Massimo Ancona
european conference on object-oriented programming | 2005
Walter Cazzola; Sonia Pini; Massimo Ancona
european conference on object-oriented programming | 2007
Walter Cazzola; Sonia Pini
european conference on object-oriented programming | 2004
Walter Cazzola; Sonia Pini; Massimo Ancona
Aspect-Oriented Modeling | 2007
Walter Cazzola; Sonia Pini