Articolo in lingua inglese

in

Foundations for Software Evolution: The Lucretius Project

by John Mylopoulos

 

Software has penetrated all aspects of our lives, both personal and professional. Unfortunately, the costs for evolving a software system during its lifetime in response to changes in its environment and technological infrastructure have been spiraling upward, seemingly out of control. Accordingly, the greatest challenge facing the Software Industry world-wide is how to curb these costs. The main objective of the Lucretius project is to develop a theoretical foundation for concepts, tools and techniques that support and facilitate software evolution.
The Lucretius project was approved for funding by the European Research Council (ERC) in the 2010 competition. The project will fund research activities of the Athena Laboratory of the Department of Information Engineering and Computer Science (DISI), in collaboration with colleagues from Fondazione Bruno Kessler (FBK) and the Laboratory for Ontological Analysis of the CNR (CNR-LOA). Specifically, DISI participants in the project include John Mylopoulos, Paolo Giorgini, Fabio Massacci, Roberto Sebastiani, Themis Palpanas and Yannis Velegrakis, but also FBK members Anna Perini and Angelo Susi, as well as Nicola Guarino from CNR-LOA. In all, there will be more than 20 full-time participants in the project, mostly doctoral students and postdoctoral fellows.
The project is named after Titus Lucretius Carus, a Roman poet and philosopher who lived in the 1st century BC. Very little is known about his life, except for a masterpiece he authored entitled The Nature of Things (De Rerum Natura) where he lays out a theory of evolution for biological species, but also argues eloquently against superstition: "Happy is he who has discovered the causes of things and has cast beneath his feet all fears, unavoidable fate, and the din of the devouring Underworld."
A focal point for the research to be conducted within the project is the design of adaptive software systems. These are systems that can evolve automatically in response to unsatisfactory results. Evolution here means that the system monitors its environment and adapts (i.e., changes its own behavior) if its own performance is not consistent with system requirements.  This is a problem that has been addressed through a rich mathematical theory in Control Theory. The Lucretius research hopes to capitalize on some of this theoretical background.
Software evolution is often caused by new rules and regulation, such as new laws. A second thrust of the project is to study systematic, tool-supported techniques for ensuring that an existing software system complies with a new law. This research includes developing new techniques for building formal models of laws and requirements, also for ensuring their mutual consistency.
A third focal point of Lucretius is the development of new models for software requirements. Such models will be founded on new sets of concepts for modeling requirements, laws, designs and business objectives that lead to software requirements. As well, the project aims to develop new efficient algorithms for solving requirements problems.
The project will be powered by a host of international collaboration, on-going or planned, with colleagues who have complementary expertise to those of local participants. For example, there are on-going collaborations with Munindar Singh (North Carolina State University), renown for his work on multi-agent systems, Alex Borgida (Rutgers University), an expert on conceptual modeling and knowledge representation, Ivan Jureta  (Namur University), with expertise on decision theory and requirements engineering, Lin Liu (Tsinghua University), expert on formal methods and requirements engineering, and Kostas Kontogiannis (National Technical University of Athens), with expertise of software maintenance, reverse engineering and reengineering.
In short, the project is a team effort, hoping to capitalize on the expertise and contributions from a number of colleagues and research disciplines, both local and international. In the days of social media, social networking and social computing, research too has become a social activity, rather than the traditional models of research that favoured a single researcher conducting research in an Ivory Tower.