Matteo Pradella

Learn More
The implementation of context-aware systems can be supported through the adoption of techniques at the architectural level such as middlewares or component-oriented architectures. It can also be supported by suitable constructs at the programming language level. Context-oriented programming (COP) is emerging as a novel paradigm for the implementation of(More)
Self-adapting systems are becoming widespread in emerging fields such as autonomic, mobile and ubiquitous computing. Context-oriented programming (COP) is a promising language-level solution for the implementation of context-aware, self-adaptive software. However, current COP approaches struggle to effectively manage the asynchronous nature of context(More)
We introduce bounded satisfiability checking, a verification technique that extends bounded model checking by allowing also the analysis of a <i>descriptive model</i>, consisting of temporal logic formulae, instead of the more customary <i>operational model</i>, consisting of a state transition system. We define techniques for encoding temporal logic(More)
Model checking techniques have traditionally dealt with temporal logic languages and automata interpreted over &#969;-words, i.e., infinite in the future but finite in the past. However, time with also an infinite past is a useful abstraction in specification. It allows one to ignore the complexity of system initialization in much the same way as system(More)
Dynamic software adaptability is one of the central features leveraged by autonomic computing. However, developing software that changes its behavior at run time adapting to the operational conditions is a challenging task. Several approaches have been proposed in the literature to attack this problem at different and complementary abstraction levels:(More)
In Service Oriented Architectures (SOAs) services invoked in a composition can be replaced by other services, which are possibly discovered and bound at runtime. Most of the research efforts supporting this replacement assume that the interface of the interchangeable services are the same and known at design time. Such assumption is not realistic since it(More)
Software applications are increasingly situated in a world where context changes continuously. At the same time, applications need to provide continuous service, and the service provided often needs to change in order to adapt to the new contexts. Context-aware adaptation can be greatly facilitated by using programming languages that natively support(More)
Many extensions of Propositional Linear Temporal Logic (PLTL) are proposed with the goal of verifying infinite-state systems whose formulae may include arithmetic constraints belonging to a specific constraint system [3, 6]. Among these, CLTL (Counter LTL) extends Propositional LTL with future operators (PLTL) adding subformulae with Difference Logic (DL)(More)
Context Oriented Programming (COP) allows modularization of programs according to the cross-cutting concern of contexts. Context depending features are grouped in layers which can be activated at run time by triggering the associated behavioral variations. COP extensions have been provided for different languages. However all of them enforce a thread,(More)