Recent Publications

Cunha A, Oliveira JN, Macedo N, Pacheco H.  2013.  Composing least-change lenses. Proceedings of the First International Workshop on Bidirectional Transformations (BX 2012). 57:19. Abstractbx13.pdf

Non-trivial bidirectional transformations (BXs) are inherently ambiguous, as there are in general many different ways to consistently translate an update from one side to the other. Existing BX languages and frameworks typically satisfy fundamental first principles which ensure acceptable and stable (well-behaved) translation. Unfortunately, these give little insight about how a particular update translation is chosen among the myriad possible. From the user perspective, such unpredictability may hinder the adoption of BX frameworks.
The problem can be remedied by imposing a “principle of least change” which, in a state-based framework, amounts to translating each update in a way such that its result is as close as possible to the original state, according to some distance measure.
Starting by formalizing such BXs focusing on the particular framework of lenses, this paper discusses whether such least-change lenses can be defined by composition, an essential construct of BX frameworks. For sequential composition, two (dual) update translation alternatives are presented: a classical deterministic one and a nondeterministic. A key ingredient of the approach is the elegant formalization of the main concepts in relation algebra, which exposes several similarities and dualities.

Madeira A, Neves R, Martins M, Barbosa LS.  2013.  When even the interface evolves. 7th IEEE Symposium on Theoretical Aspects of Software Engineering - TASE. :79-82. Abstracttase2013.pdf

This paper extends the authors' previous work on a formal approach to the specification of reconfigurable systems, introduced in [7], in which configurations are taken as local states in a suitable transition structure. The novelty is the explicit consideration that not only the realisation of a service may change from a configuration to another, but also the set of services provided and even their functionality, may themselves vary. In other words, interfaces may evolve, as well.

Sanchez A, Barbosa LS, Riesco D.  2013.  Verifying bigraphical models of architectural reconfigurations. 7th IEEE Symposium on Theoretical Aspects of Software Engineering - TASE. :135-138. Abstractsbr13-tase.pdf

ARCHERY is an architectural description language for modelling and reasoning about distributed, heterogeneous and dynamically reconfigurable systems. This paper proposes a structural semantics for ARCHERY, and a method for deriving labelled transition systems (LTS) in which states and transitions represent configurations and reconfiguration operations, respectively. Architectures are modelled by bigraphs and their dynamics by parametric reaction rules. The resulting LTSs can be regarded as Kripke frames, appropriate for verifying reconfiguration constraints over architectural patterns expressed in a modal logic. The derivation method proposed here applies Leifer's approach twice, and combines the results of each application to obtain a label representing a reconfiguration operation and its actual parameters. Labels obtained in this way are minimal and yield LTSs in which bisimulation is a congruence.

Fernandes S, Cerone A, Barbosa LS.  2013.  A pilot project on non-conventional learning. Innovation and Technology in Computer Science Education Conference - ITiCSE . :346. Abstractfcb13-iticse.pdf

This poster presents a pilot project on non-conventional learning strategies based on students’ active participation in real-life FLOSS projects. The aim of the project is to validate the hypothesis that the peer-production model, which underlies most FLOSS projects, can enhance the learning-teaching process based on extensive and systematic collaborative practices.

Fernandes S, Martinho M, Barbosa LS, Cerone A.  2013.  Integrating formal and informal learning through a FLOSS-based innovative approach. Proceedings of 19th International Conference on Collaboration and Technology - CRIWG. 8224:208-214. Abstractfmbc13-criwg.pdf

It is said that due to the peculiar dynamics of FLOSS communities and their projects, effective participation in them is a privileged way to acquire the relevant skills and expertise in FLOSS development. Such is probably the reason for a number of higher education institutions to include in their curricula in Software Engineering some form of contact with the FLOSS reality. This paper explores such a perspective through an on-going case study on university students collaboration in FLOSS projects. The aim of this research is to 1) identify what should be learnt about software development through regular participation in a FLOSS project/community, and 2) assess the didactic potential of this kind of non-standard learning experiences. To this aim we resorted to a participatory research action approach and qualitative methods, namely case studies combining direct observation and interviews.

Madeira A, Martins M, Barbosa LS.  2013.  Bisimilarity and refinement for hybrid(ised) logics. Proceedings 16th International Refinement Workshop - Refine. 115:84-98. Abstract1305.6115.pdf

The complexity of modern software systems entails the need for reconfiguration mechanisms gov-
erning the dynamic evolution of their execution configurations in response to both external stimulus
or internal performance measures. Formally, such systems may be represented by transition systems
whose nodes correspond to the different configurations they may assume. Therefore, each node is en-
dowed with, for example, an algebra, or a first-order structure, to precisely characterise the semantics
of the services provided in the corresponding configuration.
Hybrid logics, which add to the modal description of transition structures the ability to refer to
specific states, offer a generic framework to approach the specification and design of this sort of
systems. Therefore, the quest for suitable notions of equivalence and refinement between models of
hybrid logic specifications becomes fundamental to any design discipline adopting this perspective.
This paper contributes to this effort from a distinctive point of view: instead of focussing on a specific
hybrid logic, the paper introduces notions of bisimilarity and refinement for hybridised logics, i.e.
standard specification logics (e.g. propositional, equational, fuzzy, etc) to which modal and hybrid
features were added in a systematic way.

Neves R, Madeira A, Martins M, Barbosa LS.  2013.  Hybridisation at work. Proceedings of 5th International Conference on Algebra and Coalgebra in Computer Science - CALCO. 8089:340-345. Abstracthybatwork.pdf

This paper presents the encoding of the hybridisation method proposed in [MMDB11,DM13] into the HETS platform.

Oliveira N, Barbosa LS.  2013.  On the reconfiguration of software connectors. Proceedings of 28th Annual ACM Symposium on Applied Computing - SAC. :1885-1892. Abstractob13-sac.pdf

Software connectors encapsulate interaction patterns between services in complex, distributed service-oriented applications. Such patterns evolve over time, in response to faults, changes in the expected QoS levels, emergent requirements or the reassessment of contextual conditions. This paper builds up on a model for connector reconfiguration to introduce notions of reconfiguration equivalence and refinement allowing for reasoning about them. This paves the way towards a (still missing) calculus of connector reconfigurations.

Neves R, Madeira A, Martins M, Barbosa LS.  2013.  Giving Alloy a family. IEEE 14th International Conference on Information Reuse and Integration - IRI. :512-519. Abstractnbmm13-iri.pdf

Lightweight formal methods ought to provide to the end user the rigorousness of mathematics, without compromising simplicity and intuitiveness. ALLOY is a powerful tool, particularly successful on this mission. Limitations on the verification side, however, are known to prevent its wider use in the development of safety or mission critical applications. A number of researchers proposed ways to connect Alloy to other tools in order to meet such challenges. This paper’s proposal, however, is not establishing a link from ALLOY to another single tool, but rather to “plunge” it into the HETS network of logics, logic translators and provers. This makes possible for Alloy specifications to “borrow” the power of several, non dedicated proof systems. Semantical foundations for this integration are discussed in detail.

Machado J, Campos JC.  2013.  Development of Dependable Controllers in the Context of Machines Design. Proceedings of International Conference of Machine Design Departments. Abstracticmd_paper

Abstract In the domain of machines' design, one of the most important issues to solve is related with the controller's design, mainly, guaranteeing that the machine will behave as expected. In order to achieve a dependable controller, some steps can be considered, such as the formalization of its specification - before being translated to the program that will be inserted in the controller device - and the respective analysis and verification. Nowadays, some formal analysis techniques, such as formal verification, are used to achieve this purpose. The dependability of a controller, however, is impacted by its execution context. This paper proposes an approach for the formal verification of the specification of mechatronic system's controllers, which considers, on the formal verification tasks, the behavior of the plant and the behavior of the Human Machine Interface of the Mechatronic system. Some conclusions are extrapolated for other systems of the same kind.

Alwen J, Barbosa MB, Farshim P, Gennaro R, Gordon D, Tessaro S, Wilson D.  2013.  On the Relationship between Functional Encryption, Obfuscation, and Fully Homomorphic Encryption. 8th International Conference on Instrumental Methods of Analysis-Modern Trends and Applications - IMA. :65-84. Abstractrfe_cir.pdf

We investigate the relationship between Functional Encryption (FE) and Fully Homomorphic Encryption (FHE), demonstrating that, under certain assumptions, a Functional Encryption scheme supporting evaluation on two ciphertexts implies Fully Homomorphic Encryption. We first introduce the notion of Randomized Functional Encryption (RFE), a generalization of Functional Encryption dealing with randomized functionalities of interest in its own right, and show how to construct an RFE from a (standard) semantically secure FE. For this we define the notion of entropically secure FE and use it as an intermediary step in the construction. Finally we show that RFEs constructed in this way can be used to construct FHE schemes thereby establishing a relation between the FHE and FE primitives. We conclude the paper by recasting the construction of RFE schemes in the context of obfuscation.

Shoker A, Bahsoun JP.  2013.  BFT Selection. Proceedings of the International Conference of Networked Systems - NETYS. 7853 AbstractPaper

This paper presents the first BFT selection model and algorithm that can be used to choose the most convenient protocol according to the BFT user (i.e., an enterprise) preferences. The selection algorithm applies some mathematical formulas to make the selection process easy and automatic. The algorithm operates in three modes: Static, Dynamic, and Heuristic. The Static mode addresses the cases where a single protocol is needed; the Dynamic mode assumes that the system conditions are quite fluctuating and thus requires runtime decisions, and the Heuristic mode uses additional heuristics to improve user choices. To the best of our knowledge, this is the first work that addresses selection in BFT.

Shoker A, Bahsoun JP, Yabandeh M.  2013.  Improving Independence of Failures in BFT. The 12th International Symposium on Network Computing and Applications - NCA. AbstractPaper

Independence of failures is a basic assumption for the correctness of BFT protocols. In literature, this subject was addressed by providing N-version like abstractions. Though this can provide a good level of obfuscation against semantic- based attacks, if the replicas know each others identities then non-semantic attacks like DoS can still compromise all replicas together. In this paper, we address the obfuscation problem in a different way by keeping replicas unaware of each other. This makes it harder for attackers to sneak from one replica to another and reduces the impact of simultaneous attacks on all replicas. For this sake, we present a new obfuscated BFT protocol, called OBFT, where the replicas remain unaware of each other by exchanging their messages through the clients. Thus, OBFT assumes honest, but possibly crash-prone clients. We show that obfuscation in our context could not be achieved without this assumption, and we give possible applications where this assumption can be accepted. We evaluated our protocol on an Emulab cluster with a wide area topology. Our experiments show that the scalability and throughput of OBFT remain comparable to existing BFT protocols despite the obfuscation overhead.

Sonia Ben Mokhtar, Gautier Berthou ADVQ, Shoker A.  2013.  RAC: a Freerider-resilient, Scalable, Anonymous Communication Protocol. Proceedings of the 33rd International Conference on Distributed Computing Systems - ICDCS. AbstractPaper

Enabling anonymous communication over the Internet is crucial. The first protocols that have been devised for anonymous communication are subject to freeriding. Recent protocols have thus been proposed to deal with this issue. However, these protocols do not scale to large systems, and some of them further assume the existence of trusted servers. In this paper, we present RAC, the first anonymous communication protocol that tolerates freeriders and that scales to large systems. Scalability comes from the fact that the complexity in terms of the number of message exchanges is independent from the number of nodes in the system. Another important aspect of RAC is that it does not rely on any trusted third party. We theoretically prove, using game theory that our protocol is a Nash equilibrium, i.e, that freeriders have no interest in deviating from the protocol. Further, we experimentally evaluate RAC using simulations. Our evaluation shows that, whatever the size of the system (up to 100.000 nodes), the nodes participating in the system observe the same throughput.

Madeira A, Martins M, Barbosa LS.  2013.  Boilerplates for reconfigurable systems: a language and its semantics. Simpósio Brasileiro de Linguagens de Programação - SBLP. 8129:75–89. Abstract1305.6115.pdf

Boilerplates are simpli ed, normative English texts, intended to capture software requirements in a controlled way. This paper proposes a pallet of boilerplates as a requirements modelling language for recon gurable systems, i.e., systems structured in di erent modes of execution among which they can dynamically commute. The language semantics is given as an hybrid logic, in an institutional setting. The mild use made of the theory of institutions, which, to a large extent, may be hidden from the working software engineer, not only provides a rigorous and generic semantics, but also paves the way to tool-supported validation.