Dept. of Computation, UMIST

Slides:



Advertisements
Similar presentations
Cross Cultural Research
Advertisements

Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Sabine Mendes Lima Moura Issues in Research Methodology PUC – November 2014.
The Re-engineering and Reuse of Software
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
QUALITATIVE MODELING IN EDUCATION Bert Bredweg and Ken Forbus Yeşim İmamoğlu.
Compositional IS Development Framework Application Domain Application Domain Pre-existing components, legacy systems Extended for CD (ontologies) OAD Methods.
“Enhancing Reuse with Information Hiding” ITT Proceedings of the Workshop on Reusability in Programming, 1983 Reprinted in Software Reusability, Volume.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
Design Science Method By Temtim Assefa.
Copyright © 2013 Curt Hill The Zachman Framework What is it all about?
A Taxonomy of Evaluation Approaches in Software Engineering A. Chatzigeorgiou, T. Chaikalis, G. Paschalidou, N. Vesyropoulos, C. K. Georgiadis, E. Stiakakis.
HCI in Software Process Material from Authors of Human Computer Interaction Alan Dix, et al.
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
1 Introduction to Software Engineering Lecture 1.
Overview of MOT Knowledge representation system : Basic Modeling Editor LexiconGrammarSemantics Pragmatics MOT Editor.
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
Requirements Engineering Methods for Requirements Engineering Lecture-30.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
27/3/2008 1/16 A FRAMEWORK FOR REQUIREMENTS ENGINEERING PROCESS DEVELOPMENT (FRERE) Dr. Li Jiang School of Computer Science The.
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Towards a Reference Quality Model for Digital Libraries Maristella Agosti Nicola Ferro Edward A. Fox Marcos André Gonçalves Bárbara Lagoeiro Moreira.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
The PLA Model: On the Combination of Product-Line Analyses 강태준.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVII. Verification and Validation.
Advanced Software Engineering Dr. Cheng
The optimisation of rosters to meet public demand
Presenters: Wei-Chih Hsu Professor: Ming-Puu Chen Date: 12/18/2007
Business process management (BPM)
Review of last class Software Engineering Modeling Problem Solving
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Unit - 3 OBJECT ORIENTED DESIGN PROCESS AND AXIOMS
Chapter3:Software Processes
Methodology Conceptual Databases Design
ENTERPRISE MODELLING KSI 1404
ITEC 3220A Using and Designing Database Systems
Topic for Presentaion-2
Business process management (BPM)
The Systems Engineering Context
Object oriented system development life cycle
OBJECT RELATIONSHIPS, ATTRIBUTES, AND METHODS
Manufacturing system design (MSD)
Software Design Methodology
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
Software Processes.
Chapter 10: Process Implementation with Executable Models
© 2012 The McGraw-Hill Companies, Inc.
Tools of Software Development
Experience Management
Introduction to Software Testing
Lecture 09:Software Testing
CSc4730/6730 Scientific Visualization
Luís Ferreira Pires Dick Quartel Remco Dijkman Marten van Sinderen
ece 627 intelligent web: ontology and beyond
Chapter 13 Quality Management
Mathematical thinking and task design
An Introduction to Software Architecture
WP7 – COMBINING BIG DATA - STATISTICAL DOMAINS
Methodology Conceptual Databases Design
Chapter 5 Architectural Design.
Human Computer Interaction Lecture 14 HCI in Software Process
Terms: Data: Database: Database Management System: INTRODUCTION
Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?
Managerial Decision Making and Evaluating Research
Chapter 12 Analyzing Semistructured Decision Support Systems
Debate issues Sabine Mendes Lima Moura Issues in Research Methodology
Presentation transcript:

Dept. of Computation, UMIST A Design Complexity Evaluation Framework for Agent-Based System Engineering Methodologies Anthony Karageorgos Nikolay Mehandjiev Dept. of Computation, UMIST {karageorgos,mehandjiev}@co.umist.ac.uk ESAW 2003 London, 29-31 October 2003 OVERVIEW 1. Design Complexity Issues 2. Evaluation Framework 3. Case Study 4. Discussion

Complexity in ABS Engineering Complexity: difficulty in understanding Software engineering complexity: difficulty in understanding, developing and verifying software ABS Design complexity: the difficulty in understanding and manipulating, concepts, models and techniques associated with the ABS design process High software complexity results to high development effort, less reusability and low software quality The structure and properties of agents increase design complexity To reduce design complexity of ABS engineering methodologies we need to assess it Design complexity can be application dependent, i.e. an agent monitoring a device involves low design complexity

Evaluating ABS Engineering methodologies Develop a case study Use historical data from past projects Other evaluation techniques Descriptive user-based: Ask potential users to fill questionnaires framework-based: Compare methodologies with respect to aspects of interest grouped in a framework meta-model based: Compare meta-model descriptions of methodologies Experimental Replicated experiments: carry out the same task in multiple ways and examine the differences, i.e. using Gaia and SODA Run-time analysis: Test the software product on run-time. Simulation. Execute the software product with a model of the real environment Experimental techniques require more effort and resources Descriptive: User-based. Framework-based. Metamodel-based: (Qualitative) In a replicated experiment, several projects (or subjects) are staffed to perform a task in multiple ways. Researchers set control variables, such as duration, staff level, and methods used. By using such a method, researchers can establish statistical validity more easily than by relying on case studies. In a replicated experiment, researchers replace a given task with another task. They might replace Ada with C++, eliminate walkthroughs, or add independent verification and validation. Researchers form several treatments that implement products using either the old or new task. Then they collect data on both approaches and compare the results. This method represents the classical scientific experiment. If there are enough replications—perhaps 20 to 40—researchers can establish the statistical validity of the method under consideration. While replicated experiments evaluate the process, Run-time analysis and simulation evaluate the product. In run-time analysis we can have debuggers and profilers etc Experimental methods have the disadvantage that they require effort and resources.

Complexity Evaluation Framework Concept definition Design in scope Heuristics support Design perspective Support for reuse Design automation Concepts Models Agent-Based System Design Process Each view includes a number of conceptually linked aspects and examines an ABS methodology from different perspectives. A qualitative ranking scheme is applied for each aspect. Concepts: which modelling concepts are used by the methodology. Organisational settings Collective behaviour Non-functional aspects Generality Abstractability Tool support Pragmatics

Concepts and Models Evaluation Framework Aspects Concepts Models Description/Ranking Values Concepts Concept definition How is the approach characterised regarding restrictions in the definitions of agents and agent-based systems? [limited (), bounded (<>), open (><)] Design in scope Does the engineering approach provide explicit support for the design phase of the agent-based system engineering lifecycle? [yes (), no()] Heuristics support Does the approach provide formal techniques to support application of design heuristics? Models Organisational settings Are organisational settings considered as first-class design constructs? [yes (), no()] Collective behaviour Are collective behaviours considered as first-class design constructs? Non-functional aspects Are non-functional aspects explicitly modelled and considered in the agent-based system design?

Process and Pragmatics Evaluation Framework Aspects Description/Ranking Values Process Design perspective What is the development perspective of the approach? [bottom-up (), top-down (), both ( )] Support for reuse Does the approach provide guidelines and techniques to reuse existing design knowledge? [yes (), no()] Design automation Do suitable formal underpinnings exist that can automate the design process to a certain extent? Pragmatics Generality What is the generality (possibility of being applied to many application domains) of the approach? [low (○), medium (), high ()] Abstractability Does the approach provide formal support for reasoning at different levels of abstraction? Tool support Is there any assistance to the agent-based system designers by some software tool? It must be noted that some aspects are interrelated. For example, low or limited concept definition is likely to be combined with low or medium generality, as is the case in RAPPID [Parunak et al. 1999]. However, this is not always the case, For example, Tropos [Bresciani et al. 2001] is bounded to only BDI agents and it is still applicable in many application domains.

Case Study Material Customers : Suppliers VE Administration Warehouses Retailers Manufacturers Information Agent Must reuse appropriate designs that already exist in VE members Need a software tool to carry out the design. Similar designs are needed for other application domains Authority relationships between VE Administration and VE members Certain patterns of interaction, such as contract-net or auction protocols should be followed to establish service-level agreements Security, privacy and performance requirements Proven heuristics need to be followed, for example all VE financial transactions should be carried by a specialised trusted agent

Framework Application Agent-Based System Engineering We classify current ABS engineering methodologies with respect to how design is done in a classification scheme We select one methodology from each class in the classification scheme Approaches Static Dynamic e.g. KARMA Ad-hoc Formal Informal e.g. RAPPID e.g. DESIRE IS OOSE K. Eng. Tool Based e.g. Tropos e.g. GAIA e.g. MESSAGE e.g. Zeus RAPPID: domain specific targeting collaborative design DESIRE: a compositional framework for engineering and verification of agent-based systems Gaia: combines agent theoretic concepts and object-oriented engineering principles Tropos: originated from information systems engineering MESSAGE: applies best practices from knowledge engineering methodologies to ABS development Zeus: a popular methodology based on the Zeus toolkit Karma/TEAMCORE: locates and recruits existing agents in the cyberspace

Evaluation Results Concepts Models Process Pragmatics RAPPID DESIRE Gaia MESSAGE Tropos Zeus KARMA/TEAMCORE Concept definition  <> >< Design in scope ─  Heuristics support Models Organisational settings Collective Behaviour Non-functional aspects Process Design Perspective   Support for reuse Design Automation Pragmatics Generality ○   Abstractability Tool Support

Research Implications I Support design heuristics Describe heuristics as formal design constraints Informally considered in Zeus but involve high design complexity Formally in DESIRE but no systematic guidelines as to how to use them Organisational Settings When considered they model only organisational relations No rigorous methods for combining organisational settings with application functionality Collective Behaviour No rigorous methods to reuse collective behaviour

Research Implications II Non-functional aspects Describe heuristics as formal design constraints Informally considered in Zeus but involve high design complexity Formally in DESIRE but no systematic guidelines as to how to use them Automating the design process Generally achieved through successive transformations of analysis models KARMA supports automatic ABS formation but it assumes agents already exist Working at different abstraction levels Informal support by MESSAGE and ZEUS Partial support by DESIRE and KARMA However, the focus is to ensure correct representation of analysis models in the design components and satisfying the application requirements in the design.

Future Work Extend the framework to cover other phases of the ABS engineering lifecycle Develop a systematic ABS methodology selection method based on the theory of the Analytic Hierarchy Process Develop a methodology selection library and software tool