JAAF+T: A Framework to Implement Self- Adaptive Agents that Apply Self-Test Andrew Diniz da Costa

Slides:



Advertisements
Similar presentations
GenArch: Automatic Product Derivation in Multi-agent Systems Product Line Elder Cirilo.
Advertisements

Java Autonomic Agent Framework with Self-Testing Andrew Diniz da Costa Camila Nunes
Towards an Integration Test Architecture for Open MAS
L3S Research Center University of Hanover Germany
Towards Self-Testing in Autonomic Computing Systems Tariq M. King, Djuradj Babich, Jonatan Alava, and Peter J. Clarke Software Testing Research Group Florida.
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
A Component Based Programming Framework for Autonomic Applications Hua Liu, Manish Parashar, and Salim Hariri ICAC ‘04 John Otto Wi06 CS 395/495 Autonomic.
Unified theory of software evolution Reengineering – Business process reengineering and software reengineering BPR model – Business definition, process.
Francisco Hernandez, Purushotham Bangalore, Jeff Gray, and Kevin Reilly Department of Computer and Information Sciences University of Alabama at Birmingham.
A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.
Software Effort Estimation based on Use Case Points Chandrika Seenappa 30 th March 2015 Professor: Hossein Saiedian.
Introduction To System Analysis and Design
Presenter : Shih-Tung Huang Tsung-Cheng Lin Kuan-Fu Kuo 2015/6/15 EICE team Model-Level Debugging of Embedded Real-Time Systems Wolfgang Haberl, Markus.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Overview of Software Requirements
ORION - A Component-Based Software Engineering Environment
Software Product Lines Krishna Anusha, Eturi. Introduction: A software product line is a set of software systems developed by a company that share a common.
The Re-engineering and Reuse of Software
Automatic Software Testing Tool for Computer Networks ARD Presentation Adi Shachar Yaniv Cohen Dudi Patimer
1 Self-configuring of multiple frameworks for NCB Sean Leslie Ricardo Tirado Graduate Students: Andrew Allen.
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
Marco Blumendorf I July 21th, 2009 Towards a Model-Based Framework for the Development of Adaptive Multimodal User Interfaces.
A METHODOLOGY FOR EMPIRICAL ANALYSIS OF PERMISSION-BASED SECURITY MODELS AND ITS APPLICATION TO ANDROID.
Temporal Event Map Construction For Event Search Qing Li Department of Computer Science City University of Hong Kong.
D YNAMIC B UILDING OF D OMAIN S PECIFIC L EXICONS U SING E MERGENT S EMANTICS Final Presentation Matt Selway Supervisor: Professor Markus Stumptner.
SOFTWARE ADAPTIVITY THROUGH XML-BASED BUSINESS RULES AND AGENTS Queen’s University of Belfast, School of Computer Science, Belfast, United Kingdom Liang.
Abstract A software development life cycle can be divided into requirements elicitation, specification, design, implementation, testing, and maintenance.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
An Approach to Test Autonomic Containers Ronald Stevens (IEEE Computer Society & ACM Student Member) August 1, 2006 REU Sponsored by NSF.
Engineering Law-Governed Approaches How to reuse, extend and compose interaction specifications Gustavo Carvalho, Carlos Lucena
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
Zhiyong Wang In cooperation with Sisi Zlatanova
Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet.
Spoken dialog for e-learning supported by domain ontologies Dario Bianchi, Monica Mordonini and Agostino Poggi Dipartimento di Ingegneria dell’Informazione.
Agents on the Semantic Web – a roadmap to the future An arial view from feet.
Action ADAPT / IDM, November 13th, 2008 Dynamic Adaptive Software Components: The MOCAS Approach1.
Introduction To System Analysis and Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Adaptive Hypermedia Tutorial System Based on AHA Jing Zhai Dublin City University.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
Intelligent agents, ontologies, simulation and environments for norm-regulated MAS Deliberative Normative Agents Ricardo Gralhoz Governance in Open Multi-Agent.
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
2007. Software Engineering Laboratory, School of Computer Science S E Web-Harvest Web-Harvest: Open Source Web Data Extraction tool 이재정 Software Engineering.
EIS'2007 (Salamanca, Spain, March 22-24, 2007) 1 Towards an Extended Model of User Interface Adaptation: the ISATINE framework 1 Víctor M. López Jaquero,
A Hybrid Diagnostic-Recommendation Approach for Multi-Agent Systems Andrew Diniz da Costa 1 Carlos J. P. de Lucena 1 Viviane T. da Silva 2 1 Pontifícia.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.
Agents on the Semantic Web – a roadmap to the future An arial view from feet.
Project Design Alain Esteva-Ramirez School of Computing and Information Sciences Florida International University Bárbara Morales-Quiñones Department of.
MNP1163 (Software Construction).  SDLC and Construction Models  Construction Planning  Construction Measurement.
Survey of Tools to Support Safe Adaptation with Validation Alain Esteva-Ramirez School of Computing and Information Sciences Florida International University.
Modeling Test Cases to Multi-Agent Systems Andrew Diniz da Costa
CS223: Software Engineering Lecture 13: Software Architecture.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Introduction to OOAD and UML
ORION - A Component-Based Software Engineering Environment
Dynamo: A Runtime Codesign Environment
A Graphical Modeling Environment for the
Web Ontology Language for Service (OWL-S)
Data Base System Lecture 2: Introduction to Database
Rafael Almeida, Inês Percheiro, César Pardo, Miguel Mira da Silva
Jigar.B.Katariya (08291A0531) E.Mahesh (08291A0542)
Autonomic Request Scheduling Container
ORION - A Component-Based Software Engineering Environment
Presentation transcript:

JAAF+T: A Framework to Implement Self- Adaptive Agents that Apply Self-Test Andrew Diniz da Costa

2 © LES/PUC-Rio Outline Motivation Related Works JAAF+T Case Study: Creation of Susceptibility Maps Conclusion and Future Works

3 © LES/PUC-Rio Motivation Self-adaptive systems become one of the main focal points for software engineers. Several approaches describing how systems can perform self-adaptation have been investigated. Few approaches check if the adapted behavior is adequate for the new characteristics of the environment. It is necessary to test the adapted behavior by investigating its compliance with the new environment requirements at runtime.

4 © LES/PUC-Rio Related Work (I/II) (Wen et al., 2005) –It proposes a Software-Based Self-Test (SBST) framework in order to be used in microprocessors. –The components of the framework are tied to concepts of microprocessors, it is not possible to use them in different domains. (Denaro et al., 2007) –Presents a self-adaptive approach for service-oriented applications. –Besides, the self-test being proposed is fixed to the process. Wen, C., Wang, L.-C, Cheng, K.-T, Yang, K., Liu, W.-T.., "On a Software-Based Self-Test Methodology and Its Application". IEEE VLSI Test Symposium, May Denaro, G., Pezze, M., and Tosi, D., Designing Self-Adaptive Service-Oriented Applications. In Proceedings of the Fourth International Conference on Autonomic Computing. IEEE Computer Society, Washington, DC, 16, 2007.

5 © LES/PUC-Rio Related Work (II/II) (Stevens et al., 2007) –The approach proposes a framework for testing self-adaptive systems at runtime. –It works together with IBM’s layered architecture for an autonomic computing (AC) systems (IBM, 2003). –Each test activity is connected with the layers and is implemented according to layer characteristics. –It is not possible to use the proposed self-test activities in different self-adaptation processes. Stevens, R., Parsons, B., and King, T. M., A self-testing autonomic container. In Proceedings of the 45th Annual Southeast Regional Conference (Winston-Salem, North Carolina). ACM-SE 45. ACM, New York, NY, 1-6, 2007.

6 © LES/PUC-Rio Proposal After adapting the behavior and before executing it, the agent may test if the self-adapted behavior fulfills the new environment requirements. Extend the JAAF - Java Self-Adaptive Agent Framework (Neto et al, 2009) - that uses JADE. JAAF +T Java Self-Adaptive Agent Frameworkwith Self-Test Neto, B. F. S., Costa, A. D., Netto, M. T. A., Silvia, V., Lucena, C. J. P., JAAF: A Framework to Implement Self-adaptive Agents. In Proceeding of the 21st International Conference on Software Engineering Knowledge Engineering (SEKE’2009), Boston, Massachusetts, USA, pp , July 2009.

7 © LES/PUC-Rio JAAF+T –Agents that perform self-adaptation –Plans executed by agents representing self-adaptation processes (or control loops) –Activities that are the steps of such processes. –Define input and output data to be used in different test cases. –Define which test cases can be executed to each system version and context. –Execute different types of test. –Generate logs that describe the result of the test executions. The framework provides a default control loop that can be extended.

8 © LES/PUC-Rio Default Control Loop IBM, An architectural blueprint for autonomic computing. Technical Report., IBM, 2003.

9 © LES/PUC-Rio Test Activity It is responsible for testing the actions chosen by the decision activity and to inform the decision activity if errors have occurred when testing these actions. The test activity is composed of four steps. The first two steps should be executed off-line and the other two are executed together with the application, at runtime.

10 © LES/PUC-Rio Test Definition Language (TDL) Step 1 The application designer should relate the actions of the agent to the test cases used to test such actions. The set of test cases are predefined by the designer and related to the actions that they are able to test.

11 © LES/PUC-Rio Quality Definition Language (QDL) This step defines the data to be used as input data and output assertions while testing the actions. The same input data can be used in different actions such as, in cases that test different application versions. Step 2

12 © LES/PUC-Rio Step 3 Tests can be executed when requested by the decision activity. Therefore, the third step of the test activity executes the test per se. Nowadays, the framework already provides two types of executions: using JUnit 1 and DBUnit 2 API for unit tests. Other types of test cases can be implemented. 1 JUnit Web Site, 2 DBUnit Web Site,

13 © LES/PUC-Rio Step 4 In the sequence, it is time to generate the output logs with the results of the executed test. These logs will be used by the decision activity in order to decide whether to execute the action or choose another one. Name and path, where such logs should be stored, can be defined in the nameLog attribute provided by TDL.

14 © LES/PUC-Rio Hot-spots and Frozen-spots Hot-spots –Test Activity –Executing of different test cases –Writing in different logs formats –Reading different logs –Decision Activity Frozen-spots –New control loop provided by the framework as a default control loop with self-test. –Parsing TDL file –Parsing QDL file

15 © LES/PUC-Rio Case Study: Creation of Susceptibility Maps (I/VI) Landslides are natural phenomena, which are difficult to predict since they depend on many (unpredicted) factors and on the relationships between them. The main challenges faced by the specialists is to decide the most appropriate model configuration to generate susceptibility maps (SM), i.e., maps that show locations with landslide risks in a specific area. Application is composed of a set of agents that has the goal to generate a SM that shows the places with landslide risks in Rio de Janeiro.

16 © LES/PUC-Rio Case Study: Creation of Susceptibility Maps (II/VI) The multi-agent system tries to meet a susceptibility model that creates a good SM based on data provided by a user. Each agent adapts its behavior while choosing the most appropriate model from a set of models that each one knows. A model is implemented as a web service, and each agent uses OWL-S files in order to find such models.

17 © LES/PUC-Rio Case Study: Creation of Susceptibility Maps (III/VI)

18 © LES/PUC-Rio Agents Applying Self-Test (IV/VI) Test activity: Execute different test cases. –One of the most simple test cases only verifies if the web- service is online –Another one also very simple test case checks if the agent has the data required by the service to be execute. It uses QDL file. –Check how much time the service takes to generate the sample maps in order to estimate the time to generate the whole map. –A more complex test may compare the SM in the map that stores the history of landslides with the SM generated by the web-service to find out if the generated SM is satisfactory. The web-service will provide only a sample of the map it is able to generate.

19 © LES/PUC-Rio Case Study: Creation of Susceptibility Maps (V/VI)

20 © LES/PUC-Rio Case Study: Creation of Susceptibility Maps (VI/VI) BR-101 – Rio-Santos Niterói, April 2010Morin, Petrópolis, December 2002

21 © LES/PUC-Rio Conclusion and Future Works JAAF+T extended JAAF in order to implement the self-test concept. Extend the framework, such as how the concept of self-tests can be applied to systems governed by norms. When agents perform self-adaptation, such adaptations can reflect in the violation of norms defined in the environment. Questions: –Which tests can be used to check the possibility of occurring such violations? –If violations happen, which type of decision should be taken by the agent?

The End