Recent Publications

Oliveira N, Barbosa LS.  2012.  Reconfiguration mechanisms for service coordination. 9th International Workshop on Web Services and Formal Methods - WS-FM. 7843:134-149. Abstractob12-wsfm.pdf

Models for exogenous coordination provide powerful glue-code, in the form of software connectors, to express interaction protocols between services in distributed applications. Connector reconfiguration mechanisms play, in this setting, a major role to deal with change and adaptation of interaction protocols. This paper introduces a model for connector reconfiguration, based on a collection of primitives as well as a language to specify connectors and their reconfigurations.

Fernandes S, Cerone A, Barbosa LS.  2012.  Exploiting the FLOSS paradigm in collaborative e-learning: application to e-government. 6th International Conference on Theory and Practice of Electronic Governance - ICEGOV . :475-476. Abstractfcb12-icegov.pdf

Modern societies face high demands for skilled professionals, able to successfully design, deploy and utilize complex Information Technology (IT) –enabled socio-technical systems at ever- increasing levels of reliability and security. Contrary to traditional education practices, the high-level training required to fulfill this demand should rely on the principle that the learners are themselves responsible for their learning process, that they have control over this process, and that the process aims at developing cross-disciplinary and problem-driven competences, not only at acquiring content knowledge. However, such training requires the presence of a highly interactive, problem-oriented environment for technology-supported learning (or e-learning). This poster presents a doctoral research project, which aims at designing, validating and monitoring a collaborative e-learning environment based on the principles of Free/Libre Open Source Software (FLOSS). In order to validate its outcomes, the project will rely on two real-life professional training programs: in Software Engineering for software managers and in e-Government for public managers. The poster presents the objectives, research methodology and expected results from this project.

Sanchez A, Aguiar A, Barbosa LS, Riesco D.  2012.  Analysing tactics in architectural patterns. 35th Annual IEEE Software Engineering Workshop - SEW . :32-41. Abstractsabr12-sew.pdf

This paper presents an approach to analyse the application of tactics in architectural patterns. We define and illustrate the approach using archery, a language for specifying, analysing and verifying architectural patterns. The approach consists of characterising the design principles of an architectural pattern as constraints, expressed in the language, and then, establishing a refinement relation based on their satisfaction. The application of tactics preserving refinement ensures that the original design principles, expressed themselves as constraints, still hold in the resulting architectural pattern. The paper focuses on fault-tolerance tactics, and identifies a set of requirements for a semantic framework characterising them. The application of tactics represented as model transformations is then discussed and illustrated using two case studies.

Mendes J.  2012.  Model-Driven Spreadsheets in a Multi-User Environment. Visual Languages and Human-Centric Computing (VL/HCC), 2012 IEEE Symposium on. Abstractvlhcc12gc.pdf

Spreadsheets are widely used by non-professional programmers, the so-called end-users, to perform simple calculations, but also by professional programmers in large software organizations, where spreadsheets are used to collect information from different systems, to transform data coming from one system to the format required by another, or to present data in human-friendly form.

Mendes J.  2012.  Coupled Evolution of Model-Driven Spreadsheets. 34th International Conference on Software Engineering - ICSE. Abstracticse12_acm_src.pdf

Spreadsheets are increasingly used as programming languages, in the construction of large and complex systems. The fact is that spreadsheets, being a highly flexible framework, lack important programming language features such as abstraction or encapsulation. This flexibility, however, comes with a price: spreadsheets are populated with significant amounts of errors. One of the approaches that try to overcome this problem advocates the use of model-driven spreadsheet development: a spreadsheet model is defined, from which a concrete spreadsheet is generated. Although this approach has been proved effective in other contexts, still it needs to accommodate for future evolution of both the model and its instance, so that they remain synchronized at all moments. In this paper, we propose a pair of transformation sets, one working at the model level and the other at the instance level, such that each transformation in one set is related to a transformation in the other set. With our approach, we ensure model/data compliance while allowing for model and data evolution.

Cunha A, Pinto JS, Abal I, Hurd J.  2012.  Using Term Rewriting to Solve Bit-Vector Arithmetic Problems - (Poster Presentation). Proceedings of the 15th International Conference on Theory and Applications of Satisfiability Testing - SAT. 7317:493-495. Abstract2012-sat12.pdf

Among many theories supported by SMT solvers, the theory of finite-precision bit-vector arithmetic is one of the most useful, for both hardware and software systems verification. This theory is also particularly useful for some specific domains such as cryptography, in which algorithms are naturally expressed in terms of bit-vectors. Cryptol is an example of a domain-specific language (DSL) and toolset for cryptography developed by Galois, Inc.; providing an SMT backend that relies on bit-vector decision procedures to certify the correctness of cryptographic specifications [3]. Most of these decision procedures use bit-blasting to reduce a bit-vector problem into pure propositional SAT. Unfortunately bit-blasting does not scale very well, especially in the presence of operators like multiplication or division.

Shoker A, Bahsoun JP.  2012.  Towards Byzantine Resilient Directories. The 11th International Symposium on Network Computing and Applications - NCA. AbstractPaper

Notable Byzantine Fault Tolerant protocols have been designed so far. These protocols are often evaluated on simple benchmarks, and few times on NFS systems. On the contrary, studies that addressed the behaviour of BFT on large back-ends, like Directories, are rare. We believe that studying such systems is crucial for practice community due to their popularity. In this paper, we integrate BFT with OpenLDAP Directory. We introduce the design of the integrated system, that we call BFT-LDAP. Then, we study its behaviour accompanied with some useful observations. In addition, we discuss the cost overhead of this integration. Our approach ensures that OpenLDAP legacy code remains completely intact, and that the integration with BFT is straightforward using APIs. Moreover, we convey that the additional performance cost of BFT-LDAP is negligible as compared to that of stand-alone OpenLDAP. We conducted our experiments on Emulab. The experiments indicate that the performance discrepancy of BFT-LDAP is negligible whenever different state-of-the-art BFT protocols are used. Other experiments demonstrate that a little sacrifice in throughput (less than 10%) is needed in order to leverage the resiliency of OpenLDAP against Byzantine faults (i.e., through applying BFT).

Martins M, Madeira A, Barbosa LS.  2012.  Towards a Semantics for Infinitary Equational Hybrid Logic. Advances in Modal Logic - AiML. Abstractaiml12_tiehl.pdf

This work-in-progress paper reports some introductory steps towards a theory of infinitary equational hybrid logic. This logic seems appropriate to express properties of reconfigurable agent systems that behave differently in different modes of operation. Its semantics is obtained by endowing worlds in standard Kripke frames with algebras, each of them modelling a local configuration. The paper introduces a number of preliminary results on this semantics, including a discussion of a suitable notion of bisimulation by generalizing standard invariance results to this broad setting.

Couto R, Ribeiro AN, Campos JC.  2012.  MapIt: A Model Based Pattern Recovery Tool. 8th International Workshop on Model-based Methodologies for Pervasive and Embedded Software - MOMPES. 7706 Abstractcoutorc12-mompes2012.pdf

Design patterns provide a means to reuse proven solutions during development, but also to identify good practices during analysis. These are particularly relevant in complex and critical software, such as is the case of ubiquitous and pervasive systems. Model Driven Engineering (MDE) presents a solution for this problem, with the usage of high level models. As part of an effort to develop approaches to the migration of applications to mobile contexts, this paper reports on a tool that identifies design patterns in source code. Code is transformed into both platform specific and independent models, and from these design patterns are inferred. MapIt, the tool which implements these functionalities is described.

Kozen D, Silva A.  2012.  Left-handed completeness. 13th International Conference on Relational and Algebraic Methods in Computer Science. 7560:162–178. Abstractleft.pdf

We give a new, significantly shorter proof of the completeness of the left-handed star rule of Kleene algebra. The proof reveals the rich interaction of algebra and coalgebra in the theory.

Jacobs B, Silva A, Sokolova A.  2012.  Trace Semantics via Determinization. Proceedings of the 11th International Workshop on Coalgebraic Methods in Computer Science (CMCS 2012). 7399:109–129. Abstractdeterminization.pdf

This paper takes a fresh look at the topic of trace semantics in the theory of coalgebras. The first development of coalgebraic trace semantics used final coalgebras in Kleisli categories, stemming from an initial algebra in the underlying category (see notably~\cite{HasuoJS07}). This approach requires some non-trivial assumptions, like dcpo enrichment, which do not always hold, even in cases where one can reasonably speak of traces (like for weighted automata). More recently, it has been noticed (see~\cite{SBBR10}) that trace semantics can also arise by first performing a determinization construction. In this paper, we develop a systematic approach, in which the two approaches correspond to different orders of composing a functor and a monad, and accordingly, to different distributive laws. The relevant final coalgebra that gives rise to trace semantics does not live in a Kleisli category, but more generally, in a category of Eilenberg-Moore algebras. In order to exploit its finality, we identify an extension operation, that changes the state space of a coalgebra into a free algebra, which abstractly captures determinization of automata. Notably, we show that the two different views on trace semantics are equivalent, in the examples where both approaches are applicable.

Adámek J, Bonchi F, Hülsbusch M, König B, Milius S, Silva A.  2012.  A coalgebraic perspective on minimization and determinization. Proceedings of the Fifteenth International Conference on Foundations of Software Science and Computation structures (FoSSaCS 2012). 7213:58–73. Abstractfossacs12-extended.pdf

Coalgebra offers a unified theory of state based systems, including infinite streams, labelled transition systems and deterministic automata. In this paper, we use the coalgebraic view on systems to derive, in a uniform way, abstract procedures for checking behavioural equivalence in coalgebras, which perform (a combination of) minimization and determinization. First, we show that for coalgebras in categories equipped with factorization structures, there exists an abstract procedure for equivalence checking. Then, we consider coalgebras in categories without suitable factorization structures: under certain conditions, it is possible to apply the above procedure after transforming coalgebras with reflections. This transformation can be thought of as some kind of determinization. We will apply our theory to the following examples: conditional transition systems and (non-deterministic) automata.

Bonchi F, Bonsangue M, Caltais G, Rutten J, Silva A.  2012.  Final semantics for decorated traces. Proceedings of the Twenty-eighth Conference on the Mathematical Foundations of Programming Semantics (MFPS 2012). 286:73–86. Abstractdecorated.pdf

In concurrency theory, various semantic equivalences on la- belled transition systems are based on traces enriched or decorated with some additional observations. They are generally referred to as decorated traces, and examples include ready, failure, trace and complete trace equivalence. Using the generalized powerset construction, recently introduced by a subset of the authors (FSTTCS’10), we give a coalgebraic presentation of decorated trace semantics. This yields a uniform notion of canonical, minimal representatives for the various decorated trace equivalences, in terms of final Moore automata. As a consequence, proofs of decorated trace equivalence can be given by coinduction, using different types of (Moore-) bisimulation, which is helpful for automation.

Piel É, Gonzalez-Sanchez A, Gross H-G, Van Gemund AJC, Abreu R.  2012.  Online Spectrum-based Fault Localization for Health Monitoring and Fault Recovery of Self-Adaptive Systems. ICAS - The Eighth International Conference on Autonomic and Autonomous Systems. :64–73. Abstracticas_2012_3_20_20097.pdf

An essential requirement for the operation of self-adaptive systems is information about their internal health state, i.e., the extent to which the constituent software and hardware components are still operating reliably. Accurate health information enables systems to recover automatically from (intermittent) failures in their components through selective restarting, or self-reconfiguration. This paper explores and assesses the utility of Spectrum-based Fault localisation (SFL) combined with automatic health monitoring for self-adaptive systems. Their applicability is evaluated through simulation of online diagnosis scenarios, and through implementation in an adaptive surveillance system inspired by our industrial partner. The results of the studies performed confirm that the combination of SFL with online monitoring can successfully provide health information and locate problematic components, so that adequate self-* techniques can be deployed.

Riboira A, Perez A, Abreu R.  2012.  Gzoltar: an eclipse plug-in for testing and debugging. Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering. :378–381. Abstractpaper.pdf

Testing and debugging is the most expensive, error-prone phase in the software development life cycle. Automated testing and diagnosis of software faults can drastically improve the efficiency of this phase, this way improving the overall quality of the software. In this paper we present a toolset for automatic testing and fault localization, dubbed GZoltar, which hosts techniques for (regression) test suite minimization and automatic fault diagnosis (namely, spectrum-based fault localization). The toolset provides the infrastructure to automatically instrument the source code of software programs to produce runtime data. Subsequently the data was analyzed to both minimize the test suite and return a ranked list of diagnosis candidates. The toolset is a plug-and-play plug-in for the Eclipse IDE to ease world-wide adoption.