Agent Modeling Language: An Overview

advertisement
Agent Modeling Language:
An Overview
Wendell Véras
Vinícius Remígio
Jacques Robin
Ontologies
Reasoning
Components
Agents
Simulations
Outline
1. Requirements of a MAS modeling language (chapter 3)
2. Package structure and link with UML2 and OCL2






Relation to UML2 metamodel (section 4.5)
AML metamodel package structure (chapter 9)
AML extension of UML notation (chapter 8)
AML extension of UML metamodel (chapter 15)
AML diagrams (chapter 16)
AML extension of OCL metamodel (chapter 17)
3. MAS, entities and semi-entities (sections 5.1-2)
4. Modeling mechanisms (chapter 6)
 Class vs. instance
 Abstract vs. concrete entity types
 Autonomy
5. Structural aspects (sections 5.3, 6.1-2)
6. Social aspects (section 5.4, 6.3, 6.6)
7. Deployments (section 5.5, 6.4)
8. Behaviors (section 5.6, 6.5)
9. Mental aspects (section 5.7, 6.7)
10. Ontologies (section 5.8, 6.8)
Sugestão: Wendell 5-10, Vinícius 1-4
Requirements of a MAS modelling
language
 Theorically sound:
 best practices from AOSE and OOSE domains
 Well specified and documented:
 Detailed and comprehenseive specification of its syntax, semantics and use
 Comprehensive
 Enables to create complex models of systems
 Consistent
 Conceptual, semantic and syntatic perspectives
 Easy to use
 Modelling constructs are easy to learn and apply
 Extensible
 Allows to specialize and extend the provided modelling means
 Generic
 Independent of any particular thory, process or technology
 Automatable
 CASE tools support
Requirements of a MAS modelling
language
 Challenges
Satisfy all those quality criteria
None of the existing agent-oriented modelling languages are able to
satisfy them
 Quality criteria specified are generics
Used as general rules for designing any software modeling/ specification
language
Evaluation criteria to other modeling/specification language
AML Architecture
 Based on UML 2.0 Superstructure!!!
KobrA2 Metamodel and Profile are also based on UML2 superstructure
An integration can be easily provided
 Advantages of AML
Reuse well-defined
Mechanisms for specifying and extending UML-based languages
 (metamodel and UML profiles)
Ease of incorporation into existing UML—based CASE tools
AML Architecture
 UML level
 UML2 Superstructure defines
abstract syntax, semantics
 Used to define MAS-specific
modeling constructs
 AML metamodel and notation
 Defines AML syntax, semantics
and notation
 AML Kernel
 Core of AML
 Specific modeling elements are
defined
 UML extension for AML
 Adds meta-properties and
structural constraints to the
standard UML elements
 AML Profile
 Define own language extensions
to customize AML for specific
modeling elements
AML metamodel package structure
AML Entities and Semi-entities
 Multi-agent System
 Composed by several agents
 Mutual interactions
 AML MAS consists in Agents and other entity types (environments and resources
AML Entities and Semi-entities
 Entities
 Entity types interconnected such as named agents, environments and resources
 Represented by concrete classes in MAS conceptual metamodel
 Categorized according their specific characteristics into several categories
expressed by abstract classes used as superclasses
 Semi-Entities
 Abstract metamodelling concepts
 Defines features specific to a particular entity, however does not represent an
entity
 Entities inherit features from semi-entities
AML Entities and Semi-entities
 AML conceptual metamodel of MAS defines:
 Structural semi-entity
 Capability of entity to have attributes
 To be decomposed and to be linked into other structural semi-entities
 Socialized semi-entity
 Represents the capability of an entity to form societies and social relationships
 Behaviored semi-entity





Ability to own capabilities
Interact with other behaviored semi-entities
Provide and use services
Observe and effect their environment
To be decomposed into behavior fragments
 Mental semi-entity
 Capability to possess mental attitudes
 Objectives, needs, motivations, desires, believes
AML Entities and Semi-entities
 Entity
 Represent independent object
 Can be hosted by agent execution environments
 Behavioral entity
 Represents entities having features of behaviored semi-entities and socialized semi-entities
 Autonomous entity
 Self-contained entities capable of autonomous behavior in their environment
 Resource
 Physical or an informational entity within the system
 Available and usable
 Agent
 Specialized autonomous entity
 Autonomy: control over its own state aand behavior
 Proactive, reactive
 Ability to interact: interact with its environment
 Perceptions, effecting actions
 Environment




Collection of entities which provides conditions to exist and function
Aspects of world
Principles (laws, rules, constraints, policies, services...)
Their properties can change over time
Extentions to Standard UML Notations
 Presentation options for some UML elements
 Provides more intuitive and comprehensive notation
Extentions to Standard UML Notations
 Stereotype classifier
Components
 Component is a UML
CompositeStructure
 Can Provide and/or require
Interface(s)
 Can be composed by
ComponentRealization
Extentions to Standard UML Notations
 Stereotype classifier
Classes
 Class diagram of Kernel Package
Extentions to Standard UML Notations
 Stereotype classifier
Interface
Contents of Interface package
Extentions to Standard UML Notations
 ConnectableElement with stereotyped type
 Abstract metaclass representing a set of instance that plays roles of a classifier
 A ConnectableElement Company is an
accountOwner in a ConnectableElement
Bank
Extentions to Standard UML Notations
 Connector with a stereotyped type
 Specifies a link that connects two or more instances
 Link can be an instance of Association
 Connectors Diagrams
Extentions to Standard UML Notations
 Lifeline with a stereotyped type
Extentions to Standard UML Notations
 Composed lifelines in communication diagrams
 Lifelines that represents owned attributes of a StructuredClassifier can be
nested within Lifeline
Extentions to Standard UML Notations
 ObjectNode with a stereotyped type
 ObjectNode is an abstract activity
 Indicates an instance of a particular classifier, in a parcicular state, available at a particular
point activity
 Presentation option can be applied to
all ObjectNode subclasses
 EliminateIntruder is an Activity
having an ActivityParameterNode
Extentions to Standard UML Notations
 Bi-directional dependencies
 opposite Dependencies of the same kind connect two Named-Elements
 (a) UML Notation (b) Simplified Notation
Extentions to Standard UML Notations
 Internal structure of Connectable elements
UML extension for AML
 Adds meta-properties defined in AML kernel package to UML 2.0
Superstructure metaclass
 Optional part of language
UML extension for AML
 Extended Actor









Specialized AutonomousEntityType
Own MentalProperties
Capabilities
be decomposed into BehaviorFragments,
provide and/or use service
observe and/or effect its environment
play entity roles
participate in social relationships
specify values of the meta-attributes defined by the Socialized-SemiEntityType
UML extension for AML
 Extended BehavioralFeature
Can also specify meta-associations: pre-conditions, post-conditions,
inputs and outputs
 AgentType SoccerRobot and its action shoot() with some
constraints
UML extension for AML
 Extended Behavior
Can also specify meta-associations: pre-conditions, post-conditions,
inputs and outputs
 Activity SubstitutionAlgorithm can specify pre- and post-conditions
Diagrams
 Diagram frames
 AML extends UML2 notation
 Alternative syntax of the heading of diagram
 List of template parameters for diagram frames which represent
templates




Kind is the type
Owner is the name of namespace enclosing
Diagram name: the name of diagram (¬¬)
Property-string specifies the tagged name of namespace enclosing
Diagrams
 AML extends UML2 diagram frame kinds
Diagrams
 TemplateParameters
 AML frames representing the templates can specify the list of
TemplateParameters is placed in a dashed retangle
 Subsets can be depicted in the form of stereotyped lists, or placed into
separate compartments
Diagrams
 AML extends the set of diagram types defined by UML with the
following diagram types
 Mental Diagram:
 Used to capture mental attitudes of mental semientities (goals, plans, beliefs and MentalRelationships)
 Goal-based requirements diagram
 Contains specification of the system stakeholder’s
mental attitudes
 Society diagram
 Capture the global view of MAS’ architecture
 Entity diagram
 Capture details of the internal structure of an
EntityType
 Service diagram
 Shows a specification of a service
 Ontology diagram
 Shows a specification of an ontology
Diagrams (cont.)
 AML extends the set of diagram types defined by UML with the
following diagram types
 Behavior Decomposition Diagram
 Shows BehaviorFramgments, owned Capabilities and
their mutual Relationships
 Protocol Sequence diagram
 Specification of an InterationProtocol in the form of a
Sequence Diagram
 Protocol Communication diagram
 Specification of an InterationProtocol in th form of
Communication diagram
 Service Protocol Sequence diagram
 Specification of an ServiceProtocol in th form of
Sequence diagram
 Service Protocol Communication diagram
 Specification of an ServiceProtocol in th form of
Communication diagram
 MAS Deployment diagram
 Deployment of MAS to a physical environment and
structural aspects of mobility
Extension of OCL
 AML defines set of operations to extend OCL to include expressions
belonging:




Modal Logic
Deontic Logic
Temporal Logic
Dynamic Logic
Extension of OCL
 Dynamic Logic (cont.)
 Epistemic Logic
Extension of OCL
 BDI Logic
 Other operators
Agent Modeling Language:
An Overview
Wendell Véras
Vinícius Remígio
Jacques Robin
Ontologies
Reasoning
Components
Agents
Simulations
Download