Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Amanda Sávio Nascimento is active.

Publication


Featured researches published by Amanda Sávio Nascimento.


software product lines | 2011

An SPL approach for adaptive fault tolerance in SOA

Amanda Sávio Nascimento; Cecília M. F. Rubira; Jaejoon Lee

It is challenging to apply existing fault tolerance strategies for developing dependable Service Oriented systems, due to the lack of capabilities to adapt themselves at runtime to cope with dynamic changes of (a) user requirements and (b) the level of quality of services (QoS). In order to support such dynamic changes, we propose to adopt Software Product Line techniques. In particular, we adopt a feature model and product line architecture to capture the variability among software fault tolerance strategies based on design diversity. We propose an infrastructure that supports the strategy changes at runtime through dynamic management of variability and is responsible for the dependable mediation logic between service clients and redundant services. The infrastructure has an autonomous controller (i.e. managing a loop of collection, analysis, planning and execution), which is responsible for monitoring the changes of (i) QoS level and (ii) user requirements and decides, in accordance with high-level policies, an appropriate fault tolerance strategy to be executed. Also, our solution allows the dynamic provision of redundant services by describing them in terms of semantics. Finally, we performed a proof of concept which indicates the feasibility of the proposed solution.


evaluation and assessment in software engineering | 2013

A systematic review of design diversity-based solutions for fault-tolerant SOAs

Amanda Sávio Nascimento; Cecília M. F. Rubira; Rachel Burrows; Fernando Castor

Context: Over recent years, software developers have been evaluating the benefits of both Service-Oriented Architecture and software fault tolerance techniques based on design diversity by creating fault-tolerant composite services that leverage functionally equivalent services, or variant services. Three major design issues need to be considered while building software fault-tolerant architectures based on design diversity namely, selection and execution of variants and selection of an adjudication algorithm to determine the correct or adjudicated result from the variants. Each design issue, in turn, can be realized by a set of alternative design solutions, which present different degrees of quality requirements (e.g. memory consumption and reliability). Objective: To investigate whether existing approaches for fault-tolerant composite services support the above mentioned design issues and to provide a detailed classification of the analysed approaches. Method: A systematic literature review of diversity-based approaches for fault-tolerant composite services, which compose our primary studies. Results: We found 17 primary studies providing direct evidence about the research question. Our findings reveal that the primary studies support a wide variety of design decisions. For example, (i) variant services may be chosen at different points during the software lifecycle; (ii) both parallel and sequential execution schemes have been addressed; and (iii) a variety of adjudication mechanisms were found amongst the target papers. Conclusion: We build up a broad picture of what design issues have been addressed by existing diversity-based approaches for fault-tolerant composite services. Finally, practical issues and difficulties are summarized and directions for future work are suggested.


2013 VII Brazilian Symposium on Software Components, Architectures and Reuse | 2013

A Model-Driven Infrastructure for Developing Product Line Architectures Using CVL

Amanda Sávio Nascimento; Cecília M. F. Rubira; Rachel Burrows; Fernando Castor

Over recent years, software engineers have been evaluating the benefits of combining Software Product Line and Model-Driven Engineering, which is referred to as Model-Driven Product Line Engineering (MD-PLE), to achieve software architecture evolvability. In general terms, existing solutions for MD-PLE support high-level model refinement into lower level abstractions in order to reach code implementation of product line architectures. Nevertheless, the applicability of such approaches is limited due to either the unsystematic processes that do not clearly specify how to refine models to decrease the level of abstraction, or the lack of automation support. In this paper, we propose an infrastructure for MD-PLE. The infrastructure encompasses a model-driven, systematic and semi-automated engineering method that combines a set of existing process, tools, languages and models to implement product line architectures. Common Variability Language (CVL) is adopted to specify and resolve architectural variability explicitly and systematically. We employ our solution to develop a family of software fault tolerance techniques for service-oriented architectures. The results obtained suggest the proposed solution is useful and efficient to implement product line architectures. We report lessons learned from this case study and present directions for future work.


high assurance systems engineering | 2014

ArCMAPE: A Software Product Line Infrastructure to Support Fault-Tolerant Composite Services

Amanda Sávio Nascimento; Cecília M. F. Rubira; Fernando Castor

A number of solutions use software fault tolerance techniques based on design diversity to create fault-tolerant composite services that leverage functionally equivalent services. Nevertheless, these solutions are not able to adapt themselves at runtime to cope with dynamic changes of user requirements and fluctuations in the quality of services (QoS). We propose a self-adaptive solution, called ArCMAPE, that leverages ideas from Software Product Line Engineering to support fault-tolerant composite services. In particular, we specify a feature model and product line architecture to capture the common and variable features among a number of software fault tolerance techniques based on design diversity. ArCMAPE provides software components implementing the common features, and a foundation on which plug-in components, or variable components, can be easily added to realise the target variable features. At runtime, ArCMAPE dynamically instantiates software fault tolerance techniques tailored to the specific needs of different clients and contexts by employing feature-based runtime adaptations. Outcomes obtained from an empirical study suggest the feasibility and efficiency of our solution to support self-adaptive, fault-tolerant composite services. We discuss the obtained outcomes and present directions for future work.


Journal of Software Engineering Research and Development | 2014

Designing fault-tolerant SOA based on design diversity

Amanda Sávio Nascimento; Cecília M. F. Rubira; Rachel Burrows; Fernando Castor; Patrick H. S. Brito

BackgroundOver recent years, software developers have been evaluating the benefits of both Service-Oriented Architecture (SOA) and software fault tolerance techniques based on design diversity. This is achieved by creating fault-tolerant composite services that leverage functionally-equivalent services. Three major design issues need to be considered while building software fault-tolerant architectures based on design diversity: (i) selection of variants; (ii) selection of an adjudication algorithm to choose one of the results; and (iii) execution of variants. In addition, applications based on SOA need to function effectively in a dynamic environment where it is necessary to postpone decisions until runtime. In this scenario, control is highly distributed and involves conflicting user requirements. We aim to support the software architect in the design of fault-tolerant compositions.MethodsLeveraging a taxonomy for fault-tolerant systems, this paper proposes guidelines to aid software architects in making key design decisions. The taxonomy is used as the basis for defining a set of guidelines to support the architect in making decisions related to fault tolerance in SOA. The same taxonomy is used in a systematic literature review of solutions for fault-tolerant composite services.The review investigates how existing approaches for fault-tolerant composite services address design diversity issues and also specific issues related to SOA.ResultsThe contribution of this work is twofold: (i) a set of guidelines for supporting the design of fault-tolerant SOA, based on a taxonomy for fault tolerance techniques; and (ii) a systematic literature review of existing solutions for designing fault-tolerant compositions using design diversity.ConclusionAlthough existing solutions have made significant contributions to the development of fault-tolerant SOAs, there is a lack of approaches for fault-tolerant service composition that support strategies with diverse quality requirements and encompassing sophisticated context-aware capabilities. This paper discusses which design issues have been addressed by existing diversity-based approaches for fault-tolerant composite services. Finally, practical issues and difficulties are summarized and directions for future work are suggested.


self-adaptive and self-organizing systems | 2013

Using CVL to Support Self-Adaptation of Fault-Tolerant Service Compositions

Amanda Sávio Nascimento; Cecília M. F. Rubira; Fernando Castor

We present a dynamic software product line to support fault-tolerant service compositions. Architectural variability is specified and resolved by Common Variability Language (CVL). CVL is a generic variability modeling language that enables the transformation of a product line model into a configured, new product model. At runtime, whenever it is necessary to determine a fault tolerance technique more adapted to the context (i.e. a new product) the correspondent product model is dynamically generated by executing CVL model-to-model transformation. Based on the comparison of the reflection model with the target product model, the adaptation process is fully automated.


availability, reliability and security | 2012

An Empirical Study on Design Diversity of Functionally Equivalent Web Services

Amanda Sávio Nascimento; Fernando Castor; Cecília M. F. Rubira; Rachel Burrows

A number of approaches based on design diversity moderate the communication between clients and functionally equivalent services, i.e., variant services, to tolerate software faults in service-oriented applications. Nevertheless, it is unclear whether variant services are actually diverse and fail on disjoint subsets of the input space. In a previous work, we proposed an experimental setup to assess design diversity of variant services that realize a requirements specification. In this work, we utilize the proposed experimental setup to assess the design diversity of a number of third-party Web services adhering to seven different requirements specifications. In this paper, we describe in detail the main findings and lessons learnt from this empirical study. Firstly, we investigate whether variant services are in fact diverse. Secondly, we investigate the effectiveness of service diversity for tolerating faults. The results suggest that there is diversity in the implementation of variant services. However, in some cases, this diversity might not be sufficient to improve system reliability. Our findings provide an important knowledge basis for engineering effective fault-tolerant service applications.


Proceedings of the 5th International Workshop on Exception Handling | 2012

Supporting the evolution of exception handling in component-based product line architecture

Bruno de Abreu Iizuka; Amanda Sávio Nascimento; Leonardo P. Tizzei; Cecília M. F. Rubira

Separation of concerns is one of the important goals of exception handling in order to keep separated the normal and the exceptional behaviour of a software system. Therefore it promotes both reuse and maintainability of normal and error handling code. In this work, our focus is to present how we can use the notion of aspect-connector for designing software variabilities related to different handling strategies in the context of a software product line. In particular, Connector-VP is used to support choices of different handlers depending on the set of selected features. Thus it realizes the binding between the normal behaviour and the selected exception handler.


latin american symposium on dependable computing | 2011

WSCA-DRIP: An Infrastructure to Web Service Composition Actions

Renato de Jesus Manzoni; Amanda Sávio Nascimento; Cecília M. F. Rubira

Service-Oriented Architecture is an architectural model that aims to enhance the efficiency, agility, and productivity of an enterprise by structuring services in terms of services compositions, which can be executed either synchronously or asynchronously. Such architectures should meet the main dependability requirements (e.g. high availability, high reliability). The objective of this work is to describe a software infrastructure, called WSCA-DRIP, that operates in the communication between a web services clients and the web service itself, in order to implement fault tolerance techniques that make effective use of exception handling of undependable existing services. Also, the proposed solution lies in systems structuring in terms of a collaborative realization of a given function by composed web services and a fault tolerance strategy by means of cooperative exception handling. Finally, the WSCA-DRIP infrastructure will be designed to be remotely accessible via web services technology, so that it can be easily reused during the implementation of different web services-based service oriented architectures.


portuguese conference on artificial intelligence | 2009

Embodied Language Acquisition: A Proof of Concept

Aneesh Chauhan; Amanda Sávio Nascimento; Bruno Werneck; Luís Seabra Lopes

For robots to interact with humans at the language level, it becomes fundamental that robots and humans share a common language. In this paper, a social language grounding paradigm is adopted to teach a robotic arm basic vocabulary about objects in its environment. A human user, acting as an instructor, teaches the names of the objects present in their shared field of view. The robotic agent grounds these words by associating them to visual category descriptions. A component-based object representation is presented. An instance based approach is used for category representation. An instance is described by its components and geometric relations between them. Each component is a color blob or an aggregation of neighboring color blobs. The categorization strategy is based on graph matching. The learning/grounding capacity of the robot is assessed over a series of semi-automated experiments and the results are reported.

Collaboration


Dive into the Amanda Sávio Nascimento's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Fernando Castor

Federal University of Pernambuco

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Leonardo P. Tizzei

State University of Campinas

View shared research outputs
Top Co-Authors

Avatar

Patrick H. S. Brito

State University of Campinas

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge