Engineering Law-Governed Approaches How to reuse, extend and compose interaction specifications Gustavo Carvalho, Carlos Lucena

Slides:



Advertisements
Similar presentations
Towards an Integration Test Architecture for Open MAS
Advertisements

© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
2 Introduction A central issue in supporting interoperability is achieving type compatibility. Type compatibility allows (a) entities developed by various.
Web Services Architecture An interoperability architecture for the World Wide Service Network.
Design by Contract.
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Architecture Representation
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Object-Oriented Analysis and Design
Adding Organizations and Roles as Primitives to the JADE Framework NORMAS’08 Normative Multi Agent Systems, Matteo Baldoni 1, Valerio Genovese 1, Roberto.
CS 290C: Formal Models for Web Software Lecture 10: Language Based Modeling and Analysis of Navigation Errors Instructor: Tevfik Bultan.
Ch3: Software Engineering Principles 1 What is a principle?  Definition:  Goals of accounting principles:  Goals of software engineering principles?
Overview of Software Requirements
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
socio-organizational issues and stakeholder requirements
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
The Re-engineering and Reuse of Software
Chapter 7: The Object-Oriented Approach to Requirements
System Design Chapter 8. Objectives  Understand the verification and validation of the analysis models.  Understand the transition from analysis to.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
*Law and Coordination Rodrigo Paes. © LES/PUC-Rio Agenda Integration Coordination BPEL example Birth *Law and Coordination Further Steps.
Ciarán O’Leary Wednesday, 23 rd September Ciarán O’Leary School of Computing, Dublin Institute of Technology, Kevin St Research Interests Distributed.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
TC Methodology Massimo Cossentino (Italian National Research Council) Radovan Cervenka (Whitestein Technologies)
An Introduction to Software Architecture
Chapter 1: Introduction to Systems 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.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Patterns and Reuse. Patterns Reuse of Analysis and Design.
Interaction Laws Verification Using Knowledge-based Reasoning Gustavo Carvalho, Anarosa Brandão, Rodrigo Paes & Carlos Lucena By Regiane Lima.
1 Introduction to Software Engineering Lecture 1.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Control in ATLAS TDAQ Dietrich Liko on behalf of the ATLAS TDAQ Group.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Extensions on Interaction Laws in Open Multi-Agent Systems Gustavo Carvalho
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
1 Context-dependent Product Line Practice for Constructing Reliable Embedded Systems Naoyasu UbayashiKyushu University, Japan Shin NakajimaNational Institute.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
DOMAIN MODEL: ADDING ATTRIBUTES Identify attributes in a domain model. Distinguish between correct and incorrect attributes.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
State Modeling. Events An event is an occurrence at a point in time, such as user depresses left button or.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
An Event-Driven High Level Model for the Specification of Laws in Open Multi-Agent Systems Rodrigo Paes
Slide 1 2/22/2016 Policy-Based Management With SNMP SNMPCONF Working Group - Interim Meeting May 2000 Jon Saperia.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Models of the OASIS SOA Reference Architecture Foundation Ken Laskey Chair, SOA Reference Model Technical Committee 20 March 2013.
Systems Architectures System Integration & Architecture.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
SECURE TROPOS Michalis Pavlidis 8 May Seminar Agenda  Secure Tropos  History and Foundation  Tropos  Basics  Secure Tropos  Concepts / Modelling.
 System Requirement Specification and System Planning.
Cmpe 589 Spring 2006.
Chapter 1: Introduction to Systems Analysis and Design
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Unified Modeling Language
Chapter 25: Architecture and Product Lines
Business System Development
Model-Driven Analysis Frameworks for Embedded Systems
Object-Oriented Design
Dynamic Modeling Lecture # 37.
Chapter 1: Introduction to Systems Analysis and Design
Appendix 3 Object-Oriented Analysis and Design
PASSI (Process for Agent Societies Specification and Implementation)
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

Engineering Law-Governed Approaches How to reuse, extend and compose interaction specifications Gustavo Carvalho, Carlos Lucena Seminar Governance in Open MAS

Gustavo Robichez de Carvalho - The technical problem The greater the dependence of our society on open distributed applications, the greater will be the demand for dependable applications and also for new solutions that are variations of previously existing ones. One of the challenges of software development is to produce software that is designed to evolve, and so be extended, therefore reducing the maintenance efforts.

Gustavo Robichez de Carvalho - Motivation

Gustavo Robichez de Carvalho - Outline Monitoring laws on interactions XMLaw Why am I working on this? Example Extension operators –abstract, completes and extends –Examples Contract Net Protocol –Why don’t we modularize it? –Connectors

Gustavo Robichez de Carvalho - Monitoring laws on interactions Agent A Agent B Laws interaction Organization defines

Gustavo Robichez de Carvalho - XMLaw … … …...

Gustavo Robichez de Carvalho - Problem statement Nowadays, we do not have much support on the reuse of law specifications. We can point to specifications but we can not extend or configure them

Gustavo Robichez de Carvalho - Problem statement Examples using LGI present similar characteristics… –We do not have much support on the reuse of law specifications. –We can point to specifications but we can not extend or configure them. law(exim2,language(prolog)). portal(exim1,lawURL( sent(X,foreign(M),Y) :- do(forward(X,M,[Y,exim1])). sent(X,M,Y) :- do(forward). arrived(X,M,Y) :- do(deliver). arrived([X,exim1],M,Y) :- do(deliver(X,foreign(M,PeerHash),Y)). disconnected :- do(quit). exception(E,Fc) :- do(deliver(Self,exc(E,Fc),Self)). law(exim1,language(prolog)). portal(exim2,lawURL( sent(X,foreign(M),Y) :- do(forward(X,M,[Y,exim2])). sent(X,M,Y) :- do(forward). arrived(X,M,Y) :- do(deliver). arrived([X,exim2],M,Y) :- do(deliver(X,foreign(M,PeerHash),Y)). disconnected :- do(quit). exception(E,Fc) :- do(deliver(Self,exc(E,Fc),Self)).

Gustavo Robichez de Carvalho - TAC SCM Variability - Summary

Gustavo Robichez de Carvalho - Defining a law element as abstract Attribute type=“abstract” define when a law element is not completely implemented (have hooks) or must be better defined to be used. … … …

Gustavo Robichez de Carvalho - Extension operators completes – fill the “hooks” that were left unspecified … …

Gustavo Robichez de Carvalho - Extension operators extends – reuses the description of law elements and includes or superposes modifications …

Gustavo Robichez de Carvalho - Examples - Constraint over rfqTransition <Constraint id="checkDueDate" class="tacscm.constraints.ValiDate"/> <Constraint id="checkDueDate" class="tacscm.constraints.ValiDate2005"/> <Transition id="rfqTransition" from="as1" to="as2" message-ref="rfq“ type=“abstract”>

Gustavo Robichez de Carvalho - Assembler Examples - Permission over Assembler’s RFQs <Action id="orderID“ class=" tacscm.norm.actions.RFQCounter2005 “/>

Gustavo Robichez de Carvalho - Examples - Payment process Assembler <Element ref="orderTransition" event-type="transition_activation"/> <Element ref="payingTransition" event-type="transition_activation"/> <Action id="supplierPayment“ class=" tacscm.norm.actions.SupplierPayment100 "> <Action id="supplierDownPayment“ class=" law.tacscm.norm.actions.SupplierPayment10 "> <Action id="supplierPayment" class=" law.tacscm.norm.actions.SupplierPayment90 ">

Gustavo Robichez de Carvalho - Related Work All of these approaches are useful instruments to promote reuse, they can be seen as instruments for specifying extendable laws in governance frameworks. –COSY [13] views a protocol as an aggregation of primitive protocols. Each primitive protocol can be represented by a tree where each node corresponds to a particular situation and transitions correspond to possible messages an agent can either receive or send, i.e., the various interaction alternatives. –In AgenTalk [17], protocols inherit from one another. They are described as scripts containing the various steps of a possible sequence of interactions. Beliefs also are embedded into scripts. –Koning and Huget [15] deal with the modeling of interaction protocols for multi-agent systems, outlining a component-based approach that improves flexibility, abstraction and protocol reuse.

Gustavo Robichez de Carvalho - Related Work Singh [18] proposes a customizable governance service, based on skeletons. –His approach formally introduces traditional scheduling ideas into an environment of autonomous agents without requiring unnecessary control over their actions, or detailed knowledge of their designs. –Skeletons are equivalent to state based machines and we could try to reuse their formal model focusing on the implementation of a family of applications. –But [18] has few implementation details and examples which could allow us to understand how his proposal was implemented.

Gustavo Robichez de Carvalho - Contract Net Protocol Contract Net is a pattern for a simple interaction type. Elaboration on this pattern will almost certainly be necessary in order to specify all cases that might occur in an actual agent interaction. Real world issues such as the effects of cancelling actions, asynchrony, abnormal or unexpected IP termination, and nested IPs are explicitly not addressed with CNP.

Gustavo Robichez de Carvalho - Contract Net protocol – Why don’t we modularize it? Resolving doubts... Cancelling request... Basic CN Protocol

Gustavo Robichez de Carvalho - Modularizing Contract Net Protocol Specification The contract net protocol laws are defined in 3 scenes, but they share some events while executing. Law Specification... Relationship among the elements of the conceptual model is mostly based on events Chain of causes and consequences ElementEventElement generates perceives

Gustavo Robichez de Carvalho - Connectors: Integrating Law Modules Connector is a means to share event among different law modules. –Law Module & Connector –Input Link –Output Link –Input / Output Link Law Module ModuleEventModule generates perceives

Gustavo Robichez de Carvalho - Connectors’ definition and usage Connector :: Definition... Connector :: Usage … …

Gustavo Robichez de Carvalho - Connectors: Integrating Law Modules Connector is a means to share event among different law modules. … … …......

Gustavo Robichez de Carvalho - Conclusions We are addressing the problem of constructing governance mechanisms that ensure that agents will conform to a well defined customizable specification. –Our main goal is to contribute on the engineering on how we can productively define and reuse laws. We are contributing with the study on how to engineer governance mechanisms development. With the operators, we support the design of law elements for extension. We begun to understand how to modularize law specifications (using connectors).

Gustavo Robichez de Carvalho - Future work Enhance the implementation of extension operators and connectors in the new version of XMLaw Propose some metrics to assess extension tendencies Develop more case studies “regulative patterns” –Is it possible to propose something similar to design patterns in the context of governance mechanisms?

Engineering Law-Governed Approaches How to reuse, extend and compose interaction specifications Gustavo Carvalho, Carlos Lucena