Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Neural modeling fields wikipedia , lookup
Mathematical model wikipedia , lookup
Agent-based model wikipedia , lookup
Agent-based model in biology wikipedia , lookup
History of artificial intelligence wikipedia , lookup
Embodied cognitive science wikipedia , lookup
Expert system wikipedia , lookup
Logic programming wikipedia , lookup
Ecological interface design wikipedia , lookup
Model-Driven Engineering of Intelligent Agents Jacques Robin Ontologies Reasoning Components Agents Simulations Outline Model-driven engineering Model-driven software components Model-driven components for intelligent agents The ORCAS project: automated reasoning components The IATE project: agent environment product line Model-Driven Engineering Abstraction Scale Current Standard Practice: Object-Oriented Development UML + NL Requirements UML Model Source Code Virtual Machine Code Binary Code Executability Scale Model-Driven Engineering Abstraction Scale Today’s MDD: Extreme Modeling UML/OCL Requirements UML/OCL Specification PIM UML/OCL Realization PIM Profiled UML/OCL Realization PSM Source Code Virtual Machine Code Binary Code Executability Scale Model-Driven Engineering Abstraction Scale Model Refinement Patterns UML/OCL Requirements Model Translation Patterns UML/OCL Specification PIM UML/OCL Realization PIM Tomorrow’s MDD: UML Programming Profiled UML/OCL Realization PSM Source Code Virtual Machine Code Binary Code Executability Scale Model-Driven Software Components: the KobrA method Comprehensive, prescriptive methodology Coherently integrates most software reuse concepts + Aspect-Oriented Development + Built-in Component Contract Test Generator Model-Driven Software Components: the KobrA method Full Life-Cycle Components Intra and interdiagram consistency and completeness rules Recursive decomposition of components in subcomponents Realization models fully refined, code generation through pure translation Component-Based Multi-Agent Simulation Engineering Inference Engine Component Knowledge Base Generator Domain Knowledge Base Environment Simulator Component IATE Simulation Independent Domain Model Environment Characteristics’ Model Perceptions, Actions Perceptions, Actions Agent N Component Agent 1 Component Domain Knowledge Base Inference Engine Component Domain Independent Knowledge Base Inference Engine Component Inference Engine Component Inference Engine Component Domain Independent Knowledge Base ORCAS Domain Knowledge Base ORCAS motivation: why automated reasoning still so rarely used today? Too costly to develop AR services from scratch for specific applications: AR services are large, conceptually very complex software They require hard to find software engineers with strong AI background Too costly to integrate available AR software in larger systems: Rarely based on mainstream IT standards (e.g., exotic Prolog extensions) Rarely comes with adequate middleware, (e.g., only API to C) Single software rarely provides all AR services required by application Too costly to customize or extend available AR software for specific applications: Never comes with models or test suite (at best with source code) Often comes without reasoning explanation GUI Never integrated with standard CASE tool or IDE ORCAS: long-term goal and methodology Automated Reasoning: • Adaptive Constraint Handling Rules Challenging Testbed • Transaction Frame Logic Software Engineering: • Model-Driven Development • Component-Based Development • Aspect-Oriented Development Usability Extensibility • Built-in Contract Testing KobrA Method: • Customized for Automated Reasoning • Upgraded to Latest OMG Standards Reusable Reasoning Components: • w/ Full Artifact Suite: UML Requirement, Analysis and Design Models, AspectJ Code, Test Suite • For Deduction, Abduction, Induction, Belief Revision, Constraint Solving, Optimization • In Logical, Probabilistic, Decision-Theoretic Settings • w/ Object-Oriented, First-Order Rewrite Rules Automatically Generated from UML models ORCAS: 4-layer model-driven development Knowledge Level KobrA UML/OCL/QVT Model UML/OCL/QVT to CHORD Compiler Formalization Level Implementation Level CHORD Base AspectJ/Java or Aspect#/C# Source Code CHORD to AspectJ/Java or Aspect#/C# Compiler Deployment Level .Jar or DLL Component AspectJ Weaver & Java Compiler or Aspect# Weaver & C# Compiler Applies to both: Domain-dependent application knowledge base development Domain-independent inference engine development CHORD: Motivation ORCAS’s middle-tier knowledge representation formalism: Object-Oriented Rule-Based Constraint Programming Why constraint programming? Showed to subsume most other reasoning tasks: Deduction, Abduction [Abdennadher & Schutz], Belief Revision [Wolf], and Optimization [Dechter] In Logical [Abdennadher & Schutz], Probabilistic [Angelopoulos] and Decision-Theoretic [Dechter] settings Why rule-based? Rules easier to specify and revise than algorithms for non-programmers domain experts Declarative semantics in formal logic allows model checking Declarativeness allows fast prototyping (i.e., agile development) Why object-oriented? Easier compilation from object-oriented UML/OCL upper-tier Easier compilation to object-oriented Java, C# or C++ lower-tier Reuse through inheritance Integrating two versatile formal knowledge representation languages CHORD = CHRD Rules + Frame Logic Objects CHRD Constraint Handling Rules w/ Disjunction Subsumes: • • • • • • • Prolog, Deductive DB Production Systems Term Rewriting Systems Concurrent Constraint Logic Programs Truth-Maintenance Systems Abductive Logic Programs (Semantic Web) Description Logics Transaction Frame Logic Subsumes: • • • • • • • • Prolog, Deductive DB Tabled Logic Programs High-Order Logic Programs Object-Oriented Logic Programs Transactional, Relational DB Object-Oriented, Object-Relational DB Semi-Structured XML DB Semantic Web RDF DB Available Implementations: Prolog, Java Available Implementations: Logic-Based Formal Semantics • Prolog, Java, C++ Logic-Based Formal Semantics CHRD in a nutshell Knowledge representation language for theorem proving integrating term rewriting, forward chaining and backtracking Based on subset of first-order predicate logic Distinguishes between two classes of predicate symbols: Locally defined predicates (in subject CHR component) Externally defined predicates (in server CHR components) Extends CHR that was created for declarative programming of constraint solvers CHRD program: logical conjunction of rewrite rules (clauses) Two types of rules: Constraint simplification rules (logical equivalences, rewrite rules) Constraint propagation rules (logical implications, production rules) CHRD: simplification rules head guard | body l10(…,U,…) … ln0 (…,V,…) e1(…,W,…) em(…,X,…) | (p11(…,Yi,…) … p1p(…, Yj,…)) … (pk1(…,Yk,…) … pkq(…,Yl,…)) Example: min(X,Y,Z) int(Z) int(Y) int(Y) X Y | Z = X. Logical declarative semantics: …,U,…,V,…,W,…X,… (e1(…,W,…) em(…,X,…)) (l10(…,U, …) … ln0 (…,V, …) ( …,Yi,…,Yj,… p11(…,Yi,…) … p1p(…, Yj,…)) … …,Yk,… Yj,… pk1(…,Yk,…) … pkq(…,Yl,…)))) Operational semantics: If external solver component query returns true on guard then substitute constraints matching head in local constraint store with constraints in rule body modulo variable substitution Otherwise try other rules CHRD: propagation rules head guard | body l10(…,U,…) … ln0 (…,V,…) e1(…,W,…) em(…,X,…) | (p11(…,Yi,…) … p1p(…, Yj,…)) … (pk1(…,Yk,…) … pkq(…,Yl,…)) Example: min(X,Y,Z) int(Z) int(Y) int(Y) | Z X Z X. Logical declarative semantics: …,U,…,V,…,W,…X,… (e1(…,W,…) em(…,X,…)) (l10(…,U, …) … ln0 (…,V, …) ( …,Yi,…,Yj,… p11(…,Yi,…) … p1p(…, Yj,…)) … …,Yk,… Yj,… pk1(…,Yk,…) … pkq(…,Yl,…)))) Operational semantics: If external solver component query returns true on guard then add to local constraint store constraints in rule body modulo variable substitution needed to match rule head with constraints already in the store Otherwise try other rules Transaction Frame Logic: object-oriented terms Extends Prolog with object-oriented terms: Class definition (hierarchy + signature): c1::c2[..., ai *=> ti ,..., mj(tj1,...,tjk) *=>> til ,...]. e.g.: person[name => string, children(person) *=>> person]. man::person[sex -> male]. • c1 subclass of c2 • ti type of attribute ai of class c1 • til return type of method mj of c1 • tj1,...,tjk parameter types of method mj of c1 Object creation: o:c[..., ai -> vi ,..., mj(vj1,...,vjk) -> vil ,...]. e.g.: al:man[name -> “Al”, children(ann) -> dan]. • o object instance of class of c • vi value of attribute ai of o • vil return value of method mj of o when invoked with input parameter values vj1,...,vjk FLOOM: Frame Logic Object-Oriented Molecules Transaction Frame Logic: high-order OO syntax and update predicates Allows logical variable in any position: ?- person[name -> N, children(P1) *->> P2]. ?- Object:Class[Attibute -> john, Method(Parameter) *->> terry]. Allows path expressions, similar to OCL navigation expressions: ?- person.name = N, person.children(P1) = P2. Extends Prolog w/ new, backtrackable update predicates: P:person[setAge(A)] :- btdelete{P.age}, btinsert{P[age -> A]}. ORCAS: component assembly as rule base composition Aspect Java Contract Test Generator Companion Component for OBNFL Generic Java Generic Java CHRD Base CHRD Base Compiler Verifier Aspect Java Component for OBNFL: Object-Oriented Bayesian Network Full Learning Object-Oriented CHORD(BNFL) Bayesian Network Rule Bases Full Learning: Aspect J CHRD Structure & CHORD(BILP) CHORD(BNPL) Parameters Rule Bases Rule Bases CHORD(BNI) Reasoning Explanation GUI Rule Bases CHORD(RLEI) Rule Bases CHRD(OO(FL)) Rule Base ORCAS: partnerships CT-Info CNPq Partners Profa. Patrícia Tedesco, CIn-UFPE Prof. Luis Menezes, UPE Prof. Jones Albuquerque, UFRPE Focus Application case studies to intelligent agent tutoring system (intersection with IATE), and marine ecology simulation (Simulare project) ORCAS: partnerships CT-Info FINEP Partners Profa. Patrícia Machado, Prof. Jorge Figuereido, Prof. Franklin Ramalho, DSC-UFCG Prof. Luis Menezes, UPE Jynx Playware (soccer and business simulation game company) CESAR Focus Generation of built-in contract testing components from functional component Automated generation of Transaction Frame Logic programs from UML and OCL models (as a preliminary step towards generation of CHORD programs) Application case studies to simulation games ORCAS: partnerships CAPES/DAAD PROBRAL Partners: Prof. Silvio Meira, CIn-UFPE Prof. Luis Menezes, UPE Prof. Thom Frühwirth and PhD. student Marc Meister, Ulm Universität Prof. Colin Atkinson and PhD. student Matthias Guthiel, Mannheim Universität Dr. Armin Wolf, Fraunhofer Gesellschaft Institute FIRST, Berlin Focus Design of CHORD (syntax and formal semantics) Upgrade of KobrA process to latest OMG standards (UML2, OCL2, MOF2) Extension of KobrA process to specify GUIs Adaptation and extension of KobrA process for ORCAS components CASE tool for KobrA with model checking facilities First adaptive implementation of CHRD engine (compiled to Aspect J) Application case study on cost-saving surgery scheduling and allocation in large hospital ORCAS: current status and next steps Direct collaborators: PhD. candidate Jairson Vitorino, CIn-UFPE Undergraduate research assistant Marcos Aurelio Silva, CIn-UFPE Prof. Luis Menezes, UPE Current status: KobrA model of preliminary, non-adaptive CHRD engine version Aspect J / Java implementation of the model Reasoning trace implemented as aspect First implementation as compiler to Java Novel, more efficient operational semantics Next steps: Improve reasoning trace GUI Switch from chronological backtracking to conflict-directed backjumping for disjunctive rule and finite domain labeling search IATE: Goals Build an extensible, fully parametric, multi-agent environment that can serve as reusable kernel for: Multi-Agent System (MAS) and Artificial Intelligence (AI) tutoring environments; MAS and AI controlled experiments environments; MAS and AI based team ball sport computer games. The environment: Simulates a single base domain, a futuristic fusion team ball sport (rollerslam) In all its possible variations in terms of: observability, determinism, dynamicity, physics modeling granularity, agent communication, as well as the size and diversity of agent action, agent perception, object and location sets. Evaluate and extend MDA PIM transformation techniques to automatically generate product line of such environment Motivation: AI and MAS teaching MAS Environment Internal Agent Architecture Observable environment Reflex agent Deterministic environment Past environment model agent Continuous environment Goal agent Utility agent Real-time environment Future environment model agent Relational environment Learning agent Cooperative environment Knowledge Representation Ontological commitment Epistemological commitment Variable domains Reasoning Paradigm Deduction Belief revision Abduction Inheritance Constraint solving Analogy Induction Motivation: AI and MAS education Didactic value of single domain illustrative example problems in multiple versions at progressive sophistication levels Most existing problems: Fixed characteristics relevant to illustrate only a few techniques Examples: Partially observable Discrete Deterministic Sequential Mono-agent Ontologically poor Partially observable Continous Non-deterministic Real-Time Multi-agent Ontologically poor IATE Motivation: AI and MAS experiments and competitions Fully parametric environment ideal benchmark generator to: Compare architectures, reasoning paradigms and knowledge representation languages Pin-point which environment characteristics requires switching technique What are the scalability phase transitions Current competitions: Planning: restricted to very narrow technique and problem sets RoboCup: comparing “Cadillacs vs. Dinosaurs”, everything all at once, no general scientific insight IATE current status and next steps Direct collaborators: PhD. candidate Fábio Moura, CIn-UFPE New undergraduate research assistant Current status: Preliminary versions of: MAS environment MOF metamodel and UML Profile Simplest rollerslam simulation UML model (instance of metamodel) Next steps: More complex rollerslam simulation UML models Environment characteristics’ UML models Simulation independent rollerslam UML model Transformation rules to generate: Simplest and more complex rollerslam simulation models from simulation independent rollerslam models and environment characteristics’ model Repeat iteration for soccer simulations MAS Environment Meta-model and UML Profile