Nicolás D'Ippolito
University of Buenos Aires
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Nicolás D'Ippolito.
automated software engineering | 2008
Nicolás D'Ippolito; Dario Fischbein; Marsha Chechik; Sebastian Uchitel
Modal transition systems (MTS) are operational models that distinguish between required and proscribed behaviour of the system to be and behaviour which it is not yet known whether the system should exhibit. MTS, in contrast with traditional behaviour models, support reasoning about the intended system behaviour in the presence of incomplete knowledge. In this paper, we present MTSA a tool that supports the construction, analysis and elaboration of Modal Transition Systems (MTS).
ACM Transactions on Software Engineering and Methodology | 2013
Nicolás D'Ippolito; Víctor A. Braberman; Nir Piterman; Sebastian Uchitel
We present SGR(1), a novel synthesis technique and methodological guidelines for automatically constructing event-based behavior models. Our approach works for an expressive subset of liveness properties, distinguishes between controlled and monitored actions, and differentiates system goals from environment assumptions. We show that assumptions must be modeled carefully in order to avoid synthesizing anomalous behavior models. We characterize nonanomalous models and propose assumption compatibility, a sufficient condition, as a methodological guideline.
software engineering for adaptive and self managing systems | 2015
Antonio Filieri; Martina Maggio; Konstantinos Angelopoulos; Nicolás D'Ippolito; Ilias Gerostathopoulos; Andreas B. Hempel; Henry Hoffmann; Pooyan Jamshidi; Evangelia Kalyvianaki; Cristian Klein; Filip Krikava; Sasa Misailovic; Alessandro Vittorio Papadopoulos; Suprio Ray; Amir Molzam Sharifloo; Stepan Shevtsov; Mateusz Ujma; Thomas Vogel
The software engineering community has proposed numerous approaches for making software self-adaptive. These approaches take inspiration from machine learning and control theory, constructing software that monitors and modifies its own behavior to meet goals. Control theory, in particular, has received considerable attention as it represents a general methodology for creating adaptive systems. Control-theoretical software implementations, however, tend to be ad hoc. While such solutions often work in practice, it is difficult to understand and reason about the desired properties and behavior of the resulting adaptive software and its controller. This paper discusses a control design process for software systems which enables automatic analysis and synthesis of a controller that is guaranteed to have the desired properties and behavior. The paper documents the process and illustrates its use in an example that walks through all necessary steps for self-adaptive controller synthesis.
foundations of software engineering | 2010
Nicolás D'Ippolito; Víctor A. Braberman; Nir Piterman; Sebastian Uchitel
We present a novel technique for synthesising behaviour models that works for an expressive subset of liveness properties and conforms to the foundational requirements engineering World/Machine model, dealing explicitly with assumptions on environment behaviour and distinguishing controlled and monitored actions. This is the first technique that conforms to what is considered best practice in requirements specifications: distinguishing prescriptive and descriptive assertions. Most previous attempts at using synthesis of behavioural models were restricted to handling only safety properties. Those that did support liveness were inadequate for synthesis of operational event based models as they did not include the bespoke distinction between system goals and environment assumptions.
international conference on software engineering | 2011
Nicolás D'Ippolito; Víctor A. Braberman; Nir Piterman; Sebastian Uchitel
We revisit synthesis of live controllers for event-based operational models. We remove one aspect of an idealised problem domain by allowing to integrate failures of controller actions in the environment model. Classical treatment of failures through strong fairness leads to a very high computational complexity and may be insufficient for many interesting cases. We identify a realistic stronger fairness condition on the behaviour of failures. We show how to construct controllers satisfying liveness specifications under these fairness conditions. The resulting controllers exhibit the only possible behaviour in face of the given topology of failures: they keep retrying and never give up. We then identify some well-structure conditions on the environment. These conditions ensure that the resulting controller will be eager to satisfy its goals. Furthermore, for environments that satisfy these conditions and have an underlying probabilistic behaviour, the measure of traces that satisfy our fairness condition is 1, giving a characterisation of the kind of domains in which the approach is applicable.
international conference on software engineering | 2014
Nicolás D'Ippolito; Víctor A. Braberman; Jeff Kramer; Jeff Magee; Daniel Sykes; Sebastian Uchitel
Most approaches for adaptive systems rely on models, particularly behaviour or architecture models, which describe the system and the environment in which it operates. One of the difficulties in creating such models is uncertainty about the accuracy and completeness of the models. Engineers therefore make assumptions which may prove to be invalid at runtime. In this paper we introduce a rigorous, tiered framework for combining behaviour models, each with different associated assumptions and risks. These models are used to generate operational strategies, through techniques such controller synthesis, which are then executed concurrently at runtime. We show that our framework can be used to adapt the functional behaviour of the system: through graceful degradation when the assumptions of a higher level model are broken, and through progressive enhancement when those assumptions are satisfied or restored.
eclipse technology exchange | 2007
Nicolás D'Ippolito; Dario Fishbein; Howard Foster; Sebastian Uchitel
In this paper we detail the design and implementation of an Eclipse plug-in that supports construction, analysis and elaboration of Modal Transition Systems. The plug-in supports construction of MTS using FSP process algebra and synthetising from scenarios and FLTL safety properties. These models could be animated and model checked. The MTSA-Eclipse plug-in is publicly available at: http://lafhis.dc.uba.ar/suchitel/MTSA.html.
foundations of software engineering | 2015
Víctor A. Braberman; Nicolás D'Ippolito; Jeff Kramer; Daniel Sykes; Sebastian Uchitel
An architectural approach to self-adaptive systems involves runtime change of system configuration (i.e., the systems components, their bindings and operational parameters) and behaviour update (i.e., component orchestration). Thus, dynamic reconfiguration and discrete event control theory are at the heart of architectural adaptation. Although controlling configuration and behaviour at runtime has been discussed and applied to architectural adaptation, architectures for self-adaptive systems often compound these two aspects reducing the potential for adaptability. In this paper we propose a reference architecture that allows for coordinated yet transparent and independent adaptation of system configuration and behaviour.
international conference on software engineering | 2013
Víctor A. Braberman; Nicolás D'Ippolito; Nir Piterman; Daniel Sykes; Sebastian Ucriitel
Controller synthesis provides an automated means to produce architecture-level behaviour models that are enacted by a composition of lower-level software components, ensuring correct behaviour. Such controllers ensure that goals are satisfied for any model-consistent environment behaviour. This paper presents a tool for developing environment models, synthesising controllers efficiently, and enacting those controllers using a composition of existing third-party components. Video: www.youtube.com/watch?v=RnetgVihpV4.
Computer Science - Research and Development | 2013
Sebastian Uchitel; Dalal Alrajeh; Shoham Ben-David; Víctor A. Braberman; Marsha Chechik; Guido de Caso; Nicolás D'Ippolito; Dario Fischbein; Diego Garbervetsky; Jeff Kramer; Alessandra Russo; German E. Sibay
Behaviour model construction remains a difficult and labour intensive task which hinders the adoption of model-based methods by practitioners. We believe one reason for this is the mismatch between traditional approaches and current software development process best practices which include iterative development, adoption of use-case and scenario-based techniques and viewpoint- or stakeholder-based analysis; practices which require modelling and analysis in the presence of partial information about system behaviour.Our objective is to address the limitations of behaviour modelling and analysis by shifting the focus from traditional behaviour models and verification techniques that require full behaviour information to partial behaviour models and analysis techniques, that drive model elaboration rather than asserting adequacy. We aim to develop sound theory, techniques and tools that facilitate the construction of partial behaviour models through model synthesis, enable partial behaviour model analysis and provide feedback that prompts incremental elaboration of partial models.In this paper we present how the different research threads that we have and currently are developing help pursue this vision as part of the “Partial Behaviour Modelling—Foundations for Iterative Model Based Software Engineering” Starting Grant funded by the ERC. We cover partial behaviour modelling theory and construction, controller synthesis, automated diagnosis and refinement, and behaviour validation.