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