2012
Authors
Almeida, T; Ferreira, HS; Sousa, TB;
Publication
COOPERATIVE DESIGN, VISUALIZATION, AND ENGINEERING (CDVE)
Abstract
The quantity and complexity that end-users are increasingly demanding from their applications and devices makes it impractical for a software developer to "foresee" every possible combination and explore every valid alternative. One solution is to empower end-users with tools that allows them to explore their necessities in a collaborative framework, where novices and experts can co-exist and share. We believe that such a tool could not only reduce the number of "small", specific-tailored applications, but also foster discovery and experimentation.
2012
Authors
Sousa, TB; Ferreira, HS;
Publication
2012 EIGHTH INTERNATIONAL CONFERENCE ON THE QUALITY OF INFORMATION AND COMMUNICATIONS TECHNOLOGY (QUATIC 2012)
Abstract
Programing paradigms define how to think and design while creating software. Object-Oriented and Functional paradigms are two of the most adopted for synthesizing it. Modern languages, attempting to provide higher abstractions, are increasingly supporting native multi-paradigm programming styles. The Object-functional approach still uses classes for information and high-level structure, but allows algorithms to be implemented functionally. New challenges now exist and there is a general lack of knowledge on best practices for adopting this paradigm. This research proposes the systematic usage of software patterns to capture these new recurring problems and their solutions, though not discarding the identification of new algorithms and designs. We will use Scala as a base language, and will attempt to validate our hypothesis through multiple methodologies, including quasi-experiments and case studies. We expect to provide a basis for improvement for programming languages (through pattern absorption) and for software engineering professionals.
2012
Authors
Ferreira, HS; Sousa, TB; Martins, A;
Publication
COOPERATIVE DESIGN, VISUALIZATION, AND ENGINEERING (CDVE)
Abstract
With an aging global population, Ambient Assisted Living (AAL) attempts to improve life expectancy and quality of life through the remote monitoring of various health signals using personal and home-based sensors. Possible medical conditions can be early ascertained by observable patterns over the patients' health data. However, aggregating multiple raw signals and matching against medical protocols can be computational and bandwidth intensive. Moreover, adding new protocols requires non-trivial expertise to define necessary rules. This paper describes a lightweight, scalable, and composable mechanism that captures, processes and infers possible health problems from raw data obtained from multiple sensors.
2019
Authors
Sousa, TB;
Publication
EuroPLop
Abstract
2025
Authors
Freitas, D; Degrandis, P; Sousa, TB;
Publication
ACM COMPUTING SURVEYS
Abstract
In geo-replicated distributed systems, data is redundantly stored across nodes at different geographical sites, increasing fault tolerance and ensuring low access latency by placing data closer to the end user. With data being concurrently updated across sites, replicas should converge to a consistent view of the data, which leads toward adopting fine-tuned consistency models, namely causal consistency (CC). On the one hand, CC respects the causality between operations, resulting in intuitive outcomes for end users and programmers. On the other hand, it avoids the latency penalty of stronger consistency models and bypasses their availability constraints in the presence of network partitions. Furthermore, when coupled with read-only transactions (ROTs) capable of extracting a unified view of the data, CC avoids the anomalies of weaker consistency models. ROTs, however, cause additional coordination overhead compared to non-transactional reads. This overhead is particularly unwelcome considering the prevalence of read operations in real-world applications, and hence the impact of ROTs on the overall performance of read-heavy systems. With this in mind, there has been a growing effort to optimize the latency and throughput of causally consistent ROTs and to understand how the design of existing systems impacts their performance. In light of these recent developments, the present work surveys the state-of-the-art of causally consistent distributed systems, summarizing and comparing their core characteristics and tradeoffs and examining how their design decisions impact the performance of ROTs. To this end, it first defines some key concepts and presents two impossibility results concerning the properties of ROT algorithms. It then reviews several causally consistent systems with ROT support by identifying their recurring strategies to ensure causality and summarizing each of their designs and properties, stressing their implications on the performance of ROTs. It also surveys two architectural approaches to CC, which present progress toward a standard implementation for causally consistent systems. Finally, it discusses the open challenges identified in the literature.
The access to the final selection minute is only available to applicants.
Please check the confirmation e-mail of your application to obtain the access code.