scispace - formally typeset
Search or ask a question
Author

Alexandre Sztajnberg

Bio: Alexandre Sztajnberg is an academic researcher from Rio de Janeiro State University. The author has contributed to research in topics: Middleware & Middleware (distributed applications). The author has an hindex of 10, co-authored 44 publications receiving 247 citations. Previous affiliations of Alexandre Sztajnberg include Federal University of Rio de Janeiro.

Papers
More filters
Proceedings ArticleDOI
14 May 2016
TL;DR: An approach to dynamically integrate devices into an IoT context-aware infrastructure, which includes a well-defined architecture and a reflective description model, is presented.
Abstract: The Internet of Things will expose services enabling developers to easily explore data generated by an enormous number of devices. These devices, such as industrial sensors and actuators, and house appliances can have different interfaces, interaction protocols, and payload data semantics. Manual, ad hoc, integration of these different devices would become infeasible. This paper presents an approach to dynamically integrate devices into an IoT context-aware infrastructure, which includes a well-defined architecture and a reflective description model. This infrastructure, named ContQuest, also offers a set of middleware services for context-aware applications, which rely on the reflective data to provide adaptation capabilities. In ContQuest, a device is considered a resource and is represented by Resource Agent. Each Resource Agent is structured following an architecture that aims to ease the integration and deployment of heterogeneous devices, including design solutions to adapt devices that can have different communication protocols. The approach is demonstrated using examples: (i) a wireless sensor network and (ii) a RFID reader.

20 citations

Journal ArticleDOI
TL;DR: This paper presents a comprehensive approach to describe, deploy and adapt component-based applications having dynamic non-functional requirements, centered on high-level contracts associated to architectural descriptions, which allow the non- functional requirements to be handled separately during the system, design process.
Abstract: This paper presents a comprehensive approach to describe, deploy and adapt component-based applications having dynamic non-functional requirements. The approach is centered on high-level contracts associated to architectural descriptions, which allow the non-functional requirements to be handled separately during the system, design process. This helps to achieve separation of concerns facilitating the reuse of modules that implement the application in other systems. Besides specifying non-functional requirements, contracts are used at runtime to guide configuration adaptations required to enforce these requirements. The infrastructure required to manage the contracts follows an architectural pattern, which can be directly mapped to specific components included in a supporting reflective middleware. This allows designers to write a contract and to follow standard recipes to insert the extra code required to its enforcement in the supporting middleware.

19 citations

Journal ArticleDOI
TL;DR: A rewriting logic semantics for the software architecture description language CBabel is given, revisiting and extending previous work by some of the authors, which now includes a revision of the previous semantics and the addition of new features covering all the language.

17 citations

Book ChapterDOI
TL;DR: The approach is centered on architectural descriptions and associated high-level contracts that allow the non-functional requirements to be described separately at design time and during the running time are used to guide architecture customizations required to enforce these requirements.
Abstract: This paper presents an approach to describe, deploy and manage component-based applications having dynamic functional and non-functional requirements. The approach is centered on architectural descriptions and associated high-level contracts. The latter allow the non-functional requirements to be described separately at design time, and during the running time are used to guide architecture customizations required to enforce these requirements. This helps to achieve separation of concerns, facilitating the reuse of modules that implement the application in other systems. The infrastructure required to manage the contracts follows an architectural pattern, which can be directly mapped to specific components included in a supporting reflective middleware. This feature allows designers to write a contract and to follow a standard recipe to insert the extra code required to its enforcement in the supporting middleware.

15 citations

Journal ArticleDOI
TL;DR: An architecture that includes two essential services to compose the supporting infrastructure required by context-aware applications: a Context Service, that provides access to context information, and a Discovery Service.
Abstract: We present an architecture that includes two essential services to compose the supporting infrastructure required by context-aware applications: a Context Service, that provides access to context information, and a Discovery Service. A reference implementation, based on Web Services technology, was used to develop a remote assisted living application, which relies on ambient sensors, placed in each room, to capture context information and on a combo medical appliance to perform blood pressure measurements on the patient, according to a care plan prescribed by a doctor. The collected set of context data may be transmitted to a monitoring centre and also interpreted locally using medical knowledge; the identification of a patient's abnormal condition can activate local actions or send an emergency message to a monitoring centre. This infrastructure can help a doctor to monitor and assist the patient while he or she is performing daily activities and may also help improving the patient's treatment compliance and quality of life.

15 citations


Cited by
More filters
01 Jan 1990
TL;DR: An overview of the self-organizing map algorithm, on which the papers in this issue are based, is presented in this article, where the authors present an overview of their work.
Abstract: An overview of the self-organizing map algorithm, on which the papers in this issue are based, is presented in this article.

2,933 citations

Proceedings ArticleDOI
18 May 2009
TL;DR: This paper makes Znn.com and the associated evaluation tools available to the community so that other researchers can use it to evaluate their own systems and the community can compare different systems.
Abstract: Rainbow is a framework for engineering a system with run-time, self-adaptive capabilities to monitor, detect, decide, and act on opportunities for system improvement. We applied Rainbow to a system, Znn.com, and evaluated its effectiveness to self-adapt on three levels: its effectiveness to maintain quality attribute in the face of changing conditions, run-time overheads of adaptation, and the engineering effort to use it to add self-adaptive capabilities to Znn.com. We make Znn.com and the associated evaluation tools available to the community so that other researchers can use it to evaluate their own systems and the community can compare different systems. In this paper, we report on our evaluation experience, reflect on some principles for benchmarking self-adaptive systems, and discuss the suitability of our evaluation tools for this purpose.

139 citations

01 Jan 2008
TL;DR: Software engineers are provided the ability to add and evolve self-adaptation capabilities cost-effectively, for a wide range of software systems, and for multiple objectives, by defining a self- adaptation framework that factors out common adaptation mechanisms and provides explicit customization points to tailor self- Adaptation capabilities for particular classes of systems, for multiple quality-of-service objectives.
Abstract: Modern, complex software systems (e-commerce, IT, critical infrastructures, etc.) are increasingly required to continue operation in the face of change, to self-adapt to accommodate shifting user priorities, resource variability, changing environments, and component failures. While manual oversight benefits from global problem contexts and flexible policies, human operators are costly and prone to error. Low-level, embedded mechanisms (exceptions, time-outs, etc.) are effective and timely for error recovery, but are local in scope to the point-of-failure, application-specific, and costly to modify when adaptation objectives change. An ideal solution leverages domain expertise, provides an end-to-end system perspective, adapts the system in a timely manner, and can be engineered cost-effectively. Architecture-based self-adaptation closes the “loop of control,” using external mechanisms and the architecture model of the target system to adapt the system. An architecture model exposes important system properties and constraints, provides end-to-end problem contexts, and allows principled and automated adaptations. Existing architecture-based approaches specialize support for particular classes of systems and fixed sets of quality-of-service concerns; they are costly to develop for new systems and to evolve for new qualities. To overcome these limitations, we posit this thesis: We can provide software engineers the ability to add and evolve self-adaptation capabilities cost-effectively, for a wide range of software systems, and for multiple objectives, by defining a self-adaptation framework that factors out common adaptation mechanisms and provides explicit customization points to tailor self-adaptation capabilities for particular classes of systems, for multiple quality-of-service objectives. Our approach, embodied in a system called Rainbow, provides an engineering approach and a framework of mechanisms to monitor a target system and its environment, reflect observations into the system's architecture model, detect opportunities for improvements, select a course of action, and effect changes. The framework provides general and reusable infrastructures with well-defined customization points, a set of abstractions, and an adaptation engineering process, focusing engineers on adaptation concerns to systematically customize Rainbow to particular systems. To automate system self-adaptation, Rainbow provides a language, called Stitch, to represent routine human adaptation knowledge using a core set of adaptation concepts.

122 citations

Book ChapterDOI
01 Jan 2009
TL;DR: Rainbow provides an engineering approach and a framework of mechanisms to monitor a target system and its environment, reflect observations into a system’s architecture model, detect opportunities for improvement, select a course of action, and effect changes in a closed loop.
Abstract: Increasingly, systems must have the ability to self-adapt to meet changes in their execution environment. Unfortunately, existing solutions require human oversight, or are limited in the kinds of systems and the set of quality-of-service concerns they address. Our approach, embodied in a system called Rainbow, uses software architecture models and architectural styles to overcome existing limitations. It provides an engineering approach and a framework of mechanisms to monitor a target system and its environment, reflect observations into a system’s architecture model, detect opportunities for improvement, select a course of action, and effect changes in a closed loop. The framework provides general and reusable infrastructures with well-defined customization points, allowing engineers to systematically customize Rainbow to particular systems and concerns.

118 citations