TIES-423 (TLI363) – Agent Technologies in Mobile Environment former name: TLI371 – Distributed Artificial Intelligence in Mobile Environment Course Introduction Vagan Terziyan Department of Mathematical Information Technology University of Jyvaskyla vagan@it.jyu.fi ; terziyan@yahoo.com http://www.cs.jyu.fi/ai/vagan +358 14 260-4618 Contents Course Introduction Lectures and Links Course Assignment Course Exercise 2 Practical Information 12 Lectures (2 x 45 minutes each, in English) during period 12 March - 24 April according to schedule: 8 lectures by Vagan Terziyan – theory; 4 lectures by Artem Katasonov – theory and practice; 4 Laboratory works in computer class (2 x 45 minutes each, in English) during period 7 May - 15 May according to schedule, by Artem Katasonov; Slides for lectures: available online; Assignment. Based on the theoretical part of the course. Make PowerPoint presentation based on a research paper); Group Exercise. Based on the practical part of the course and related to design of a multi-agent system with SmartResource Platform (a tool on the top of JADE); Exercise and assignment should be available for review until 31 May (24:00); Exam: There will be no exam. Course grade will be given based on the exercise and assignment quality. 3 Lectures Topics and Schedule (1) 12 March 2007 – Course Introduction (today) Lecture 1 - ”Agent Technologies in Mobile Environment: Course Introduction” 13 March 2007 – Overview of Intelligent Agents Lecture 2 - ”What is an Intelligent Agent ?” Ag. C134.1 19 March 2007 – Overview of (Multi)Agent Technologies - I Lecture 3 - ”Agent Technologies - I” 20 March 2007 – Overview of (Multi)Agent Technologies - II Lecture 4 - ”Agent Technologies - II” Ag. Auditorio 2 26 March 2007 – Agent Intelligence – I Lecture 5 - ” Agent Logic, Reasoning and Planning” 27 March 2007 – Agent Intelligence – II Lecture 6 - ” Agent Learning and Knowledge Discovery” 2 April 2007 – Industrial Applications of Agent Technology - I Lecture 7 - ”SmartResource: Agent-Based Self-Managed Web Resources - I” 3 April 2007 – Industrial Applications of Agent Technology - II Ag. C233.1 Lecture 8 - ”SmartResource: Agent-Based Self-Managed Web Resources - II” Monday lectures: 12:15 – 13:55; Break: 13:00 – 13:10; Place: Agora Alfa Tuesday lectures: 10:15 – 11:55; Break: 11:00 – 11:10; Place: Agora Alfa 4 Lectures Topics and Schedule (2) 16 April 2007 – Agents as a Novel Software Engineering Paradigm Lecture 9 - ” Agent-Oriented Software Engineering” 17 April 2007 – Agent Platforms Lecture 10 - ”Agent Standards and Platforms” 23 April 2007 – Introduction to JADE Programming Lecture 11 - ”Introduction to JADE” 24 April 2007 – Development with SmartResource Platform Lecture 12 - ”SmartResource Platform” 7 May 2007 – Agent Design Lab - I Lab. work 1 - ”Getting started with JADE” 8 May 2007 – Agent Design Lab - II Lab. work 2 - ”Development for SmartResource I” 14 May 2007 – Agent Design Lab - III Place: Computer Class Lab. work 3 - ” Development for SmartResource II” 15 May 2007 – Agent Design Lab - IV Lab. work 4 - ” Development for SmartResource III” Monday lectures: 12:15 – 13:55; Break: 13:00 – 13:10; Place: Agora Alfa Tuesday lectures: 10:15 – 11:55; Break: 11:00 – 11:10; Place: Agora Alfa 5 Course Motivation • • • Growing complexity of computer systems and networks used in industry need for new approaches to manage and control them IBM vision: Autonomic computing – Self-Management (includes self-configuration, self-optimization, self-protection, self-healing) Ubiquitous computing, “Internet of Things” huge numbers of heterogeneous devices are interconnected • “nightmare of pervasive computing” when almost impossible to centrally manage the complexity of interactions, neither even to anticipate and design it. • We believe that self-manageability of a complex system requires its components to be autonomous themselves, i.e. be realised as agents. • Agent-based approach to SE is also considered to be facilitating the design of complex systems 6 INTEL: Proactive Computing Concept (1) Intel Research initiated work on Proactive Computing (beginning 2001) - working towards environments in which networked computers proactively anticipate our needs and, sometimes, take action on our behalf. Intel identified three steps that are essential to making proactive computing a reality: The first is getting physical — connecting billions of computing devices directly to the physical world around them so that human beings are no longer their principal I/O devices. The next step is getting real — having computers running in real time or even ahead of real time, anticipating human needs rather than simply responding to them; The third step is getting out — extending the role of computers from the office and home into the world around us and into new application domains. 7 INTEL: Proactive Computing Concept (2) Proactive system design is guided by seven underlying principles: “Intel Research is exploring computing futures that overlap autonomic computing but also explore new application domains that require principles we call proactive computing, enabling the transition from today’s interactive systems to proactive environments that anticipate our needs and act on our behalf.” (R. Want, T. Pering, D. Tennenhouse, Comparing Autonomic and Proactive Computing, IBM Systems Journal, Vol 42, No 1, 2003) • connecting with the physical world, • deep networking, • macro-processing, • dealing with uncertainty, • anticipation, • closing the control loop, • making systems personal. 8 IBM: Autonomic Computing (1) The computing domain is now a vast and diverse matrix of complex software, hardware and services. By 2020 we expect billions of devices and trillions of software processes, with a lot of data. And it's not just a matter of numbers. It's the complexity of these systems and the way they work together that is creating a shortage of skilled IT workers to manage all of the systems. It's a problem that's not going away, but will grow exponentially, just as our dependence on technology has. Autonomic Computing is about how to enable computing systems to operate in a fully autonomous manner. No administration, just simple high-level policy statements. Autonomic Computing is an approach to self-managed computing systems with a minimum of human interference. The term derives from the body's autonomic nervous system, which controls key functions without conscious awareness or involvement. 9 IBM: Autonomic Computing (2) 10 IBM: Service-Oriented Architecture (1) Message from the Vice President, IBM Asset and Integration Technology, Software Group “As we regard the advances that have moved us into the 21st century, we observe that information technology (IT) seems to repurpose itself almost every year. Like the invention of transistors … the new service-oriented thinking and its application to IT known as service-oriented architecture (SOA) distinguishes itself as a paradigm change. Seen in the context of an entirely new service-oriented “business ecosystem,” SOA could be one of the most significant technological advances, enabling the IBM corporate strategy of business on demand...” “Business processes must be decomposed, services must be created, and the supporting machinery must be implemented, so that the business ecosystem can run effectively, efficiently, and manageably.” “IBM has found that businesses which made the transition to service-oriented enterprises have shown significant savings in maintenance, personnel, and software and hardware costs. This transition starts with the use of the Component Business Model (CBM) … and continues with the application of Service Oriented Modeling and Architecture (SOMA)...” 11 IBM: Service-Oriented Architecture (2) In the current business environment in which companies are under increasing pressure not only to increase revenue but also to respond quickly to changing market conditions, companies will be successful only if they transform themselves and become on demand businesses. Needed transformation changes include componentization and serviceorientation. Componentization enables a business to operate in a value net, a network of partnerships with customers and suppliers supported by realtime information flows and information technology systems. Service-orientation is needed to achieve seamless integration of business components. Recent IBM activities and experiences in this area prove high business value for these challenges. L. Cherbakov, G. Galambos, R. Harishankar, S. Kalyana, and G. Rackham, Impact of service orientation at the business level, In: Service-Oriented Architecture, IBM Systems Journal , Volume 44, Number 4, December 2005. 12 TAPAS The “Theatre” metaphor Theatre: A metaphor for concepts and functionality definition. Repertoire: The set of Plays that may be performed at the theatre. Play: Defines a set of logically related functionality. Director role figure: The manager of plays, and supervisor for application role figures, constituted by an actor . Application role figures : The performers of plays. Constituted by actors playing roles. Capability: A unique set of properties of an actor at the stage where he is playing. Role session: A dialogue between two role figures. Actors Manuscript: The assigned behavior, i.e. the defined role of a role figure, constituted by an an actor. 13 Norwegian University of Science and Technology, Trondheim Google: Excellent content and context provider for Web applications Google Maps, Google Earth, Wikimapia, GMail, Blogger, etc. 14 Two alternative trends of Web development Machines, devices, software, etc Human Communities Facilitates Human-to-Human interaction Facilitates Machineto-Machine interaction 15 What is Wiki Wiki is the simplest online database that could possibly work. Wiki is a piece of server software that allows users to freely create and edit Web page content using any Web browser. Wiki supports hyperlinks and has a simple text syntax for creating new pages and crosslinks between internal pages on the fly. Wiki is unique among other group communication mechanisms because it allows editing the organization of content in addition to the content itself. Wiki encourages democratic use of the Web by promoting content composition by non-technical users. 16 Sample of Wiki Web page Collaborative editing window 17 Wikipedia 18 Web 2.0 Community Portal 19 Motivation for Semantic Web Semantic Web Structure Before Semantic Web Semantic Annotations Ontologies Logical Support Languages Tools Applications / Services Semantic Web WWW and Beyond Creators Users WWW and Beyond Web content 7 Creators Users Web content 20 8 Semantic Web: New “Users” Semantic Web and Beyond Users Creators applications Semantic Web content agents Semantic Annotations Ontologies Logical Support Languages Tools Applications / Services Semantic Web WWW and Beyond Creators Users Web content 21 Semantic Web: Resource Integration Semantic annotation Shared ontology Web resources / services / DBs / etc. 22 Semantic Web: which resources to annotate ? This is just a small part of Semantic Web concern !!! Technological and business processes External world resources Web resources / services / DBs / etc. Semantic annotation Shared ontology Multimedia resources Web users (profiles, preferences) Web access devices and communication networks Smart machines, devices, homes, etc. Web agents / applications / software 23 components GUN Concept GUN – Global Understanding eNvironment GUN = Global Environment + Global Understanding = Proactive Self-Managed Semantic Web of Things = (we believe) = “Killer Application” for Semantic Web Technology 24 GUN and Ubiquitous Society GUN can be considered as a kind of Ubiquitous EcoSystem for Ubiquitous Society – the world in which people and other intelligent entities (ubiquitous devices, agents, etc) “live” together and have equal opportunities (specified by policies) in mutual understanding, mutual service provisioning and mutual usability. Human-to-Human Human-to-Machine Machine-to-Human Machine-to-Machine Agent-to-Agent 25 Core technologies for GUN Interoperability, Automation and Integration Reusable semantic history blogs Reusable semantic behavior patterns and process descriptions Reusable coordination, design, integration and composition patterns Reusable decision-making patterns Reusable interface patterns Reusable security and privacy policies Proactivity Autonomic behavior Communication, coordination, negotiation, contracting Self-Configuration and Self-Management Learning based-on liveblog histories; Data Mining and knowledge discovery; Dynamic integration; Diagnostics and prediction; Model exchange and sharing 26 GUN-GERI-UBIWARE-SmartResource ? http://www.cs.jyu.fi/ai/OntoGroup/projects.htm GUN (Global Understanding Environment) – Proactive Self-Managed Semantic Web of Things - general concept and final destination GERI (Global Enterprise Resource Integration) – GUN subset related to industrial domains UBIWARE – middleware for GERI 27 SmartResource – semantic technology, pilot tools and standards for UBIWARE SmartResource in the IOG Web Site 28 One of Smart Resource Scenarios “Knowledge Transfer from Expert to Service” Agent plays roles: “Expert” Scene 1: “diagnostic expert”; Scene 2: “no play”; Scene 3: “no play” Agent plays roles: Scene 1: “no play”; Scene 2: “student”; Scene 3: “diagnostic expert” “Device” Labelled data Labelled data “Service” History data Agent plays roles: Diagnostic model Scene 1: “patient”; Scene 2: “teacher”; Scene 3: “patient” 29 Agent-driven EAI (1) operator field crew expert consumers owner manager administration 30 Agent-driven EAI (2) Sensors and alarm detectors Resource info Operators Experts Software and services AI tools (Knowledge Discovery) Maintenance workers Other users 31 Agents in mobile environment Mobile Customer Mobile Customer Agent (Peer) Mobile Customer Agent (Peer) Agent (Peer) Agent (Peer) Mobile Customer 32 Agent-driven EAI in mobile environment Call center field crew Expert/specialist customers manager administration 33 Agent-driven integration in mobile environment Zone 1 Operating on 3G WWAN Zone 2 3G WWAN Wakeup Wi-Fi Wi-Fi Link Going Down. Connect to Wi-Fi Continue session on Wi-Fi Airport Zone 6 Radio State 3G WWAN Continue session on 3G WWAN Home Battery level low Shutdown WiMAX Switch to 3G WWAN Operator initiated switch to WiMAX Continue session on WiMAX Shutdown Wi-Fi Zone 7 Plug into power jack Wakeup Wi-Fi Continue over Wi-Fi Zone 5 Zone 4 Zone 3 WiMAX Zone 8 WiMAX Wi-Fi WiMAX GPS Zone 9 IEEE 802.21, SIP, VCC, IMS, for Network Selection and Service VCC, SIP, for Call Continuity WWAN Wi-Fi) 802.21, SIP,IMS IMS IEEE for 802.21 Service forContinuity Network (3G Discovery (Wi-Fi WiMAX) Continuity across multiple radios (3G WWAN Wi-Fi WiMAX)34 Agent-driven peer-to-peer environments JADE-LEAP Agent Platform is extension to JADE (special container within JADE) Target devices Mikko Laukkanen Java MIDP-capable phones PDA devices Smallest available platform in terms of footprint size Proprietary device-initiated and socket based communication channel with main container Developed within LEAP project Open-source 35 Agent-Driven EAI (Human-Centric) 2 Online Monitoring Sensing Testing Diagnostics Treatment 4 3 1 36 Word-Wide Correlated Activities Semantic Web Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation Agentcities is a global, collaborative effort to construct an open network of on-line systems hosting diverse agent based services. Agentcities Grid Computing Wide-area distributed computing, or "grid” technologies, provide the foundation to a number of large-scale efforts utilizing the global Internet to build distributed computing and communications infrastructures. Web Services WWW is more and more used for application to application communication. The programmatic interfaces made available are referred to as Web services. The goal of the Web Services Activity is to develop a set of technologies in order to bring Web services to their full potential FIPA FIPA is a non-profit organisation aimed at producing standards for the interoperation of heterogeneous software agents. 37 Package of courses Java programming, AI basics TIES429: Semantic Web and Web Services (same as TLI364) former name: TLI372 – Intelligent Information Integration in Mobile Environment Course Introduction Vagan Terziyan Department of Mathematical Information Technology, University of Jyvaskyla vagan@it.jyu.fi ; terziyan@yahoo.com http://www.cs.jyu.fi/ai/vagan +358 14 260-4618 Spring Fall Design of distributed, self-descriptive, autonomous, proactive, self-managed, interoperable, intelligent systems, applications and services 38 ATME Course: Lectures 39 Lecture 1: This Lecture - ATME Introduction http://www.cs.jyu.fi/ai/vagan/ATME_Introduction.ppt 40 Lecture 2: What is an Intelligent Agent ? Ability to Exist to be Autonomous, Reactive, Goal-Oriented, etc. What is an Intelligent Agent ? - are the basic abilities of an Intelligent Agent Based on Tutorials: Monique Calisti, Roope Raisamo http://www.cs.jyu.fi/ai/vagan/Agents.ppt 41 Lectures 3-4: Agent Technologies (Mobility, Communication, Coordination, Negotiation) Mobility and Flexibility, Abilities to Communicate, Cooperate, and Negotiate with other Agents - are among the basic abilities of an Intelligent Agent Agent Technologies Based on tutorials: Monique Calisti, Amund Tveit, Shaw Green, Leon Hurst, Brenda Nangle, Pádraig Cunningham, Fergal Somers, Richard Evans 2 1 http://www.cs.jyu.fi/ai/vagan/Agent_Technologies.ppt 42 Lectures 5-6: Agent Intelligence (Internal Logic, Reasoning, Planning, Learning, Knowledge Discovery) http://www.cs.jyu.fi/ai/vagan/Agent_Intelligence.ppt 43 Lectures 7-8: Industrial Applications of Agent Technology: SmartResource - Agent-Based Self-Managed Web Resources http://www.cs.jyu.fi/ai/vagan/SmartResource_Summary.ppt 44 Lecture 9: Agents as a Novel Software Engineering Paradigm • Agents as a novel Software Engineering paradigm • Benefits • Agent platforms and agent programming languages (APL) • Potential effect on problem analysis and requirements processes This and following lectures are by Artem Katasonov http://people.cc.jyu.fi/~akataso/ties423/Lecture9.pdf 45 Lecture 10: Agent Platforms • FIPA (IEEE) architecture • Existing platforms: • JADE • Cougaar • AgentFactory • 3APL • Jason (AgentSpeak APL) • SmartResource Platform http://people.cc.jyu.fi/~akataso/ties423/Lecture10.pdf 46 Lecture 11: Introduction to JADE • Architecture • System agents and their GUIs • Main classes (Agent, Behaviour) and their abilities http://people.cc.jyu.fi/~akataso/ties423/Lecture11.pdf see also: http://www.cs.jyu.fi/ai/vagan/JADE_Agents.ppt 47 Lecture 12: SmartResource Platform • Architecture • Script language (semantic APL) • Developing Reusable Atomic Behaviors (RABs) http://people.cc.jyu.fi/~akataso/ties423/Lecture12.pdf 48 ATME Course: Assignment 49 Assignment in brief Students are expected to select one of below recommended papers (or any other relevant research paper from the Web) and make PowerPoint presentation based on that paper. The presentation should provide evidence that a student has got the main ideas of the paper, is able to provide his personal additional conclusions and critics to the approaches used. 50 Evaluation criteria for the assignment Content and Completeness; Clearness and Simplicity; Discovered Connections to ATME Course Material; Originality, Personal Conclusions and Critics; Design Quality. 51 Format, Submission and Deadlines Format: PowerPoint .ppt , name of file is student’s family name; Presentation should contain all references to the materials used, including the original paper; Deadline - 31 May 2007 (24:00); Files with presentations should be sent by e-mail to Vagan Terziyan (vagan@it.jyu.fi and artem.katasonov@jyu.fi); Notification of evaluation - until 10 June. 52 Papers for Course Assignment (1) Paper 1: http://www.cs.jyu.fi/ai/vagan/course_papers/Paper_1_P.pdf Paper 2: http://www.cs.jyu.fi/ai/vagan/course_papers/Paper_2_P.pdf Paper 3: http://www.cs.jyu.fi/ai/vagan/course_papers/Paper_3_CF.pdf Paper 4: http://www.cs.jyu.fi/ai/vagan/course_papers/Paper_4_CF.pdf Paper 5: http://www.cs.jyu.fi/ai/vagan/course_papers/Paper_5_MW.pdf Paper 6: http://www.cs.jyu.fi/ai/vagan/course_papers/Paper_6_BN.pdf Paper 7: http://www.cs.jyu.fi/ai/vagan/course_papers/Paper_7_BN.pdf Paper 8: http://www.cs.jyu.fi/ai/vagan/course_papers/Paper_8_MM.pdf 53 Papers for Course Assignment (2) Paper 9: http://www.cs.jyu.fi/ai/vagan/course_papers/Paper_9_WM.pdf Paper 10: http://www.cs.jyu.fi/ai/vagan/course_papers/Paper_10_WM.pdf Paper 11: http://www.cs.jyu.fi/ai/vagan/course_papers/Paper_11_III.pdf Paper 12: http://www.cs.jyu.fi/ai/vagan/course_papers/Paper_12_III.pdf Paper 13: http://www.cs.jyu.fi/ai/vagan/course_papers/Paper_13_KM.pdf Paper 14: http://www.cs.jyu.fi/ai/vagan/course_papers/Paper_14_ES.pdf Paper 15: http://www.cs.jyu.fi/ai/vagan/course_papers/Paper_15_MDB.pdf Paper 16: http://www.cs.jyu.fi/ai/vagan/course_papers/Paper_16_MDB.pdf 54 ATME Course: Group Exercise 55 Group Exercise in brief In small groups of 2-4 people Based on the practical part of the course and related to design of a multi-agent system with SmartResource Platform. At least some members of the group should have some experience in JAVA programming (for developing RABs). Since a major part of development work under SmartResource Platform is done through high-level scripting in semantic APL, students without experience in JAVA can participate as well, taking these tasks. Deadline - 31 May 2007 (24:00); Source files and minimal documentation should be sent by email to Artem Katasonov (artem.katasonov@jyu.fi). 56 Information about Related Course Agent Technologies in the Semantic Web http://www.cs.jyu.fi/ai/vadim/ ; by Vadim Ermolayev; recommended as additional reading. 57 Additional reading (1): Agent Reasoning with Uncertainty: Introduction to Bayesian Networks http://www.cs.jyu.fi/ai/vagan/Bayes_Nets.ppt 58 Additional Reading (2): Personalization in Mobile Environment http://www.cs.jyu.fi/ai/vagan/Mobile_Personalization.ppt 59