Vincenzo Ambriola
University of Pisa
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Vincenzo Ambriola.
ACM Transactions on Software Engineering and Methodology | 1997
Vincenzo Ambriola; Reidar Conradi; Alfonso Fuggetta
Process-centered software engineering environments (PSEEs) are the most recent generation of environments supporting software development activities. They exploit an representation of the process (called the process model that specifies how to carry out software development activities, the roles and tasks of software developers, and how to use and control software development tools. A process model is therefore a vehicle to better understand and communicate the process. If it is expressed in a formal notation, it can be used to support a variety of activities such as process analysis, process simulation, and process enactment. PSEEs provide automatic support for these activities. They exploit languages based on different paradigms, such as Petri nets and rule-based systems. They include facilities to edit and analyze process models. By enacting the process model, a PSEE provides a variety of services, such as assistance for software developers, automation of routine tasks, invocation and control of software development tools, and enforcement of mandatory rules and practices. Several PSEEs have been developed, both as research projects and as commercial products. The initial deployment and exploitation of this technology have made it possible to produce a significant amount of experiences, comments, evaluations, and feedback. We still lack, however, consistent and comprehensive assessment methods that can be used to collect and organize this information. This article aims at contributing to the definition of such methods, by providing a systematic comparison grid and by accomplishing an initial evaluation of the state of the art in the field. This evaluation takes into account the systems that have been developed by the authors in the past five years, as well as the main characteristics of other well-known environments
automated software engineering | 1997
Vincenzo Ambriola; Vincenzo Gervasi
The importance of requirements, which in practice often means natural language requirements, for a successful software project cannot be underestimated. Although requirement analysis has been traditionally reserved to the experience of professionals, there is no reason not to use various automatic techniques to the same end. In this paper we present Circe, a Web-based environment for aiding in natural language requirements gathering, elicitation, selection, and validation and the tools it integrates. These tools have been used in several experiments both in academic and in industrial environments. Among other features, Circe can extract abstractions from natural language texts, build various models of the system described by the requirements, check the validity of such models, and produce functional metric reports. The environment can be easily extended to enhance its natural language recognition power or to add new models and views on them.
automated software engineering | 2006
Vincenzo Ambriola; Vincenzo Gervasi
This paper presents Circe, an environment for the analysis of natural language requirements. Circe is first presented in terms of its architecture, based on a transformational paradigm. Details are then given for the various transformation steps, including (i) a novel technique for parsing natural language requirements, and (ii) an expert system based on modular agents, embodying intensional knowledge about software systems in general. The result of all the transformations is a set of models for the requirements document, for the system described by the requirements, and for the requirements writing process. These models can be inspected, measured, and validated against a given set of criteria.Some of the features of the environment are shown by means of an example. Various stages of requirements analysis are covered, from initial sketches to pseudo-code and UML models.
ACM Sigsoft Software Engineering Notes | 1990
Vincenzo Ambriola; Paolo Ciancarini; Carlo Montangero
Despite much research work in progress to model the different facets of software process enactment from different approaches, there are no models yet generally recognized as adequate, and there is need for more experimentation. We describe the Oikos environment and its coordination language ESP: they provide an infrastructure in which experiments may be performed and evaluated. Oikos predefines a number of services offering basic facilities, like access to data bases, workspaces, user interfaces etc.. Services are customizable, in a declarative way that matches naturally the way ESP defines and controls the software process. ESP allows to define services, to structure them in a dynamic hierarchy, and to coordinate them according to the blackboard paradigm. The concepts of environment and of software process and their interplay are naturally characterized in Oikos, in terms of sets of services and of the hierarchy. In the paper, an example taken from a real project (the specification of a small language and the implementation of its compiler) shows how Oikos and ESP are effective for software process enactment. As it is, ESP embeds Prolog as its sequential component, and combines it smoothly to the blackboard approach to deal with concurrency and distribution. Anyway, most of the concepts used to model and enact software processes are largely independent of logic programming.
european workshop on software process technology | 2000
Vincenzo Ambriola; Vincenzo Gervasi
In this paper we propose a class of process metrics based on the continuous monitoring of product attributes. Two such metrics are defined for the requirements analysis process, namely stability (i.e., how smoothly the process of introducing information in a requirements document flows) and efficiency (i.e., which part of the effort of the analysts is spent in reworks). These measures can be used for the timely identification of risky trends in a requirements analysis process.
IEEE Software | 1988
Roberto Bisiani; François Lecouat; Vincenzo Ambriola
An expert-system planner is presented to automate the clerical and routine activities associated with software development using present-day environments such as Unix. The three functions of such a planner-coordination of tools, integration of tools, and representation of objects-are examined. The planner is described from both the users and the designers viewpoint. The functionality provided by this planner is compared with that provided by standard environments.<<ETX>>
european workshop on software process technology | 1992
Vincenzo Ambriola; Carlo Montangero
This work describes the history, the present state, and the planned future of the Oikos Project after completing its third year of life. The final goal is to fully specify and enact real software development processes. The approach is based on three different levels: the specification level, the enactment level, and the tool integration level. In the next two years we will concentrate our efforts in two directions: the definition of mechanisms to control the evolution of the software process and the enactment of real instances of software processes.
european workshop on software process technology | 1994
Vincenzo Ambriola; Giovanni A. Cignoni; Carlo Montangero
A software development process is strictly related to the representation and the management of the involved objects. Software products, tools, and computational resources are typical objects. It is convenient to distinguish the definition of software process activities and the issues that pertain to object management. Standard services have been introduced in Oikos to provide process activities with a set of primitive functionalities for object management. These standard services present the Object Management System functionalities at an abstraction level that well matches the definition of the process activities.
IEEE Transactions on Software Engineering | 1985
Vincenzo Ambriola; Fosca Giannotti; Dino Pedreschi; Franco Turini
A class of transformations of functional programs based on symbolic execution and simplification of conditionals is presented. The operational symbolic semantics of a family of functional languages is defined exploiting a set-theoretic notion of symbolic constants. An effective transformation able to simplify a functional program via removal of conditionals is discussed. Finally, it is shown that a structural approach, based on abstract data type specifications, provides a suitable representation for symbolic constants.
european workshop on software process technology | 1994
Vincenzo Ambriola; R. di Meglio; Vincenzo Gervasi; B. Mercurio
In this paper, we describe an experiment in process management techniques and software product metrics. The starting point is the definition of a complete metric framework for process and products, on the basis of a detailed definition of the entities involved in the process, their relationships and of the documents produced. We then investigate the effects of introducing an organized process in an academic environment, as well as the relationship between process and product metrics. Our goal is to verify how such a metric framework may be used to optimize the process, in order to raise product quality.