Publications

Muschevici R, Clarke D, Proença J.  2013.  Executable modelling of dynamic software product lines in the ABS language. 5th International Workshop on Feature-Oriented Software Development - FOSD. :17–24. Abstractfosd2013.pdf

Dynamic software product lines (DSPLs) combine the advantages of traditional SPLs, such as an explicit variability model connected to an integrated repository of reusable code artefacts, with the ability to exploit a system's variability at runtime. When a system needs to adapt, for example to changes in operational environment or functional requirements, DSPL systems are capable of adapting their behaviour dynamically, thus avoiding the need to halt, recompile and redeploy. The eld of DSPL engineering is still in formation and general-purpose DSPL development languages and tools are rare. In this paper we introduce a language and execution environment for developing and running dynamic SPLs. Our work builds on ABS, a language and integrated development environment with dedicated support for implementing static software product lines. Our ABS extension advances the scope of ABS to dynamic SPL engineering. Systems developed using ABS are compiled to Java, and are thus executable on a wide range of platforms.

Proença J, Clarke D.  2013.  Data Abstraction in Coordination Constraints. Advances in Service-Oriented and Cloud Computing - Workshops - ESOCC . :159–173. Abstractdata-abstraction.pdf

This paper studies complex coordination mechanisms based on constraint satisfaction. In particular, it focuses on data-sensitive connectors from the Reo coordination language. These connectors restrict how and where data can flow between loosely-coupled components taking into account the data being exchanged. Existing engines for Reo provide a very limited support for data-sensitive connectors, even though data constraints are captured by the original semantic models for Reo. When executing data-sensitive connectors, coordination constraints are not exhaustively solved at compile time but at runtime on a per-need basis, powered by an existing SMT (satisfiability modulo theories) solver.To deal with a wider range of data types and operations, we abstract data and reduce the original constraint satisfaction problem to a SAT problem, based on a variation of predicate abstraction. We show soundness and completeness of the abstraction mechanism for well-defined constraints, and validate our approach by evaluating the performance of a prototype implementation with different test cases, with and without abstraction.

Silva A, Westerbaan B.  2013.  A coalgebraic view of e- transitions. CALCO - 5th Conference on Algebra and Coalgebra in Computer Science. 8089 Abstractmain.pdf

In automata theory, a machine transitions from one state to the next when it reads an input symbol. It is common to also allow an automaton to transition without input, via an ε-transition. These ε-transitions are convenient, e.g., when one defines the composition of automata. However, they are not necessary, and can be eliminated. Such ε-elimination procedures have been studied separately for different types of automata, including non-deterministic and weighted automata.
It has been noted by Hasuo that it is possible to give a coalgebraic account of ε-elimination for some automata using trace semantics (as defined by Hasuo, Jacobs and Sokolova).
In this paper, we give a detailed description of the ε-elimination procedure via trace semantics (missing in the literature). We apply this framework to several types of automata, and explore its boundary.
In particular, we show that is possible (by careful choice of a monad) to define an ε-removal procedure for all weighted automata over the positive reals (and certain other semirings). Our definition extends the recent proposals by Sakarovitch and Lombardy for these semirings.

Silva A, Pous D, Caltais G, Bonchi F.  2013.  Brzozowski's and up to algorithms for must testing. APLAS - 11th Asian Symposium on Programming Languages and Systems. 8301 Abstractaplas13bcps.pdf

Checking language equivalence (or inclusion) of nite automata is a classical problem in Computer Science, which has recently received a renewed interest and found novel and more e ective solutions, such as approaches based on antichains or bisimulations up-to. Several notions of equivalence (or preorder) have been proposed for the analysis of concurrent systems. Usually, the problem of checking these equivalences is reduced to checking bisimilarity. In this paper, we take a di ferent approach and propose to adapt algorithms for language equivalence to check one prime equivalence in concurrency theory, must testing semantics. To achieve this transfer of technology from language to must semantics, we take a coalgebraic outlook at the problem.

Pereira MJV, Oliveira N, da Cruz D, Henriques PR.  2013.  Choosing Grammars to Support Language Processing Courses. 2nd Symposium on Languages, Applications and Technologies. 29:155–168.
Boas IV, Oliveira N, Henriques PR, da Cruz D.  2013.  Agile development for education effectiveness improvement. Proceedings of the XV international symposium on computers in education (SIIE'2013). :299–304.
Silva CC.  2013.  Audiovisual perception in a virtual world: an application of human-computer interaction evaluation to the development of immersive environments. EICS '13 Proceedings of the 5th ACM SIGCHI symposium on Engineering interactive computing systems Abstractp175-silva.pdf

Understanding the mechanisms underlying audiovisual perception is crucial for the development of interactive audiovisual immersive environments. Some human perceptual mechanisms pose challenging problems that can now be better explored with the latest technology in computer-generated environments. Our main goal is to develop an interactive audiovisual immersive system that provides to its users a highly immersive and perceptually coherent interactive environment. In order to do this, we will perform user studies to get a better knowledge of the rules guiding audiovisual perception. This will allow improvements in the simulation of realistic virtual environments through the use of predictive human cognition models as guides for the development of an audiovisual interactive immersive system. This system will encompass the integration of two Virtual Reality systems: a Cave Automatic Virtual Environment-like (CAVE-like) system and a room acoustic modeling and auralization system. The interactivity between user and the audiovisual virtual world will be enabled by the using of a Motion Capture system as a user position tracker.

Cledou MG, Fernandes S, Estevez E.  2013.  WeLEaD: Collaborative Toolkit for Learning, Engaging and Deciding. Proceedings of the 7th International Conference on Theory and Practice of Electronic Governance. :378–379. Abstracticegov13.pdf

Open Government is a new trend in public governance, based on the principles of transparency, collaboration and participation, currently being adopted by many countries around the world including 63 members of the Open Government Partnership. Operationalizing such principles requires developing certain capabilities among citizens and relevant government actors. For example, participation requires citizens to be informed and engaged, and achieving this requires government to build capabilities in using appropriate tools for informing and engaging. This poster paper outlines a research work in progress for developing an e-Participation toolkit called WeLEaD - Collaborative Toolkit for Learning, Engaging and Deciding. The toolkit will comprise an integrated set of advanced e-participation tools, based on the peer-production approach to collaborative teaching and learning: 1) to help citizens learn from each other about relevant issues on the public policy agenda; 2) to engage policy-makers, government executives, citizens and other non- state actors in informed discussions on how to advance this agenda; and 3) to reflect the outcomes of such discussions, including citizen views and opinions, in government's policy- making processes. The toolkit will also include technical and organizational guidelines for conducting e-Participation initiatives, including the use of such tools.

Silva CC, Santos J.  2013.  The social acceptability of intelligent transportation systems. American Society of Civil Engineers, ICTIS 2013 Abstractsilvasantos_ictispaper00149.pdf

Understanding how users will respond to new in-vehicle technologies can be a crucial factor in the success of future Intelligent Transportation Systems (ITS) implementations. This study's main goal was to evaluate the social acceptability of different ITS that varied in the control and monitoring levels over vehicle parameters and driver's performance and to describe the most common socio-psychological factors that influence ITS acceptability. We developed a novel ITS acceptability measure, composed by a 51-item questionnaire. The participants had generally high levels of acceptability, independently of the ITS control level over driver's performance. However ITS that exerted more control were regarded as more efficient. We also found gender differences, especially in a "Personal and Social Aims" dimension. Age is positively correlated with participants score on the acceptability index, while education level is showing an opposite tendency. Finally, and critical to ITS development, controlling the car velocity is evaluated as the least preferable ITS feature.

Lima R.  2013.  Expanded Social Circles - Efficient query on social graphs. MSKE2013 – Managing Services in the Knowledge Economy. Abstractmske2013_rml_pub.pdf

Social graphs can be used to express personal relationships between internet users. Query the entire network is a very expensive task and here is no interest to continue a query when a successfully answer is already known. This paper proposes a searching mechanism to query nodes in several social graphs topologies. Active users are continuously expanding the social network, resulting in frequent changes on the social graph topology. The results show that expanded social circles are an efficient query mechanism and resilient to distinct social graph models.

Batory D, Gonçalves RC, Marker B, Siegmund J.  2013.  Dark Knowledge and Graph Grammars in Automated Software Design. SLE '13: Proceeding of the 6th International Conference on Software Language Engineering. Abstract

Mechanizing the development of hard-to-write and costly-to-maintain software is the core problem of automated software design. Encoding expert knowledge (a.k.a. dark knowledge) about a software domain is central to its solution. We assert that a solution can be cast in terms of the ideas of language design and engineering. Graph grammars can be a foundation for modern automated software development. The sentences of a grammar are designs of complex dataflow systems. We explain how graph grammars provide a framework to encode expert knowledge, produce correct-by-construction derivations of dataflow applications, enable the generation of high-performance code, and improve how software design of dataflow applications can be taught to undergraduates.

Harrison M, Masci P, Campos JC, Curzon P.  2013.  Automated theorem proving for the systematic analysis of interactive systems. Proceedings of the 5th International Workshop on Formal Methods for Interactive Systems. Abstractharrisonmcc.pdf

This paper describes the use of an automated theorem prover to analyse properties of interactive behaviour. It offers an alternative to model checking for the analysis of interactive systems. There are situations, for example when demonstrating safety, in which alternative complementary analyses provide assurance to the regulator. The rigour and detail offered by theorem proving makes it possible to explore features of the design of the interactive system, as modelled, beyond those that would be revealed using model checking. Theorem proving can also speed up proof in some circumstances. The paper illustrates how a theory generated as a basis for theorem proving (using PVS) was developed systematically from a MAL model used to model check the same properties. It also shows how the CTL properties used to check the original model can be translated into theorems.

Masci P, Ayoub A, Curzon P, Harrison M, Lee I, Sokolsky O, Thimbleby H.  2013.  Verification of interactive software for medical devices: PCA infusion pumps and FDA regulation as an example. Proceedings ACM Symposium Engineering Interactive Systems - EICS. :81-90. Abstractmascietal.pdf

Medical device regulators such as the US Food and Drug Administration (FDA) aim to make sure that medical devices are reasonably safe before entering the market. To expedite the approval process and make it more uniform and rigorous, regulators are considering the development of reference models that encapsulate safety requirements against which software incorporated into medical devices must be verified. Safety, insofar as it relates to interactive systems and its regulation, is generally a neglected topic, particularly in the context of medical systems.

An example is presented that illustrates how the interactive behaviour of a commercial Patient Controlled Analgesia (PCA) infusion pump can be verified against a reference model. Infusion pumps are medical devices used in healthcare to deliver drugs to patients, and PCA pumps are particular infusion pump devices that are often used to provide pain relief to patients on demand. The reference model encapsulates the Generic PCA safety requirements provided by the FDA, and the verification is performed using a refinement approach.

The contribution of this work is that it demonstrates a concise and semantically unambiguous approach to representing what a regulator’s requirements for a particular interactive device might be, in this case focusing on user-interface requirements. It provides an inspectable and repeatable process for demonstrating that the requirements are satisfied. It has the potential to replace the considerable documentation produced at the moment by a succinct document that can be subjected to careful and systematic analysis.

Oladimeji P, Masci P, Curzon P, Thimbleby H.  2013.  PVSio-web: a tool for rapid prototyping device user interfaces in PVS. FMIS2013, 5th International Workshop on Formal Methods for Interactive Systems, London, UK, June 24, 2013. 69 Abstractfmis2013.pdf

We present PVSio-web which extends the simulation component of the PVS proof system with functionalities for rapid prototyping device user interfaces. The tool presents itself as a classic image-editing environment with functionalities such as area selection and hyperlink creation, thus reducing the barriers that prevent non-experts in formal methods from using PVS. Designers load a picture of the layout of the device user interface under development, specify interactive areas over the layout, and link them to a PVS specification. They can then explore the behaviour of the formal user interface specification through point-and-click interactions. The architecture of the tool is general, and can be used as the basis for extending other verification tools. A demonstration of the capabilities of PVSio-web is presented through an example based on a commercial medical device user interface. Our ultimate aim is to promote and facilitate the use of formal verification tools when developing device user interfaces.

Ruksenas R, Masci P, Harrison M, Curzon P.  2013.  Developing and Verifying User Interface Requirements for Infusion Pumps: A Refinement Approach. FMIS2013, 5th International Workshop on Formal Methods for Interactive Systems, London, UK, June 24, 2013. 69 Abstract964-2899-1-pb.pdf

It is common practice in the description of criteria for the acceptable safety of systems for the regulator to describe safety requirements that should be satisfied by the system. These requirements are typically described precisely but in natural language and it is often unclear how the regulator can be assured that the given requirements are satisfied. This paper is concerned with a rigorous refinement process that demonstrates that a precise requirement is satisfied by the specification of a given device. It focuses on a particular class of requirements that relate to the user interface of the device. For user interface requirements, refinement is made more complex by the fact that systems can use different interaction devices that have very different characteristics. The described refinement process recognises an input/output hierarchy.