Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by José Paiva Proença

2015

Tomography: lowering management overhead for distributed component-based applications

Authors
Daniels, W; Proença, J; Matthys, N; Joosen, W; Hughes, D;

Publication
Proceedings of the 2nd Workshop on Middleware for Context-Aware Applications in the IoT, M4IoT@Middleware 2015, Vancouver, BC, Canada, December 7-11, 2015

Abstract
This paper introduces the concept of tomography, a mechanism to lower management overhead for component-based IoT applications. Previous research has shown the advantages of component-based software engineering, wherein applications are built and reconfigured at runtime through the composition of components. While this approach promotes code-reuse and dynamic reconfiguration, the introspection and reconfiguration of distributed applications is cumbersome and inefficient. Tomography addresses this problem by reimagining the visitor design pattern for distributed component based compositions. We evaluate the performance of this approach in a case-study of discovering/introspecting and reconfiguring a real-world IoT application. We show that in comparison to classic management operations, tomography reduces both the number of explicit queries and the volume of network messages. This significantly reduces management effort and energy consumption. © 2015 ACM.

2017

Typed connector families and their semantics

Authors
Proença, J; Clarke, D;

Publication
Sci. Comput. Program.

Abstract
Typed models of connector/component composition specify interfaces describing ports of components and connectors. Typing ensures that these ports are plugged together appropriately, so that data can flow out of each output port and into an input port. These interfaces typically consider the direction of data flow and the type of values flowing. Components, connectors, and systems are often parameterised in such a way that the parameters affect the interfaces. Typing such connector families is challenging. This paper takes a first step towards addressing this problem by presenting a calculus of connector families with integer and boolean parameters. The calculus is based on monoidal categories, with a dependent type system that describes the parameterised interfaces of these connectors. We use families of Reo connectors as running examples, and show how this calculus can be applied to Petri Nets and to BIP systems. The paper focuses on the structure of connectors—well-connectedness—and less on their behaviour, making it easily applicable to a wide range of coordination and component-based models. A type-checking algorithm based on constraints is used to analyse connector families, supported by a proof-of-concept implementation. © 2017 Elsevier B.V.

2015

Proceedings 13th International Workshop on Foundations of Coordination Languages and Self-Adaptive Systems

Authors
Cámara, J; Proença, J;

Publication
Electron. Proc. Theor. Comput. Sci. - Electronic Proceedings in Theoretical Computer Science - EPTCS

Abstract

2016

Preface

Authors
Lafuente, AL; Proença, J;

Publication
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

Abstract

2016

Feature Nets: behavioural modelling of software product lines

Authors
Muschevici, R; Proenca, J; Clarke, D;

Publication
SOFTWARE AND SYSTEMS MODELING

Abstract
Software product lines (SPLs) are diverse systems that are developed using a dual engineering process: (a) family engineering defines the commonality and variability among all members of the SPL, and (b) application engineering derives specific products based on the common foundation combined with a variable selection of features. The number of derivable products in an SPL can thus be exponential in the number of features. This inherent complexity poses two main challenges when it comes to modelling: firstly, the formalism used for modelling SPLs needs to be modular and scalable. Secondly, it should ensure that all products behave correctly by providing the ability to analyse and verify complex models efficiently. In this paper, we propose to integrate an established modelling formalism (Petri nets) with the domain of software product line engineering. To this end, we extend Petri nets to Feature Nets. While Petri nets provide a framework for formally modelling and verifying single software systems, Feature Nets offer the same sort of benefits for software product lines. We show how SPLs can be modelled in an incremental, modular fashion using Feature Nets, provide a Feature Nets variant that supports modelling dynamic SPLs, and propose an analysis method for SPL modelled as Feature Nets. By facilitating the construction of a single model that includes the various behaviours exhibited by the products in an SPL, we make a significant step towards efficient and practical quality assurance methods for software product lines.

2016

Coordination Models and Languages

Authors
Lluch Lafuente, A; Proença, J;

Publication
Lecture Notes in Computer Science

Abstract

  • 2
  • 12