Active
260 likes | 793 Vues
Active. Active, a platform for building intelligent software Dr. Charles Baur (EPFL) Adam Cheyer (SRI International) Didier Guzzoni (EPFL). Presentation Plan. Introduction Problem space Active proposition Active Framework Active Ontologies Implementation Methodologies Applications
Active
E N D
Presentation Transcript
Active Active, a platform for building intelligent software Dr. Charles Baur (EPFL) Adam Cheyer (SRI International) Didier Guzzoni (EPFL) Active
Presentation Plan • Introduction • Problem space • Active proposition • Active Framework • Active Ontologies • Implementation • Methodologies • Applications • Conclusion Active Introduction
Motivation • Our information environment is rich and complex • Ubiquitous access to a wealth of data and services • Software and hardware industry constant innovations • UIs have not changed: Simple click-and-do approach not enough • Need for computer assistants • Interact naturally with humans • Can be delegated complex tasks • Observe, understand, anticipate and act Active Introduction
Intelligent Systems Understand Anticipate Resolve Interpret Plan action Observe Act Effectuate Communicate Listen Vision Sense Intelligent Systems : Naturally collaborates with human users to deliver services and contents through adaptable, efficient, multimodal user interfaces. Active Introduction
Difficult Task • Requires numerous AI techniques • Language processing • Plan execution • Dynamic service brokering (MAS) • Implementation is difficult • HCI components (speech recognition, vision, robotics) • Large teams of specialists • Different programming languages and platforms • Testing, debugging and maintenance is difficult • Performance is likely to be affected Lack of an integrated tool and methodology to easily and effectively build intelligent systems Active Introduction
Goal of Active • Provide programmers with an integrated framework and a methodology to build complex AI-based systems • Capable of encapsulating AI techniques • Language processing, plan execution and agent type techniques • Programmer friendly • Small teams • Based on popular programming languages (Java/Javascript) • Offers an IDE (code, test, debug and deploy) • Open and standard compliant • SOA-based (SOAP, REST, RMI) • Deployment (Java, J2EE) Active Active Framework
Basic Concept : Active Ontologies • Ontology : A data structure • Formal representation for domain knowledge • Classes, attributes, relations P movie P genre P actor P rating • Active Ontology : A processing environment • Processing elements arranged according to ontology notions • Communication channels Active Active Framework
rule set rule rule rule condition condition condition action action action Active Ontology : Processing • Production Rule System • Rules Sets • Rules (Conditions, actions) • Data store (facts) • Current state of the system • Evaluation Engine • Evaluation passes • Active Innovations • Organizing rules around Ontologies helps design and debug • Developer friendly rule language. Enhanced Java/Javascript with unification P movie Active Active Framework
Active Application Design • One or more Active Ontologies • Hosted on Active runtime • Typically : • Language processing • Plan execution • Dynamic service brokering • Service oriented (SOA) • Loosely coupled • Sensors (user interfaces, speech recognition, vision) • Actuators (robots, user interfaces) • Reusable • Dynamically swapped Active runtime services Active Active Framework
Active Ontology Active Ontology Active Ontology Active Ontology Implementation Active Editor • Active Server • Hosts Active Ontologies • Maintains a fact store • Runs evaluation engine • Extensions • Active Editor • IDE • Code, deploy, test • Pluggins • Active Console • Manages Active Server Active Server deploy Facts store debug Evaluation Engine monitor Active Console Active Implementation
Active Server • Runs and hosts Active Ontologies • Evaluation Engine • Fact Store • Implementation • Java application/J2EE webapp • SOAP / RMI interface • Rule language is Java/JavaScript enhanced by unification • Extensions • Encapsulate pre-compiled complex operations Active Server Active Ontologies Evaluation Engine Fact store Extensions SOAP/RMI interface services Active Implementation
Active Editor • IDE • Graphical editing of ontologies • Specialized concept and rule editors • Active ontology definition files saved locally (XML) • Active Server Connection • Deploy/undeploy edited ontologies • Integrated test/debug • Plugins • Automatically creates concepts and rules based on interactive wizards Active Implementation
Active Console • Management tool • Monitor and configure deployed Active Ontologies • SOAP/RMI interface • Query (read) panel • Construct complex queries to Active Server • Tabular result sets • Store (write) panel • Stimulates Active Ontologies by sending events to the server Active Implementation
Active Methodologies • Language Processing • Chart Parsing • Event based • Agent techniques • Delegated computing • Dynamic service selection • Plan execution • Process Execution Engine • Reactive Planning Active Methodologies
Language Processing : Grammar-Based • Grammar-based • Grammar based • Chart parsing • Advantages • Formal parsing (Mathematical expressions) • Deterministic • Disadvantages • Not flexible • Not robust to missing words • Not well suited for non-reliable input modalities (Speech recognition) Active Methodologies
Language Processing : Domain-Based “find action movies in San Francisco” • Implementation • Bottom Up • Leaves : Word set, regex • Nodes : Gather, Select • Context • Kept among utterances • Errors, Suggestions • Advantages • Robust to syntax • Ports well to different languages • Wizards • Easy modifications “nearby Chinese restaurants” Active Methodologies
Activity/Dialog Modeling • Modeling • Dialogs, Activities, Behaviors • Full-featured workflow management • State / Transitions • Flow instances, Instance space • Basic flow constructs • Start, End • Wait, Switch (branching) • Parallel, sequences • Active Implementation • Set of plugins (Editor Wizards) • Extension (Java/JavaScript) to access flow variables Active Methodologies
Dynamic Service Brokering • Delegated Computing • What instead of how or who • Service Registry • Service categories cross-ontology references • Service instances (providers) • Broker • Parallel, Sequential, Broadcast • Third-party meta-agents • Active Implementation • Specialized Active Ontology • Server Extension, IDE Wizards Active Methodologies
Prototypes / Demonstration • Information Retrieval Assistant • Meeting Organizer Assistant • Operating Room Assistant Active Prototypes
Active Server Language Processing Plan Execution Delegation Extensions Email SOAP City Information gmail SMTP/POP server Yahoo! Local Google Movies Opentable Information Retrieval Assistant Active Prototypes
gmail calendar gmail SMTP/POP server Meeting Organizer Assistant Active Server Language Processing Plan Execution Delegation Extensions IM SOAP Email Active Prototypes
Speech Recognizer Patient vital signs probes Context History Mouse 3D Hand/Head Tracker Gesture Recognizer User Interface Text to Speech Operating Room Assistant Language Processing Plan Execution Powered Endoscope Actions through Delegation Active Prototypes
Active Advantages • One platform to learn for programmers • Can build all three tiers of applications in Active • One language and tool to learn • Easier to debug, test and deploy • AI Encapsulation-Lowering the bar • Methodologies encapsulated as Active Wizards and Extensions • NLP, process execution, service brokering • Componentized reusable sensors and actuators • TTS, Speech, Gesture recognizers, vision systems • Open and Standard-based • SOA design • Ease of integration through SOAP and REST • Reuse of existing components in multiple applications Conclusion Active
Ongoing Work • Research Topics • Combine activity recognition with process execution • Implement and evaluate BDI-like behaviors with Active (goal and intention stack) • Active implementation and features • Scalability • Performance optimizations • Lightweight embedded Active Server • User Evaluations • Put some of our systems on-line • Measure feedback from surgeons (Intelligent Operating Room) Conclusion Active
Thank You ! • Questions ? • Suggestions ? • Remarks ? Conclusion Active