April 15, 2005Department of Computer Science, BYU Agent-Oriented Software Engineering Muhammed Al-Muhammed Brigham Young University Supported in part by.

Slides:



Advertisements
Similar presentations
Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
Advertisements

Agent Based Software Development
Systems Analysis and Design in a Changing World, 6th Edition
SELBO Agent Ivan Minov University of Plovdiv “Paisii Hilendarski“
Object-Oriented Analysis and Design
Specifying Agent Interaction Protocols with AUML and OCL COSC 6341 Project Presentation Alexei Lapouchnian November 29, 2000.
Developing MAS The GAIA Methodology A Brief Summary by António Castro and Prof. Eugénio Oliveira.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Agent UML Stefano Lorenzelli
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Introduction to Software Architecture. What is Software Architecture?  It is the body of methods and techniques that help us to manage the complexities.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Domain-Specific Software Engineering Alex Adamec.
UML and Object Oriented Concepts
Chapter 7: The Object-Oriented Approach to Requirements
Software Development Process
Lesson 1 Week01.
Issues in Teaching Software Engineering Virendra C. Bhavsar Professor and Director, Advanced Computational Research Laboratory Faculty of Computer Science.
Ontologies Reasoning Components Agents Simulations Agent Modeling Language: Behavioral Models Rafael Oliveira Ricson Santana Vinícius Remigo Jacques Robin.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM]
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
Multi-Agent Systems University “Politehnica” of Bucarest Spring 2003 Adina Magda Florea
TC Methodology Massimo Cossentino (Italian National Research Council) Radovan Cervenka (Whitestein Technologies)
Agent-Oriented Software Engineering CSC532 Xiaomei Huang.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Travis Steel. Objectives What is the Agent Paradigm? What is Agent-Oriented Design and how is it different than OO? When to apply AOD techniques? When.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box Lafayette, LA 70504, USA.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
NAVEEN AGENT BASED SOFTWARE DEVELOPMENT. WHAT IS AN AGENT? A computer system capable of flexible, autonomous (problem-solving) action, situated in dynamic,
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Content The system development life cycle
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Illustrations and Answers for TDT4252 exam, June
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Presentation on Issues and Challenges in Evaluation of Agent-Oriented Software Engineering Methodologies By: kanika singhal.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
 The need for a formal methodology description  SPEM for describing an agent oriented methodology  PASSI: an example  The needed extension  Discussion.
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.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Christoph F. Eick University of Houston Organization 1. What are Ontologies? 2. What are they good for? 3. Ontologies and.
Riga Technical University Department of System Theory and Design Usage of Multi-Agent Paradigm in Multi-Robot Systems Integration Assistant professor Egons.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
Software Agents & Agent-Based Systems Sverker Janson Intelligent Systems Laboratory Swedish Institute of Computer Science
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
COP 4331 – OOD&P Lecture 7 Object Concepts. What is an Object Programming language definition: An instance of a class Design perspective is different.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
Towards filling the gap between AOSE methodologies and infrastructures: requirements and meta-model Fabiano Dalpiaz¹, Ambra Molesini², Mariachiara Puviani³,
Advanced Software Engineering Dr. Cheng
Introduction to UML.
The Movement To Objects
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Introduction To software engineering
What Is Good Software(Program)?
PASSI (Process for Agent Societies Specification and Implementation)
Presentation transcript:

April 15, 2005Department of Computer Science, BYU Agent-Oriented Software Engineering Muhammed Al-Muhammed Brigham Young University Supported in part by NSF

April 15, 2005Department of Computer Science, BYU(2) Outline  Software Engineering  Agents  Agent-Oriented Software Engineering  Agent Modeling Tools  Methodologies  Reuse in Agent Software  Future Directions

April 15, 2005Department of Computer Science, BYU(3) Software Engineering  “The establishment and use of sound engineering principles (methods) in order to obtain economically software that is reliable and works on real machines” (Bauer, F. L. Software Engineering. Information Processing 71., 1972)

April 15, 2005Department of Computer Science, BYU(4) Software Engineering  Some principles [GJM91]  Modularity  Abstraction  Process of developing software  Requirement analysis, design, testing,…  Software Architecture [Gar00]  Past trends  Current and future trends

April 15, 2005Department of Computer Science, BYU(5) Outline  Software Engineering  Agents  Agent-Oriented Software Engineering  Agent Modeling Tools  Methodologies  Reuse in Agent Software  Future Directions

April 15, 2005Department of Computer Science, BYU(6) Agents  Definition [FG96] “ An agent is a system situated within and part of environment that senses that environment and acts on it, over time, in pursuit of its own agenda and so as to effect what it senses in the future.”  Agent properties [JSW98, Bra97]  Autonomy  has control over its behavior  Re-activity  continuously observes and react to changes in its environment in timely fashion  Pro-activity  goal oriented  Sociality  communicate in a high-level way

April 15, 2005Department of Computer Science, BYU(7) Agents  Contributors to agent research [JSW98]  Artificial intelligence  Object systems  Human-computer interface design  Multi-agent systems  Agent communication languages  KQML [FLM97] & FIPA

April 15, 2005Department of Computer Science, BYU(8) Outline  Software Engineering  Agents  Agent-Oriented Software Engineering  Agent Modeling Tools  Methodologies  Reuse in Agent Software  Future Directions

April 15, 2005Department of Computer Science, BYU(9) Agent-Oriented Software Engineering [Jen00]  The case for agent orientation to software engineering  Agent-oriented decomposition is an effective way of partitioning a problem space  Agent mindset (agent, interactions, and organizational relationships) are a natural means for modeling complex systems

April 15, 2005Department of Computer Science, BYU(10) Agent-Oriented Software Engineering [Jen00]  Problems of agent-based approaches to software engineering  Unpredictable patterns and outcomes of the interactions  Difficult (or impossible) to predict the behavior of the overall system based on its constituent components

April 15, 2005Department of Computer Science, BYU(11) Outline  Software Engineering  Agents  Agent-Oriented Software Engineering  Agent Modeling Tools  Methodologies  Reuse in Agent Software  Future Directions

April 15, 2005Department of Computer Science, BYU(12) Agent Modeling Tools  UML – unsuitable for agent modeling  Two major extensions to UML  AUML – extends UML specifically it extends UML interaction diagrams to support agent protocols [PO04]  AML – extends UML and uses concepts from AUML, OWL, MESSAGE, FIPA-S… [CTCG04]

April 15, 2005Department of Computer Science, BYU(13) Outline  Software Engineering  Agents  Agent-Oriented Software Engineering  Agent Modeling Tools  Methodologies  Reuse in Agent Software  Future Directions

April 15, 2005Department of Computer Science, BYU(14) Methodologies  Methodologies based on agent theory  Extensions of object-oriented methodologies  Methodologies based on knowledge engineering  Hybrid methodologies

April 15, 2005Department of Computer Science, BYU(15) Methodologies Based on Agent Theory  Provides more support for agent aspects than other approaches  Lacks maturity and support outside of research labs

April 15, 2005Department of Computer Science, BYU(16) Methodologies Based on Agent Theory  Exiting methodologies  GAIA [ZJW03] Conceptualizes a multi-agent system as a society Covers only analysis and design phase  Others ROADMAP [JPS02], Tropos [GMP02], and SODA [Omi01]

April 15, 2005Department of Computer Science, BYU(17) Extensions of Object-Oriented Methodologies  Rationale  Similarities between agents and objects Both paradigms use message passing for communication Agents can be thought of as active objects  Object techniques well understood by engineers  Using these techniques accelerates agent use in industry

April 15, 2005Department of Computer Science, BYU(18) Extensions of Object-Oriented Methodologies  But these methodologies do not address many agent aspects  Mental states  Social dimensions

April 15, 2005Department of Computer Science, BYU(19) Extensions of Object-Oriented Methodologies  Existing methodologies  MaSE [WD01] Leads engineers from specification to implementation Covers many phases: capturing goals, applying use cases, …  Others PASSI [CP02] Prometheus [PW02]

April 15, 2005Department of Computer Science, BYU(20) Methodologies Based on Knowledge Engineering  Rationale  Agent knowledge can be considered as a knowledge acquisition process  Acquired experience in knowledge engineering can help expedite introducing agent technology to industry  Do not address many agent aspects  Social aspects  Reactive and proactive behaviors

April 15, 2005Department of Computer Science, BYU(21) Methodologies Based on Knowledge Engineering  MAS-CommonKADS [IMGV98]  Incorporates aspects from knowledge engineering and object technology  Covers the following phases: Conceptualization: obtaining a preliminary description of the problem Analysis: agent model, task model, expertise model … Design: design model

April 15, 2005Department of Computer Science, BYU(22) Hybrid Methodologies  General-purpose methodologies may be infeasible  Each methodology has strengths and weaknesses  Integrating strong features from different methodologies may produce a better methodology

April 15, 2005Department of Computer Science, BYU(23) Hybrid Methodologies  Two approaches  Skeleton methodology (integrates two methodologies) [JSW02] The core of skeleton has six models from both methodologies Can model systems with low agency needs Optional models are available when more agency required  Modular methodology [JSMM03] Promotes the use of more than methodology Depends on the notion of software engineering feature Add features from different methodology as needed

April 15, 2005Department of Computer Science, BYU(24) Other Approaches  A three level technique to build multi-agent systems [HGR03]  Phases: Three models: role model, agent model, and object model Meta-model for each level along with a translator to next level  A one-process model technique to build multi- agent systems [KR02]  Simplifies obtaining requirements  Relies on one model—process model

April 15, 2005Department of Computer Science, BYU(25) Outline  Software Engineering  Agents  Agent-Oriented Software Engineering  Agent Modeling Tools  Methodologies  Reuse in Agent Software  Future Directions

April 15, 2005Department of Computer Science, BYU(26) Reuse in Agent Software  Researchers have identified many patterns [Lin02,GL04] such as  Interaction patterns  Organizational Patterns  Role patterns  Each pattern is described by a schema  A collection of aspects that fully capture a software pattern

April 15, 2005Department of Computer Science, BYU(27) Outline  Software Engineering  Agents  Agent-Oriented Software Engineering  Agent Modeling Tools  Methodologies  Reuse in Agent Software  Future Directions

April 15, 2005Department of Computer Science, BYU(28) Future Directions  Openness  No good support for open systems  More specialized methodologies are required  Semantic web  Engineering semantic web services  Users (not software engineers) will design their applications Library of ready-to-use, high-level components Methodologies to guide users to configure components Generation of agents on-the-fly, as needed to perform services