228 76 14MB
English Pages 760 [774] Year 2007
Lecture Notes in Computer Science Commenced Publication in 1973 Founding and Former Series Editors: Gerhard Goos, Juris Hartmanis, and Jan van Leeuwen
Editorial Board David Hutchison Lancaster University, UK Takeo Kanade Carnegie Mellon University, Pittsburgh, PA, USA Josef Kittler University of Surrey, Guildford, UK Jon M. Kleinberg Cornell University, Ithaca, NY, USA Friedemann Mattern ETH Zurich, Switzerland John C. Mitchell Stanford University, CA, USA Moni Naor Weizmann Institute of Science, Rehovot, Israel Oscar Nierstrasz University of Bern, Switzerland C. Pandu Rangan Indian Institute of Technology, Madras, India Bernhard Steffen University of Dortmund, Germany Madhu Sudan Massachusetts Institute of Technology, MA, USA Demetri Terzopoulos University of California, Los Angeles, CA, USA Doug Tygar University of California, Berkeley, CA, USA Moshe Y. Vardi Rice University, Houston, TX, USA Gerhard Weikum Max-Planck Institute of Computer Science, Saarbruecken, Germany
4805
Robert Meersman Zahir Tari Pilar Herrero (Eds.)
On the Move to Meaningful Internet Systems 2007: OTM 2007 Workshops OTM Confederated International Workshops and Posters AWeSOMe, CAMS, OTM Academy Doctoral Consortium, MONET, OnToContent, ORM, PerSys, PPN, RDDS, SSWS, and SWWS 2007 Vilamoura, Portugal, November 25-30, 2007 Proceedings, Part I
13
Volume Editors Robert Meersman Vrije Universiteit Brussel (VUB), STARLab Bldg G/10, Pleinlaan 2, 1050 Brussels, Belgium E-mail: [email protected] Zahir Tari RMIT University, School of Computer Science and Information Technology Bld 10.10, 376-392 Swanston Street, VIC 3001, Melbourne, Australia E-mail: [email protected] Pilar Herrero Universidad Politécnica de Madrid, Facultad de Informática Campus de Montegancedo S/N, 28660 Boadilla del Monte, Madrid, Spain E-mail: [email protected]
Library of Congress Control Number: 2007939492 CR Subject Classification (1998): H.2, H.3, H.4, C.2, H.5, I.2, D.2, K.4 LNCS Sublibrary: SL 3 – Information Systems and Application, incl. Internet/Web and HCI ISSN ISBN-10 ISBN-13
0302-9743 3-540-76887-4 Springer Berlin Heidelberg New York 978-3-540-76887-6 Springer Berlin Heidelberg New York
This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer. Violations are liable to prosecution under the German Copyright Law. Springer is a part of Springer Science+Business Media springer.com © Springer-Verlag Berlin Heidelberg 2007 Printed in Germany Typesetting: Camera-ready by author, data conversion by Scientific Publishing Services, Chennai, India Printed on acid-free paper SPIN: 12193509 06/3180 543210
Volume Editors Robert Meersman Zahir Tari Pilar Herrero
AWeSOMe Pilar Herrero Gonzalo M´endez Rainer Unland
CAMS Annika Hinze George Buchanan
OTM Academy Doctoral Consortium Antonia Albani Torben Hansen Johannes Maria Zaha
MONET Fernando Ferri Maurizio Rafanelli Arianna D’Ulizia
OnToContent Mustafa Jarrar Andreas Schmidt Claude Ostyn Werner Ceusters
RDDS Eiko Yoneki Pascal Felber
ORM Terry Halpin Sjir Nijssen Robert Meersman
PerSys Skevos Evripidou Roy Campbell Anja Schanzenberger
PPN Farid Na¨ıt-Abdesselam Jiankun Hu Azzedine Boukerche
SSWS Achille Fokoue Yuanbo Guo Thorsten Liebig Bijan Parsia
SWWS John Mylopoulos Elizabeth Chang Ernesto Damiani Yoke Sure Tharam S. Dillon
OTM 2007 General Co-chairs’ Message
OnTheMove 2007 held in Vilamoura, Portugal, November 25–30 further consolidated the growth of the conference series that was started in Irvine, California in 2002, and then held in Catania, Sicily in 2003, in Cyprus in 2004 and 2005, and in Montpellier last year. It continues to attract a diversifying and representative selection of today’s worldwide research on the scientific concepts underlying new computing paradigms that of necessity must be distributed, heterogeneous and autonomous yet meaningfully collaborative. Indeed, as such large, complex and networked intelligent information systems become the focus and norm for computing, it is clear that there is an acute and increasing need to address and discuss in an integrated forum the implied software and system issues as well as methodological, semantical, theoretical and application issues. As we all know, e-mail, the Internet, and even video conferences are not sufficient for effective and efficient scientific exchange. This is why the OnTheMove (OTM) Federated Conferences series has been created to cover the increasingly wide yet closely connected range of fundamental technologies such as data and Web Semantics, distributed objects, Web services, databases, information systems, workflow, cooperation, ubiquity, interoperability, mobility, grid and high-performance systems. OnTheMove aspires to be a primary scientific meeting place where all aspects of the development of Internet- and Intranetbased systems in organizations and for e-business are discussed in a scientifically motivated way. This sixth 2007 edition of the OTM Federated Conferences event, therefore, again provided an opportunity for researchers and practitioners to understand and publish these developments within their individual as well as within their broader contexts. Originally the federative structure of OTM was formed by the co-location of three related, complementary and successful main conference series: DOA (Distributed Objects and Applications, since 1999), covering the relevant infrastructure-enabling technologies, ODBASE (Ontologies, DataBases and Applications of SEmantics, since 2002) covering Web semantics, XML databases and ontologies, CoopIS (Cooperative Information Systems, since 1993) covering the application of these technologies in an enterprise context through, e.g., workflow systems and knowledge management. In 2006 a fourth conference, GADA (Grid computing, high-performAnce and Distributed Applications), was added as a main symposium, and this year the same happened with IS (Information Security). Both started off as successful workshops at OTM, the first covering the large-scale integration of heterogeneous computing systems and data resources with the aim of providing a global computing space, the second covering the issues of security in complex Internet-based information systems. Each of these five conferences encourages researchers to treat their respective topics within a framework that in-
VIII
Preface
corporates jointly (a) theory , (b) conceptual design and development, and (c) applications, in particular case studies and industrial solutions. Following and expanding the model created in 2003, we again solicited and selected quality workshop proposals to complement the more “archival” nature of the main conferences with research results in a number of selected and more “avant garde” areas related to the general topic of distributed computing. For instance, the so-called Semantic Web has given rise to several novel research areas combining linguistics, information systems technology, and artificial intelligence, such as the modeling of (legal) regulatory systems and the ubiquitous nature of their usage. We were glad to see that no less than eight of our earlier successful workshops (notably AweSOMe, CAMS, SWWS, ORM, OnToContent, MONET, PerSys, RDDS) re-appeared in 2007 with a second or third edition, and that four brand-new workshops emerged to be selected and hosted, and were successfully organized by their respective proposers: NDKM, PIPE, PPN, and SSWS. We know that as before, workshop audiences will productively mingle with another and with those of the main conferences, as is already visible from the overlap in authors! The OTM organizers are especially grateful for the leadership and competence of Pilar Herrero in managing this complex process into a success for the fourth year in a row. A special mention for 2007 is to be made of third and enlarged edition of the OnTheMove Academy (formerly called Doctoral Consortium Workshop), our “vision for the future” in research in the areas covered by OTM. Its 2007 organizers, Antonia Albani, Torben Hansen and Johannes Maria Zaha, three young and active researchers, guaranteed once more the unique interactive formula to bring PhD students together: research proposals are submitted for evaluation; selected submissions and their approaches are presented by the students in front of a wider audience at the conference, and are independently and extensively analyzed and discussed in public by a panel of senior professors. This year these were once more Johann Eder and Maria Orlowska, under the guidance of Jan Dietz, the incumbent Dean of the OnTheMove Academy. The successful students only pay a minimal fee for the Doctoral Symposium itself and also are awarded free access to all other parts of the OTM program (in fact their attendance is largely sponsored by the other participants!). All five main conferences and the associated workshops share the distributed aspects of modern computing systems, and the resulting application-pull created by the Internet and the so-called Semantic Web. For DOA 2007, the primary emphasis stayed on the distributed object infrastructure; for ODBASE 2007, it became the knowledge bases and methods required for enabling the use of formal semantics; for CoopIS 2007, the topic as usual was the interaction of such technologies and methods with management issues, such as occur in networked organizations; for GADA 2007, the topic was the scalable integration of heterogeneous computing systems and data resources with the aim of providing a global computing space; and last but not least in the relative newcomer IS 2007 the emphasis was on information security in the networked society. These subject areas overlap naturally and many submissions in fact also treated an envisaged
Preface
IX
mutual impact among them. As for the earlier editions, the organizers wanted to stimulate this cross-pollination by a shared program of famous keynote speakers: this year we were proud to announce Mark Little of Red Hat, York Sure of SAP Research, Donald Ferguson of Microsoft, and Dennis Gannon of Indiana University. As always, we also encouraged multiple event attendance by providing all authors, also those of workshop papers, with free access or discounts to one other conference or workshop of their choice. We received a total of 362 submissions for the five main conferences and 241 for the workshops. Not only may we indeed again claim success in attracting an increasingly representative volume of scientific papers, but such a harvest of course allows the Program Committees to compose a higher-quality crosssection of current research in the areas covered by OTM. In fact, in spite of the larger number of submissions, the Program Chairs of each of the three main conferences decided to accept only approximately the same number of papers for presentation and publication as in 2004 and 2005 (i.e., average one paper out of every three to four submitted, not counting posters). For the workshops, the acceptance rate varied but was much stricter than before, consistently about one accepted paper for every two to three submitted. Also for this reason, we separate the proceedings into four books with their own titles, two for main conferences and two for workshops, and we are grateful to Springer for their suggestions and collaboration in producing these books and CD-Roms. The reviewing process by the respective Program Committees was again performed very professionally and each paper in the main conferences was reviewed by at least three referees, with arbitrated e-mail discussions in the case of strongly diverging evaluations. It may be worthwhile to emphasize that it is an explicit OnTheMove policy that all conference Program Committees and Chairs make their selections completely autonomously from the OTM organization itself. Continuing a costly but nice tradition, the OnTheMove Federated Event organizers decided again to make all proceedings available to all participants of conferences and workshops, independently of one’s registration to a specific conference or workshop. Each participant also received a CD-Rom with the full combined proceedings (conferences + workshops). The General Chairs are once more especially grateful to all the many people directly or indirectly involved in the set-up of these federated conferences, who contributed to making them a success. Few people realize what a large number of individuals have to be involved, and what a huge amount of work, and sometimes risk, the organization of an event like OTM entails. Apart from the persons mentioned above, we therefore in particular wish to thank our 12 main conference PC Co-chairs (GADA 2007: Pilar Herrero, Daniel Katz, Mar´ıa S. P´erez, Domenico Talia; DOA 2007: Pascal Felber, Aad van Moorsel, Calton Pu; ODBASE 2007: Tharam Dillon, Michele Missikoff, Steffen Staab; CoopIS 2007: Francisco Curbera, Frank Leymann, Mathias Weske; IS 2007: M´ ario Freire, Sim˜ ao Melo de Sousa, Vitor Santos, Jong Hyuk Park) and our 36 workshop PC Co-chairs (Antonia Albani, Susana Alcalde, Adezzine Boukerche, George Buchanan, Roy Campbell, Werner Ceusters, Elizabeth Chang, Antonio Coro-
X
Preface
nato, Simon Courtenage, Ernesto Damiani, Skevos Evripidou, Pascal Felber, Fernando Ferri, Achille Fokoue, Mario Freire, Daniel Grosu, Michael Gurstein, Pilar Herrero, Terry Halpin, Annika Hinze, Jong Hyuk Park, Mustafa Jarrar, Jiankun Hu, Cornel Klein, David Lewis, Arek Kasprzyk, Thorsten Liebig, Gonzalo M´endez, Jelena Mitic, John Mylopoulos, Farid Nad-Abdessalam, Sjir Nijssen, the late Claude Ostyn, Bijan Parsia, Maurizio Rafanelli, Marta Sabou, Andreas Schmidt, Sim˜ ao Melo de Sousa, York Sure, Katia Sycara, Thanassis Tiropanis, Arianna D’Ulizia, Rainer Unland, Eiko Yoneki, Yuanbo Guo). All, together with their many PC members, did a superb and professional job in selecting the best papers from the large harvest of submissions. We also must heartily thank Jos Valente de Oliveira for the efforts in arranging facilities at the venue and coordinating the substantial and varied local activities needed for a multi-conference event such as ours. And we must all be grateful also to Ana Cecilia Martinez-Barbosa for researching and securing the sponsoring arrangements, to our extremely competent and experienced Conference Secretariat and technical support staff in Antwerp, Daniel Meersman, Ana-Cecilia, and Jan Demey, and last but not least to our energetic Publications Chair and loyal collaborator of many years in Melbourne, Kwong Yuen Lai, this year vigorously assisted by Vidura Gamini Abhaya and Peter Dimopoulos. The General Chairs gratefully acknowledge the academic freedom, logistic support and facilities they enjoy from their respective institutions, Vrije Universiteit Brussel (VUB) and RMIT University, Melbourne, without which such an enterprise would not be feasible. We do hope that the results of this federated scientific enterprise contribute to your research and your place in the scientific network. August 2007
Robert Meersman Zahir Tari
Organization Committee
The OTM (On The Move) Federated Workshops aim at complementing the more “archival” nature of the OTM Federated Conferences with research results in a number of selected and more “avant garde” areas related to the general topic of distributed computing. In 2007, only 11 workshops were chosen after a rigourous selection process by Pilar Herrero. The 2007 selected international workshops were: AWeSOMe (International Workshop on Agents, Web Services and Ontologies Merging), CAMS (International Workshop on Context-Aware Mobile Systems), OTM Academy Doctoral Consortium, MONET (International Workshop on MObile and NEtworking Technologies for social applications), OnToContent (International Workshop on Ontology content and evaluation in Enterprise), ORM (International Workshop on Object-Role Modeling), PerSys (International Workshop on Pervasive Systems), PPN (International Workshop on Peer-to-Peer Networks), RDDS (International Workshop on Reliability in Decentralized Distributed Systems), SSWS (International Workshop on Scalable Semantic Web Knowledge Base Systems), and SWWS (IFIP WG 2.12 and WG 12.4 International Workshop on Semantic Web and Web Semantics). OTM 2007 Federated Workshops were proudly supported by RMIT University (School of Computer Science and Information Technology) and Vrije Universiteit Brussel (Department of Computer Science).
Executive Committee OTM 2007 General Co-chairs
Robert Meersman (Vrije Universiteit Brussel, Belgium), Zahir Tari (RMIT University, Australia), and Pilar Herrero (Universidad Polit´ecnica de Madrid, Spain) AWeSOMe 2007 PC Co-chairs Pilar Herrero (Universidad Polit´ecnica de Madrid, Spain), Gonzalo M´edez (Universidad Complutense de Madrid, Spain), and Rainer Unland (University of Duisburg-Essen, Germany) CAMS 2007 PC Co-chairs George Buchanan (University of Wales Swansea, UK) and Annika Hinze (University of Waikato, New Zealand) OTM 2007 Academy Antonia Albani (Delft University of TechnolDoctoral Consortium PC ogy, The Netherlands), Torben Hansen (GerCo-chairs man Research Center for Artificial Intelligence, Germany) and Johannes Maria Zaha (University of Duisburg-Essen, Germany)
XII
Organization
MONET 2007 PC Co-chairs
OnToContent 2007 PC Co-chairs
ORM 2007 PC Co-chairs
PerSys 2007 PC Co-chairs
PPN 2007 PC Co-chairs
RDDS 2007 PC Co-chairs
SSWS 2007 PC Co-chairs
SWWS 2007 PC Co-chairs
Publication Co-chairs
Local Organizing Chair Conferences Publicity Chair Workshops Publicity Chair Secretariat
Fernando Ferri (National Research Council, Italy), Maurizio Rafanelli (National Research Council, Italy) and Arianna D’Ulizia (National Research Council, Italy) Mustafa Jarrar (Vrije Universiteit Brussel, Belgium), Andreas Schmidt (FZI, Germany), Claude Ostyn (IEEE-LTSC, USA), and Werner Ceusters (University of Buffalo, USA) Terry Halpin (Neumont University, USA), Sjir Nijssen (PNA, The Netherlands), and Robert Meersman (Vrije Universiteit Brussel, Belgium) Skevos Evripidou (University of Cyprus, Cyprus), Roy Campbell (University of Illinois at Urbana-Champaign, USA), Anja Schanzenberger (Middlesex University, UK) Farid Na¨ıt-Abdesselam (University of Science and Technology of Lille, France), Jiankun Hu (RMIT University, Australia), and Azzedine Boukerche (University of Ottawa, Canada) Eiko Yoneki (University of Cambridge, UK) and Pascal Felber (Universit´e de Neuchˆatel, Switzerland) Achille Fokoue (IBM T.J. Watson Research Center, USA), Yuanbo Guo (Microsoft Corp, USA), Thorsten Liebig (Ulm University, Germany), and Bijan Parsia (University of Manchester, UK) John Mylopoulos (University of Toronto, Canada), Elizabeth Chang (Curtin University of Technology, Australia), Ernesto Damiani (Milan University, Italy), Yoke Sure (University of Karlsruhe, Germany), and Tharam Dillon (University of Technology Sydney, Australia) Kwong Yuen Lai (RMIT University, Australia) and Vidura Gamini Abhaya (RMIT University, Australia) Jos´e Valente de Oliveira (University of Algarve, Portugal) Jean-Marc Petit (INSA, Lyon, France) Gonzalo Mendez (Universidad Complutense de Madrid, Spain) Ana-Cecilia Martinez Barbosa, Jan Demey, and Daniel Meersman
Organization
XIII
AWeSOMe (Agents, Web Services and Ontologies Merging) 2007 Program Committee M. Brian Blake Jos´e Luis Bosque Juan A. Bot´ıa Blaya Paul Buhler Jose Cardoso Isaac Chao Adam Cheyer Ian Dickinson Jorge G´ omez Dominic Greenwood Jingshan Huang Margaret Lyell Dan Marinescu Gregorio Mart´ınez Viviana Mascardi Michael Maximilien Barry Norton Julian Padget Mauricio Paletta
Juan Pav´ on Jos´e Pe˜ na Mar´ıa P´erez Ronald Poell Omer Rana Paul Roe Marta Sabou Manuel Salvadores Alberto S´ anchez Weisong Shi Marius-Calin Silaghi Ben K.M. Sim Hiroki Suguri Henry Tirri Santtu Toivonen Sander van Splunter Julita Vassileva Yao Wang
CAMS (Context-Aware Mobile Systems) 2007 Program Committee Pilar Herrero George Buchanan Trevor Collins Keith Cheverst Dan Chalmers Gill Dobbie Tiong Goh Annika Hinze
Reto Krummenacher Johan Koolwaaij Diane Lingrand Gero Muehl Michel Scholl Goce Trajcevski Katarzyna Wac
OTM Academy (International Doctoral Consortium) 2007 Program Committee Antonia Albani Domenico Beneventano Jaime Delgado Jan Dietz Schahram Dustdar
Johann Eder Torben Hansen J¨ org M¨ uller Maria Orlowska Johannes Maria Zaha
XIV
Organization
MONET (MObile and NEtworking Technologies for Social Applications) 2007 Program Committee Russell Beale Yiwei Cao Tiziana Catarci Richard Chbeir Karin Coninx Simon Courtenage Juan De Lara Anna Formica Patrizia Grifoni Otthein Herzog C.-C. Jay Kuo Irina Kondratova David Lewis Stephen Marsh
Rebecca Montanari Michele Missikoff Nuria Oliver Marco Padula Andrew Phippen Tommo Reti Tim Strayer Henri Ter Hofte Thanassis Tiropanis Yoshito Tobe Riccardo Torlone Mikael Wiberg
OnToContent (Ontology Content and Evaluation in Enterprise) 2007 Program Committee Bill Andersen Keith Baker Ernst Biesalski Paolo Bouquet Simone Braun Christopher Brewster Michael Brown Yannis Charalabidis Ernesto Damiani Aldo Gangemi Fausto Giunchiglia Giancarlo Guizzardi Mohand-Said Hacid Martin Hepp Stijn Heymans Christine Kunzmann Jens Lemcke
Stefanie Lindstaedt Alessandro Oltramari Jeff Pan Paul Piwek Christophe Roch Pavel Shvaiko Miguel-Angel Sicilia Barry Smith Silvie Spreeuwenberg Armando Stellato Andrew Stranieri Karl Stroetmann Sergio Tessaris Robert Tolksdorf Francky Trichet Luk Vervenne
ORM (Object-Role Modeling) 2007 Program Committee Guido Bakema Herman Balsters Linda Bird
Anthony Bloesch Scott Becker Peter Bollen
Organization
Lex Bruil Andy Carver Dave Cuyler Necito dela Cruz Aldo de Moor Olga De Troyer Jan Dietz David Embley Ken Evans Gordon Everest Mario Gutknecht Henri Habrias Pat Hallock Terry Halpin Hank Hermans Stijn Hoppenbrouwers Mike Jackson
XV
Mustafa Jarrar Inge Lemmens Robert Meersman Tony Morgan Maurice Nijssen Sjir Nijssen Baba Piprani Erik Proper Jos Rozendaal Gerhard Skagestein Peter Spyns Deny Smeets Sten Sundblad Jos Vos Theo van der Weide Jan Pieter Zwart
PerSys (Pervasive Systems) 2007 Program Committee Xavier Alam´ a Jalal Al-Muhtadi Susana Alcalde Bag¨ u´es Christian Becker Michael Beigl Alastair Beresford Roy Campbell Antonio Coronato Thanos Demiris Hakan Duman Bob Hulsebosch Hesham El-Rewini Skevos Evripidou Alois Ferscha Nikolaos Georgantas Alex Healing
Markus Huebscher Cornel Klein Jelena Mitic Andrew Rice Philip Robison Das Sajal George Samaras Anja Schanzenberger Gregor Schiele Behrooz Shirazi Sotirios Terzis Issarny Valerie Gregory Yovanof Apostolos Zarras Arkady Zaslavsky
PPN (Peer-to-Peer Networks) 2007 Program Committee Marinho Pilla Barcellos Jalel Ben-Othman Brahim Bensaou Tarek Bijaoui Jean Carle
Song Ci Pilar Herrero Ashfaq Khokhar Nouredine Melab Alberto Montresor
XVI
Organization
Florent Nolot Aris Ouksel Douglas Reeves Ahmed Serhrouchni Orazio Tomarchio
Kurt Tutschku Carlos Becker Westphall Sherali Zeadally
RDDS (Reliability in Decentralized Distributed Systems) 2007 Program Committee Licia Capra Paolo Costa Simon Courtenage Patrick Eugster Pascal Felber Ludger Fiege Christos Gkantsidis Michael Kounavis Marco Mamei Gero Muehl
Jonathan Munson Maziar Nekovee Andrea Passarella Peter Pietzuch Matthieu Roy Francois Taiani Einar Vollset Eiko Yoneki
SSWS (Scalable Semantic Web Knowledge Base Systems) 2007 Program Committee Pascal Hitzler York Sure Kavitha Srinivas Takahira Yamaguch Ra´ ul Garc´ıa Castro Aditya Kalyanpur Oscar Corcho Jeff Heflin Ralf M¨ oller Ian Horrocks
Boris Motik Pierre-Antoine Champin Ying Ding Marko Luther Timo Weith¨oner Andy Seaborne Ulrike Sattler Jan Wielemaker Volker Haarslev
SWWS (Semantic Web and Web Semantics) 2007 Program Committee Aldo Gangemi Amandeep Sidhu Amit Sheth
Angela Schwering Avigdor Gal Birgit Hofreiter
Organization
Carlos Sierra Carole Goble Chris Bussler Claudia d’Amato David Bell Elena Camossi Elisa Bertino Elizabeth Chang Ernesto Damiani Farookh Hussain Feng Ling Grigoris Antoniou Hai Zhuge Jaiwei Han John Debenham John Mylopoulos Katia Sycara Krzysztof Janowicz Kokou Yetongnon Kyu-Young Whang Ling Liu Lizhu Zhou Lotfi Zadeh Manfred Hauswirth Maria Andrea Rodriguez-Tastets
Masood Nikvesh Mihaela Ulieru Mohand-Said Hacid Monica De Martino Mukesh Mohania Mustafa Jarrar Nicola Guarino Paolo Ceravolo Peter Spyns Pieree Yves Schobbens Pilar Herrero Qing Li Rajugan Rajagopalapillai Ramasamy Uthurusamy Riccardo Albertoni Robert Meersman Robert Tolksdorf Stefan Decker Susan Urban Tharam Dillon Usuama Fayed Wil van der Aalst York Sure Zahir Tari
XVII
Table of Contents – Part I
Posters of the 2007 DOA (Distributed Objects and Applications) International Conference A Deterministic Database Replication Protocol Where Multicast Writesets Never Get Aborted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . J.R. Ju´ arez-Rodr´ıguez, J.E. Armend´ ariz-I˜ nigo, F.D. Mu˜ noz-Esco´ı, J.R. Gonz´ alez de Mend´ıvil, and J.R. Garitagoitia
1
AWSM: Infrastructure for Adaptive Web Service Migration. . . . . . . . . . . . Holger Schmidt, R¨ udiger Kapitza, Franz J. Hauck, and Hans P. Reiser
3
Generic Proxies—Supporting Data Integration Inside the Database . . . . . Andrei Vancea, Michael Grossniklaus, and Moira C. Norrie
5
Collaborative Data Synchronization in an Instance-Mapped P2P Data Sharing System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Md Mehedi Masud and Iluju Kiringa
7
Posters of the 2007 ODBASE (Ontologies, Databases, and Applications of Semantics) International Conference Translating XPath Queries into SPARQL Queries . . . . . . . . . . . . . . . . . . . . Matthias Droop, Markus Flarer, Jinghua Groppe, Sven Groppe, Volker Linnemann, Jakob Pinggera, Florian Santner, Michael Schier, Felix Sch¨ opf, Hannes Staffler, and Stefan Zugal Validating a Tool for Evaluating Automatically Lexical Triples Mined from Texts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Peter Spyns
9
11
Semi-automatic Semantic Enrichment of Raw Sensor Data . . . . . . . . . . . . Nicolas Legeay, Mark Roantree, Gareth J.F. Jones, Noel E. O’Connor, and Alan F. Smeaton
13
Ontology modelling for Ambient Intelligent Home Environments . . . . . . . Jarmo Kalaoja, Julia Kantorovitch, Ioanna Roussaki, Dimitrios Tsesmetzis, and Ioannis Papaioannou
15
Implementing OCL as a Database Query Language . . . . . . . . . . . . . . . . . . . Piotr Habela, Krzysztof Kaczmarski, Krzysztof Stencel, and Kazimierz Subieta
17
XX
Table of Contents – Part I
Improving Scalability in Pub-Sub Knowledge-Based Networking by Semantic Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . John Keeney, Dominic Jones, Dominik Roblek, David Lewis, and Declan O’Sullivan A Model for Fuzzy Multidimensional Spaces . . . . . . . . . . . . . . . . . . . . . . . . . Claudia Gonz´ alez, Raimundo Mirisola, Leonid Tineo, and Ang´elica Urrutia Capturing Ontology Evolution Processes by Repeated Sampling of Large Document Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Albert Weichselbraun, Arno Scharl, Wei Liu, and Gerhard Wohlgenannt
19
21
23
Information Systems Development: A Trust Ontology . . . . . . . . . . . . . . . . . Kamaljit Kaur Bimrah, Haralambos Mouratidis, and David Preston
25
Automatic Annotation in Data Integration Systems . . . . . . . . . . . . . . . . . . Sonia Bergamaschi, Laura Po, and Serena Sorrentino
27
Posters of the 2007 GADA (Grid Computing, High Performance and Distributed Applications) International Conference Volunteer Computing, an Interesting Option for Grid Computing: Extremadura as Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Miguel C´ ardenas Montes, Miguel A. Vega-Rodr´ıguez, Carlos J. Garc´ıa Orellana, Manuel Rubio del Solar, Juan A. G´ omez-Pulido, Horacio Gonz´ alez Velasco, Antonio G´ omez Iglesias, Juan M. S´ anchez-P´erez, and Miguel Mac´ıas Mac´ıas
29
Replication Heuristics for Efficient Workflow Execution on Grids . . . . . . . J.L. V´ azquez-Poletti, E. Huedo, R.S. Montero, and I.M. Llorente
31
Network-Aware Grid Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Agust´ın Caminero, Blanca Caminero, and Carmen Carri´ on
33
Implementing a P2P Network through Updatable Database Views . . . . . Radoslaw Adamus, Hanna Kozankiewicz, Krzysztof Stencel, and Kazimierz Subieta
35
A Group Selection Pattern Optimizing Job Scheduling in Decentralized Grid Markets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Isaac Chao, Oscar Ardaiz, and Ramon Sang¨ uesa
37
A Conceptual Model for Grid Learning Services Automatic Composition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gustavo Guti´errez-Carre´ on, Thanasis Daradoumis, and Josep Jorba
40
Table of Contents – Part I
XXI
Posters of the 2007 IS (Information Security) International Conference A Multi-party Rational Exchange Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . Almudena Alcaide, Juan M. Estevez-Tapiador, Julio C. Hernandez-Castro, and Arturo Ribagorda A Texture Based Image Signature Using Second Order Statistics Characterisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A. Samia Boucherkha and Mohamed Benmohamed Expert System for Business Decisions on Security Requirements . . . . . . . Eriks Dobelis
42
44 46
Workshop on Agents, Web Services and Ontologies Merging (AweSOMe) AWeSOMe 2007 PC Co-chairs’ Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
Resource Allocation DyMRA: Dynamic Market Deployment for Decentralized Resource Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Daniel L´ azaro, Xavier Vilajosana, and Joan Manuel Marqu`es
53
An Agents-Based Cooperative Awareness Model to Cover Load Balancing Delivery in Grid Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . Pilar Herrero, Jos´e Luis Bosque, and Mar´ıa S. P´erez
64
Semantic Web Approaches TV Navigation Agent for Measuring Semantic Similarity Between Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Yumiko Mizoguchi-Shimogori, Toshiaki Nakamoto, Kazuma Asakawa, Shinichi Nagano, Masumi Inaba, and Takahiro Kawamura Engineering an MAS Platform for Semantic Service Integration Based on the SWSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ¨ ur G¨ ¨ Ozg¨ um¨ us, Onder G¨ urcan, Geylani Kardas, Erdem Eser Ekinci, and Oguz Dikenelli A Planner Infrastructure for Semantic Web Enabled Agents . . . . . . . . . . . ¨ Erdem Eser Ekinci, Ali Murat Tiryaki, Onder G¨ urcan, and Oguz Dikenelli
75
85
95
Agent-Based Applications From a Goal-Oriented Methodology to a BDI Agent Language: The Case of Tropos and Alan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Francesco Pagliarecci, Loris Penserini, and Luca Spalazzi
105
XXII
Table of Contents – Part I
A Human-Like SOA-Based Interdisciplinary Framework for Intelligent Virtual Agents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mauricio Paletta and Pilar Herrero
115
Short Papers Semantically Resolving Type Mismatches in Scientific Workflows . . . . . . . Kheiredine Derouiche and Denis A. Nicole
125
A Group Selection Pattern for Agent-Based Virtual Organizations Coordination in Grids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Isaac Chao, Oscar Ardaiz, and Ramon Sang¨ uesa
136
Web Services System for Distributed Technology Upgrade Within an e-Maintenance Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Eduardo Gilabert, Susana Ferreiro, and Aitor Arnaiz
149
WSBL: Web Service Architecture for Financial Products . . . . . . . . . . . . . . Marcos Aza Hidalgo and Jose Luis Bosque Orero Workflow Management in Grid Era: From Process-Driven Paradigm to a Goal-Driven One . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jinlei Jiang, Shaohua Zhang, Johann Schlichter, and Guangwen Yang BPEL for Semantic Web Services (BPEL4SWS) . . . . . . . . . . . . . . . . . . . . . J¨ org Nitzsche, Tammo van Lessen, Dimka Karastoyanova, and Frank Leymann
158
169
179
Workshop on Context Aware Mobile Systems (CAMS) CAMS 2007 PC Co-chairs’ Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
191
Users Context-Awareness in the Wild: An Investigation into the Existing Uses of Context in Everyday Life . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jason Pascoe, Kirsten Thomson, and Helena Rodrigues
193
‘Guess A Who, Why, Where, When?’: The Visualization of Context Data to Aid the Authoring and Orchestration of a Mobile Pervasive Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Michael Wright, Alan Chamberlain, Chris Greenhalgh, Steve Benford, Nick Tandavanitj, Amanda Oldroyd, and Jon Sutton
203
Modeling Browsing Semantics in Context-Aware Mobile Hypermedia . . . . . . . . . . . . Cecilia Challiol, Agustin Mu˜ noz, Gustavo Rossi, Silvia E. Gordillo, Andr´es Fortier, and Robert Laurini
211
Table of Contents – Part I
Context, Data and Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annika Hinze, George Buchanan, Andrea Schweer, and Matt Jones
XXIII
222
Technical Aspects Issues in Location-based Indexing for Co-operating Mobile Information Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wendy Osborn and Annika Hinze A Peer-to-Peer based Infrastructure for Context Distribution in Mobile and Ubiquitous Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Xiaoming Hu, Yun Ding, Nearchos Paspallis, George A. Papadopoulos, Pyrros Bratskas, Paolo Barone, Alessandro Mamelli, Yves Vanrompay and Yolande Berbers
226
236
Doctoral Consortium The 2007 Academy Doctoral Consortium PC Co-chairs’ Message . . . . . . .
243
Information System Development Elaborating a Decentralized Market Information System . . . . . . . . . . . . . . Ren´e Brunner and Felix Freitag
245
COPA-CASE: Methodological Environment for the Generation, Application and Validation of Coordination Patterns . . . . . . . . . . . . . . . . . P.L. P´erez-Serrano and M. S´ anchez-Alonso
255
Providing Support for Data Replication Protocols with Multiple Isolation Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . J.M. Bernab´e-Gisbert
265
Market Driven Product Ontologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Davor Meersman
275
Smart Distribution of Bio-signal Processing Tasks in M-Health . . . . . . . . Hailiang Mei
284
Service-Oriented Approaches Towards a Service-Oriented Methodology: Business-Driven Guidelines for Service Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dieter Van Nuffel
294
Collaborative Management of Distributed Business Processes - A Service-Based Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sonja Zaplata
304
XXIV
Table of Contents – Part I
Semantic Web Service Offer Discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jacek Kopeck´y Top-Down Modeling Methodology for Model-Driven SOA Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jan Ricken
314
323
Workshop on Mobile and Networking Technologies for Social Applications (MONET) MONET 2007 PC Co-chairs’ Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
335
Mobile Learning Environments Social Knowledge Building in a Mobile Learning Environment . . . . . . . . . Manuel Gentile, Davide Taibi, Luciano Seta, Marco Arrigo, Giovanni Fulantelli, Onofrio Di Giuseppe, and Gaspare Novara Improving Collaboration and Interaction in Distributed B-learning Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nidia Moncallo R., Pilar Herrero, and Luis Joyanes Re-experiencing History in Archaeological Parks by Playing a Mobile Augmented Reality Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Carmelo Ardito, Paolo Buono, Maria Francesca Costabile, Rosa Lanzilotti, and Thomas Pederson
337
347
357
Theories and Applications of Multimodal Systems A Hybrid Grammar-Based Approach to Multimodal Languages Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arianna D’Ulizia, Fernando Ferri, and Patrizia Grifoni
367
Enabling Rapid Development of Multimodal Data Entry Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Irina Kondratova and Scott Durling
377
An Approach for Managing Ambiguities in Multimodal Interaction . . . . . Maria Chiara Caschera, Fernando Ferri, and Patrizia Grifoni
387
Applications of Mobile Technology in Different Social Contexts Supporting Social Networks by Event-Driven Mobile Notification Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adam Wojciechowski
398
Table of Contents – Part I
XXV
Realising Context-Sensitive Mobile Messaging . . . . . . . . . . . . . . . . . . . . . . . Jill Freyne, Emil Varga, Daragh Byrne, Alan F. Smeaton, Barry Smyth, and Gareth J.F. Jones
407
The Mobile Interfaces for Geo-hypermedia Databases . . . . . . . . . . . . . . . . . Yiwei Cao, Ralf Klamma, Satish Srirama, and Kaifei Wang
417
Personalization in Networked Systems Personalized Information Access in a Wiki Using Structured Tagging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Anmol V. Singh, Andreas Wombacher, and Karl Aberer
427
A Collection-Oriented Framework for Social Applications . . . . . . . . . . . . . Alexandre de Spindler, Michael Grossniklaus, and Moira C. Norrie
437
A Virtual Shopper Customer Assistant in Pervasive Environments . . . . . Antonella Santangelo, Agnese Augello, Salvatore Sorce, Giovanni Pilato, Antonio Gentile, Alessandro Genco, and Salvatore Gaglio
447
Profiling Nomadic Users Considering Preferences and Context of Use . . . Angela Carrillo-Ramos, Marl`ene Villanova-Oliver, J´erˆ ome Gensel, and Herv´e Martin
457
Networking for Distributed Knowledge Management ANN-Agent for Distributed Knowledge Source Discovery . . . . . . . . . . . . . . Georgina Stegmayer, M. Caliusco, Omar Chiotti, and M. Rosa Galli
467
P2P Routing-by-Content on a Lightweight Community Basis . . . . . . . . . . Silvana Castano, Alfio Ferrara, and Stefano Montanelli
477
Collaborative Systems Towards a Society of Peers: Expert and Interest Groups in Peer-to-Peer Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Achmad Nizar Hidayanto and St´ephane Bressan
487
Self-organization of Wireless Networks Through Declarative Local Communication (Extended Abstract) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . St´ephane Grumbach, Jia-liang Lu, and Wenwu Qu
497
Workshop on Ontology Content and Evaluation in Enterprise (OntoContent) OnToContent 2007 PC Co-chairs’ Message . . . . . . . . . . . . . . . . . . . . . . . . . .
509
XXVI
Table of Contents – Part I
Ontology Design and Evaluation Evaluation Framework for Automatic Ontology Extraction Tools: An Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jinsoo Park, Wonchin Cho, and Sangkyu Rho Ontology Design Risk Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Carlos Ruben Ferreira, Pedro Marques, Andr´e L. Martins, S´ergio Rita, Bruno Grilo, Rudi Ara´ ujo, Peyman Sazedj, and H. Sofia Pinto
511 522
Ontology-Based Decisions and Dialogues On Conducting a Decision Group to Construct Semantic Decision Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Yan Tang Ontological Modeling for Interactive Question Answering . . . . . . . . . . . . . Roberto Basili, Diego De Cao, and Cristina Giannone
534 544
Ontology-Based Medical Applications Federated Ontology Search for the Medical Domain . . . . . . . . . . . . . . . . . . Vasco Calais Pedro, Lucian Vlad Lita, Stefan Niculescu, Bharat Rao, and Jaime Carbonell An Ontology-Based Technique for Validation of MRI Brain Segmentation Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bruno Alfano, Marco Comerci, Giuseppe De Pietro, and Amalia Esposito
554
566
Workshop on Object-Role Modeling (ORM) ORM 2007 PC Co-chairs’ Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
579
Process Modeling Business Process Modeling and ORM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tony Morgan
581
Fact-Oriented Modeling in the Data-, Process- and Event Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Peter Bollen
591
Declarative Process Modeling with Business Vocabulary and Business Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Stijn Goedertier and Jan Vanthienen
603
Table of Contents – Part I
XXVII
Metamodeling A NIAM2007 Conceptual Analysis of the ISO and OMG MOF Four Layer Metadata Architectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inge Lemmens, Maurice Nijssen, and Sjir Nijssen A Meta-model for Ontologies with ORM2 . . . . . . . . . . . . . . . . . . . . . . . . . . . Christina Tziviskou and C. Maria Keet
613 624
Data Integration Object Role Modeling Enabled Metadata Repository . . . . . . . . . . . . . . . . . Bryan Shelstad, Pat Hallock, Necito Dela Cruz, and Dick Barden Using ORM in an Ontology Based Approach for a Common Mapping Across Heterogeneous Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Baba Piprani Modeling Data Federations in ORM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Herman Balsters and Terry Halpin
634
647 657
Industrial Applications Promising Chance of Innovation for Conceptual Modeling in Commerzbank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mario Gutknecht
667
Industrial Experience with Fact Based Modeling at a Large Bank . . . . . . Jos Rozendaal
678
Is There Fact Orientation Life Preceding Requirements? . . . . . . . . . . . . . . Jos Vos
688
Formal Issues Reduction Transformations in ORM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Terry Halpin, Andy Carver, and Kevin M. Owen
699
Visualizing Formalisms with ORM Models . . . . . . . . . . . . . . . . . . . . . . . . . . S.J. Overbeek, P. van Bommel, H.A. (Erik) Proper, and D.B.B. Rijsenbrij
709
Advances in FCO-IM (2): A Shorter Algorithm for Determining Intra Fact Type Uniqueness Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jan Pieter Zwart and Guido Bakema
719
Description Logics and OWL Mapping ORM into the SHOIN/OWL Description Logic: Towards a Methodological and Expressive Graphical Notation for Ontology Engineering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mustafa Jarrar
729
XXVIII
Table of Contents – Part I
Mapping OWL-DL into ORM/RIDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dang Bui Bach, Robert Meersman, Peter Spyns, and Damien Trog
742
Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
753
A Deterministic Database Replication Protocol Where Multicast Writesets Never Get Aborted⋆ J.R. Ju´arez-Rodr´ıguez1, J.E. Armend´ariz-I˜nigo1, F.D. Mu˜noz-Esco´ı2, J.R. Gonz´alez de Mend´ıvil1, and J.R. Garitagoitia1 1
Universidad P´ublica de Navarra, 31006 Pamplona, Spain {jr.juarez,enrique.armendariz,mendivil,joserra}@unavarra.es 2 Instituto Tecnol´ogico de Inform´atica, 46022 Valencia, Spain [email protected]
Introduction. Several approaches for the full replication of data in distributed databases [1] have been studied. One of the preferred techniques is the eager update everywhere based on the total-order multicast delivery service [2], where the most outstanding varieties are: certification-based and weak-voting [1]. Under this approach, the execution flow of a transaction can be split into two different main phases: the first one, all operations are entirely executed at the delegate replica of the transaction; and followed by the second phase, started when the transaction requests its commit, all updates are collected and grouped (denoted as writeset) at the delegate replica and sent to all replicas. The commitment or abortion of a transaction is decided upon the delivery of the message. In the case of certification-based ones, each replica holds an ordered log of already committed transactions and the writeset is certified [3], against the log, to commit or abort the transaction. On the other hand, weak-voting ones atomically apply the delivered writeset at remote replicas whilst the delegate, if it is still active, reliably multicasts [2] a commit message. Thus, the certification-based presents a better behavior in terms of performance, only one message is multicast per transaction, but with higher abortion rates [1]. Recently, due to the use of DBMS providing SI, we have found several certification-based protocols to achieve, actually a weaker form called GSI [3], this isolation level in a replicated setting [3] while quite a few weak-voting ones [4]. Total-order multicast in database replication offers two attractive properties: a) they reliably send the writeset to all replicas; and, b) they provide the same scheduling of transactions and, thus, all replicas reach the same decision for each transaction in the replicated setting. However, if we focus in the scheduling policy, there is a point where certification-based and weak-voting techniques converge: all delivered messages coming from a replica are known to be successfully certified (i.e no need of a log for certification ones) and committed (i.e. no need for the additional message exchange for weak-voting ones). Nevertheless, this may cause the penalization of certain transaction patterns. We propose an eager update-everywhere replication protocol [5] that follows the most straightforward scheduling policy: a round-robin based on replica identifiers that is unique and known by all replicas. At a given slot, only those writesets coming from the replica associated to that slot are allowed to commit, while the conflicting local transactions should be aborted. This generates a unique scheduling configuration of all replicas where all writesets are applied in the same order providing GSI. ⋆
This work has been partially supported by the EU FEDER and Spanish MEC under grant TIN2006-14738-C02.
R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 1–2, 2007. c Springer-Verlag Berlin Heidelberg 2007
2
J.R. Ju´arez-Rodr´ıguez et al.
Outline of the Protocol. The replication protocol is going to be implemented in a middleware system. All operations of a transaction Ti are submitted to the middleware (abort operations are ignored for simplicity) corresponding to its delegate replica (k). Each middleware replica stores the same copy of a list (to work) that determines the scheduling of transactions in the system. Here, for the sake of understanding, it is assumed a round robin scheduling based on replica identifiers (N ). The to work variable is in charge of deciding which replica can send a message or which writeset has to be applied, respectively. Initially, it is filled with infinite tuples (just for algorithm presentation purposes) of the form order, n mod N, n, ∅ with n ∈ N, sorted by n. When a transaction requests its commit the writeset is retrieved from the local database replica, if it is an empty one the transaction will be committed. Otherwise, there is a list (WS list) that stores local transactions (with their writesets) that have requested their commit. Concurrent to this, the replica must wait for its turn, i.e. the first position of order, k, n, ∅, in its own to work. Once it reaches its turn, if there are no transactions stored in WS list it will make advance the turn to the next middleware replica by multicasting (reliable) the next, k, n, ∅ to all replicas. Otherwise, it will reliably multicast all the writesets contained in WS list in a to commit, k, n, WS list. Upon delivery of these next and to commit messages they are substituted in their proper positions (which is reflected by n) of the to work list of the delivered replica. All replicas run at different speed and there could be replicas still handling previous positions of their own to work. The next tuples of to work are deleted so it can progress the scheduling of new transactions. We will distinguish two cases of writeset execution: at its delegate replica or at a remote replica. In the first case the transactions will be directly committed. Whereas in the other case a remote transaction is used to apply and commit the transaction. However, it may conflict with local transactions and being involved in a local database deadlock. To partially avoid this fact, we stop the execution of write operations in the system. Nevertheless, this is not enough since the writeset can be involved in a deadlock with local transactions that already wrote in some data item that intersects with the writeset and be aborted. Hence, it must be re-attempted until its successful completion. Further details about its execution flow, correctness, comparing simulations and fault-tolerance issues are given in [5].
References 1. Wiesmann, M., Schiper, A.: Comparison of database replication techniques based on total order broadcast. IEEE TKDE 17(4), 551–566 (2005) 2. Chockler, G., Keidar, I., Vitenberg, R.: Group communication specifications: a comprehensive study. ACM Comput. Surv. 33(4), 427–469 (2001) 3. Elnikety, S., Pedone, F., Zwaenopoel, W.: Database replication using generalized snapshot isolation. In: SRDS, IEEE-CS, Los Alamitos (2005) 4. Ju´arez, J.R., Armend´ariz, J.E., de Mend´ıvil, J.R.G., Mu˜noz, F.D., Garitagoitia, J.R.: A weak voting database replication protocol providing different isolation levels. In: NOTERE 2007 (2007) 5. Ju´arez, J.R., Armend´ariz, J.E., Mu˜noz, F.D., de Mend´ıvil, J.R.G., Garitagoitia, J.R.: A deterministic database replication protocol where multicast writesets never got aborted. Technical Report ITI-ITE-07/15, ITI (2007)
AWSM: Infrastructure for Adaptive Web Service Migration Holger Schmidt1 , R¨ udiger Kapitza2 , Franz J. Hauck1 , and Hans P. Reiser3 1
2
Institute of Distributed Systems, Ulm University, Germany {holger.schmidt,franz.hauck}@uni-ulm.de Dept. of Comp. Sciences, Informatik 4, University of Erlangen-N¨ urnberg, Germany [email protected] 3 LaSIGE, Departamento de Inform´ atica, University of Lisboa, Portugal [email protected]
Abstract. Ubiquitous computing applications have to cope with a highly dynamic and heterogeneous infrastructure. Thus, software must be able to adapt dynamically and react to the environment. Furthermore, it should be platform and language independent. We propose an infrastructure for stateful self-adaptive migratable Web services for implementing ubiquitous computing applications. Our infrastructure allows location-transparent, stateful migration at runtime. Unlike related work, we introduce location-independent Web service references. Our Web services support adaptation to the application context by being able to dynamically change the interface, locally available state and implementation at the same time. The concept can be transferred to any Web service platform as we build on top of standard Web service technology. Keywords: Web Service, Migration, Adaptation, Platform Independency, Dynamic Loading of Code.
Ubiquitous Computing infrastructures should provide mechanisms to automatically handle heterogeneity and to reduce the complexity of handling adaptivity and reactivity in the applications. State-of-the-art infrastructures have limitations in terms of supporting adaptation and handling heterogeneity. In this paper, we present stateful self-adaptive migratable Web services (SAMWS). A SAM-WS is comparable to a distributed object, which offers a Web service interface. It can dynamically load the code necessary for the given environment, change its interface on the basis of the current location context, and adjust the active state that is available at the current node. The novel contribution of our infrastructure is that it combines Web service technology with mobility mechanisms that support adaptation and heterogeneity. The key difference to related work on migratable Web services [1] is the support for adaptation to the current application context by dynamically changing the service interface, the locally available state and the implementation in use. Unlike our previous work on context-aware migration of CORBA objects [2], in this paper we propose the use of standard Web service technology as core mechanism, which highly simplifies interoperability between heterogeneous infrastructures of different vendors and R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 3–4, 2007. c Springer-Verlag Berlin Heidelberg 2007
4
H. Schmidt et al.
allows disconnected operation. On the basis of previous work [3], the presented platform contains a novel dynamic deployment service that allows migration of services to machines on which the corresponding code is unavailable and thus has to be loaded on demand. We support client-transparent migration by introducing persistent Web service references for the whole life-cycle on basis of a globally unique ID for each SAM-WS instance, which is encoded into the service URL, and a location service enabling discovery of the current location. Figure 1 shows the CORBA life-cycle-service-like interaction among the logical entities for self-adaptive Web service migration. Migration is initiated by storing the Web service’s active state into a state store service for later use. Then, the SAM-WS discovers possible migration targets with the help of a factory finder service. Therefore, the SAM-WS passes criteria to the factory finder service (e.g., required context and desired interface at target location) according to which appropriate factory services (i.e., migration targets) are returned. These factory services enable the remote deployment of arbitrary Web services. The factory service that is returned by the factory finder service allows the creation of the criteria-specified Web service facet (i.e., a specific configuration of interface, state and implementation) at the desired location. Last, the newly created Web service is updated with the necessary state from the state store service, the original Web service is undeployed and references to the Web service are updated by storing the current location in the location service.
Fig. 1. Collaboration of logical entities for self-adaptive Web service migration
Our ongoing work targets the prototype implementation for other Web service platforms, i.e., .NET and the Java Micro Edition. We do not expect interoperability problems, as our infrastructure only relies on standard Web service technology. Additionally, for supporting the development of a SAM-WS, we will investigate the use of a model-driven architecture.
References 1. Hammerschmidt, B.C., Linnemann, V.: Migratable Web Services: Increasing Performance and Privacy in Service Oriented Architectures. IADIS Int. Journal on Comp. Sci. and Info. Sys. 1(1), 42–56 (2006) 2. Kapitza, R., Schmidt, H., S¨ oldner, G., Hauck, F.J.: A Framework for Adaptive Mobile Objects in Heterogeneous Environments. In: Meersman, R., Tari, Z. (eds.) On the Move to Meaningful Internet Systems 2006: CoopIS, DOA, GADA, and ODBASE. LNCS, vol. 4276, pp. 1739–1756. Springer, Heidelberg (2006) 3. Kapitza, R., Schmidt, H., Bartlang, U., Hauck, F.J.: A Generic Infrastructure for Decentralised Dynamic Loading of Platform-Specific Code. In: DAIS 2007 (2007)
Generic Proxies—Supporting Data Integration Inside the Database Andrei Vancea, Michael Grossniklaus, and Moira C. Norrie Institute for Information Systems, ETH Zurich CH-8092 Zurich, Switzerland {vancea,grossniklaus,norrie}@inf.ethz.ch
Abstract. Existing approaches to data integration generally propose building a layer on top of database systems to perform the necessary data transformations and manage data consistency. We show how support for the integration of heterogeneous data sources can instead be built into a database system through the introduction of a generic proxy concept.
Over the last two decades a great deal of research in the database and information systems communities has addressed the challenges of data integration. Generally, the problem addressed is how to combine data from different sources to provide a unified user view [1]. Various approaches have been proposed depending on the purpose of the integration and the nature of the data sources, but two broad categories of data integration systems that have received a lot of attention in recent years are mediator [2] and data warehousing [3] systems. These systems tend to have a common architectural approach in that integration is achieved by building extra layers on top of the database systems. We believe that adding internal support for data integration in a database system can have positive effects in the development of data integration systems. In our approach, the integration of external information sources is done using a generic proxy. A generic proxy consists of two parts: the proxy object and the proxy process. The proxy object represents the database view of the external data source. The data from the external source is cached locally, similar to the data warehouse approach. Queries can be executed locally without any communication to the external source. The synchronisation between the database view of the information source and the external information source is done automatically by the database management system in a transparent way. We have defined a proxy programming interface that allows the user to specify how a proxy object interacts with an external source. The user has to write different implementations for different types of external sources. The proxy processes are created from particular implementations of the proxy interface. When a user wants to create a new proxy object, they must specify the name of the proxy and also the list of arguments that are needed in order to initialize the generic proxy. First, a new proxy object is created and stored in the database. Afterwards, the proxy object must be associated with an existing or newly created proxy process. This association is performed using a chain of responsibility approach. All of the existing proxy processes pertaining to the current proxy R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 5–6, 2007. c Springer-Verlag Berlin Heidelberg 2007
6
A. Vancea, M. Grossniklaus, and M.C. Norrie
type are asked to accept the newly created proxy object using the accept call. The proxy object is associated with the first process that accepts it. If no such process is found, a new one is created and associated with the proxy object. The association between the proxy object and the proxy process cannot be changed at a later time. A proxy process must handle the bi-directional communication between the database and the external source. When the proxy object is changed, the database system, using the proxy process, sends the modifications to the information source. At the same time, when the external information source is changed the database system is notified by the proxy process. Having a running proxy process for each proxy object is clearly not a feasible solution. We therefore chose to map more than one proxy object to a single proxy process. By using the proxy programming interface, the user can specify how the mapping of proxy objects to proxy processes is done for particular types of proxies. We maintain a FIFO list that contains the proxy objects that are scheduled for synchronisation with their external information sources. A proxy object is added to this list if the value of one of its attribute is modified or as a result of the modification of the external information source. The proxy objects are extracted, one by one, from the list and are synchronised with the external sources. During the synchronisation process, a new object is created (remoteObject) by reading the data directly from the external source. The values of the two objects (the proxy object and remoteObject) are then merged together, resulting a new object (mergedObject). Potential conflicts are also solved during the merging process. The values of mergedObject are then sent to the information used, using the proxy process. The proxy object is replaced with mergedObject. By using the generic proxy mechanism, the synchronisation between the external information sources and the database system is done automatically when the information source is changed or when the value of its proxy object is modified. The system does not guarantee that the client will work with the latest versions of the information sources, but the synchronisation is usually done within a reasonable amount of time. We have implemented generic proxies in an object data management framework based on the db4o object storage system [4].
References 1. Lenzerini, M.: Data Integration: A theoretical Perspective. In: Proceedings of ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems, Madison, WI, USA, pp. 233–246. ACM Press, New York (2002) 2. Wiederhold, G.: Mediators in the Architecture of Future Information Systems. In: Huhns, M.N., Singh, M.P. (eds.) Readings in Agents, Morgan Kaufmann, San Francisco (1997) 3. Widom, J.: Research Problems in Data Warehousing. In: Proceedings of International Conference on Information and Knowledge Management, Baltimore, MD, USA (1995) 4. Paterson, J., Edlich, S., H¨ orning, H., H¨ orning, R.: The Definitive Guide to db4o. Apress (2006)
Collaborative Data Synchronization in an Instance-Mapped P2P Data Sharing System Md Mehedi Masud and Iluju Kiringa SITE, University of Ottawa, Canada {mmasud,kiringa}@site.uottawa.ca
Abstract. In this paper, we propose a data synchronizing mechanism between peers in a peer-to-peer (P2P) database network where each peer has an independently created relational database. We assume that datalevel mappings are used to resolve data heterogeneity between two peers. According to the strategy, peers resolve update execution conflicts during data synchronization in a collaborative fashion.
Peer-to-peer data sharing deals with the exchange of data between heterogeneous sources whose data need not be interdependent, replicated, and may represent different real world domains. In this paper, we assume that each peer stores heterogeneous relational data which are related to data stored in remote peers through mapping tables [1]. Intuitively, mapping tables are data-level mappings which list pairs of corresponding values between two sources and thereby act as an interface to relate data between two peers. Two peers related through mapping tables are said to be acquainted. In the settings, any peer may initiate an update which is executed first locally and then the update is propagated throughout the P2P network among the acquainted peers in order to synchronize the data. The authors in [2] introduce the update semantics in such an environment and describe update execution mechanism. The authors also propose a data synchronization mechanism, where each peer independently detects and resolves conflicts and agrees on the same data value with its acquaintees. In this paper we propose a data synchronization technique where peers resolve conflicts in a collaborative fashion where human intervention may be required to resolve conflicts. The approach is applicable where the system tolerates data inconsistency for a certain period of time and update to a peer is not immediately important to other peers. The strategy is described below. Consider that a peer receives two updates generated from two peers that modify a tuple in the database. Without proper knowledge, the peer is unable make a decision which one to accept or reject. Due to the arbitrary topology of P2P networks, conflict between the same pair of updates may occur at different peers during their propagation. In order to keep the databases consistent, each peer must reach the same decision to execute the updates. According to the strategy, when a peer detects a conflict, the peer consults with its parent about the decision. Note that a peer which forwards an update is a parent and the peer which receives the update is called a child peer. If the parent has no knowledge R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 7–8, 2007. c Springer-Verlag Berlin Heidelberg 2007
8
M.M. Masud and I. Kiringa
Fig. 1. Collaborative approach
about the execution decision, then the parent also asks its parent. This process continues until a peer is found which knows the decision or the inquiry reaches the initiators. The first peer which detects the conflict may have already propagated an inquiry along the path to the initiators and the result is already decided. Hence, other peers which detect the same conflict may receive the result from any intermediate peers along the path to the initiator. After receiving the conflicting updates, both initiators reach an agreement about the conflict resolution. The initiators then propagate the result to the conflicting peers. Each peer along the path stores the result. After receiving the decision, conflicting peers continue the execution of the updates. The collaborative algorithm is illustrated in Figure 1. Consider that the peers P2 , P3 , and P4 have a conflict between two updates u1 and u6 . Also in peers Pi and Pj , somewhere in the network, the same pair of updates u1 and u6 involved in conflict. To decide about the execution, P2 enquires its parent about execution decision. In this case the parent is the initiator of u1 . Similarly, P3 asks P5 which in turn asks P6 , the initiator of u6 . P4 also asks P2 and P5 about the decision and waits for the decision. In addition, Pi and Pj also involved in conflict with respect to u1 and u6 . Pi and Pj also perform the same procedure by asking their respective parents. In this case Pj asks P7 along the path Pj → · · · → P7 . P7 then asks P3 . If P3 has already the result then P3 informs P7 about the result. Otherwise, P7 waits for P3 which is also waiting for the result. Similarly, Pi asks P1 along the path Pi → · · · → P1 , which is the initiator of u1 . During request propagation, if any peer Pk is found which knows the decision, then Pk forwards the result to Pi along the path Pk → · · · → Pi . When the inquiry reaches both P1 and P6 , decision is made. In this case users may be involved if the decision cannot be taken automatically. After the decision has been made, the results are propagated to all the inquiring peers. In this way peers resolve the conflict in a P2P network.
References 1. Kementsietsidis, A., Arenas, M., Miller, R.J.: Mapping Data in Peer-to-Peer Systems: Semantics and Algorithmic Issues. In: SIGMOD (2003) 2. Masud, M., Kiringa, I., Ural, H.: Update Propagation and Data Synchronization in Instance Mapped Peer Data Sharing Systems. In: InterDB (2007)
Translating XPath Queries into SPARQL Queries M. Droop1, M. Flarer1, J. Groppe2, S. Groppe2, V. Linnemann2, J. Pinggera1, F. Santner1, M. Schier1, F. Schöpf1, H. Staffler1, and S. Zugal1 1 University of Innsbruck, Technikerstrasse 21a, A-6020 Innsbruck, Austria [email protected], [email protected], {Jakob.Pinggera,Florian.Santner}@student.uibk.ac.at, [email protected], [email protected], {Hannes.Staffler, Stefan.Zugal}@student.uibk.ac.at 2 IFIS, University of Lübeck, Ratzeburger Allee 160, D-23538 Lübeck, Germany {jinghua.groppe,groppe,linnemann}@ifis.uni-luebeck.de
Extended Abstract
rel:child
l: re art st
The W3C has developed XPath [3] as a query language for XML data. XPath is embedded in many other languages like XQuery and XSLT. The name of XPath derives from its basic concept, the path expression, with which the user can hierarchically address the nodes of the XML data. The user of XPath may not only use simple relationships like parent-child, but also more complex relationships like the descendant relationship, which is the transitive closure of the parent-child relationship. Furthermore, complex filter expressions are allowed in XPath queries. RDF is a language for representing Node with information about resources in the file:///C:/bookstore.xml r el :t y pe identity X or rel: X World Wide Web. SPARQL [2] literal with end 9 value X supports querying RDF by triple and 0 rel: 1 15 ty p e rel: e 1 optional patterns, con- and disjunctions relationship r re l yp r rel: ch i : l:t 1 ld A10 re rel: start and extensible value testing.
category CHILDREN
Fig. 1. An example XML document A3
rel: rel: A9 attribute name ue val rel: d ch il re l :
start re l rel:end : na me
1 3 6 title
ype rel: start r el rel:end : va lu e re l:t
A4
rel:child
bookstore
pe re l:tyrel:
rel:child
The translation process from XPath [3] queries into SPARQL [2] queries consists of (i) the translation of the input data from XML into RDF, (ii) the translation from the XPath query into the translated SPARQL query, and (iii) the translation of the result into a format, which is equivalent to the result of the XPath query.
ype
A11 h ild
rel:t
author
pe rel:tyrel:
A1
5
11
1 pe re l:ty rel: 7 start re l rel:end 10 :n a me
A0
Harry Potter
2
book
3 4
1
yp e rel:t rel: start re l rel:end :n a me
re l: c
2
rel:child
Harry Potter J. K. Rowling
start 12 A12 nd e rel:e am rel:name nd :l n 13 re book
e rel:
14
re l
: va
start rel:en d lu e
3 8 9
J. K. Rowling
Fig. 2. Transformed RDF data of Fig. 1
R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Workshops, Part I, LNCS 4805, pp. 9–10, 2007. © Springer-Verlag Berlin Heidelberg 2007
10
M. Droop et al.
We translate the XML data into RDF data by a depth-first traversal of the XML tree and annotate each translated node of the XML data with relationships for annotating the type of the XML node, attribute relationships, namespace relationships, parent-child relationships, its name, its value and two relationships for the usage of a numbering scheme [1] (see Fig. 1 and Fig. 2), as SPARQL queries do not allow the computation of the transitive closure, which is necessary for recursive XPath axes. With these relationships, we can support all XPath axes in our translation scheme, as we can determine the nodes according to the basic relationships. Note that the XPath location step following::n is equivalent to ancestor-or-self::node()/followingsibling::node()/descendant-or-self::n, and the XPath location step preceding::n is equivalent to ancestor-or-self::node()/preceding-sibling::node()/descendant-or-self::n. We use standard compiler techniques for the translation of the XPath query into the SPARQL query. See Fig. 3 for the translation of the XPath query /bookstore/parent:: node()/descendant::title/text(). PREFIX rel: PREFIX xsd: SELECT ?v9 WHERE { ?v0 rel:type "9". ?v0 rel:child ?v1. ?v1 rel:type "1". ?v1 rel:name "bookstore". ?v2 rel:child ?v1. ?v7 rel:start ?v3. ?v2 rel:start ?v5.
?v7 rel:end ?v4. ?v2 rel:end ?v6. ?v7 rel:type "1". ?v7 rel:name "title". ?v7 rel:child ?v8. ?v8 rel:type "3". ?v8 rel:value ?v9. FILTER(xsd:long(?v6)>xsd:long(?v4)). FILTER(xsd:long(?v5)allInstances()->select(salary->size() = 0) foreach { e | e.raiseSalary(e.worksIn.getSalary()->min()); }
•
Move all employees from the toy department to the research department: Dept->allInstances()->select(name = ‘Toys’)->collect(employees) foreach { e | e unlink worksIn; e link worksIn to Dept->allInstances()->select(name = ‘Research);}
•
Find the average salary for each department by means of the following query which reminds a dependent join: Dept->allInstances()->collect(d | Tuple d.employs.getSalary()->avg() } )
{
dept
=
d,
totalSal
=
References 1. Object Management Group: Object Constraint Language version 2.0 (May 2006), http:// www.omg.org/cgi-bin/doc?formal/2006-05-01 2. Object Management Group: Unified Modeling Language: Superstructure version 2.1.1 (February 2007), http://www.omg.org/cgi-bin/doc?formal/2007-02-05 3. The Model Development Tools, Eclipse Foundation, http://www.eclipse.org/modeling/mdt/ 4. Visualize all moDel drivEn programming, http://www.vide-ist.eu/
Improving Scalability in Pub-Sub Knowledge-Based Networking by Semantic Clustering John Keeney, Dominic Jones, Dominik Roblek, David Lewis, and Declan O’Sullivan Knowledge & Data Engineering Group (KDEG) - Trinity College Dublin, Ireland {John.Keeney,jonesdh,roblekd,Dave.Lewis, Declan.OSullivan}@cs.tcd.ie http://kdeg.cs.tcd.ie/technologies/kbn
The three main pub/sub systems – type-based, content-based and topic-based networks allow for normalised subscriptions and publications using a combination of push/pull message delivery. Knowledge-based Networks (KBN) extends contentbased networks by allowing subscriptions to be matched not only on the contents of messages, but also on some semantics of the message contents [1,2,3]. This creates a fuller, richer and more meaningful system whereby publishers and subscribers can be matched using more a expressive subscription mechanism. Here we discuss how a Knowledge-Based Network implementation was extended to support node clustering based on subscription semantics, thereby improving performance and scalability. In extending the Knowledge-Based Network to incorporate semantic-based clustering, this research aims to provide a network environment in which routing nodes, publishers and subscribers are clustered based on their semantic footprint and interests. The benefits of this are twofold: Firstly, this reduces the processing time involved in making routing decisions based on messages content. Its takes fewer hops to get from source to destination, as these are already closely linked based on the likelihood of there being a match between the two. Secondly, this allows for natural grouping of likeminded publishers and subscribers as seen in traditional web forums / newsgroups. The cluster-based approach to pub/sub networks turns the normal userbased search paradigm full circle as network data is passed from node to node towards those who are most likely to be interested in the data as opposed to those users searching out that same data. An implementation of a KBN, based on the Siena CBN, has been implemented, and enables the efficient routing of distributed heterogeneous knowledge to, and only to, nodes that have expressed a specific interest in that knowledge. This KBN implementation currently operates on distributed PlanetLab Nodes. Initially clusters are statically designed and operated. In this sense nodes are assigned to clusters without the possibility of changing clusters once they have joined; later users will be able to join and leave clusters independently. Clusters will then be seen as organic structures in which users join and leave as their own personal interests change, grow, reform and are refined. Preliminary evaluations show the importance of semantic clustering for efficient performance and network scalability. These evaluations demonstrate how even inflexible and static clustering can have a substantial positive effect. Ongoing research is focusing on how clustering can be performed dynamically as the semantics of the data in the network changes. Such clustering may also form the basis for a viable means for forming KBN sub-domains, thereby sharing the load of development and supporting incremental deployment. R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 19–20, 2007. © Springer-Verlag Berlin Heidelberg 2007
20
J. Keeney et al.
Current work is also focusing on integrating policy-based cluster management for the KBN [1,3] to support much more sophisticated cluster schemes, where sub-cluster intercommunicate over a super-peer network. This will support overlapping clusters and hierarchies of clusters under separate administrative control. Policy-driven clustering enables the size of the super-peer network and the size and granularity of peer clusters to reflect different application domain needs. For example, the clustering policy may be specified in terms of accuracy and latency as well as the semantic spread of the query-able knowledge-base, or in terms of queries across a peer population and subscription and notification load across that population. This use of clustering policies supports innovation in clustering strategies by allowing peers to introduce new policy elements and the supporting super-peer matching capabilities. The scalability and flexibility of the KBN under high load of heterogeneity will be evaluated using a combination of small-scale and large-scale simulations and deployments in order to test the message overhead involved in clustering and the effectiveness of semantic load sharing. To facilitate these investigations a tool has recently been completed to allow the parameterised generation of arbitrary ontologies with defined characteristics, suitable for a diverse set of application scenarios. Ultimately we aim to design and validate differing clustering policies, and tune a range of semantic distance calculations to make semantic clustering more effective. We will also assess the impact of policies on the coexistence of different reasoning capabilities in KBN nodes. In addition, the effect of semantic interoperability in node matching functions and in inter-cluster communications is being assessed [2]. This requires evaluation of different schemes for injecting newly discovered semantic interoperability mappings into the ontological corpus held by any given cluster, as well as how these mapping are shared between clusters [2]. We expect that any practical system will need to adapt its clustering to reflect the constantly changing profile of semantics being send and subscribed to via the KBN. This also raises interesting possibilities of the KBN operating as a knowledge discovery tool. One of the main questions that surround the use of ontologies deep in the network at the routing layer remains the evaluation of the resulting performance overhead. Previous small scale studies in this area [1,3] shows a definite performance penalty, but this may be acceptable when offset against the increased flexibility and expressiveness of the KBN subscription mechanism. This research will continue evaluating how the performance of off-the-shelf ontology tools will affect the scalability of the KBN at larger scales. This material is based upon works supported by the Science Foundation Ireland under Grant No 05/RFP/CMS014. [1] Lewis, D., Keeney, J., O’Sullivan, D., Guo, S.: Towards a Managed Extensible Control Plane for Knowledge-Based Networking. In: State, R., van der Meer, S., O’Sullivan, D., Pfeifer, T. (eds.) DSOM 2006. LNCS, vol. 4269, Springer, Heidelberg (2006) [2] Guo, S., Keeney, J., O’Sullivan, D., Lewis, D.: Adaptive Semantic Interoperability Strategies for Knowledge Based Networking. In: Workshop On Scalable Semantic Web Knowledge Based Systems at OTM 2007, Vilamoura, Algarve, Portugal (November 2007) [3] Keeney, J., Lewis, D., O’Sullivan, D.: Ontological Semantics for Distributing Contextual Knowledge in Highly Distributed Autonomic Systems. Journal of Network and System Management (JNSM) 15(1) (March 2007)
A Model for Fuzzy Multidimensional Spaces Claudia González2, Raimundo Mirisola2, Leonid Tineo2, and Angélica Urrutia1 1
Universidad Católica del Maule, Departamento de Computación, Talca, Chile [email protected] 2 Universidad Simón Bolívar, Departamento de Computación, Apartado 89000, Caracas 1080-A, Venezuela {claudia,raimundo,leonid}@ldc.usb.ve
Abstract. Fuzzy data representation and manipulation is needed in Data Warehouse due to imprecision or uncertainty from different sources. Nevertheless, this problem has not been wide explored. We propose a fuzzy multidimensional model, cube and operators with a notion of fuzzy hierarchy based on fuzzy functional dependencies. Keywords: Data Warehouse, Fuzzy Databases, Multidimensional Model.
1 Introduction Different aspects of multidimensional databases have taken the attention of previous works. Formal definitions of cube, operators and representation in multidimensional databases and relational databases have been presented in [Error! Reference source not found.]. On the other hand, several efforts have been made in order to add fuzziness in databases. In particular, [Error! Reference source not found.] introduced a model for fuzzy data. Fuzzy OLAP to support the qualitative analysis in data warehousing has been presented in [Error! Reference source not found.]. Based on the use of fuzzy data model [Error! Reference source not found.], we extend here the model proposed in [Error! Reference source not found.].
2 Fuzzy Space, Cube and Operations We take the concept of Generalized Fuzzy Domain form the GREFRED Model [Error! Reference source not found.]. It includes traditional (crisp) data but also special values (Unknown, Undefined, Null) and fuzzy numbers. Comparison operators are generalized in this model by means of the Possibility Measure. A fuzzy multidimensional space is defined by dimensions, dimensional levels with associated domains that might be generalized fuzzy ones. A value in a dimensional level can have ancestors or descendants. We allow fuzzy dependency functions, obtaining fuzzy ancestor-descendant relations. The dependency degree is defined as a possibility measure. A base cube Cb is defined by , being Db the R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 21–22, 2007. © Springer-Verlag Berlin Heidelberg 2007
22
C. González et al.
dimensions, Lb the dimensional levels lb1 … lbm with fuzzy generalized domains Dom(lbi) and Rb a data set of rows in Dom(lb1)×…×Dom(lbm). A cube C is a substructure , being D⊆Db, L the projection of Lb in D and R the projection of Rb in D. Operation of on fuzzy cubes are. ⎯ Level Climbing rolls up the associated levels to a dimension set belonging to the cube dimensions. This operator is extended by means of the fuzzy ancestor relation. ⎯ Function Application transforming values, applied functions are automatically extended to fuzzy generalized domain. ⎯ Projection: this operation is the trivial extension of traditional one giving fuzzy data in corresponding places. ⎯ Packing makes a pack of those rows that have equal dimensional value, and the measure associated to each pack is the set of measures associated to the rows of the pack. In our extension the equality is defined by a possibility measure. Its process is a possibilistc reasoning that involves a user given consistence level. ⎯ Navigation rolls up a cube to a specific dimension, packing the result and applying an aggregated function to allow fuzzy data and its operators. ⎯ Dicing performs a selection in both, the cube and the base cube. In the cube filters the elements that satisfy a given fuzzy condition with a threshold, in the base cube considers also ancestors. ⎯ Slicing allows rolling up the cube to a specific dimension, cut out the dimension D and apply it a parking and an aggregated function, according to corresponding fuzzy semantics.
3 Conclusions and Future Works In this work Multidimensional space was extended to include fuzzy dimensions defined over functional dependencies. Adequate version for ancestor and descendants were provided. Also fuzzy cube and its operators were presented. In future works we hope extend SQL 2003 with presented model and implement it in a RDBMS. Acknowledgments. This work was supported in part by Venezuelan Governmental Foundation for Science, Innovation and Technology FONACIT Grant G-2005000278. Main support for whole live comes form Jesus Christ, my personal Lord (Leonid).
References 1. Galindo, J., Urrutia, A., Piattini, M.: Representation of Fuzzy Knowledge in Relational Databases. In: Galindo, F., Takizawa, M., Traunmüller, R. (eds.) DEXA 2004. LNCS, vol. 3180, pp. 917–921. Springer, Heidelberg (2004) 2. Vassiliadis, P.: Modeling Multidimensional Databases, Cubes and Cube Operations. Statistical and Scientific Database Management, 53–62 (1998) 3. Pavan Kumar, K.V.N.N., Radha Krishna, P., De Kumar, S.: Fuzzy OLAP cube for qualitative analysis. Intelligent Sensing and Information Processing, 290–295 (2005)
Capturing Ontology Evolution Processes by Repeated Sampling of Large Document Collections Albert Weichselbraun1 , Arno Scharl2 , Wei Liu3 , and Gerhard Wohlgenannt1 1
Department of Applied Computer Science, Vienna University of Economics and Business Administration, Austria (aweichse,wohlg)@ai.wu-wien.ac.at 2 Department of New Media Technology, MODUL University Vienna, Austria [email protected] 3 School of Computer Science and Software Engineering, University of Western Australia, Perth, Australia [email protected] Abstract. Ontology evolution is an intrinsic phenomenon of any knowledge-intensive system, which can be addressed either implicitly or explicitly. This paper describes an explicit, data-driven approach to capture and visualize ontology evolution by semi-automatically extending small seed ontologies. This process captures ontology changes reflected in large document collections. The visualization of these changes helps characterize the evolution process, and distinguish core, extended and peripheral relations between concepts.
1
Introduction
Ontologies can be defined as a formal specification of a conceptualization of a domain [1]. Stojanovic et al. [2] distinguish between (i) explicit, usage driven changes, where changes are incorporated into the ontology due to a user’s/ ontology engineer’s request and (ii) implicit, data driven changes, reflecting changes in the system described by the ontology. Such changes have to be extracted by analyzing the affected system.
2
Sampling Process
In this research we focus on data driven changes, induced by the evolution of usage and the importance of vocabulary. Changes are detected using our ontology extension system [3] through analyzing text collected from 150 online media sites at four different time points between November 2005 and August 2006. Applying the system to small seed ontologies yields four different ontologies reflecting the evolution of the domains vocabulary. The analyzed online media articles used to build domain ontologies were written by many different authors, therefore the assembled ontology is a composite domain ontology, reflecting the terms’ average usage in those media. R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 23–24, 2007. c Springer-Verlag Berlin Heidelberg 2007
24
3
A. Weichselbraun et al.
Ontology Evolution Process
Explicit changes in the domain are reflected by corresponding modifications of the ontology. We define three levels that domain concepts and relations may evolve through, namely, core, extended and peripheral. Core domain terminology is constantly included in the domain ontology. Core domain relations are the essential relations between those concepts. Extended domain terminology is included/excluded in the ontology depending on rise and fall of media coverage on related topics. Peripheral terminology is used in domain documents, but does not carry important domain concepts. These terms are not included in the ontology. The level of a particular concept depends highly on the granularity of the ontology, the more concepts an ontology comprises, the more concepts are considered part of the core domain terminology.
4
Results and Discussion
The following effects have been observed during our experiments: (i) Changes in a concept’s importance. As the focus of media coverage shifts, certain topics and the associated vocabulary are less frequently used in online media. Therefore the concepts weights will be reduced, and depending on the ontologies granularity the concept might even be removed from the ontology. (ii) Change of the underlying concept. Such changes might be very obvious or hardly noticeable for the user. (a) The focus of a concept might change very slightly. For instance many articles might use the term oil to cover topics about crude oil, gas and petrol in one month, while only gas and petrol are relevant in another one. (b) The meaning of the concept itself might change over time. The term fuel used to be a synonym for petrol, but now also includes alternative fuels. (c) Change of context. The meaning of a concept remains stable but the context of media coverage changes. Coverage on Thailand shifted from the tourism context to a catastrophe context after the tsunami in 2004. Term selection reflects the trade off between completeness (leading to complexity) and conciseness of the ontology. Disappearing concepts do not suggest that they are no longer relevant to the domain, but reflect a shift in priorities and interest of the media.
References 1. Gruber, T.R.: Toward principles of the design of ontologies used for knowledge sharing. International Journal of Human and Computer Studies, 907–928 (1995) 2. Stojanovic, L., Maedche, A., Motik, B., Stojanovic, N.: User-driven ontology evolution management. In: G´ omez-P´erez, A., Benjamins, V.R. (eds.) EKAW 2002. LNCS (LNAI), vol. 2473, pp. 285–300. Springer, Heidelberg (2002) 3. Liu, W., Weichselbraun, A., Scharl, A., Chang, E.: Semi-automatic ontology extension using spreading activation. Journal of Universal Knowledge Management (1), 50–58 (2005)
Information Systems Development: A Trust Ontology Kamaljit Kaur Bimrah, Haralambos Mouratidis, and David Preston Innovative Informatics, School of Computing and Technology, University of East London, UK {bimrah,h.mouratidis,d.preston}@uel.ac.uk
Abstract. The deliberation of trust with its related concepts in one single ontology is an exceedingly scarcity. The main problem is that there is a lack of ontological and methodological support to model and reason about trust with its related concepts (initial trust, risk, reputation, security and privacy) in one allied framework. Few approaches have been proposed that individually take into account the concepts which we define as being related to trust, however not into one single ontology. This situation provides the foremost motivation for our research.
1 Introduction What is trust? According to the current state of art, trust is difficult to define, convey, measure or specify [1] “…Trust is a term with many meanings” [2]. One may wonder why it is important to consider modelling or reasoning about trust in information systems development. If trust is not present, if there is no confidence, expectation, belief and faith [3] then there will be no willingness to rely on any such systems; these former factors are required [3] in order for the user to be confident in using the system or interacting with another person. It is mentioned in [4] that ‘trust is becoming an increasingly important issue in the design of many kinds of information systems’. The importance of assessing and establishing trust as part of the development process has been bought to light; ‘many new kinds of technologies are being used in new contexts and social-technical configurations that have not been tried before’ as well as the fact that ‘uncertainties and concerns of various stakeholders and participants need to be considered and addressed’.
2 Motivation Recent research [5], [3] has shown that trust should be considered from the early stages of the information systems development process [3] [6]. Agreeing to this [4] [7], these are analogous conclusions which have been reached by a large number of works associated to security modeling. One of the reasons for this need comes from the necessity to identify early in the development process any conflicts or inconsistencies between the requirements introduced to the system by trust and security considerations and the system’s functional requirements [3]. R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 25–26, 2007. © Springer-Verlag Berlin Heidelberg 2007
26
K.K. Bimrah, H. Mouratidis, and D. Preston
It is highlighted in [5] ‘design and trust intersect in two ways’. It is also mentioned in [5] the importance of users having a positive experience from a software product, but this will only happen if the software products are designed so the users trust it. This role is to be fulfilled by good design [5]. The two ways [5] mentions that design and trust are intersected is in the form of ‘ownership’ and the second having ‘technology acting as a mediator of trust between people, organizations or products’.
3 What We Propose Within this project, a methodology which takes trust and its related concepts into consideration needs to be developed. A methodology is developed which consists of a modelling language, this needs to be independently developed. In order to successfully develop a modelling language, an ontology will need to be developed. The ontology leads onto the modelling language; (for which it creates a basis for) which in turn is part of the methodology. Our ontology includes concepts that are important to consider alongside trust such as security, initial trust, privacy, risk and reputation. The development of our proposed ontology will help to achieve the aim of the project by being the first to support a collective treatment of trust in information systems development, something which has never been implemented before. Acknowledgments. Firstly, we would like to show gratitude to EPSRC for their funding with regards to this project and secondly we would like to express thanks to the staff at St Patrick’s College, (London) for their support in our research.
References 1. Michael, J.B., Hestad, D.R., Pedersen, C.M., Gaines, L.T.: Incorporating the Human Element of Trust into Information Systems. IAnewsletter 5, 4–8 (2002) 2. Williamson, O.: Calculativeness, Trust, and Economic Organization. Journal of Law and Economics 34, 453–502 (1993) 3. Chopra, K., Wallace, W.A.: Trust in Electronic Environments. In: HICSS 2003. Proceedings of the 36th Hawaii Conference on System Sciences, Hawaii (2003) 4. Yu, E., Liu, L.: Modelling Trust for System Design Using the i* Strategic Actors Framework. In: Verlag, S. (ed.) Proceedings of the workshop on Deception, Fraud, and Trust in Agent Societies held during the Autonomous Agents Conference: Trust in Cybersocieties, Integrating the Human and Artificial Perspectives (2001) 5. Sutcliffe, A.: Trust: From Cognition to Conceptual Models and Design. In: Dubois, E., Pohl, K. (eds.) CAiSE 2006. LNCS, vol. 4001, Springer, Heidelberg (2006) 6. Mouratidis, H., Giorgini, P., Mansoon, G.: When Security Meets Software Engineering: A Case Of Modelling Secure Information Systems. Information Systems 30, 609–629 (2005) 7. Mouratidis, H., Giorgini, P.: Integrating Security and Software Engineering: Advances and Future Vision. Idea Group, USA (2006)
Automatic Annotation in Data Integration Systems⋆ Sonia Bergamaschi, Laura Po, and Serena Sorrentino Dipartimento di Ingegneria dell’Informazione Universitá di Modena e Reggio Emilia [email protected], [email protected], [email protected]
1 The Combined Word Sense Disambiguation Algorithm CWSD (Combined Word Sense Disambiguation) is an algorithm for the automatic annotation of structured and semi-structured data sources. Instead of being targeted to textual data sources like most of the traditional WSD algorithms, CWSD can exploit knowledge from the structure of data sources together with the lexical knowledge associated with schema elements (terms in the following). We integrated CWSD in the MOMIS system (Mediator EnvirOment for Multiple Information Sources) [1], which is an I 3 framework designed for the integration of data sources, where the lexical annotation of terms was performed manually by the user. CWSD combines a structural disambiguation algorithm, that starts the disambiguation process by using the semantic relationships extracted from the data source schemata and a WordNet Domains based disambiguation algorithm, which refines terms disambiguation by using domains information. Structural relationships are stored in a Common Thesaurus (CT) generated by the MOMIS system. The CT is a set of relationships describing inter- and intra-schema knowledge among the source schemas. From a source schema we extract the following relationships: SYN (Synonym-of), defined between two terms that are considered synonyms/equivalent; BT (Broader Terms), defined between two terms where the first is more general than the second one (the opposite of BT is NT, Narrower Terms); RT (Related Terms) defined between two terms that are generally used together in the same context. The extracted relationships can be used in the disambiguation process according to a lexical database (in our approach we used WordNet). The algorithm tries to find a lexical relationship when a CT relationship holds between two terms; in this case we choose the meanings connected by this relationship as the correct ones to disambiguate the terms. The same choice holds if we find a chain of lexical relationships that connect terms meanings. The WordNet Domains disambiguation algorithm exploits the domains knowledge of WordNet Domains. WordNet Domains [2] can be considered an extended version of WordNet, in which synsets have been annotated with one o more domain labels. The ⋆
This work was partially supported by MUR FIRB Network Peer for Business project (http://www.dbgroup.unimo.it/nep4b) and by the IST FP6 STREP project 2006 STASIS (http://www.dbgroup.unimo.it/stasis).
R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 27–28, 2007. c Springer-Verlag Berlin Heidelberg 2007
28
S. Bergamaschi, L. Po, and S. Sorrentino
Fig. 1. Evaluation of the CWSD algorithm
hypotheses is that, domain labels provide a useful way to establish semantic relationships among word senses, and this can be profitably used during the disambiguation process.1
2 An Application of the CWSD Algorithm Figure 1 shows an example of the application of CWSD. We chose a relational source composed of two different tables (canteen, restaurant) connected by a structural relationship (foreign key). In figure we evaluated the right senses supplied by the different disambiguation approaches. The first approach is already used in MOMIS and chooses the more frequent WordNet sense (the first one) as the correct meaning for a term. The second algorithm is CWSD, that overcomes the first approach as it is able to disambiguate more terms. In particular, the structural disambiguation algorithm exploits the “foreign key" to assign the correct meaning to the table names “restaurant" and “canteen"; the WordNet Domains disambiguation algorithm, by calculating the prevalent domains over the set of terms and comparing them with the ones associated to each term, determine the correct meaning for the remaining terms.
References 1. Bergamaschi, S., Castano, S., Beneventano, D., Vincini, M.: Semantic integration of heterogeneous information sources. Journal of Data and Knowledge Engineering 36(3), 215–249 (2001) 2. Gliozzo, A.M., Strapparava, C., Dagan, I.: Unsupervised and supervised exploitation of semantic domains in lexical disambiguation. Computer Speech & Language 18(3), 275–299 (2004)
1
A detailed description of the CWSD algorithm is available at http://www.dbgroup. unimo.it/momis/CWSD
Volunteer Computing, an Interesting Option for Grid Computing: Extremadura as Case Study Miguel C´ ardenas Montes1 , Miguel A. Vega-Rodr´ıguez2, omez-Pulido2 , Carlos J. Garc´ıa Orellana3 , Manuel Rubio del Solar1 , Juan A. G´ 3 1 Horacio Gonz´ alez Velasco , Antonio G´ omez Iglesias , Juan M. S´ anchez-P´erez2, 3 and Miguel Mac´ıas Mac´ıas 1
CETA-CIEMAT, Center of Extremadura for Advanced Technologies, Paseo Ruiz de Mendoza 8, 10200, Trujillo, Spain {miguel.cardenas,manuel.rubio,antonio.gomez}@ciemat.es 2 ARCO Research Group, Dept. Technologies of Computers and Communications, University of Extremadura, Escuela Polit´ecnica, Campus Universitario s/n, 10071, C´ aceres, Spain {mavega,jangomez,sanperez}@unex.es 3 CAPI Research Group, Dept. Electronics, University of Extremadura, Facultad de Ciencias, Avd. de Elvas, s/n, 06071, Badajoz, Spain {carlos,horacio,miguel}@capi.unex.es
Abstract. This paper presents the works done by several research groups from University of Extremadura and CETA-CIEMAT (Centro Extreme˜ no de Tecnolog´ıas Avanzadas) in order to deploy an infrastructure for distributed computing over Secondary School computing resources at Extremadura (Spain). To achieve the highest levels of performance, some tests have been developed. From small proofs of concepts with a few dozens of computers to large deployments devoted to big and real projects. Other works, such as damage hardware ratio or virtualization, are also presented.
1
Introduction
Volunteer Computing is an useful computing platform in regions with low financial resources. In Extremadura, the middleware BOINC (Berkeley Open Infrastructure for Network Computing) is being used in order to do distributed scientific computing. This paper shows the success of this approach, with important results in very different researches and from a variety of research groups. The first example, described in this paper, is focused on the Telecommunication area. Many of the problems found in this area can be formulated as optimization tasks. In this case, the tackled problem is the Radio Network Design (RND). This is an important problem in mobile telecommunications, being also relevant in the rising area of sensor networks. When a set of geographically-dispersed terminals needs to be covered by transmission antennas, the key subject will be to minimize the number and localizations of those antennas and to cover the biggest possible area. This is the RND, that is an NP-hard problem, and for this reason its resolution by means of grid computing is very appropriate. R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 29–30, 2007. c Springer-Verlag Berlin Heidelberg 2007
30
M. C´ ardenas Montes et al.
Our second research line is related to optimization of neural networks classifiers by means of feature selection on input space, using Genetic Algorithms (GA). In many classification problems after the feature extraction step, the results can be improved doing a feature selection step (so avoid the curse of dimensionality problem). However, the feature selection step is a very hard optimization problem with high computational requeriments. In the past, we successfully applied GA for this selection in the cloud cover classification problem, using our 45 node Beowulf cluster. Now, we intend to apply this technique to Microcalcification Clusters (MCCs) classification in mammograms, for breast cancer diagnosis. For this problem we propose to use grid techniques to solve our problem, particularly the usage of Desktop Grid Computing with BOINC, as it is described in the poster. Finally, our third research line is focused on virtualization where the goal was to provide a framework rapidly deployable to profit the best use of resources. To have the possibility to switch quickly the flavour of the machines, changing the real use dynamically, increases the maximum performance to the computers. BOINC clients completely virtualized has been successful employed in several projects.
2
Conclusions and Future Work
In this paper we have presented the works done by several groups from University of Extremadura and CETA-CIEMAT using volunteer computing. As our results show, volunteer computing is a very interesting option for grid computing, enabling to achieve important scientific results in regions with low financial resources, as Extremadura. The results presented in this paper have been divided into three different research lines: radio network design, virtualization and neural networks training. In the three lines important benefits have been obtained.
References 1. Mac´ıas, M., Garc´ıa, C.J., Gonz´ alez, H., Gallardo, R.: Independent component anal´ ysis for cloud screening of Meteosat images. In: Mira, J.M., Alvarez, J.R. (eds.) IWANN 2003. LNCS, vol. 2687, pp. 551–558. Springer, Heidelberg (2003) 2. Vega-Rodr´ıguez, M.A., Vega-P´erez, D., G´ omez-Pulido, J.A., S´ anchez-P´erez, J.M.: Radio Network Design Using Population-Based Incremental Learning and Grid Computing with BOINC. LNCS, vol. 4448, pp. 91–100. Springer, Heidelberg (2007) 3. Montes, M.C., Callej´ on, J.P.-G., de Solar, M.R., Poll´an, R.R.: Management of a grid infrastructure in GLITE with Virtualization. In: Ibergrid 2007 First Iberian Grid Infrastructure Conference, Santiago de Compostela, Spain, pp. 313–321 (May 2007)
Replication Heuristics for Efficient Workflow Execution on Grids⋆ J.L. V´ azquez-Poletti, E. Huedo, R.S. Montero, and I.M. Llorente Departamento de Arquitectura de Computadores y Autom´ atica. Facultad de Inform´ atica, Universidad Complutense de Madrid. 28040 Madrid, Spain
Abstract. Among the different heuristics available for optimizing workflow execution, the replication ones have been previously used in heterogeneous environments with good results. In this work, we analyze its use for workflow scheduling on Grid infrastructures. In particular, we study its applications to an intree workflow, generated by the distribution of the CD-HIT application. The experiments were conducted on a testbed made of resources from two different grids and results show a significant reduction of the workflow execution time.
In a previous paper [1], we considered a Bioinformatics application, CD-HIT (Cluster Database at High Identity with Tolerance) [2], for its porting to the Grid using the GridW ay metascheduler [3]. This application performs protein clustering and it can be applied in many activities such as protein family classification, domain analysis, organization of large protein databases or improving database search performance. However, the Grid version of CD-HIT didn’t provide good performance results, even if it served to bypass memory constrains and so process large data sets. This happened because the nature of the Grid (dynamism, heterogenity and high fault rate). In this contribution, we apply the replication strategy for improving the workflow’s efficiency. Supplementary tasks are created for the workflow’s critical path nodes. When one of these tasks ends, the node is taken as executed and the rest of replicated tasks are killed. This way, the more replicated tasks are created, the higher is the possibility for that node to be executed shortly by reducing the effect of job failures and queue times. The input protein database is a compound of UniProt entries and sequence fragments of the Sargasso Sea meta-genome, all of them provided by the National Center for Biotechnology Information (NCBI)1 . Its size is 1.7GB and it stores ⋆
1
This research was supported by Consejer´ıa de Educaci´ on of Comunidad de Madrid, Fondo Europeo de Desarrollo Regional (FEDER) and Fondo Social Europeo (FSE), through BioGridNet Research Program S-0505/TIC/000101, and by Ministerio de Educaci´ on y Ciencia, through research grant TIN2006-02806. Also, this work makes use of results produced by the Enabling Grids for E-sciencE project, a project co-funded by the European Commission (under contract number INFSORI-031688) through the Sixth Framework Programme. Full information is available at http://www.eu-egee.org/. http://www.ncbi.nlm.nih.gov/
R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 31–32, 2007. c Springer-Verlag Berlin Heidelberg 2007
32
J.L. V´ azquez-Poletti et al.
4,186,284 proteins. Focusing on job execution, input file size and job number depend on the number of divisions made to the starting protein database (32, 40 and 48). For processing the proposed database, two Grid infrastructures were considered: regional and worldwide. Local and regional machines are nearer to the one where the job submission takes place so they offer less latency. On the other hand, machines pertaining to the Enabling Grids for E-siencE (EGEE) infrastructure are more in number and offer more throughput. But, even with busier machines, the EGEE infrastructure guarantees exclusiveness of CPU use. As coordinated harnessing of these infrastructures was retained necessary for the processing of such a big database, the use of GridW ay was still considered, due to its interoperability capabilities [4]. Tasks were launched from Universidad Complutense de Madrid (UCM), belonging to GRIDIMadrid2 , at different times on different days of the week during April 2007. Finally, the maximum number of tasks submitted to a site was limited to 10. Experimental results show that using the replication technique derived in a valuable speed-up. However, this is speed-up was limited by different factors. Firstly and due to scheduling restrictions, the number of simultaneous running jobs was 20. Then, the algorithm’s shape made the level of parallelism to decrease. Finally, the Grid’s nature itself derived in reschedules due to suspension timeouts and execution errors.
References 1. V´ azquez-Poletti, J.L., Huedo, E., Montero, R.S., Llorente, I.M.: Workflow Management in a Protein Clustering Application. In: Proc. 5th Intl. Work. Biomedical Computations on the Grid (BioGrid 2007). 7th IEEE Intl. Symp. Cluster Computing and the Grid (CCGrid 2007), pp. 679–684. IEEE Computer Society Press, Los Alamitos (2007) 2. Li, W., Godzik, A.: CD-HIT: A Fast Program for Clustering and Comparing Large Sets of Protein or Nucleotide Sequences. Bioinformatics 22, 1658–1659 (2006) 3. Huedo, E., Montero, R.S., Llorente, I.M.: A Framework for Adaptive Execution on Grids. Software – Practice and Experience 34, 631–651 (2004) 4. V´ azquez-Poletti, J.L., Huedo, E., Montero, R.S., Llorente, I.M.: Coordinated Harnessing of the IRISGrid and EGEE Testbeds with GridWay. J. Parallel and Distributed Computing 66, 763–771 (2006)
2
http://www.gridimadrid.org/
Network-Aware Grid Scheduling⋆ Agust´ın Caminero, Blanca Caminero, and Carmen Carri´ on Computing Systems Dept. The University of Castilla La Mancha. Campus Universitario s/n. 02071. Albacete, Spain {agustin,blanca,carmen}@dsi.uclm.es
Abstract. Network links, as the communication media for Grid transmissions, should be considered as a parameter to decide about the convenience of using other different resources, such as CPU. This is achieved by means of a scheduling algorithm, which decides which computing resource will execute each users’ jobs. This task (the scheduling of jobs to computing resources) is done by taking into account the quality of the network links and their level of utilization. The purpose of this paper is to present an scheduling algorithm aimed at improving the network Quality of Service (QoS) in a Grid system, and demonstrate its usefulness by means of realistic Grid network simulations.
1
Introduction and Main Contribution
There are some proposals aimed at providing network Quality of Service (QoS) in a Grid system, but none of them take network capability into account when performing scheduling. Among those proposals, the ones which provide scheduling of users’ jobs to computing resources are GARA [1], and G-QoSM [2], but the schedulers they use only pay attention to the load of the computing resource, not to the status of the network. This may decrease the performance received by users when the job requires a high network I/O, such as collaborative visualization [3]. So, we present an improved version of the meta-scheduler presented in [4], called Grid Network Broker, GNB. The improvement is related to how the current level of use of links is considered during the scheduling process. To carry out the experiments necessary for this paper, we used GridSim simulator [5], which has been extended with the implementation of finite network buffers at routers. The contribution of this work is the improvement in the scheduling algorithm, and the performance evaluation of the improved algorithm in a real networking scenario using GridSim’s new functionality. The scheduling algorithm will be explained the next. The scheduling algorithm performs 2 tasks: (1) calculate the current power of the resource available to users, considering the current resource load and ⋆
This work has been jointly supported by the Spanish MEC and European Commission FEDER funds under grants “Consolider Ingenio-2010 CSD2006-00046” and “TIN2006-15516-C04-02”; by JCCM under grants PBC-05-007-01, PBC-05-005-01 and Jos´e Castillejo.
R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 33–34, 2007. c Springer-Verlag Berlin Heidelberg 2007
34
A. Caminero, B. Caminero, and C. Carri´on
features of the resource, and (2) calculate the quality of the network path between the user and the resource. Step (2) is carried out considering, among other things, the number of hops of the path and the level of use of the links’ buffers. We consider the network path between the user (the owner of the job) and a computing resource because we assume that the input/output files of the job must be transferred between the user and the resource. The main improvement of the algorithm, as we can see, is that buffers occupation is considered as a very important parameter to perform scheduling, and we try to keep a good network QoS by reducing the number of dropped packets. In order to demonstrate the usefulness of our algorithm, simulations have been carried out using the GridSim Toolkit, improved with finite network buffers at routers. These simulations are based on the LCG testbed [6], and demonstrate that when our algorithm is working, better network performance is provided in terms of dropped packets. Because of space limitations we cannot provide actual figures demonstrating the usefulness of our work.
2
Conclusions and Future Work
In this paper we have presented a scheduling algorithm which pays special attention to the network when deciding the computing resource where each job will be executed. This algorithm decides which is the most suitable computing resource for each users’ job by taking into account the network as a major parameter. This way, we improve the performance of the network, and the overall performance received by users, specially when they run jobs requiring a heavy network I/O. In order to conduct realistic simulations supporting the quality of our algorithm, GridSim simulation tool has been extended to provide finite network buffers at routers. As for future work, we will extend the GNB with autonomic scheduling improvements, and also it will be extended to an scenario with multiple administrative domains.
References 1. Roy, A.: End-to-End Quality of Service for High-End Applications. PhD thesis, Dept. of Computer Science, University of Chicago (2001) 2. Al-Ali, R., et al.: Network QoS Provision for Distributed Grid Applications. Proc. of the Intl. Journal of Simulations Systems, Science and Technology (2004) 3. Marchese, F.T., Brajkovska, N.: Fostering asynchronous collaborative visualization. In: Proceedings of the 11th IEEE Intl. Conf. on Information Visualization, IEEE Computer Society Press, Washington, DC, USA (2007) 4. Caminero, A., Carri´ on, C., Caminero, B.: Designing an entity to provide network QoS in a grid system. In: IberGrid 2007. Proceedings of the 1st Iberian Grid Infrastructure Conference, Santiago de Compostela, Spain (2007) 5. Sulistio, A., Poduval, G., Buyya, R., Tham, C.K.: On incorporating differentiated levels of network service into GridSim. Future Generation Computer Systems 23(4), 606–615 (2007) 6. LCG Computing Fabric Area. http://lcg-computing-fabric.web.cern.ch
Implementing a P2P Network Through Updatable Database Views* Radosław Adamus1,2, Hanna Kozankiewicz1,3, Krzysztof Stencel1,4, and Kazimierz Subieta1,2,3 1
Polish-Japanese Institute of Information Technology, Warsaw, Poland Computer Engineering Department, Technical University, Łódź, Poland 3 Institute of Computer Sciences, Polish Academy of Sciences, Warsaw, Poland 4 Institute of Informatics, Warsaw University, Warsaw, Poland [email protected], [email protected], [email protected], [email protected] 2
Abstract. We present a novel approach to implement a business-oriented peerto-peer network through updatable object views. We assume that each peer maintains an integrating view through which it can access the resources made public by all the peers. Each peer keeps also another view which makes some of its local resources public.
Introduction The basic characteristics of a P2P system is local maintenance of resources and sharing them for global applications. Such a meaning of P2P technology should implies several technical consequences. One of them is separating the layer of data transport and communication and the layer of business logic. Our main assumption is that business logic is to be written in a database query/programming language. Our idea is to combine a P2P network with objectoriented databases, with a query language addressing such databases, and with objectoriented virtual updatable views. Our approach to implement a business-oriented P2P network is founded on our recent researches [2] where we have developed and implemented object-oriented virtual views which have full algorithmic power and are updatable with no anomalies and limitations. Our views support full transparency of virtual objects, i.e. the programmer is unable to distinguish stored and virtual objects by any programming option. Transparency reduces the complexity of design, programming and maintenance effort addressing distributed data and services. The researches are based on the Stack-Based Approach (SBA) [2] which treats a database query language as a programming language. The SBA query language SBQL (Stack-Based QL) is integrated with imperative constructs (e.g. updating) and abstractions (functions, procedures, classes, methods and views). SBQL is strongly typed and supported by powerful query optimization methods. *
This work is supported by European Commission under the 6th FP project e-Gov Bus, (Advanced eGovernment Information Service Bus), FP6-IST-4-026727-STP, http://www. egov-bus.org/web/guest/home
R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 35–36, 2007. © Springer-Verlag Berlin Heidelberg 2007
36
R. Adamus et al.
P2P and Views P2P network consists of nodes which share their resources with others and can browse resources shared by other nodes. Therefore, each peer in the network should install two kind of software: to share resources (contributory view) and to browse P2P network resources (integration view). The data available via contributory views are combined and presented by integration views located at other peers. Below we sketch the characteristics of those two kind of views (more detailed description can be found in [2]). Integration views at peers store some information on the current state of the P2P network. This information is kept as the state of the integration view (a set of internal variables of the view definition). The key element of this state is the information on neighbors of a particular peer. The state of the integration view can also include other information, for instance, information on locations of particular resources (e.g. services). In the approach we assume that P2P network users cannot directly access the information stored in the state of an integration view (this is one of the transparency requirements). Usually, in a P2P network the membership changes dynamically and therefore the applications must automatically react to such changes. Our method handles it in a very simple way. Adding/removing a neighbors requires only adding or removing an item from the list of peer’s neighbours. Keeping the list of neighbours as a view state allows avoiding hard-coding of server addresses into view definition. The integration view may also contain description of other services like searching a P2P network. A contributory view determines how a peer shares resources with other peers. It adapts data kept at the peer to requirements of the whole P2P network (peers can be heterogeneous). Additional functionality of the contributory view includes providing some services to the integration view stored at the same peer. The contributory view can act as a client for the integration view. In this way requests for resources may be propagated over the P2P net (as a peer sees only its direct neighbors). Summary Our research is conducted within the European project eGov-Bus [1]. The prototype of such a P2P network is already implemented under JXTA [3]. Database objectoriented features are implemented in Java according to the Stack-Based Approach (SBA) and SBQL. In our opinion the framework can be an alternative for existing approaches, especially for complex applications in public administration. Our approach allows not only for browsing of distributed resources, but also for their modifications in accordance with updating intentions included in the body of the corresponding view definition.
References [1] eGov-Bus project web site: http://www.egov-bus.org/web/guest/home [2] List of publications concerning SBA, SBQL, updatable object views http://www. ipipan.waw.pl/~subieta/artykuly/K.Subieta%20publications.htm [3] The JXTA Project Web site: http://www.jxta.org
A Group Selection Pattern Optimizing Job Scheduling in Decentralized Grid Markets Isaac Chao1, Oscar Ardaiz2, and Ramon Sangüesa1 1
Computer Architecture Department, Polytechnic University of Catalonia, Spain {ichao,sanguesa}@lsi.upc.edu 2 Department of Mathematics and Informatics, Public University of Navarra, Spain [email protected]
Abstract. Decentralized economic models are being considered as scalable coordination mechanism for the management of service allocations to clients. However, decentralization incorporates further dynamicity and unpredictability into the system, degrading its performance. In this paper, a solution based on a self-organized and emergent Group Selection mechanism is proposed. Dynamic congregations evolve Grid Markets participants (c and service providers) into optimized market segments, maximizing utility outcomes for system-wide performance. We provide evaluation by simulation of the Group Selection mechanism performance in a market-based resource management and job scheduling scenario for Grid computing, compared with alternative scheduling strategies such as economic in a flat population (not using groups), random and least loaded resource selection.
1 Group Selection Mechanism Group Selection refers to a process of natural selection that favors characteristics in individuals that increase the fitness of the group the individuals belong relative to other groups. This implies that every member of the group depends on a group characteristic that is not isolated in a single individual [Wilson, 1975]. The Group Selection process has been proposed as a means of understanding processes such as the evolution of capitalist economies and of human cooperation. Exploiting group structure in multiagent systems (MAS) has also been proposed in coalition formation literature. Major limitations of these algorithms are a high computational complexity, and unrealistic assumptions regarding the availability of information [Shehory, 2004]. Congregations [Brooks, 2002] are a static solutions and agents can trade in just a specified number of subgroups. In contrary, Group Selection approaches do not imply costly computations, and enable for a dynamic view of the system. Figure 1 shows the solution proposed. Buyers (Clients) interact preferentially with sellers (Services) belonging to the same group, which due to the operation of Group Selection tend to be closer to them in negotiation characteristics and goals, hence increasing the probability of successful allocations. R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 37–39, 2007. © Springer-Verlag Berlin Heidelberg 2007
38
I. Chao, O. Ardaiz, and R. Sangüesa Bootstrap agents in groups
Grid Market
LOOP a number of rounds LOOP each group
Segment1 Service1
negotiation
LOOP each agent in the group (operation phase) Apply Interaction rule:
strategy S1
Negotiate with agent/agents from the submarket Client1
S1?
negotiation
Collect Payoffs from allocations
strategy S1 Service2
ENDLOOP ENDLOOP
Migrate?
Segment2 Service3
LOOP each agent in the population (evolution phase) Select random agent in the entire population
strategy S2
negotiation
Apply Migration rule:
Client2
If(randomAgent outperforms me)
negotiation
Service4
strategy S2
then Copy its negotiation type and move to its group
S2?
ENDLOOP ENDLOOP
Fig. 1. Segmented Grid Market (left), algorithmic realization of Group Selection pattern (right)
2 Optimizing Decentralized Grid Markets Trough Group Selection We have used as decentralized economic agents an implementation of the ContractNet protocol, standardized by FIPA [FIPA, 2007]. Buyers groupcast call for proposals (CFP) to sellers, which submit proposals in response; finally buyers select the best ones. In top of this protocol, we apply a simple offer/demand-based economic algorithm: If the CFP does not meet seller requirements, it will lower its expectations and decrease the selling price. As for the buyers, if a seller rejects the CFP, then it will lower its expectation by increasing the offer in the next CFP. Both the buyers and the sellers will increase their expectations in case of receiving offers/bids which meet their expectations. The price updating is done at fixed small price steps. Prices evolve by offer and demand, bounded by the dependence on the limited buyer budget and the limited resources which can be sold by sellers. The experiments are conducted in an open source, generic agent-based Grid simulator specifically built for developing agent coordination mechanism on top of Grids [AgentGridSim, 2007]. Accumulated Traders Utility
Random
Average Resource Load 4 resource selection types
70
Economic Groups Least loaded (ideal)
60 50
1,6
40
groups
30
flat
20 10 0 0
20
40
60 time
80
100
1,4 A verage Resource Load
Utility
Economic Flat
1,2 1 0,8 0,6 0,4 0,2 0 0
20
40 time (rounds) 60
80
100
Fig. 2. Setup: 100 agents (50 buyers and 50 sellers): left: 5 different “types of negotiation”. Group Selection increases allocation utility; (right) Job submission, 4 selection mechanism compared.
A Group Selection Pattern Optimizing Job Scheduling in Decentralized Grid Markets
39
The results of experiment in Figure 2(left) show accumulated utility of traders after 100 rounds of resource allocation in both flat markets and markets segmented in groups. The utility U is calculated as follows, being nt1 and nt2 the negotiation type of buyer and seller respectively: U = 1/(nt1 –nt2), with U=1 when nt1 = nt2 and a value between 0 and 1 in the rest of cases. Market segments evolve, grouping traders with compatible negotiation types. The decentralized economic algorithm in a flat population is optimized applying the Group Selection mechanism. The results in experiment from Figure 2(right) compare the performance of flat economic-based selection, group selection, and two other strategies from the state of the art: random selection, a baseline selection type which balances load in a worst case scenario; and least loaded selection, which achieves optimal scheduling (supposing perfect updated information on resources states). The resource load is calculated for each resource as the total queue length divided by the resource capacity. Group Selection outperforms alternatives, scoring the closest to the ideal least loaded selection. The Group Selection mechanism optimizes the performance of market-based resource managers by grouping and evolving the agent’s population. Deployment in a realistic, asynchronous environment is possible, since no synchronization step is required to update agent’s strategies and group memberships.
References [AgentGridSim, 2007] https://sourceforge.net/projects/agentGridrepast [Brooks, 2002] Brooks, C.H., Durfee, E.H.: Congregating and market formation. In: Proceedings of the 1st International Joint Conference on Autonomous Agents and MultiAgent Systems, pp. 96–103 (2002) [FIPA, 2007] FIPA webpage: http://www.fipa.org/ [Shehory, 2004] Coalition Formation: Towards Feasible Solutions. Fundamenta Informaticae 63(2-3), 107–124 (January 2004) [Wilson, 1975] Wilson, D.S.: A theory of Group Selection. Proc. Nat. Acad. Sci. USA 72, 143– 146 (1975)
A Conceptual Model for Grid Learning Services Automatic Composition Gustavo Gutiérrez-Carreón, Thanasis Daradoumis, and Josep Jorba Open University of Catalonia, Av. Tibidabo 39-43 - 08035 Barcelona, Spain {ggutierrezc,adaradoumis,jjorbae}@uoc.edu Keywords: Learning Grid, Learning Services, Semantic Web.
This work proposes an initial model for the automatic composition of Grid based learning services based on the semantic capabilities and metadata of e-learning frameworks. There are three principal motivations for Learning Grid Services Composition: build a more powerful service using basic existing services, fulfill service requester’s requirement better, and enhance resource reuse while reducing the cost and time of a new service development. Let us consider a learning Grid as a set of resources and services distributed in a network with the service model based on the IMS abstract framework [1], where learning services can be composed by others allocated in different repositories inside the network. The model we propose for the automatic composition of learning services is based on the use of the defined syntactic and semantic characteristics of the different levels of services involved in the Learning Abstract Framework. The design of the model is presented in the Fig. 1 and is described below.
Fig. 1. Grid Learning services automatic composition
Using web languages, such as RDF, DAML+OIL, and OWL, it is possible to create semantically rich data models that are denominated semantic schemas [2]. These semantic schemas are made up of triples (subject-predicate-object), where subjects and objects are entities, and predicates indicate relationships between those entities. Discovery is the process of finding Web services with a given capability [3]. In general, discovery requires that Web services advertise their capabilities with a registry, and that requesting services query the registry for Web services with particular capabilities. In our model, once the semantic schema of the tool or learning R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 40–41, 2007. © Springer-Verlag Berlin Heidelberg 2007
A Conceptual Model for Grid Learning Services Automatic Composition
41
service that we want to build is designed, we have to pass it to our discovery process that will locate a set of different level services in the Learning Grid. The operation of these services as a whole allows us to carry out the processes defined in the schema. This process consists primarily on comparing inputs and outputs of a service as semantic concepts represented in the schema to incorporate semantics about learning services accessible by a discovery service. The result of the search will be a group of suitable schemas that conforms to the functional process described in our initial schema. Schema and ontology matching aim at identifying semantic correspondences between metadata structures or models such as database schemas, XML message formats, and ontologies. The resulting schemas of discovery process will be compared to the initial schema through a Matching process that is based on a structural matching approach and on a taxonomy matcher and whose result will be the best evaluated schema for our learning tool or services. The taxonomy matcher draws on the given taxonomic Metadata to deduce whether two elements are related semantically. The result of this matching process will be a ranking of semantic matching results. This ranking can be used in conjunction with other user-defined constraints to inform of an exact, or potentially useful web-service capability match. Comparing our conceptual model with the work presented in [4 and 5], our approach represents a complete alternative solution since, on the one hand, we provide a multi-level learning services composition method that enables the construction of complex learning services by means of other low level services, depending on the nature of the learning abstract framework. On the other hand, our approach takes advantage of the semantic and syntactic characteristics of learning services, which facilitates a totally automatic construction of new learning tools based on others previously created. Future work aims at the full implementation of the conceptual model presented in this work in a Grid environment with a real time composition of learning collaborative scenarios and portals based on the grid
Acknowledgments This work has been partially supported by the Spanish Ministry of Education under grant TSI2005-08225-C07-05.
References 1. IMS Global Learning Consortium, IMS Abstract Framework: White Paper (2003) 2. Mutton, P., Golbeck, J.: Visualization of Semantic Metadata and Ontologies, Computer Science, University of Kent at Canterbury (2003) 3. Schopf, J.M., D’Arcy, M., Miller, N., Pearlman, L., Foster, I., Kesselman, C.: Monitoring and Discovery in a Web Services Framework: Functionality and Performance of the Globus Toolkit’s MDS4, Argonne National Laboratory Tech Report ANL/MCS-P1248-0405 (April 2005) 4. Liao, C.-J., Yang, F.-C.O.: A Workflow Framework for Pervasive Learning Objects Composition by Employing Grid Services Flow Language. In: ICALT 2004. Proceedings of the IEEE International Conference on Advanced Learning Technologies, pp. 840–841. IEEE Computer Society Press, Los Alamitos (2004) 5. Majithia, S., Walker, D.W., Gray, W.A.: Automated Composition of Semantic Grid Services. In: ICAC 2004. International Conference on Autonomic Computing (May 2004)
A Multi-party Rational Exchange Protocol Almudena Alcaide, Juan M. Estevez-Tapiador, Julio C. Hernandez-Castro, and Arturo Ribagorda Computer Science Department – Carlos III University Avda. Universidad 30, 28911, Leganes, Madrid {aalcaide,jestevez,jcesar,arturo}@inf.uc3m.es
Abstract. In recent years, existing computing schemes and paradigms have evolved towards more flexible, ad-hoc scalable frameworks. Nowadays, exchanging interactions between entities often takes place in nonstructured environments where the number and nature of the different participants are unknown variables. In this context, traditional fair exchange protocols cease to be a feasible solution to the exchanging problem, as they are not sufficiently adaptable to offer the same guarantees in such new scenarios. Rational exchange protocols represent a real alternative to fair exchange exchange. In this paper, we propose the first multi-party rational exchange protocol, giving solution to the exchange problem in a context where the number of entities could vary in each different instance of the protocol and where rational (self-interested) parties, exchange their items without the involvement of a trusted third party (TTP). We also formally analyze our new scheme by applying some Game Theory concepts. Besides the simplicity of our model and a restrictive set of initial assumptions, several real life scenarios can be resolved with the proposed scheme.
1
M-RES Protocol
A multi-party rational exchange protocol is a cryptographic protocol allowing several parties to exchange commodities in such a way that, if one or more parties deviate from the protocol description, then they may bring other correctly behaving participants to a disadvantageous situation, but they cannot gain any advantages by doing so. Initial Assumptions – Electronic items exchanged: An entity U aims to collect a series of electronic items from different entities Ei , i ∈ {1, . . . , n}. The nature of these items must be such that their utility only become available when the corresponding token is delivered in return. Additionally, no item in isolation is of any value to entity U . In other words, U is interested in collecting all or none of these items. – Providers of e-items: Participant entities Ei providing with the electronic items must be part of a visible and recognizable PKI (Public Key Infrastructure). Messages forth and from these entities must be digitally encrypted and R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 42–43, 2007. c Springer-Verlag Berlin Heidelberg 2007
A Multi-party Rational Exchange Protocol
43
signed respectively. No other trusted or semi-trusted parties are involved in the scheme. Note that this is not a restriction on entity U , who can maintain anonymous his real identity. – Repeated scenarios: The scheme will render rational exchanges when executed in repeated scenarios. Participants Ei must be assumed to run the protocol in multiple instances with different participants. In this context, an informal reputation factor is indirectly implemented, ensuring entities with good reputation a continuity in their trading activity. Two Phase Protocol. The M-RES protocol consists of two main phases. – Phase I: Customer U sends entity E1 , a message including a set D with descriptions for all the required items. Entity E1 produces a customized item item1 , according to the appropriate token description and destined to U . It also establishes who would be the next entity to satisfy the next requirement described in set D. Finally, entity E1 sends E2 a message containing item1 and the set D with the remaining description-tokens. The process is repeated from any Ei to Ei+1 until all requirements are satisfied. The last entity En sends U all items {itemi }1,...,n completing the first phase of the exchange. – Phase II: User U produces n payment-tokens, one for each participant entity. U sends entity E1 the set of payments P . When a participant Ei receives a message with a set of payments P , it takes the appropriate payment token, deletes it from the list and forwards the message to the next entity. Protocol Formal Analysis. In Game Theory, backward induction is one of the dynamic programming algorithms used to compute perfect equilibria in sequential games. The process proceeds by first considering the last actions of the final player of the game. It determines which actions the final mover should take to maximize his/her utility. Using this information and taking the induction one step backward, one can then determine what the second to last player will do, to also maximize his/her own utility function. This process continues until one reaches the first move of the game. Our formal analysis of the M-RES protocol is based on applying backward induction to the protocol-game derived from MRES description. Rationality is then inferred from entities following strategies which conform an equilibrium in the game.
2
Conclusions
Our future work is directed to transform other problems, such as multiple access control or shared secret distribution, into an M-RES framework in which rationality can be formally proven to be guaranteed.
A Texture Based Image Signature Using Second Order Statistics Characterisation Samia Boucherkha and Mohamed Benmohamed LIRE Lab, Vision & Infography group, Computer Science Dept, Mentouri University, Algeria
Abstract. This paper develops a scheme for semi-fragile image authentication based on texture features and digital signature. It can detect and locate malicious manipulations made to individual image blocks, and verify the integrity of the overall image. It makes use of the invariance of Second Order Statistics (SOS) on adjacent pixels to geometric transformations which are considered as content preserving modifications. A set of characteristics are extracted from each block, then processed to form a hash to be embedded in an other distant block. Furthermore, a cryptographic digital signature is incrementally formed, in a CBC manner that renders the scheme resistant to content cutting and pasting attacks.
1 Features Based Image Authentication The proposed features detection scheme is especially sensitive to texture alterations, while being invariant with respect to geometric transformations. The most accurate techniques for analysing image texture are statistical methods which analyse the spatial distribution of grey values, by computing local features and deriving a set of statistics from the distributions of local features. Depending on the number of pixels defining the local feature, the statistical methods can be respectively classified into first-order, second-order and higher-order statistics. Haralick [1] suggested the use of grey level co-occurrence matrices (GLCM) to extract second order statistics from an image. The joint probability of grey levels for two pixels is calculated with respect to a distance d and an angle θ, then stored in a matrix which can be used to extract 14 different second-order statistical texture features, describing the probability density function. GLCMs have been used very successfully for texture classification, segmentation and content based image retrieval CBIR [2]. The specific features considered in this work are:
Inertia = ∑∑ (i − j ) p (i, j ) , Dissimilarity = ∑∑ i − j . p(i, j ) N −1 N −1
2
N −1 N −1
Entropy = ∑∑ p (i, j ) log p (i, j ) , Homogeneity = ∑∑ i =0 j = 0
i = 0 j =0
N −1 N −1
N −1 N −1
i =0 j =0
i =0
1 p (i , j ) 2 j = 0 1 + (i − j )
We extract texture information in a particular way: From each 8X8 pixels block, GLCM are constructed at a distance of d = 1, 3, 5 and 7 and at angles 0°, 45°, 90°, R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 44–45, 2007. © Springer-Verlag Berlin Heidelberg 2007
A Texture Based Image Signature Using Second Order Statistics Characterisation
45
135°. Each of the obtained co-occurrence matrix is weighted on a spatial position basis value then averaged. To make the features invariant towards rotation, the obtained matrices are summed over the four angles to give a single matrix from which the 4 aforementioned statistics are extracted giving an approximation of the block’s textural property. The chosen method for embedding the extracted features is an adapted version of Wu & Tsai data hiding technique [3]. In addition of being a high capacity low computational cost technique, it is fully reversible, that permits to remove completely the distortion due to embedding. For signature generation, we partition the image into 8x8 non-overlapping pixels blocks. A feature vector is then extracted from each block consisting of the 4 features which are normalized to fit an 8 bytes width. The encoder scans the blocks in a pseudo-random order with a secret key as a seed, evaluates its texture features, and embeds the previously computed features vector. Hence, the features vector output of a block is embedded into another distant block. In this way, an attack modifying a single block causes authenticity problems along the whole chain. Finally, all the vectors are concatenated into a single string, then hashed using MD5 function to generate a global signature to be used within a public key context.
2 Experimental Results The experiments are carried out on two classical representative images, Lena and Baboon and are summarized in Fig.1.
Fig. 1. This shows successively the variations of false acceptance and false rejection rates, the stability performance of the extracted features under additive Gaussian noise, then the difference between features of original and attacked images in terms of Hamming distance
References 1. Haralick, R.: Statistical and structural approaches to texture. Proc IEEE 67, 786–804 (1979) 2. Manjunath, B., Wu, P., Newsam, S., Shin, H.: A texture descriptor for browsing and similarity retrieval. J. of Signal Processing: Image Communication 16 (2000) 3. Wu, D.C., Tsai, W.H.: A Steganographic Method for Images by Pixel-Value Differencing. Pattern Recognition Letters 24, 1613–1626 (2003) 4. Sun, Q.B., Chang, S.F., Kurato, M., Suto, M.: A new semi-fragile image authentication framework combining ECC and PKI infrastructure. In: Proc. ISCAS 2002, Phoenix, USA (May 2002)
Expert System for Business Decisions on Security Requirements Eriks Dobelis Riga Technical University
Abstract. Information systems are frequently built with inadequate requirements for security and performance, which often results in unjustified business risks or losses. This paper proposes novel expert system application for modeling high level business requirements for information security and their implication on the development of the system, e.g. cost, maintainability, etc. By using such a system decision makers, especially at the early stages of development could better understand trade-offs between development costs, security requirements, and business risks, thus enabling more informed and conscious decisions on major security requirements. Keywords: Information Security, Security Requirements, Expert System, Business Risk.
Software engineering is a process that depends on decisions that have to be made by stakeholders [1]. Business representatives [2] have to make decisions on tradeoffs between benefits provided by information systems, business risks created, and implementation and operational cost of these systems. Conventional requirements engineering methodologies do not provide good framework for defining security requirements [3]. Methodologies and standards that are focused on security requirements (e.g. Common Criteria) require significant level of competence to be used effectively; therefore such standards to their full extent are used only in most requiring and sensitive cases. To improve effectiveness of the security requirements engineering process and ultimately decrease related business risks, this paper proposes developing expert system (SRExpert) for modeling information security requirements at the early stages of information system development. System takes an input in a form of business criteria, and based on internal rules propose alternatives for security requirements and evaluate the results according to criteria. Such a system would provide immediate feedback for business representative on effect of various criteria, e.g. impact on cost from raising security level. Reasonable baseline requirements in case security professional has not been involved can be ensured. Overall, this will result in decreasing risk of building information systems with inherently insufficient technical architecture from information security standpoint. Possible need for changes in information security policies and procedures (not only technology related ones) following implementing information system my also be indicated. R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 46–47, 2007. c Springer-Verlag Berlin Heidelberg 2007
Expert System for Business Decisions on Security Requirements
47
System should accept input from the user in the form of evaluation criteria. User should be able to enter specific values, possible range of values, or optimization criteria, e.g. minimum or maximum possible value. Sample of possible evaluation criteria - confidentiality level, integrity level, overall security level, availability level, number of concurrent sessions, response time, implementation cost, maintenance cost, implementation project risk level. System could provide profiles suggesting sets of typical evaluation criteria for typical solutions, e.g. e-commerce solution, ERP, etc. Output of the system would consist of possible solutions matching the defined input criteria. These could be security requirements for the system, design considerations for the system or technical architecture, requirements for business processes and security management processes. Sample of possible solution items: values of the evaluation criteria, functional security requirements, requirements for technology environment, information security management practices, IT governance practices, and manual information controls. Internally the system performs morphological analysis. Each possible solution item is seen as a parameter with several alternatives. Each of the alternatives is defined together with evaluation criteria related to this alternative. Three types of rules are defined in the system - alternative rules, conflict rules, estimation rules. System selects all possible alternative combinations by selecting one alternative in each of the item categories. Combinations with conflicting alternatives are dropped from further analysis. Next, evaluation criteria are estimated for each of the combinations. If some of the evaluation criteria estimates are outside ranges of limiting criteria inputed by the user, then this combination is dropped from further analysis. Finally, evaluation criteria requiring maximization and minimization are applied, and resulting solutions are returned to the user. Working prototype of SRExpert system was created for a specific case - web application. Prototype is currently being verified by comparing output of the system with opinion of experts for several applications. Proposed system differs from prior work by explicitly focusing on security requirements, and taking into account organizational information security controls.
References 1. Regnell, B., Paech, B., Aurum, A., Wohlin, C., Dutoit, A., och Dag, J.N.: Requirements Mean Decisions! - Research issues for understanding and supporting decision-making in Requirements Engineering 2. Ross, J.W., Weill, P.: Six IT Decisions Your IT People Shouldn’t Make, Harvard Business Review 3. Kis, M.: Information Security Antipatterns in Software Requirements Engineering 4. Boehm, B., Grunbacher, P., Briggs, R.O.: Developing Groupware for Requirements Negotiation: Lessons Learned 5. Ruhe, G., Eberlein, A., Pfahl, D.: Trade-off Analysis for Requirements Selection
Workshop on Agents, Web Services and Ontologies Merging (AWeSOMe)
AWeSOMe 2007 PC Co-chairs’ Message The 3rd International Workshop on Agents and Web Services in Distributed Environments (AWeSOMe 2007) was held in conjunction with the OnTheMove Federated Conferences (OTM 2007) in Vilamoura, Algarve, Portugal, in November 2007. AWeSOMe is an interdisciplinary workshop focusing on research and applications combining Web services, ontologies and agents leading to the development of an intelligent service Web. Web services are a rapidly expanding approach to building distributed software systems across networks such as the Internet. A Web service is an operation typically addressed via a URI, declaratively described using widely accepted standards, and accessed via platform-independent XML-based messages. Agents and multi-agent systems can benefit from this combination, and can be used for Web service discovery, use and composition. In addition, Web services and multi-agent systems bear certain similarities, such as a component-like behavior, that can help to make their development much easier. The IEEE FIPA Agent and Web Services Interoperability (AWSI) Working Group meeting was co-located with AWeSOMe 2007, providing both AWSI members and AWeSOMe participants with the possibility to exchange experiences and discuss to which areas research efforts must be devoted. The Program Committee members did an excellent job in selecting the papers. All submitted papers underwent a thorough review process with each paper having at least two reviewers providing feedback to the authors. We selected 13 papers out of 50 submissions for presentation at the workshop. We would like to thank the members of the Program Committee, who gave their time and energy to ensure the high quality of the technical program. We extend many thanks to Hiroki Suguri, Chair of the FIPA-AWSI Working group, for his support and collaboration in the organization of AWeSOMe 2007. We are grateful to the OTM 2007 organizers for their support and encouragement. Especially, we would like to thank the OTM 2007 Chairs, Robert Meersman and Zahir Tari. We acknowledge the efforts of the authors of selected papers for their contributions to the new and exciting interdisciplinary area covered by the workshop. August 2007
Pilar Herrero Gonzalo M´edez Rainer Unland
DyMRA: Dynamic Market Deployment for Decentralized Resource Allocation⋆ Daniel L´azaro, Xavier Vilajosana, and Joan Manuel Marqu`es Universitat Oberta de Catalunya {dlazaroi,xvilajosana,jmarquesp}@uoc.edu
Abstract. The workload supported by Virtual Organizations (VO) is limited by the quantity of available resources. VOs with scarce resources or peer-to-peer based VOs — due to the dynamicity of available resources — may need extra resources to carry out a given task. Conversely, many Internet-connected computers have surplus bandwidth, storage and computational resources. We face those tradeoffs by enabling VOs to collect and aggregate surplus resources and provide them with availability guarantees to other VOs. This paper presents DyMRA, a decentralized resource allocation system based on markets that allows inter-VO resource allocation. DyMRA is specially designed for dynamic and peerto-peer environments, where the autonomy of participants to disconnect resources at any time and its decentralized nature requires the capacity to dynamically reallocate resources and services that manage the overall system. DyMRA is built on top of LaCOLLA, a peer-to-peer middleware that allows a group of users to share resources in a collaborative manner. We present the design, architecture and validation of our proposal.
1
Introduction
Internet has fostered the proliferation of virtual communities that are generally formed by users that have common goals and need to collaborate to achieve their technological or business objectives. Virtual communities are managed as virtual organizations1 (VO) that require computational resources to satisfy the needs of members’ applications. Besides, these requirements may typically vary over the lifetime of the virtual organizations due to dynamicity and spontaneous load surges. Generally, VO resources are supplied by one of the following sources. a) resources may physically belong to the VO. b) members may contribute resources in benefit of the community, as is the case of non-profit organizations such as seti@home [1]. And c), users may join resources in a cooperative way that results in a benefit of all the participants. An example of such kind of systems is the peer-to-peer file sharing system Tribler [2]. Whilst the resources within a VO may be sometimes insufficient to satisfy QoS requirements under unexpected load surges, high level of dynamicity of its ⋆ 1
Work supported by MCYT-TSI2005-08225-C07-05 and Grid4All(IST-2006-034567). For the purpose of this paper, we consider that a virtual organization (VO) is a group of individuals or institutions who share resources and services for a common goal.
R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 53–63, 2007. c Springer-Verlag Berlin Heidelberg 2007
54
D. L´ azaro, X. Vilajosana, and J.M. Marqu`es
members or unpredictable failures, many other Internet-connected computers have surplus bandwidth, storage and computations resources. This opens challenging opportunities to promote inter-VO resource allocation. In other words, a VO could aggregate their surplus resources and offer them to other VOs. In this paper we address Inter-VO allocation of resources by means of decentralized markets that promote the creation of many local ad hoc trading sites that can be accessed by any VO. Markets have proven their ability to allocate resources efficiently [3] and, more importantly, because they provide mechanisms through which the need may be correctly elicited and quantified; and indeed, they promote incentives to resource owners to provide or trade their resources. We developed DyMRA, a decentralized resource allocation system based on markets that allows inter-VO resource allocation. DyMRA is specially designed for dynamic and peer-to-peer environments, where the autonomy of participants to disconnect resources at any time and its decentralized nature requires the capacity to dynamically reallocate resources and services that manage the overall system. DyMRA markets are created at will and run as services within the VO. The choice of a decentralized markets approach in the form of many local ad hoc markets is motivated by the need to deal with dynamic communities and scalability issues that would be limited by a centralized approach. One issue not addressed in this paper due to space limitations is that of resource specification and bidding language. Many interesting approaches [4,5] present efficient bidding languages that fulfill our requirements. For the purpose of this paper, we consider resources as processing time, storage, and applications that provide a stateless service, like an efficient codec or a parallelizing compiler. We deal with heterogeneity by using standard interfaces, implemented as WS, to access the resources. These belong to a VO and we assume that they can be disconnected or fail at any time. This dynamic behavior introduces a complexity that, added to the decentralized behavior of markets, forced us to design a system that allows us to decouple services from physical resources. Furthermore, we had to pay special attention to availability guarantees. DyMRA is built on top of LaCOLLA [6,7], a middleware available at [8]. LaCOLLA is a peer-to-peer middleware that allows a group of users scattered across the Internet to share resources in a cooperative manner and that allows the deployment of stateless services using the resources provided by the members of the VO. LaCOLLA guarantees that services deployed are always available (if enough resources are provided). Therefore, DyMRA components are deployed as services in LaCOLLA middleware.
2
Scenario
The scenario presents three different VOs A, B and C that provide general purpose functionalities such as a file sharing services and communication services to its members. VO A is an online gaming community where few members contribute regularly their computational resources to the community; instead
DyMRA: Dynamic Market Deployment
55
members pay a subscription fee to obtain the services. B is a scientific community and its purpose is the sharing of knowledge and technical documents amongst its members; generally its members contribute with their resources to the community. Finally, VO C is a photo sharing community where members usually contribute with their resources. This paper focuses on the allocation of resources provided by virtual organizations to other ones and fits perfectly in this scenario. We assume that VOs provide management logic to control the resources within the community. External allocations may be needed due to spontaneous load surges or when resources cannot be provided by the VO. At a time, the VO A may require more resources than available to match the required quality of service. The VO monitoring service will trigger the buyer service (termed Prospector) to allocate the needed resources. The Prospector searches for markets that trade in the required resources and places a bid on them. Markets are services exposed by VOs that aim to trade in some of their resources. Seller agents (from B or C VOs for example) are triggered to sell resources when the monitoring service determines a surplus of resources within the VO according to some VO policies. Sellers create or place a bid on Markets depending on the suitability of the Market to trade in their resources. When a DyMRA component fails or is disconnected due to the inherent dynamism of VO members (i.e. someone switches off her computer) automatically and transparently to participants the service is reallocated to another suitable node within the VO. After the market clears and winning Seller services and Prospector services are notified, the resources are added to the Pool of external resources of the buying community. DyMRA addresses this kind of scenarios by providing services to automatically allocate external resources into a VO. The main contributions of DyMRA are twofold; first, the components of DyMRA are deployed as services inside a VO and can, hence, be reallocated when its current location fails or disconnects, keeping the functionality available. Second, DyMRA proposes to distribute markets amongst virtual organizations that place our approach in a design space between a decentralized and a centralized architecture, which we believe responds better to the targeted environment.
3
Requirements
– Interoperability: VO services may be exposed as standard interfaces that enable interoperation between VOs. – Group self-sufficiency: The execution of services and the deployment management should be performed using only the resources contributed to the VO by its members. – Decentralization and self-organization: In case of connections, disconnections and failures, the system should keep functioning (it shouldn’t have a single point of failure) and should reorganize without requiring any external intervention, getting to a consistent state as soon as the available resources and VO stability allow it.
56
D. L´ azaro, X. Vilajosana, and J.M. Marqu`es
– Individual autonomy: The VO’s members should be free to decide which actions to carry out, what resources and services to provide, and when to connect or disconnect. – Market availability: Market services should always be available (if needed) as long as there are enough resources to execute them in the VO. – Location transparency: Market services don’t have to worry about other market service’s location. The system resolves them transparently, and services access each other using a location-independent identifier.
4
Related Work
Economic based resource allocation within the context of Virtual Organizations, Grid Computing and large scale peer-to-peer systems has been extensively studied [9,10,11]. However, as far as we know, the issue of addressing inter-VO resource allocation is an emergent field of study. Recently in [12] a novel architecture for inter-VO resource allocation in Grids is presented. Their proposal is suited between a centralized and a decentralized approach and proposes a configurable mediator process (executing within the VO) that allocates resources from external providers. Our approach goes one step beyond and we provide, on one hand, transparent reallocation of market services in a dynamic environment, and, on the other hand, we rely on the members of collaborating communities to mutually provide resources. Another feature that we addressed is that of dynamic deployment of services. We acknowledge some systems that perform this task in a decentralized and selforganized way, as is our target. Snap [13] nodes form a Distributed Hash Table (DHT) which stores the code and data of the services. Replicas of a service are created on demand and stopped when demand decreases. Another system called Chameleon [14] deploys services in a cluster of nodes communicated through a DHT, while trying to maximize its “utility” (calculated from a value assigned to each service and its performance in a given node).
5
Architecture
The architecture of DyMRA consists of a series of components which are in charge of the trading process. These components are: – Prospector: when external resources are needed, it is in charge of finding a suitable market and obtaining the desired resources. – Seller: it is in charge of offering the aggregated surplus resources of the VO in a suitable market. – Pool service: it controls the access of the VO members to the external resources acquired by the VO, acting as a mediator. – Sale Handler: it controls the external access to a set of resources sold to another VO, acting as a mediator.
DyMRA: Dynamic Market Deployment
57
– Accounting service: it monitors the resources available in a VO. Following a policy determined by the VO, it starts the acquisition of external resources or the cession of own resources to other VOs when convenient. – Market: it mediates the trading of resources between VOs. – Market Directory: Contains an index of existing markets and their locations. The system is built upon a middleware called LaCOLLA [6] which allows a small group of computers connected through internet to participate in collaborative activities and sharing their resources (i.e. provides virtualization of resources), while tolerating high levels of dynamism. This middleware also allows the deployment of services within a VO (or group) [7]. When a service is deployed, the system guarantees that it will always be available, placing it in a suitable location chosen among the resources of the VO, and reinstantiating it in case of failure. The components of DyMRA are deployed as services inside a VO (except the Market Directory), and can, hence, be reallocated when its current location fails or disconnects, keeping the functionality available. The communication between VOs is done through markets, which are also services, existing in a specific VO. To access a market, it must be discovered through the Market Directory (MD). Markets contact the MD to publish their location and characteristics, and the MD keeps them as a soft state. In case a market ceases to exist, the MD will delete the information about it after its time-to-live (TTL) expires. If a market is reallocated, it will inform the MD of its new location. The MD is not part of a VO, but an external service which is known and can be accessed by all groups. Its implementation is out of the scope of this paper, but there are many possibilities. It could be a centralized index, but it could also be implemented in a decentralized way if each VO deployed a ”MD node” service, and each one of these services act as a node of a DHT, thus distributing the information stored among the VOs. Anyway, this doesn’t affect the design of our architecture. To help understand the functionality of each of the components presented and the overall behavior of the system, we will explain in detail how the trade of resources is done at the buyer VO and at the seller VO (shown at fig. 1), and how the posterior access to the traded resources is managed (fig. 2). 5.1
Trading Process
Buying resources 1a. The Accounting service detects that the resources of a certain type (e.g. storage) available in the VO are below a certain threshold defined by the VO policy. According to a given policy, it determines the resources needed and other factors such as the price that should be paid for them. With this information, it contacts the Prospector and asks it to acquire such resources. 2a. The Prospector looks for a suitable market in the Market Directory.
58
D. L´ azaro, X. Vilajosana, and J.M. Marqu`es
3a. The Market Directory sends the Prospector a list of markets which suit the specified needs. 4a. The Prospector chooses one of the markets of the list. In case that there is no suitable market, it proceeds to the creation of a new one. Once it has the adequate market located, the Prospector sends its bid. A generic bid describes the type of resource to bid for, the price per unit offered and the number of units required amongst others. Selling resources 1b. The Accounting service detects that the resources of a certain type (e.g. storage) available in the VO are above a certain threshold defined by the VO policy. According to a given policy, it determines that these resources can be leased to another group, and fixes the price that should be paid for them. With this information, it contacts the Seller and asks it to sell the surplus resources. 2b. The Seller looks for a suitable market in the Market Directory. 3b. The Market Directory sends the Seller a list of markets which suit the specified needs. 4b. The Seller chooses one of the markets of the list. In case that there is no suitable market, it proceeds to the creation of a new one. Once it has the adequate market located, the Seller sends its offer. Agreement 5. The market makes an agreement between the buyer and the seller. A scheduled double auction is used to match winning bids and offers. The winners are
Fig. 1. Interaction among components in the trading process
DyMRA: Dynamic Market Deployment
59
selected by calculating the price where supply balances demand and matching the highest buy bids above the price with the lowest sell offers below the price. After this, it notifies the sale to both the Prospector and the Seller. 6. The Seller starts a Sale Handler, which is deployed in its VO. This Sale Handler keeps the information about the leasing conditions, and mediates the use of the resources according to these conditions. 7. The Prospector informs the Pool service of its group about the resources bought and the agreement conditions, as well as the location of the Seller of the resources. When a Prospector or a Seller finds that there is no market available that suits its needs, it proceeds to the creation of a new one. As stated before, the market is implemented as a service. Hence, the component (Prospector or Seller) creates a new service in its VO, which is a market with the desired characteristics. This market registers itself in the Market Directory, and therefore can be accessed by buyers or sellers from outside the VO. 5.2
Accessing the Resources
1. Whenever a client needs to use a resource, the system checks the VO policies to determine whether it must depend only on local resources or should use external resources. In the latter case, the client contacts the Accounting service. 2. The Accounting service checks the resources currently available to the VO. Following the VO’s policy, it determines what resources the client must use, whether these are internal or external. In the former case, it tells the client which resource to use. Otherwise, it tells him to contact the Pool service. 3. The client contacts the Pool service, as if it was a local resource. 4. The Pool service chooses which of the external resources available to the VO should be used, and contacts its corresponding Seller. It sends the id of the sale it wants to use.
Fig. 2. Interaction among components in the access process
60
D. L´ azaro, X. Vilajosana, and J.M. Marqu`es
5. The Seller tells the Pool service the location of the Sale Handler that manages the specific agreement. 6. The Pool service contacts the Sale Handler, according to the conditions of the agreement, which may include, for example, symmetric key cryptography. It basically resends the request of the client. 7. The Sale Handler checks that the request of the Pool service does not violate the conditions of the agreement. After this, it uses the resources of the VO to fulfill the request of the Pool service. As stated before, the services can change their locations due to failures or disconnections. This is not a problem inside a VO, as the system guarantees that clients, as well as other services, can contact any active service. To access external resources, though, the Pool must contact the Seller of another VO, whose location might have changed from the moment when the agreement was made. This can be solved in more than one way. A solution would be to use the Market Directory to store also the location of the Seller of each VO. This information would be maintained in a soft state, just like the one about markets, with the Sellers explicitly publishing their locations in the Directory. The Pool could then contact the MD to get the current location of the Seller, in case it cannot reach it in its previous location. This would solve the problem, but implies relying in an external entity (even though, as seen before, the MD can be implemented cooperatively by the VOs). A solution that only depends on the two VOs that need to communicate would be that both the Pool and the Seller keep the location of those Sellers and Pools, respectively, they have a deal with. In case one of these services is reallocated, it would notify all its “business partners” about its new location. Although it would be less probable, contact can still be lost if both Pool and Seller are reallocated at the same time. To further diminish this probability, these services could be replicated inside the VO. In the worst case, if all the replicas of both services fail together and the Pool of one VO can’t contact the Seller of the other VO, the deal is broken, and both VOs will have to go back to the market.
6
Validation
This section presents an implementation of the proposed mechanism and its first validation. These preliminary results demonstrate the viability of our proposal and encourage us to refine it. Currently we are working on a further and exhaustive validation. We implemented a prototype of the proposed architecture to test its usefulness. The Prospector, Seller, Pool, SaleHandler and the Market have been implemented as deployable services over the LaCOLLA middleware. The Market provides generic operations that allow different mechanisms to be implemented. For our testing purposes we developed a double auction [15] protocol that enables buyers and sellers to submit bids for multiple units of a single resource (i.e storage capacity, cpu capacity and applications).
DyMRA: Dynamic Market Deployment
61
The MarketDirectory has been implemented as a centralized index, but, as mentioned above, it can be easily substituted with a decentralized approach [16,17]. For our testing purposes, the market directory stores pairs of < key, value > where the key identifies the type of traded resource and the value refers to the identifier of the market where it is traded in. The objective of our test is to validate the trading process described above. One of the main objectives of our proposal is to provide good availability in environments of high dynamism and churn. Hence, availability has been the main focus of our tests. We executed a process which periodically tried to buy resources, and another that tried to sell resources. The necessary services (Prospector, Pool, Seller) where active inside the VO, while there was a MarketDirectory available in a static location. Markets, though, according to our proposal, are created on demand. When a Prospector or a Seller wants to access a Market, but there in’t any available, it proceeds to create and activate one. When this happens, it is counted in our tests as a failed attempt. For simplicity, Markets have been assigned a limited lifespan, after which they resolve the auction and send the results to the clients. This implies that, periodically, a Prospector or a Seller will have to create a Market, thus decreasing the perceived availability. Markets could also be permanently active, which would increase the availability of the system. There is, though, a trade off between the obtained availability and the resources spent to keep the market active. The LaCOLLA middleware offers the ability to simulate users’ activity and system dynamism (connections, disconnections, failures) in order to conduct tests and validate its functioning. We measured the availability of markets in function of the levels of dynamism of the system. Specifically, we evaluated two different levels of dynamism. In the less dynamic (from now on, called G1) each component had a probability of failure per iteration of 0,0005, and a probability of ordered disconnection of 0,0025. In the more dynamic of the two (G2), the probability of failure per iteration was 0,005, while the probability of disconnection was 0,008. Tests lasted 500 iterations. The data we analyze is the number of bids that arrive to the market, in relation to the number of bids issued by the group. This depends exclusively of the mechanisms of our system, in contrast to the number of matches, which depends on supply and demand. Note once again that this number decreases because markets have a limited lifespan and are created on demand, which results in a failed access when a market must be created. That doesn’t mean that, in a real situation, the bid cannot be issued, only that it will have a bigger delay. Fig. 3 shows the availability (percentage of succesfully issued bids) obtained in 20 executions, for both G1 and G2. We see that, as expected, the availability is higher in G1, decreasing in G2 because of the higher level of dynamism. Fig. 4 shows the cumulative distribution function for both G1 and G2. For G1, 50% of the executions obtain an availability of 70% or higher, which must be considered noting that markets are activated on demand, and we count it as
62
D. L´ azaro, X. Vilajosana, and J.M. Marqu`es
Fig. 3. Availability vs level of Dynamism
Fig. 4. Cumulative probability of availability levels for G1 and G2
unavailable when activation is needed. For G2, availability is low because of the high level of dynamism.
7
Conclusions
The paper proposes DyMRA, a framework for inter-VO resource allocation. The key aspect of DyMRA is that of market decentralization, that allows allocations of resources amongst different VO in spite of markets’ failures. Markets and mediator components such as buyer agents and seller agents are exposed as mobile services within the VO that allows the utilization of inherently centralized mechanisms such as auctions into a decentralized environment without introducing bottlenecks or single points of failure. Furthermore the paper presents the preliminary results of evaluating our proposed architecture. Our future work includes the complete development of the DyMRA components, such as a decentralized Market Directory, and the set of mechanisms to control the access to external allocated resources. Besides, we aim to consider duration of the allocations of resources (lease times) that would permit the application of our framework in a real environment.
DyMRA: Dynamic Market Deployment
63
References 1. http://setiathome.berkeley.edu/ 2. Pouwelse, J., Garbacki, P., Wang, J., Bakker, A., Yang, J., Iosup, A., Epema, D.H.J., Reinders, M., van Steen, M., Sips, H.: Tribler: A social-based peer-to-peer system. Concurrency and Computation: Practice and Experience 19, 1–11 (2007) 3. Shneidman, J., Ng, C., Parkes, D.C., AuYoung, A., Snoeren, A.C., Vahdat, A., Chun, B.: Why markets could (but don’t currently) solve resource allocation problems in systems. In: HOTOS 2005. Proceedings of the 10th conference on Hot Topics in Operating Systems, Berkeley, CA, USA, USENIX Association, p. 7 (2005) 4. Cavallo, R., Parkes, D.C., Juda, A.I., Kirsch, A., Kulesza, A., Lahaie, S., Lubin, B., Michael, L., Shneidman, J.: Tbbl: A tree-based bidding language for iterative combinatorial exchanges. In: Multidisciplinary Workshop on Advances in Preference Handling (IJCAI) (2005) 5. Boutilier, C., Hoos, H.H.: Bidding languages for combinatorial auctions. In: Proceedings of the Seventeenth International Joint Conference on Artificial Intelligence, pp. 1211–1217 (2001) 6. Marqu`es, J.M., Vilajosana, X., Daradoumis, T., Navarro, L.: Lacolla: Middleware for self-sufficient online collaboration. IEEE Internet Computing 11(2), 56–64 (2007) 7. L´ azaro, D., Marqu`es, J.M., Jorba, J.: Decentralized service deployment for collaborative environments. In: CISIS 2007. Proceedings of the 1st International Conference on Complex, Intelligent and Software-Intensive Systems, pp. 229–234. IEEE Computer Society Press, Los Alamitos (2007) 8. http://dpcs.uoc.edu/lacolla/ 9. Lai, K., Huberman, B.A., Fine, L.: Tycoon: A Distributed Market-based Resource Allocation System. Technical Report arXiv:cs.DC/0404013, HP Labs, Palo Alto, CA, USA (2004) 10. Catnets Consortium: Deliverable d3.1: Implementation of additional services for the economic enhanced platforms in grid/p2p platform: Preparation of the concepts and mechanisms for implementation (gmm) (2005) 11. Buyya, R., Abramson, D., Venugopal, S.: The grid economy (2004) 12. Amara-Hachmi, N., Vilajosana, X., Krishnaswamy, R., Navarro, L., Marques, J.M.: Towards an open grid marketplace framework for resources trade. In: Meersman, R., Tari, Z. (eds.) OTM 2007. LNCS, vol. 4804, pp. 1322–1330. Springer, Heidelberg (2007) 13. Gavalda, C.P., Lopez, P.G., Andreu, R.M.: Deploying wide-area applications is a snap. IEEE Internet Computing 11(2), 72–79 (2007) 14. Adam, C., Stadler, R.: Implementation and evaluation of a middleware for selforganizing decentralized web services (2006) 15. Bao, S., Wurman, P.R.: A comparison of two algorithms for multi-unit k-double auctions. In: ICEC 2003: Proceedings of the 5th international conference on Electronic commerce, pp. 47–52. ACM Press, New York (2003) 16. Ghodsi, A.: Distributed k-ary System: Algorithms for Distributed Hash Tables. PhD dissertation, KTH—Royal Institute of Technology, Stockholm, Sweden (2006) 17. Castro, M., Druschel, P., Kermarrec, A.M., Rowstron, A.: One ring to rule them all: service discovery and binding in structured peer-to-peer overlay networks. In: EW10: Proceedings of the 10th workshop on ACM SIGOPS European workshop: beyond the PC, pp. 140–145. ACM Press, New York (2002)
An Agents-Based Cooperative Awareness Model to Cover Load Balancing Delivery in Grid Environments Pilar Herrero1, José Luis Bosque2, and María S. Pérez1 1
Facultad de Informática. Universidad Politécnica de Madrid. Madrid. Spain {pherrero,mperez}@fi.upm.es 2 Dpto. De Electrónica y Computadores Universidad de Cantabria Santander, Spain [email protected] Abstract. This paper presents an extension of the AMBLE model, an awareness model which manage load balancing by means of a multi-agent based architecture, with the aim to establish a cooperative load balancing model for collaborative grid environments. This model, named C-AMBLE (Cooperative Awareness Model for Balancing the Load in grid Environments) applies some theoretical principles of multi-agents systems, awareness models, and third party models, to promote an efficient autonomous cooperative task delivery in grid environments. This cooperative task management, implemented using web services, has been tested in a real and heterogeneous grid infrastructure with very successful results. This paper presents some of these outcomes while emphasizing on the performance speedup of the system using this model.
1 Introduction Grid computing [5] and multi-agent systems are natural allies as they can benefit mutually. The multi-agent systems offer promising features to resource managers. The reactivity, proactivity and autonomy, as essential properties of agents, can help in the complex task of managing resources in dynamic and changing environments, as has been clearly defined by Foster et al in [4]. One of the most important problems in the management of grid environments is to equilibrate the load of the computational nodes. In order to provide flexible and efficient load balancing mechanisms, new technologies as multi-agent systems and Web Services could be applied [3, 8]. The cooperation among agents allows load balancing mechanisms to be performed efficiently on a grid. In [2], an agent-based grid management infrastructure is performed for local grid load balancing. Four different negotiation models are studied in [12] for agent-based load balancing and grid computing. As example of the successful combination of grid and agents, a real grid system has been built by means of mobile agent technology, SMAGrid, Strong-Mobile Agent-Based Grid [13]. With the aim to solve this problem the AMBLE model (Awareness Model for Balancing the Load in Collaborative Grid Environments) was developed as an awareness model for balancing the load in collaborative grid environments [9]. AMBLE manages the interaction and collaboration allowing the autonomous, R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Workshops, Part I, LNCS 4805, pp. 64–74, 2007. © Springer-Verlag Berlin Heidelberg 2007
An Agents-Based Cooperative Awareness Model to Cover Load Balancing Delivery
65
efficient and independent job allocation in the environment. The AMBLE implementation is open, flexible, uses standard and public interfaces, and it is based on the Web Services specifications [10]. However many distributed applications are implemented as a set of interrelated tasks [7]. Therefore an interaction is necessary among the nodes that execute these tasks. This interaction implies cooperation between the nodes which is not taking into account in AMBLE. Therefore, this paper presents CAMBLE (Cooperative Awareness Model for Balancing the Load in Collaborative Grid Environments) which extends the AMBLE model to introduce cooperation among those nodes that compose the grid. The CAMBLE model is open and flexible enough to establish cooperative load sharing inside the grid infrastructure. It merges all the OGSA features with theoretical principles of multi-agents systems. Following one of the main OGSA characteristics, the use of open, standard and public interfaces, we have implemented CAMBLE as a web service specification, WS-CAMBLE. This specification provides an open interface having the ability of managing different levels of awareness, allowing different Virtual Organizations to share computational resources based on open protocols and interfaces efficiently, and getting a cooperative task delivery agentsbased model. As far as we know, none of the last WS specifications offers functionalities useful enough as to create awareness models that could be able to manage task balancing delivery in collaborative grid environments.
2 C-AMBLE: Extending the AMBLE Model Let’s consider a system containing a set of nodes {ni} and a Job J composed by a set of tasks, defined by its task-interaction graph. The task-interaction graph is A taskinteraction graph is an acyclic graph G = (N, W, E, C), where: • N (Nodes): It represents each of the tasks. • W (Weights): It is proportional to the computational power required to perform each of the J’s tasks. • E (Edges): It represents the dependence each other. • C (Communication): It represents the communication volume between any pair of tasks.
Fig. 1. An example of a task-interaction graph for a merge
66
P. Herrero, J.L. Bosque, and M.S. Pérez
The AMBLE model defines the following concepts [9]: Focus: As it has been defined by the AMBLE model, the focus is a subset of the space on which the user has focused his attention with the aim of interacting with. Nimbus: It is defined as a tuple (Nimbus=(NimbusState, NimbusSpace)) containing information about: the state of the system in a given time (NimbusState) and the subset of the space in which a given resource projects its presence (NimbusSpace). Awareness of Interaction (AwareIntRi→Rj): This concept will quantify the degree, nature or quality of asynchronous unidirectional interaction between a pair of nodes in the grid. Following the awareness classification of the AMBLE model, this awareness could be Full, Peripheral or Null. if n j ∈ Focus({n i }) ∧ ni ∈ Nimbus (n j ) AwareInt(ni , n j ) = Full
Peripheral aware of interaction if
AwareInt(ni , n j ) = Peripheral
n j ∈ Focus ({ n i })
∧
n i ∉ Nimbus ( n j )
n j ∉ Focus ({ n i })
∧
n i ∈ Nimbus ( n j )
if or
Aura: Sub-space which effectively bounds the presence of a resource within a given medium and which acts as an enabler of potential interaction. It can delimit and/or modify the focus, some of the nimbus properties and therefore the awareness. Interactive Pool: This function returns the set of nodes {nj} interacting with the ni node in a given moment. JobResolution: This function determines if there is a service in the node ni, being NimbusState (ni) /= Null, such that could be useful to execute some task of the Job, J. Collaborative Organization: This function will take into account the set of nodes determined by the InteractivePool function and will return those nodes of the System in which it is more suitable to execute the Job J, according to the JobResolution. CAMBLE intends to solve the Job J and to determine if the nodes cooperate among then in the grid environment by means of the following concepts: Cooperative Awareness of Interaction (CoopAwareIntRi→Rk→Rj): This concept will quantify the degree, nature or quality of asynchronous interaction between distributed nodes. In environments, this awareness could be due to the direct or indirect interaction between nodes [9]. In fact, the awareness that a resource (Ri) has of another one (Rj) could be associated to the presence of a third resource (Rk) in the environment. This “indirect” awareness could also be unidirectional or bidirectional. The awareness that a resource has of an item one could also be distorted by the presence of an additional item. In this way, let’s suppose a medium where a resource (R1) is aware of the R2 resource. If while R1 is being aware of R2 a third item (R3) appears, this “new” could distort the interaction and the awareness in a positive or negative way. Distorted awareness could also be unidirectional or bidirectional. Taking into account the previous situations, the cooperative awareness of interaction (CoopAwareIntRi→Rk→Rj) is defined as a tuple (TypeAwareness, TypeInteraction, StateAwareness) containing information about: the type of the awareness of interaction (TypeAwareness): Indirect or Distorted; the type of interaction
An Agents-Based Cooperative Awareness Model to Cover Load Balancing Delivery
67
(TypeInteraction): Unidirectional or Bidirectional; and the state of the awareness of interaction after this cooperation (StateAwareness): Full, Peripheral or Null. Cooperative Directional Pool: This function returns the set of resources cooperating among them, uni-directionally, in a given moment (StateAwarenes=Full). If CoopAwareIntRi→Rk→Rj(E)=(Indirect, Unidirectional, Full) then CooperativePoolRi→Rj(E)={ Ri, Rk, Rj} Cooperative Pool: This function returns the set of resources cooperating among them, bi-directionally, in a given moment (StateAwarenes=Full). If CoopAwareIntRi→Rk→Rj(E)=(Indirect, Bidirectional, Full) CooperativePool(E)={ Ri, Rk, Rj}
then
Cooperative Directional Organization: This organization will be made up by the set of resources cooperating, uni-directionally, in the environment. CoopAwareIntR1→R2→R3(E)=(Indirect, Unidirectional, Full) => CooperativePool R1→R3 (E)={ R1, R2, R3} CoopAwareIntR3→R4→R5(E)=(Indirect, Unidirectional, Full) => CooperativePool R3→R5 (E)={ R3, R4, R5} CooperativeOrganization R1→R5 (E)={ R1, R2, R3, R4, R5} Cooperative Organization: This organization will be made up by the set of resources cooperating, bi-directionally, in the environment. CoopAwareIntR1→R2→R3(E)=(Indirect, Bidirectional, Full) => CooperativePool (E)= { R1, R2, R3} CoopAwareIntR3→R4→R5(E)=(Indirect, Bidirectional, Full) => CooperativePool (E)={ R3, R4, R5} CooperativeOrganization(E)={ R1, R2, R3, R4, R5}
3 Balancing the Load in Cooperative Grid Environments In this section we will introduce the load balancing algorithm as it has been introduced in the CAMBLE awareness model, and how it will be applied to our distributed and cooperative multi-agent architecture in grid environments. State Measurement Rule: This rule will be in charge of getting information about the computational capabilities of the node in the system. This information, quantified by a load index, provides aware of the NimbusState of the node. In this paper the concept of CPU assignment is used to determine the load index [1]. The CPU assignment is defined as the CPU percentage that can be assigned to a new task to be executed in a node. The calculation of this assignment is based on two dynamic parameters: the number of tasks in the CPU queue and the percentage of occupation of the CPU. The NimbusState of the node will be determined by the load index and it will depend on the node capacity at a given time. This state determines if the node could execute more (local or remotes) tasks. Its possible values would be: Maximum, the load index is low and therefore this infrautilized node will execute all the local tasks, accepting all new remote execution requests; Medium, the node will execute all
68
P. Herrero, J.L. Bosque, and M.S. Pérez
the local tasks, but they will not accept requests to execute tasks from other nodes in the system; and Null, the load index has a high value and therefore the node is overload. In this situation, it will reject any request of new remote execution. Information Exchange Rule: This policy should keep the information coherence of the global state of the system, without overloading the network with an excessive number of unnecessary messages. This rule only collects information when a change in the Nimbus (in the NimbusState or in the NimbusSpace) of the nodes is made. The information that every node has about the NimbusState of the rest of the nodes is updated while the node receives information messages from the others. Initialization Rule: As the model implements a non-user interruption algorithm, the selection of the node must be made just before sending the job execution. Once the execution of the task starts in a specific node it would have to finish in the same node. The decision of starting a new load balancing operation is completely local. If an overloaded node receives a new job J to be executed, and it can not execute it (NimbusState =Null), the load balancing operation will be automatically thrown. Load Balancing Operation: Now the node has made the decision of starting a load balancing operation, which will be divided in another three different rules. Location Rule: It has to determine which nodes are involved in the CooperativeOrganization of the node ni. In order to make it possible, firstly, the CAMBLE model will need to determine the awareness of interaction of this node with those nodes inside its focus. Those nodes whose awareness of interaction with ni was Full will be part of the CooperativePool of ni to solve the Job J, and from that preselection the JobResolution method will determine those nodes that are suitable to solve efficiently the task. Selection and Distribution Rule: This algorithm joins selection and distribution rules because it determines which nodes will be in charge of executing each of the tasks making up the task-interaction graph of the Job J. The proposed algorithm takes into account the NimbusState of each of the nodes as well as the CooperativePool. This algorithm finds the more equilibrate assignment of processes to computational nodes, based on a set of heuristics. Firstly, a complete distribution is made taking into account all the tasks as well as all the computational nodes implicated in the CooperativeOrganization. If, in this first turn, it would be possible to assign all the tasks, the algorithm would have finished. Otherwise, it would be necessary to calculate, again, the NimbusState of the nodes belonging to the Cooperative Organization, repeating the complete process again.
4 CAMBLE Architecture The load balancing multi-agent architecture is composed of four agents replicated for each of the nodes of the cluster (see figure 2). Each of then implements the corresponding rule of the load balancing algorithm described in the previous section. Figure 3, presents diagrams of all of the agents.
An Agents-Based Cooperative Awareness Model to Cover Load Balancing Delivery
Fig. 2. Multi-agent architecture of the CAMBLE model
Fig. 3. Diagrams of the Agents
69
70
P. Herrero, J.L. Bosque, and M.S. Pérez
Fig. 3. (continued)
The Load Agent: The Load Agent calculates, periodically, the load index of the local node and evaluates the changes on its NimbusState. When it detects a change on the state, this modification is notified to the local GSA and IA. Global State Agent: The main functionality of this agent is to manage the flux information exchanged among the nodes of the system and provide LBA with this information as soon as it requires it. Initiation Agent: When a user intends to execute a task in a node, this request is sent to the IA of that node. Then, this agent evaluates the initialization rule to determine if it can be executed locally or if a new load balancing operation has be carried out. Load Balancer Agent: This agent contains an infinite loop that is waiting to receive messages from other agents. Its functionality depends on the messages received:
•
•
BALANCER_EXECUTION: This message comes from the local IA and it indicates that a new load balancing operation needs to start. Then the agent executes the localization rule as well as the selection and distribution rule. REMOTE_EXECUTION: This message comes from the remote LBA, asking for the remote execution of a process. Once the LBA has checked its own state, it replies to the remote LBA with an acceptance or rejection.
4.1 WS-CAMBLE Architecture
WS-CAMBLE extends WS-AMBLE specification to provide an open interface to manage different levels of cooperative awareness, allowing sharing information about resources in the environment based on open protocols and interfaces. As far as we know, none of the last WS specifications offers functionalities useful enough as to create cooperative awareness models and none of the last WS specifications offers specific functionalities to manage task balancing delivery in collaborative grid environments as WS-CAMBLE does. By means of WS-CAMBLE, it will be possible to create new architectures oriented toward services. In the next figure (Figure 4) it is possible to appreciate the
An Agents-Based Cooperative Awareness Model to Cover Load Balancing Delivery
71
Fig. 4. WS-CAMBLE Architecture
different levels of functionality offered by each of WS-CAMBLE components: WSAddressing, WS- Resource Framework and WS-Notification and WS-Topic. WSCAMBLE uses standard mechanisms based on WS to interact with other resources. These mechanisms are supplied by the recently standardised WS-Resource Framework specification. Moreover, WS-CAMBLE communication, founded on publication/subscription, is based on the WS-Notification/WS-Topic specification.
5 Model Evaluation These experiments have been carried out in a heterogeneous grid environment with the following computational resources (Table 1). In short, there are 12 nodes and 49 processors. A set of random task-interaction graphs has been generated to study the CAMBLE capacity to reach a suitable distribution of the tasks among the grid resources. In fact, we varied the number of tasks n=10, 100 and 500, for each graphs. Two different metrics have been used to verify and validate the CAMBLE model: • The overhead introduced by the model to distribute the tasks. • The accuracy of the model is measured by the error made by the model in the process of tasks delivery with regard to the optimal tasks distribution. The optimal distribution has been calculated starting from an a priori knowledge about the computational capacity of the nodes of the grid as well as their availability to provide services to solve the processes requested. The figure 5 presents the overhead introduced by the CAMBLE model with regard to the total overhead caused by the management operations of tasks, and the total response time of the tasks. Although this figure presents only the experimental results obtained with the task-interaction graph of 500 tasks, the rest of the experimental outcomes are quite similar to, the presented in this figure, and due to space limitations will not be included in this paper. The CAMBLE overhead is related to the calculation of the cooperative organization as well as the tasks delivery in the environment. For this reason, the total overhead takes a surplus due to the consignment of the process to be executed, the monitoring of the process state and the reception of results. As it is possible to appreciate in this figure, the overhead introduced by CAMBLE is
72
P. Herrero, J.L. Bosque, and M.S. Pérez Table 1. Grid environment
VO Ciemat University Carlos III Universidad Complutense
University Politécnica de Madrid University Rey Juan Carlos
Node
CPU
Mem. 2GB 512 MB
Disk (GB) 80 65
Number of CPUs 6 1
gridimadrid cormoran
Intel Xeon 2.4GHz Intel Pentium 4 2.40GHz
Faisan Aquila Ursa Cygnus Draco
AMD Duron™ 1350 Mhz AMD Optaron 2400 MHz Intel Pentium 4.3 2.0 GHz Intel Pentium 4 3.2.0GHz Intel Pentium 4 3.2.0GHz
512 MB 1GB 512 MB 2GB 2GB
46 18 60 20 20
1 2 2 1 1
baobab Brea africa. Pulsar Artico
Intel Xeon 2.40GHz Intel Xeon 3.00GHz IIntel Pentium 4 2.80GHz Intel Pentium III 1.0 GHz Intel Pentium III 450 MHz
1GB 1GB 1GB 512MB 128MB
20 20 20 30 10
16 16 1 1 1
Total Response Time
Total Overhead
CAMBLE Overhead
60
Time (s)
50 40 30 20 10 0 1
500 Number of Tasks
Fig. 5. CAMBLE overhead with respect to total overhead and total response time
almost a constant which doesn’t depend on the CooperativeOrganization selected. Moreover this overhead is practically negligible with respect to the total response time. The problem of assigning tasks to processors in a grid environment is a NP-Hard problem. In order to evaluate the accuracy of the CAMBLE model, to carry out the task allocation, it is necessary to have an optimal distribution (or at least quasioptimal), as a reference. The optimal distribution used in this paper is gotten by means of the maximum edge algorithm [11]. The quality of the solution has been evaluated using the relative distance, as a metric. In fact, in this evaluation we considered the relative distance with regard to the best solution found by means of the Maximum Edge Algorithm for a set of random graphs. These graphs will be different each other in the relation between the computational time and the tasks communication. As it is possible to appreciate in figure 6, both the communication ratio and the size of the graph will have an influence of the model’s performance. The first issue will interfere due to the instability as well as the high communication latency in the grid environment. As for the size of the graph, it provokes an effect due too the increase in the complexity of the system. However, it is important to highlight
An Agents-Based Cooperative Awareness Model to Cover Load Balancing Delivery
73
Fig. 6. Mean Relative Distance of the CAMBLE with respect to the best solution
the very successful outcomes obtained by CAMBLE when the communication taxes are low, as it happens in most of the typical jobs, independently of the size of the graph. This worsening is even bigger when the number of tasks increases because, in this case, the total communication tax will also be increased.
6 Conclusions and Future Work This paper presents how manage load balancing and task delivery in cooperative grid environments by means of a cooperative awareness model. This model, named CAMBLE (Cooperative Awareness Model for Balancing the Load in grid Environments) makes an efficient, flexible and dynamic resources-sharing infrastructure, endorsing interaction among nodes in the environments by means of a set of rules, optimizing the resources collaboration, promoting the resources cooperation in the environment, and responding to the specific demanded circumstances at a given moment. This paper describes not just the C-AMBLE model and its architecture, but also how it works in some specific examples and scenarios, and how it tackles very efficiently task delivery management in cooperative grid environments.
References [1] Beltrán, M., Guzman, A., Bosque, J.L.: Dynamic tasks assignment for real heterogeneous clusters. In: Wyrzykowski, R., Dongarra, J.J., Paprzycki, M., Waśniewski, J. (eds.) PPAM 2003. LNCS, vol. 3019, pp. 888–895. Springer, Heidelberg (2004) [2] Cao, J., et al.: Agent-Based Grid Load Balancing using Performance-Driven Task Scheduling. In: Proc. of the Int. Parallel and Distributed Processing Symposium (2003) [3] Chow, K., Kwok, Y.: On Load Balancing for Distributed Multiagent Computing. IEEE Transactions on Parallel and Distributed Systems 13(8), 787–801 (2002)
74
P. Herrero, J.L. Bosque, and M.S. Pérez
[4] Foster, I., Jennings, N.R., Kesselman, C.: Brain Meets Brawn: Why Grid and Agents Need Each Other. In: Kudenko, D., Kazakov, D., Alonso, E. (eds.) AAMAS 2004. LNCS (LNAI), vol. 3394, Springer, Heidelberg (2005) [5] Foster, I., Kesselman, K., Tuecke, S.: The Anatomy of the Grid. Editorial: Globus Alliance (2001) Ref. Web: http://www.globus. org/alliance/publications/papers/anatomy. pdf [6] Galstyan, A., Czajkowski, K., Lerman, K.: Resource Allocation in the Grid using Reinforcement Learning. In: Int. Conf. on Autonomous Agents and Multiagent Systems (2004) [7] Grama, A., Gupta, A., Karypis, G., Kumar, V.: Introduction to Parallel Computing, 2nd edn. Addison Weslley, Pearson (2003) [8] Herrero, P.: Covering Your Back: Intelligent Virtual Agents in Humanitarian Missions Providing Mutual Support. In: Meersman, R., Tari, Z. (eds.) On the Move to Meaningful Internet Systems 2004: CoopIS, DOA, and ODBASE. LNCS, vol. 3290, pp. 391–407. Springer, Heidelberg (2004) [9] Herrero, P., Bosque, J.L., Salvadores, M., Pérez, M.S.: AMBLE: An Awareness Model for Balancing the Load in collaborative grid Environments. In: Grid 2006. The 7th IEEE/ACM International Conference on Grid Computing, September 28-29, 2006, Barcelona (2006) [10] Herrero, P., Bosque, J L., Salvadores, M., Pérez, M S.: Awareness Specification to Cover Load Balancing Delivery in CSCW Grid Applications. In: Meersman, R., Tari, Z., Herrero, P. (eds.) OTM 2006 Workshops. LNCS, vol. 4277, pp. 78–89. Springer, Heidelberg (2006) [11] Kopidakis, Y., Lamari, M., Zissimopoulos, V.: O the task assignment problem: two new efficient heuristic algorithms. J. of Parallel and Distributed Computing 42, 21–29 (1997) [12] Shen, W., et al.: Adaptive Negotiation for Agent-Based Grid Computing. Journal of the American Statistical Association (2002) [13] Zhang, Z., Luo, S.: Constructing Grid System with Mobile Multiagent. In: Proc. of the Second Int. Conference on Machine Learning and Cybernetics, Xi’an (November 2003)
TV Navigation Agent for Measuring Semantic Similarity Between Programs Yumiko Mizoguchi-Shimogori1, Toshiaki Nakamoto2 , Kazuma Asakawa2, Shinichi Nagano1 , Masumi Inaba1 , and Takahiro Kawamura1 1
Corporate Research & Development Center, Toshiba Corporation, Japan 2 Toshiba Information Systems(Japan) Corporation
Abstract. This paper proposes a method of computing semantic similarity which improves accuracy compared to the exisitng approaches. Most of the exisitng approaches uses WordNet as the ontology to calcualte and evaluate the similariy. A method using lightweight ontologies is proposed. The proposed method which considers offset value depends on ontology’s hierarchy layer and keyword’s importance increases the accuracy of the correlation between computed similarities and human judgements.The method was used in a TV navigation agent system. This system introduces similar TV programs in which the user is interested. Several lightweight ontologies for TV programs to compute semantic similarity between TV programs was also developed. An experiment to evaluate the accuacy was also conducted.
1
Introduction
This paper describes the measuring of semantic similarity between documents. This technique is used for applications such as Information Retrieval (IR) systems. We have developed a TV navigation agent system using the same technique. This agent system guides users to their favorite TV programs by simply browsing the graph link of the TV programs. The purpose of this application is not to search for a program which the user has some clues to look for. Instead it’s purpose is to find an unexpected TV program which the user may be interested. This system computes the similarity between the TV program the user has shown interest and the other available TV programs. The system introduces the similar TV programs by creating bi-directional links to programs. This system uses the Electronic Program Guide (EPG) as metadata of TV programs. EPG, which is document data distributed over the internet, gives TV program details such as time, station, title, actors, and content outline. The lightweight ontology we created specifies is-a, part-of and instance-of relations between keywords in the EPG data. The system currently provides six ontologies in particular viewpoints such as time, station, title, TV performer, content outline, location. The sample of the TV performer ontology which describes TV performer’s relationship is shown in Fig.2. The ontologies include approximately 20,000 classes and 60,000 instances . The system extracts keywords such as actor name, location name, and various proper nouns in a viewpoint from a pair of TV programs. R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 75–84, 2007. c Springer-Verlag Berlin Heidelberg 2007
76
Y. Mizoguchi-Shimogori et al.
Then, the system calculates the similarity between sets of keywords for measuring the similarity between the pair of TV programs. The system automatically creates bi-directional links to TV programs based on the similarity between them (Fig.1). Fig.1 shows the TV Navigation Agent displaying TV programs. When the user clicks on a node indicating a TV program, the agent system displays other TV programs which are similar to the selected program. Traditional information retrieval applications use the vector space model (VSM, [1]) as the cosine of the inner product between their document vectors. This approach is known to have the following problem. If the document doesn’t have the exact keywords, it is treated as an irrelevant document. Using domain ontologies, the system is able to measure semantic similarity between documents without the exact keywords. Our system measures semantic similarity between TV programs in each viewpoint. In this paper, we focus on the following: 1. The algorithm for measuring semantic similarity between keywords. 2. The method of calculating the semantic similarity between sets of keywords based on semantic similarity between keywords. In Section 2, we review some existing methodologies for measuring semantic similarity between two concepts. We assume a keyword belongs to a concept. In Section 3, we select the most appropriate method for measuring semantic similarity between two concepts and propose an improvement to increase similarity accuracy. In Section 4, we propose the method of calculating the semantic similarity between sets of keywords. Section 5 presents the experiment results. The conclusion is described in Section 6.
Fig. 1. The TV Navigation Agent
TV Navigation Agent for Measuring Semantic Similarity Between Programs
2
77
Existing Approaches for Measuring Similarity Between Words
Many methods of measuring semantic similarity have been proposed [2]. The proposed semantic similarity methods can be classified into the following three approaches. Edge Counting Methods: In this approach, the length of the path linking the concepts and the position of the concepts in the taxonomy are used. Information Content Methods: In this approach, the difference in information content of the two concepts is measured. The information content of the concepts is the probability of occurrence in a corpus. Feature-based Methods: In this approach, the similarity of two concepts is measured as a function of their properties (e.g., their definitions or ”glosses” in WordNet) or based on their relationships to other similar terms in the taxonomy [10]. We review the above techniques. 2.1
Nonlinear Combination Between the Shortest Path and the Depth of Subsumer
Li et al.[3] describe how the similarity is calculated by using the depth of the (lowest common subsumer (LCS) and the edge count of the shortest path length between the concepts. This method is based on the following intuition. Concepts at upper layers of the hierarchy have more general semantics and less similarity between them, whereas concepts at lower layers have more concrete semantics and stronger similarity. The similarity between concepts is determined not only by path length but also by depth and density. This method is defined as the following function. The best parameter pair (α,β) is also derived as follows by the experiment in [3]. SimLi (c1 , c2 ) = exp−αl
(expβh − exp−βh ) (expβh + exp−βh )
(1)
α = 0.2 and β = 0.6 2.2
The Shortest Path
This approach uses the shortest path length as the measure of similarity between two concepts. Rada et el.[5] proposed the following equation. SimEDGE (c1 , c2 ) = 2D − l
(2)
D is the maximum depth of the taxonomy. l is the length between c1 and c2 .
78
2.3
Y. Mizoguchi-Shimogori et al.
Leacock and Chodorow’s Normalized Path Length
This approach is based on the length of the shortest path between concepts in is-a hierarchy of a semantic network. Leacock and Chodorow[12] proposed the following formula: SimLC (c1 , c2 ) = −log(
length(c1, c2 ) ) 2D
(3)
D is the maximum depth of the taxonomy. 2.4
Wu and Palmer’s Metrics
This approach uses the distance between the nodes in is-a taxonomy[11]. The semantic similarity is represented as follows: Simwp (c1 , c2 ) =
2depth(LCS) length(c1 , LCS) + length(c2 , LCS) + 2depth(LCS)
(4)
LCS is the lowest common subsumer. Depth is the number of is-a links from LCS to the root. 2.5
Lin’s Information Content Metrics
The similarity between concept c1 and c2 is measured by the ratio between the amount of information needed to state their commonality between these two concepts and the information needed to fully describe what they are [6]. SimLin (c1 , c2 ) =
2 × logp(LCS(c1 , c2 )) logp(c1 ) + logp(c2 )
(5)
p(c) is the probability of encountering an instance of concept.
3
Similarity Score with Offset Value Depends on the Depth
In this section, we describe our approach for measuring semantic similarity. With regard to the experimental results in Section 5.1, the method of Li et el. achieved the best score in the existing method (See Table 2). Therefore, we focus on the method of Li et el. method. Fig.2 describes the sample of the TV performer ontology that our agent system uses. Table 1. Score depends on the LCS level Source Target Score Li(h=1) Score Li(h=2) Score improved Li(h=2) Ayako Okamoto Jun Nagura 0.132 0.206 0.380 Ayako Okamoto Masami Ihara 0.138 0.157 0.444
TV Navigation Agent for Measuring Semantic Similarity Between Programs
79
Fig. 2. The sample of the TV performer ontology
Fig. 3. Similarity (method of Li et al.) versus length at each LCS layer (from 1 to 5) in the taxonomy.
Table 1 shows the problem of the similarity scores between the source and the target. According to many human judgement s, the “Ayako Okamoto” and “Masami Ihara” pair is more similar than the “Ayako Okamoto” and “Jun Nagura” pair. The idea of Li et al. that upper layer concepts are less similar is correct and it works when LCS level is 1 (see Score Li (h=1) column). However, if LCS level is larger than 1 (see Score Li (h=2)), the intuitive order reverses. The reason is illustrated in Fig.3. Similarity score would be asymptotic to 0 as
80
Y. Mizoguchi-Shimogori et al.
Fig. 4. Similarity (improved method of Li et al.) versus length at each hierarchy layer (from 1 to 5) in the taxonomy
the edge length is large at any LCS layers (h). However, we believe the lower layer pair is more similar than the upper one when the ontology is a top-down classification such as Fig.2. “Ayako Okamoto” and “Masami Ihara” belong to “Sports player”. On the other hand, “Ayako Okamoto” and “Jun Nagura” belong to “Profession”. “Jun Nagura” belongs to “Performer”, also. The person who belongs to one of the sports players is more similar to “Ayako Okamoto” who belongs to “Golfer in Japan” than the person who belongs to “Performer”, even if the length between the concept and “Golfer in Japan” is much longer than the length between “Golfer in Japan” and “Performer”. In view of the problem, we add the offset to the similarity score of Li et al.. The offset is the minimum similarity at the current LCS layer. The offset score is calculated as the length three and the one smaller LCS layer. The definition is as follows:
SimimpLi (c1 , c2 ) =
(1 − of f set(h − 1))SimLi(c1 , c2 ) + of f set(h − 1) c1 = c2 1 c1 = c2 (6)
of f set(h − 1) = w × exp−α×3
(expβ(h−1) − exp−β(h−1) ) (expβ(h−1) + exp−β(h−1) )
(7)
w is the weight (from 0 to 1) of the offset value. This equation (w is 1) is illustrated in Fig.4.
4
Measuring Similarity Between Sets of Concepts
In this section, we describe how to compute the similarity between the documents.Cord`ı et al. [4] describe the following requirements for comparison between two sets of concepts. They argue as follows. If there are many concepts with high similarity in the two sets, the similarity must be prized. On the other hand, if
TV Navigation Agent for Measuring Semantic Similarity Between Programs
81
there are many concepts with low similarity in the two sets, the similarity must be punished. They proposed the following equation: n m m k=0 (ak ) Simprize (set(source), set(target)) = (8) n ak is the similarity score between k th source and the target that is the most similar in the target set to k th source. n is the number of the source in the source set. m is the how much higher values are prized. For the real world, each concept in the set has a different importance. A wellknown name such as “Steven Spielberg” strongly affects the judgement as to whether it has high similarity or low similarity to the target. Therefore, we weight the similarity value by concept frequency in the large amount of documents. A frequent concept must be important and have great influence. The definition is as follows: 1 (9) λ = n k=0 f reqk f reqk is the frequency derived from the document collection of the kth concept in the source set.
SimprizeF req (set(source), set(target)) =
5
m
λ×
n
k=0
f reqk × (ak )m n
(10)
Experiments
In this section, results of the similarity experiments are shown. First the similarty between concepts are evaluated. Next, the similarity between sets of concepts is evaluated. In the first part of this section, the calculated similarities of the concept pairs in WordNet 2.1[9] and human judgement s between concepts is evaluated. In the second part of this section, the calculated similarities and human judgement s between concepts in TV ontology is compared. In the third part of this section, the calculated similarities and human judgement s between sets of concepts in TV ontology is compared. 5.1
Semantic Similarity Between Concepts in WordNet
We evaluate the results derived from the several semantic similarity methods in Section 2 by the correlation coefficient between the several methods and human judgement s in the experiment of Miller and Charles [8]. 6 of our colleagues volunteered to score the 30 pairs in Millar and Charles from 0 (not similar) to 4 (perfect synonymy). The average score of the subjects was used as the score of the human judgement . The computational methods calculated the same pairs using is-a relationships in WordNet2.1. Table 2 illustrates the correlation between the computational methods and the human judgement . EDGE, Leacock and Chodorow, Lin, and Li et el are the existing approaches. Improved Li et el. is the improved method described in Section 3. The higher the correlation, the better
82
Y. Mizoguchi-Shimogori et al.
Table 2. Correlation of different approaches against human similarity judgement for WordNet 2.1 Method EDGE Leacock and Chodorow Lin Li et el. Improved Li et el. Correlation 0.764 0.775 0.751 0.779 0.756
the method is. Table 2 shows the method of Li et al. is better than the other existing approaches. As we described in Section 3, we improved the best method in this experiment. The result is improved performance in our domain (Section 5.2). However, Table 2 shows this improvement deteriorates the correlation in the case of WordNet. These results indicate the difference of the ontology affects the similarity method. The differences between WordNet and TV ontology are as follows: – Is-a relationship in WordNet is based on a bottom-up classification, whereas TV ontology is based on a top-down classification. – WordNet is classified by general meanings (object, living thing, etc),whereas TV ontology is classified by domain-specific meanings (sports player, singer, etc) and directly related to the point of view. When the influence of a more abstract classification is stored as in the case of TV ontology, the offset value described in Section 3 is useful. 5.2
Semantic Similarity Between Keywords in TV Ontology
We evaluate the results of the pairs of keywords retrieved from EPG in the same way as described Section 5.1. 6 of our colleagues volunteered to score the 42 pairs from EPG from 0 (not similar) to 4 (perfect synonymy). The average score is used has the human judgment. The computational methods calculated the same pairs using TV ontology (see Fig.2). Table 3 illustrates the correlation between the computational methods and the human judgement . The improved Li et el. method described in Section 3 produced the best result. Table 3. Correlation of different approaches against human similarity judgement for keyword pairs in TV ontology Method EDGE Leacock and Chodorow Lin Li et el. Improved Li et el. Correlation 0.645 0.632 0.634 0.705 0.787
5.3
Semantic Similarity Between Documents Based on TV Ontology
Section 5.1 and Section 5.2 compared single concepts. In this section, we will evaluate the similarity between sets of concepts. 6 of our colleagues volunteered to score the 55 pairs of TV programs from 0 (not similar) to 4 (perfect synonymy). The average score is used has the human judgment. In the first step, the system calculates the similarity between a keyword of the source set and all
TV Navigation Agent for Measuring Semantic Similarity Between Programs
83
Table 4. Correlation of different approaches against human similarity judgement for TV program pairs in TV ontology Method Select the most similar pair Get the average Prize the similar pair Weight with frequency Correlation 0.535 0.145 0.545 0.575
keywords of the target set. The system considers the most similar pair as the pair of keywords between the source set and the target set. Thus, the pairs of the same number as the keywords of the source set are extracted. In the second step, the similarity score between the pair obtained in the first step is calculated by one method. We use the Li et al. method in this experiment. In the third step, the system derives the similarity score between the source set and the target set from the scores obtained in the second step. In this experiment, the similarity score is obtained in four ways. The first method selects the score of the most similar pair as the representative score between the source set and the target set. The second method obtains the average from the sum of all the pairs obtained in the second step. The third method prizes the similar pair in the equation (7). The fourth method is based on the third method, but also weights each score with the frequency of the source term in the large amount of EPG as described in Section 4. Table 4 illustrates the correlation between the computable methods and human judgement . The worst case is that of obtaining the average. It is far from the human judgement . Our approach described in Section 4 is the best in the experiment.
6
Conclusion
This paper proposed two methods for improving semantic similarity between sets of concepts. The first one improves the method of calculating semantic similarity between the pair of keywords. The second one improves the method for integrating the scores of the keywords pairs. We experimented with several existing semantic similarity methods using WordNet for pre-evaluation. We selected the best method from the pre-evaluation result. Since the best method from the pre-evaluation result still had a problem when it was applied to TV programs, we set the offset value according to a hierarchical level. We proposed weighting each score with the frequency derived from a large amount of documents when the system integrates the similarity scores between the keyword pair. We experimented with several methods for integrating the semantic similarity scores to obtain the semantic similarity score between sets of concepts. The frequency method achieved a good result in the experiment. Measuring semantic similarity is one of the important techniques in the TV navigation agent system. Better similarity measure directly affects the quality of the navigation. In our future study, we plan to embed this TV navigation agent into the actual TV set.
84
Y. Mizoguchi-Shimogori et al.
References 1. Salton, G.: Automatic Text Processing:The Transformation Analysis and Retrieval of Information by Computer. Addison-Wesley, Reading (1989) 2. Budanitsky, A.: Lexical Semantic Relatedness and Its Application in Natural Language Processing. Technical Report CSRG-390, Dept. of Computer Science, Univ. of Toronto (August 1999) 3. Li, Y., Bandar, Z.A., McLean, D.: An Approach for Measuring Semantic Similarity between Words Using Multiple Information Sources. IEEE Transactions on Knowledge and Data Engineering 15(4), 871–882 (2003) 4. Cord´ı, V., Lombardi, P., Martelli, M., Mascardi, V.: An Ontology-Based Similarity between Sets of Concepts. In: Proceedings of WOA, Italy, pp. 16–21 (2005) 5. Rada, R., Mili, H., Bicknell, E., Blettner, M.: Development and Application of a Metric on Semantic Nets. IEEE Transactions on Systems, Man and Cybernetics 19(1), 17–30 (1989) 6. Lin, D.: An information-theoretic definition of similarity. In: Proceedings of International Conference on Machine Learning, Madison, Wisconsin (July 1998) 7. Jiang, J.J., Conrath, D.W.: Semantic similarity based on corpus statistics and lexical taxonomy. In: Proceedings of International Conference on Research in Computational linguistics (ROCLING X), Taiwan (1997) 8. Miller, G., Charles, W.: Contextual Correlates of Semantic Similarity. Language and Cognitive Processes 6, 1–28 (1991) 9. WordNet 2.1. http://wordnet.princeton.edu/ 10. Tversky, A.: Features of Similarity. Psychological Review 84(4), 327–352 (1977) 11. Wu, Z., Palmer, M.: Verb semantics and lexical selection. In: 32nd Annual Meeting of the Association for Computational Linguistics, pp. 133–138 (1994) 12. Leacock, C., Chodorow, M.: Combining local context and WordNet similarity for word sense identification. Fellbaum, 265–283 (1997)
Engineering an MAS Platform for Semantic Service Integration Based on the SWSA Özgür Gümüs1 , Önder Gürcan1, Geylani Kardas2 , Erdem Eser Ekinci1 , and Oguz Dikenelli1 1
Ege University, Department of Computer Engineering, 35100 Bornova, Izmir, Turkey {onder.gurcan,ozgur.gumus,oguz.dikenelli}@ege.edu.tr, [email protected] 2 Ege University, International Computer Institute, 35100 Bornova, Izmir, Turkey [email protected]
Abstract. In this paper, a Multi-Agent System (MAS) platform for semantic service integration based on the Semantic Web Services Initiative Architecture (SWSA) is discussed. We define a software architecture in order to provide concrete realization of the SWSA. The architecture fullfills fundamental requirements of the SWSA’s sub-processes. Software agents are employed in automatic discovery and execution of the Semantic Web Services within this architecture. We also elaborate implementation of SWSA’s sub-processes (service advertisement, discovery, engagement and enactment) taking the main components of the defined architecture and their interactions into consideration. Hence, the developers can easily utilize semantic web service technologies by using this flexible and extensible platform.
1 Introduction Web services enable the software components on different platforms to interact with others conforming some specific description and communication standards. So, they are supported strongly by industrial players in the Internet computing area. On the other hand, software agents are entities that perform actions to achieve user’s goals by interacting with other agents. Any software agent can use existent web services dynamically/automatically to perform an action which is necessary for achieving its user’s goals. However, they use different communication and coordination standards from web services and they need some semantic knowledge about these services to reason in order to use them dynamically. At this point, the semantic web service concept can help us since semantic web services are web services whose functionalities and execution details are described using ontologies. However, there are still some problems and uncertain situations to succeed this cooperation. The Semantic Web Services Initiative1 Architecture (SWSA) committee2 has created a set of architectural and protocol abstractions that serve as a foundation for semantic web service technologies [1]. The proposed SWSA framework builds on the W3C Web 1 2
http://www.swsi.org/, last access on May 16, 2007. http://www.daml.org/services/swsa/, last access on May 16, 2007.
R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 85–94, 2007. c Springer-Verlag Berlin Heidelberg 2007
86
Ö. Gümüs et al.
Services Architecture working group recommendation3 and attempts to address all requirements of semantic service agents: dynamic service discovery, service engagement, service process enactment and management, community support services, and quality of service (QoS). The SWSA framework also determines the actors of each phase, functional requirements of each phase and the required architectural elements to accomplish these requirements in terms of abstract protocols. This architecture is based on the multi-agent system (MAS) infrastructure because the specified requirements can be accomplished with asynchronous interactions based on predefined protocols and using goal oriented software agents. Although SWSA defines a detailed conceptual model based on MAS infrastructure and semantic web standards, it does not define the software architecture to realize this conceptual model and does not include the theoretical and implementation details of the required software architecture. Hence, in this paper we introduce a completely working subset of SWSA that fulfills fundemental requirements of SWSA’s conceptual model. We define a coherent software platform to enable the developers to utilize semantic web service technologies with an engineering perspective. The provided agent platform has the following capabilities which make it flexible and extensible: – The platform can utilize semantic web technologies to represent and manipulate knowledge and semantic web service technologies to perform its tasks. – Service provider agent accepts both pure web services and services with a semantic interface. However, admin of this agent must resolve ontology mismatches between platform and service ontology and process mismatches between goal template and service process model using the tools provided by the service provider agent. – The user creates agent plans which may include instances of predefined goal templates as tasks. – There are predefined generic plans for each phase of the service execution process: discovery, selection/engagement and enactment/invocation. These plans can be specialized for different service execution needs of application dependent agent plans and they are executed by a special planner [8]. There are some standardization efforts for semantic web services to allow the web services to work in the semantic web environment. The most attractive ones are OWL-S4 and WSMO5 . OWL-S is an ontology system for describing web services but it’s not a complete system and meaning of some of its elements is not clearly defined. WSMO is said to be more complete framework but it is not based on W3C standards such as OWL and SWRL6 . Also it does not make use of OWL ontologies and it looks like a workflow system in a distributed and heterogeneous service environment. We preferred OWL-S for defining agent’s goals and services and external semantic web services but we also implemented the mediation notions mentioned in WSMO. 3 4 5 6
W3C Web Services Architecture Working Group, Web Services Architecture Recommendation, 11 February 2004, http://www.w3.org/TR/ws-arch/, last access on May 16, 2007. Semantic Markup for Web Services, http://www.daml.org/services/owl-s/, last access on May 18, 2007. Web Service Modelling Ontology, http://www.wsmo.org/, last access on May 18, 2007. Semantic Web Rule Language, http://www.w3.org/Submission/SWRL/, last access July 18, 2007.
Engineering an MAS Platform for Semantic Service Integration
87
The paper is organized as follows: in Section 2 our proposed software architecture is discussed. Phases of the semantic service integration in this architecture are explained in Section 3. Evaluation of the architecture within the scope of a real system implementation is given in Section 4. Section 5 contains the related work and finally Section 6 concludes the paper and discusses the future work.
2 Agent Based Semantic Service Architecture Since the SWSA is conceptual and has a broad perspective, we have some assumptions to implement this architecture in a reasonable way: – There is a platform ontology which represents the working domain of the platform. This ontology is designed by platform’s administrator and stored and managed by platform’s ontology agent. – There are predefined goal templates which the users of the platform may want to achieve by delegating these goals to an agent as a plan. These goal templates are described similar to semantic web service descriptions (inputs, outputs, preconditions and effects) by platform’s administrator and stored in a service registry agent. – Agent services are advertised on a registry agent with their semantic descriptions. These services could be internal capabilities of regular agents or external semantic web services which are included to the platform by service provider agents. – The mappings between platform’s ontology and the ontology that the semantic service depends on must be defined if they are different. Otherwise the service cannot be used by platform’s agents. In order to concretely fulfill fundamental requirements of the aforementioned SWSA’s sub-processes, we propose a software architecture in which software agents are employed in automatic discovery and execution of the Semantic Web Services on behalf of their human users (Figure 1). The architecture ensures utilization of both pure web services and services with the semantic interface via service provider agents. In fact, the architecture presents an IEEE FIPA7 compliant MAS and member agents of this system also constitute main components of the proposed architecture which are called Service Provider Agent, Service Requester Agent, Service Registry Agent and Ontology Agent. Communication between these agents takes place according to the well known Agent Communication Language (ACL)8 infrastructure. Service Provider Agent (SPA) realizes inclusion of pure web services (WSDL) and semantic web services (OWL-S, WSMO etc.) into the MAS and supports agent - semantic service interaction. In case of a web service inclusion, the admin of SPA first gives SPA the address of the service description document. Then SPA makes the required mappings and matchings and prepares plans for the service and finally advertises 7 8
Institution of Electrical and Electronics Engineers (IEEE) Foundation for Intelligent Physical Agents (FIPA), http://www.fipa.org/, last access on May 16, 2007. FIPA Agent Communication Language Specifications, http://www.fipa.org/repository/ aclspecs.html, last access on May 16, 2007.
88
Ö. Gümüs et al.
Fig. 1. The Architecture of the MAS Platform for Semantic Service Integration
it to the platform as an agent service. In order to perform these operations SPA uses these components: WSDL2OWL Converter, Mapping Tool, WSDL2OWLS Converter and Matching Tool. WSDL2OWL Converter converts the concepts in a given WSDL to OWL concepts. Mapping Tool is a tool which defines mappings between given two ontologies via human interaction. The tool saves mapping knowledge as instances of a mapping ontology for the future use. WSDL2OWLS Converter converts the service description in a given WSDL to an OWL-S service description. A similar service profile generation approach can be found in [11]. Matching Tool helps user to find an appropriate goal template for the service and defines matching between that goal template and the description of the service. Matching Tool also helps to create service specific plans in order to realize process mediation. Service Requester Agent (SRA) is a service client agent in the architecture. In order to find and execute services, SRA uses the processes which are defined in SWSA. When SRA needs a service it first retrieves a list of semantically appropriate services from Service Registry Agent (discovery), then engages with the provider of a suitable service (SPA) (engagement) and finally requests SPA to execute the service (enactment). The Service Registry Agent is the Directory Facilitator (DF) of our IEEE FIPA compliant MAS. This DF advertises capabilities of the services provided by the agents. It includes a Service Repository which stores service advertisements as OWL-S Profiles registered by the corresponding SPAs. It can perform semantic service matching between a requested goal definition and advertised service definitions in order to determine semantically most appropriate OWL-S services for the request. For the capability matching, our DF in the architecture employs a Semantic Service Matcher called OWLS-MX [9]. OWLS-MX is a hybrid semantic web service matcher that utilizes both logic based reasoning and content based information retrieval techniques for services
Engineering an MAS Platform for Semantic Service Integration
89
specified in OWL-S. On the other hand, the DF of the architecture also stores agent goal templates of the platform in a repository called Goal Repository. Services advertised by the platform agents must conform to these templates stored in this repository. Also agents can use these templates in order to specify their goals. The Ontology Agent (OA) includes an Ontology Repository in which ontologies used in the platform are stored. The OA provides controlled access and query on these platform ontologies for other members of the platform.
3 Phases of Semantic Service Integration The design of the architecture is organized around four main phases for services: (1) the advertisement phase in which the inclusion of the web service to the platform is performed by the provider agent; (2) the discovery phase that the intended service is explored by the requester; (3) the engagement phase in which requester and provider agents make an agreement; (4) the enactment phase that the service is invoked by a requester agent via the provider agent. 3.1 Service Advertisement In this phase external services are included into the platform by SPAs. As mentioned above, agents cannot advertise any service to the platform, unless the service is compatible with the platform’s goal templates. SPA accepts both pure web services and services with a semantic interface. Advertisement of these external services is quite similar to the advertisement of agent services. However these services must be semantically adapted to the platform in order to be advertised by SPA. This adaptation involves both data and process adaptations. That is, both the concepts which are used by the service must be suitable to the platform’s domain and the work which is done by the service must be compatible with the platform’s goal templates. To advertise an external service, the admin of SPA requests SPA to start the advertisement phase by giving the address of service description document of the service. SPA loads the description and checks whether the service is pure or semantically described. If it is pure, SPA converts the concepts in that service description to semantic concepts using WSDL2OWL converter and stores it as an ontology document (local ontology) in the Local Ontology Repository. Then mappings between this local ontology and platform ontology are defined using Mapping tool with the help of the admin. This process generates a mapping knowledge and it is stored in a file. After this, SPA converts the service description (WSDL) to a semantic service description using WSDL2OWLS converter and stores it in the Local Service Repository. Then SPA tries to adapt this description to a platform’s goal template. This is required because agents can only advertise services which are compatible to the platform’s goal templates. To do this, SPA requests the goal templates from DF and starts its Matching tool. Matching tools creates a Service Matching Table which holds mapping knowledge, local service profile, the goal template and a plan to enact the service. Finally SPA requests DF to advertise the service using its service description. The AUML9 sequence diagram for the steps of the external web service advertisement is given in Figure 2. 9
Agent UML, http://www.auml.org/, last access on July 24, 2007.
90
Ö. Gümüs et al.
Fig. 2. An External Service Advertisement Scenario
In case of a semantic service advertisement, the process depends on the interface language of the service: it might be OWL-S or another semantic service description language. Since OWL-S is the service description language of the platform it is not required to convert the description document when it is in OWL-S, only semantic compatibility is needed (mappings). But if it is in another language then the mechanism is similar to pure service advertisement: first the description document is converted to OWL-S, then semantic compatibility is obtained.
Engineering an MAS Platform for Semantic Service Integration
91
3.2 Service Discovery In order to realize semantic service discovery, the platform services should be registered to a service registry which has the capability of matchmaking. Service requesters should query on this registry and have ability to interpret resultant service advertisements. As mentioned before, the DF of our platform stores capability advertisements of registered services as OWL-S profiles in its service repository and allows the semantic discovery of active services via querying these service descriptions. The whole service execution process of the requester agent is handled by a plan which is based on a predefined generic semantic service execution plan for SWSA. This generic plan is discussed in our previous work [8]. When an agent (SRA) needs a service (a service to perform its goal), it loads that plan, and within the discovery phase it first forms a query. This query contains the capability description of the intended service and the degree of match to retrieve suitable service descriptions. This capability description is expressed in OWL-S profile and is valid if it conforms to the capability descriptions (goal templates) of the platform. The suitable communication protocol and content language for the client have already been designed and implemented for OWLS services [5]. Then the DF receives the query request and using a semantic service matcher and a service repository it finds and returns the semantically appropriate services. Finally SRA receives the resultant services, selects one or more of them and then starts the engagement process with the providers of these selected services as the next step of its semantic service execution plan.
Fig. 3. An External Service Enactment Scenario
3.3 Service Engagement After completion of the service selection, the requester-provider engagement process, which involves the negotiation on QoS metrics and agreement settlement. In our
92
Ö. Gümüs et al.
platform this phase is implemented in a simple manner. We just utilize some QoS parameters (like service cost, run-time, location, etc.) defined in various studies [2,15]. 3.4 Service Enactment After the engagement on the metrics of a semantic service between SPA and SRA, SRA initiates the enactment phase. SRA requests SPA to execute the engaged service using its service profile and the proper parameters. Then SPA finds the Service Matching Table using Matching tool and loads the plan within this table to enact the service. SPA first converts the parameters to the local ontology then converts them to the WSDL parameters using the mapping knowledge and the matching knowledge. Finally SPA prepares a SOAP message using these parameters and invokes the service. Result of the service execution is converted from its SOAP form into the platform ontology and sent to SRA. AUML sequence diagram of this scenario is shown in Figure 3.
4 Evaluation The platform introduced in this study was employed during a commercial project in which design and implementation of a tourism system based on the SEAGENT [4] framework were realized. The project included adaptation of an existing hotel reservation system into the Semantic Web environment. The existing system was one of the products of a countrywide known software company which sells hotel automation systems10 . The system had been previously based on the web service architecture and project aimed at providing semantic interfaces of the web services in use and realize an online system in which software agents reserve hotel rooms on behalf of their human users. The development team used the architecture and semantic web service integration process discussed in this study during design and implementation phases of the project. Following is the feedback gained from the development team about utilization of our platform. The developers in general found the architecture helpful especially in determining architectural roles and related agents in addition to the domain based role and agent specifications. They agreed that the architecture provided pre-defined constructs for their system and those constructs were used during the design of the system. Service Registry, Service Provider and Ontology Agents were all developed by the team using the SEAGENT framework. In the system, agents for the hotel clients were designed as service requester agents and they played the role of SRA. The integration of the existing web services into the MAS was crucial and the team used our proposed service registration, discovery and execution dynamics during the realization of this integration. The team expressed that they previously had expected this task as a big challenge however they agreed that our service deployment mechanism simplified the work considering analysis, documentation and implementation issues. However, they found implementation of matching and mapping operations for the service integration in agent plans as a bit tricky and error prone. They also expressed that the policies used in service engagement were still too abstract and hard to implement. 10
Odeon Hotel Management Systems, http://www.myodeon.com/, last access on May 18, 2007.
Engineering an MAS Platform for Semantic Service Integration
93
5 Related Work There have been a few partial implementations to integrate web services and FIPA compliant agent platforms. WSDL2Jade [14] can generate agent ontologies and agent codes from a WSDL input file to create a wrapper agent that can use external web services. WSDL2Agent [13] describes an agent based method for migrating web services to the semantic web service environment by deriving the skeletons of the elements of WSMO from a WSDL input file with human interaction. WSIG (Web Services Integration Gateway) [7] supports bi-directional integration of web services and Jade agents. WS2JADE [10] allows deployment of web services as Jade agents’ services at run time to make web services visible to FIPA-compliant agents through proxy agents. But these tools only deal with the integration of agents and external web services and do not make use of semantic web technologies. Some studies on integrating agent technologies with semantic web services also exist. For example the studies in [6] and [16] describe agent environments which use OWL-S (formerly DAML-S) to advertise descriptions of agent services in DF and to transport them with ACL messages. Dickinson and Wooldridge illustrate one approach using reactive planning to control web service invocation by BDI agents [3]. In these studies, the support for semantic web resources is limited and they do not provide complete system architectures. The most relevant work to our study is [12] wherein an agent framework is introduced for automated goal resolution on the semantic web. It uses WSMO-based technologies and tools. However it is not compatible with SWSA framework and the proposed architecture is hard to extend because of strict coupling to WSMO.
6 Conclusion and Future Work An MAS platform for semantic service integration based on SWSA is discussed in this paper. We define a software architecture in order to provide concrete realization of the SWSA. Software agents are employed in automatic discovery and execution of the Semantic Web Services within this architecture. We also elaborate implementation of SWSA’s sub-processes taking into consideration of the main components and their interactions of the defined architecture. The protocols of the service engagement phase are currently in their preliminary state. Our first aim is to detail usage of the QoS parameters within the scope of the engagement protocols and fully employ service engagement during the agent - service interaction. We also plan to redesign and implement SPA component of the architecture so it would be a software tool for service providers by supplying a GUI for service integration. This would simplify semi-automatic service deployment for service owners. Therefore ontology mapping and process matching would be realized in a more comfortable and error-free way.
Acknowledgements This work is supported by the Scientific and Technological Research Council of Turkey (TÜB˙ITAK) Electrical, Electronics and Informatics Research Group (EEEAG) under grant 106E008.
94
Ö. Gümüs et al.
References 1. Burstein, M., Bussler, C., Zaremba, M., Finin, T., Huhns, M.N., Paolucci, M., Sheth, A.P., Williams, S.: A semantic web services architecture. IEEE Internet Computing 9(5), 72–81 (2005) 2. Cardoso, J., Sheth, A.P., Miller, J.A., Arnold, J., Kochut, K.: Quality of service for workflows and web service processes. J. Web Sem. 1(3), 281–308 (2004) 3. Dickinson, I., Wooldridge, M.: Agents are not (just) web services: investigating bdi agents and web services. In: SOCABE 2005 held at AAMAS 2005 (2005) 4. Dikenelli, O., Erdur, R.C., Gümüs, Ö., Ekinci, E.E., Gürcan, Ö., Kardas, G., Seylan, I., Tiryaki, A.M.: Seagent: A platform for developing semantic web based multi agent systems. In: AAMAS, pp. 1271–1272. ACM Press, New York (2005) 5. Dikenelli, O., Gümüs, Ö., Tiryaki, A.M., Kardas, G.: Engineering a multi agent platform with dynamic semantic service discovery and invocation capability. In: Eymann, T., Klügl, F., Lamersdorf, W., Klusch, M., Huhns, M.N. (eds.) MATES 2005. LNCS (LNAI), vol. 3550, pp. 141–152. Springer, Heidelberg (2005) 6. Gibbins, N., Harris, S., Shadbolt, N.: Agent-based semantic web services. In: WWW 2003, pp. 710–717. ACM Press, New York (2003) 7. Greenwood, D., Calisti, M.: Engineering web service - agent integration. In: SMC (2), pp. 1918–1925. IEEE Computer Society Press, Los Alamitos (2004) 8. Gürcan, Ö., Kardas, G., Gümüs, Ö., Ekinci, E.E., Dikenelli, O.: An MAS Infrastructure for Implementing SWSA based Semantic Services. In: Service-Oriented Computing: Agents, Semantics, and Engineering. LNCS, vol. 4504, pp. 118–131. Springer, Heidelberg (2007) 9. Klusch, M., Fries, B., Sycara, K.: Automated semantic web service discovery with owls-mx. In: AAMAS 2006, pp. 915–922. ACM Press, New York (2006) 10. Nguyen, T.X., Kowalczyk, R.: Ws2jade: Integrating web service with jade agents. In: SOCABE 2005 held at AAMAS 2005 (2005) 11. Sirin, E., Parsia, B., Hendler, J.: Filtering and selecting semantic web services with interactive composition techniques. IEEE Intelligent Systems 19(4), 42–49 (2004) 12. Stollberg, M., Roman, D., Toma, I., Keller, U., Herzog, R., Zugmann, P., Fensel, D.: Semantic web fred - automated goal resolution on the semantic web. In: 38th Annual Hawaii International Conference (2005) 13. Varga, L.Z., Hajnal, K., Werner, Z.: An Agent Based Approach for Migrating Web Services to Semantic Web Services. In: Bussler, C.J., Fensel, D. (eds.) AIMSA 2004. LNCS (LNAI), vol. 3192, pp. 381–390. Springer, Heidelberg (2004) 14. Varga, L.Z., Hajnal, K., Werner, Z.: Engineering Web Service Invocations from Agent Systems. In: Maˇrík, V., Müller, J.P., Pˇechouˇcek, M. (eds.) CEEMAS 2003. LNCS (LNAI), vol. 2691, pp. 626–635. Springer, Heidelberg (2003) 15. Zeng, L., Benatallah, B., Dumas, M., Kalagnanam, J., Sheng, Q.Z.: Quality driven web services composition. In: WWW 2003, pp. 411–421. ACM Press, New York (2003) 16. Zou, Y.: Agent-Based Services for the Semantic Web. PhD thesis, the Faculty of the Graduate School of the University of Maryland (2004)
A Planner Infrastructure for Semantic Web Enabled Agents Erdem Eser Ekinci, Ali Murat Tiryaki, Önder Gürcan, and Oguz Dikenelli Ege University, Department of Computer Engineering, 35100 Bornova, Izmir, Turkey [email protected], {ali.tiryaki,onder.gurcan,oguz.dikenelli}@ege.edu.tr
Abstract. Web services and agents are two important software development technologies that are affected from the semantic web innovation. Researches for attuning these topics to the semantic web prepare a ground for integration of them. In this paper, a planner infrastructure1 is introduced that provides the integration of these two topics on the semantic web ground. Our approach is to support the semantic web service usage during agent planning process. Hence, agent can select required external semantic services to satisfy a goal and can interact with the selected services during the plan execution.
1
Introduction
The semantic web brings significant innovation to the software development society by enabling the development of loosely coupled and independently evolving applications. In particularly, this innovation affects the distributed application development technologies. Web services and agents are two of important distributed application development technologies that must be improved according to the semantic web capabilities. Web services are self-defined and distributed web applications. The semantic web evolution of web services intends to dynamic and more global service execution. This evolution initiated a new generation service technology, which is called semantic web services. Semantic web services provide dynamic discovery and more global execution. Currently efforts such as OWL-S2 , WSMF[6] and SWSA[3] are working for adapting web service environment to the semantic web service architecture. On the agent research direction, researchers have been attempting to develop agent infrastructures working on semantic web environment. These efforts reinforce some of the agents’ core capabilities such as autonomy, intelligency and 1
2
This work is supported by The Scientific and Technological Research Council of Turkey (TÜBiTAK) Electric, Electronic and Informatics Research Group (EEEAG) under grant 106E008. Web Ontology Language-Service, http://www.daml.org/services/owl-s/1.1/
R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 95–104, 2007. c Springer-Verlag Berlin Heidelberg 2007
96
E.E. Ekinci et al.
interoperability. On this direction some semantic web enabled multi-agent system frameworks such as [5], [4] have proposed in the literature. Actually, the core capabilities of an agent are provided by its planner infrastructure. Hence, semantic web agents need specially designed planner that utilize the capabilities of the semantic web environment. Such a planner first of all should be able to use explicit ontologies during decision making process. Moreover, it should have ability to use external semantic web services to satisfy its goal(s). In this paper, we propose a planner architecture for agents working the semantic web environment. This planner is based on the Hierarchical Task Network (HTN) paradigm[15] and specially designed HTN Ontology to present its plan’s meta information. Moreover, explicit knowledge of the external semantic services are stored using the well-known OWL-S ontology. So, the planner has an ability to select HTN structures or external semantic services during decision making process to satisfy the agent’s goal and its graph based execution environment can execute any ontological representation (HTN or OWL-S) for goal satisfaction. The main design principle of the proposed architecture is the extensibility of the infrastructure in a way that external services modelled with different ontologies (such as WSMO[1]) can be easily integrated to the infrastructure since planner is based on the explicit ontologies in selection and execution processes. The rest of the paper is organized as follows: first, we define the concept of semantic web agent and requirements of its planner in section 2, then the extensible architecture of the proposed planner is introduced in section 3, the proposed planner has been implemented and used within the SEAGENT framework[5], hence a case study is introduced in section 4 to describe planer’s capabilities within the SEAGENT framework.
2
Planner Requirements for Semantic Web Enabled Agents
An agent can be classified as goal-governed or goal-oriented based on the conceptual framework described in [12]. Goal-governed agents have some form of cognitive capabilities to explicitly represent their goals, driving the selection of agent’s actions. On the other hand, behaviors of goal-oriented agents are directly designed and programmed to achieve some goals[13]. Based on this classification, semantic web enabled agents (SWEA) are goalgoverned agents in which their goals and believes explicitly defined using the pre-defined ontologies to drive the action selection process. Of course, a SWEA can satisfy a goal using the semantic services situated in the semantic web environment. So, a SWEA must be capable of selecting internal behavior or an external semantic service to satisfy its goals. Semantic web services are represented using ontology description languages such as OWL-S. So, planner of SWEA should have the ability of using service ontologies that are created using these languages. Moreover, the internal knowledge of the agent has to be held using the ontologies to provide integration with the semantic web and enhance inference capabilities.
A Planner Infrastructure for Semantic Web Enabled Agents
97
Internal knowledge of SWEA can be represented by two related ontologies. First one is called the Agent Management Ontology, consists of agent’s goals and believes. The other one called Task Ontology is used to define the structures of the agent internal tasks. Since the proposed planner is based on the HTN formalism, our task ontology defines the HTN structure used in our plans and is entitled as HTN Ontology. The Agent Management Ontology depends on the HTN Ontology. When an agent takes an objective, the planner queries the Agent Management Ontology and decides how to react. The result of the query can be a task, which is defined in the HTN Ontology. To transform traditional agents to semantic web enabled agents, the decision phase mentioned above had to be semantic web enabled either. Therefore, we extended our Agent Management Ontology to support semantic web services by associating it with ontologies defined using OWL-S. By using this extension, an HTN task or an OWL-S based semantic web service can be returned as the answer of a planner query. Therefore, this extension can be said to enable the agent to react against an objective by invoking a semantic web service or running an HTN task. To execute different workflow paradigmas such as HTN, OWL-S and WSMO, the planner should have an infrastructure that is abstracted from those technologies’ details. This abstraction can be supplied basically by a graph structure. Moreover, the former AI planning researches depict the graph based planners’ successful results on the planning problems [2]. In [10], it was introduced reducting HTN structures on graph structure. This approach is also used in the proposed infrastructure. But, our design decouples graph constructing from graph execution. So, a new model (such as OWL-S) reductor, that transforms the model ontology to the graph can be easily pluged to the infrastructure. In the literature, there are some efforts on executing semantic web services by planners such as [14],[9]. In [14], Sirin and Parsia try to execute semantic web service by an HTN based Shop2 [11] planner. In this research, the planner execute OWL-S structures by mapping them to the HTN structures. Another work, [9] converts OWL-S semantics to PDDL[7]. In both researches, the planners achieve service execution by mapping service semantics to their internall plan models. Similar to [14,9], previous implementation of SEAGENT planner[8] was based on the HTN structures to achieve semantic service execution. This version’s internall representation was hold using data structures instead of ontology. The planner is refactored separating goal selection and goal execution using their reductors to executing different representation frameworks in the same environment. By the way, semantically execution ability is gained by the planner. In the following section, current version of the planner detailed to express how the requirements for semantically executing planner are supported.
3
The Architecture of Semantic Web Enabled Agent Planner
The implementation of the proposed architecture is represented in Figure 1 with two vertical layers. First layer named as the semantic web layer consists
98
E.E. Ekinci et al.
of HTN, OWL-S and Agent Management Ontology. Second layer includes the implemented planner modules which work by using the ontologies defined in the semantic web layer. The Figure 1 depicts modules, ontologies and their relations in our planner architecture. As seen in this figure, the planner consists of two modules and four ontologies that are used by these two modules.
Fig. 1. SEAGENT Planner Architecture
The PlanningBase module is responsible for primitive execution of task graphs and coordinating the execution flow according to the agent knowledge base which includes instances of the classes in the system ontologies. All behaviors of the agents are decided by querying this knowledge base. In this way, the planner processes semantically at the run-time. After the behavior decision process, PlanningBase creates a graph from the tasks which are selected according to the knowledge base. The Extension module is upper level and can be thought as an application layer for the PlanningBase. Main contribution of this module is that it provides a means for executing HTN tasks and Semantic Web services together. This capability is provided by the HTN and OWL-S sub-packages in the Extension module. Each module of the planner uses SEAGENT Knowledge Management API (SEKMA) for handling the ontology instances. The SEKMA handled knowledge base consists of the individuals derived from the combination of four main system ontologies. The system packages work analogously with these ontologies. The following sub-sections contain brief descriptions of sub-packages and execution mechanism of the planner. 3.1
PlanningBase Module
The PlanningBase module forms the basis for planning on a graph structure. The graph structure consists of the nodes that represent tasks. The planner works on the graph by executing linked nodes and adding new ones. This function is
A Planner Infrastructure for Semantic Web Enabled Agents
99
the most important and primitive one of the PlanningBase, and is realized by the Core package. The Core package traces and executes the task graph. When the Core package starts to execute a plan, the initial node is executed first. After this node, execution continuous with the following nodes by tracing the graph over the links until the last node is reached and executed. A node always generates an outcome state and may produce outcome(s) as a result of its execution. Core follows convenient links with the guidance of generated outcome state and outcomes of each node. If a link lets the Core to run a task, none of whose provisions are ready, this node is moved to the waiting task queue. The Task sub-package in the PlanningBase consists of the classes that are used to represent components in graph structure mentioned above. In the Task sub-package, there are three important classes for creating graphs: TaskImpl, LinkImpl and ParameterImpl classes. All nodes of a task graph should be derived from the abstract TaskImpl class. TaskImpl has the properties required for execution management such as isCyclic, priority, period and failed. This class has composition relation with ParameterImpl class. The ParameterImpl is used to define outcomes and provisions. Another critical relationship of TaskImpl class is with LinkImpl class. Using this relationship, instances of the TaskImpl class are linked to each other. Tasks can be linked to each other in two ways: by using the OrderedLinkImpl class, and the ParameterLink class. While the OrderedLinkImpl class is used to order tasks, ParameterLink class is used to provide information flow between parameters. Whole execution mechanism of the planner is based on the two sub-packages mentioned previously. We implemented all of the functionality that may be required during agent life cycle by extending the TaskImpl class, and placed these critical tasks into the SystemPlans package. This package includes the system plans that are responsible for the execution of general tasks like, tracking the execution flow of task graphs, listening for incoming objectives, sending and receiving messages between agents. So, agent’s system activities are achieved by these tasks, Matcher and Dispatcher. By this way, agent’s behavior mechanism can be easily extended and modified. At the start up, PlanningBase looks up the knowledge base and loads the initial tasks (system plans/tasks) that are necessary for agent life cycle. After the initialization phase, system tasks listen to system resources such as objective queue and message queue consistently. When an objective is put into the objective queue by the Dispatcher, Matcher gets it and queries the knowledge base to find a proper individual of the Goal concept, which is defined in the management ontology. The model of management ontology is shown in figure 2. In this ontology, the Goal concept has the hasAchiever property. This property may have Task concept from the HTN ontology or service concept from the OWL-S ontology as its range. The range of the Goal individuals is required for deciding for what behavior should be reacted for an objective. When the objective arrived to the planner the Matcher queries the Agent Management Ontology for achieving the goal and
100
E.E. Ekinci et al.
Fig. 2. Agent Platform Management Ontology
according to the achiever, the Matcher again queries to the knowledge base for finding proper task that has the capability of reducting the achiever individual. In current implementation of the planner achiever of a goal may be an HTN task or semantic web service. Furthermore, the Matcher loads a resolver task for parsing the the HTN plan or OWL-S service individual and forming a task graph. 3.2
Planner Extension
Extension module is a gateway for the planner to the Semantic Web by combining Semantic Web Services and HTN planning. This integration is provided by the HTN and OWL-S sub-packages. Internal structures of each of these two sub-packages are similar, since HTN sub-package parses the HTN ontology and OWL-S sub-package parses the OWL-S ontology to form a task graph that can be executed by the PlanningBase package. HTN Sub-Package. The HTN sub-package has two important task HTNReductor and ActionExecutor. The HTNReductor is derived from the system task and has responsibility of reducting a graph according to the HTN ontology. When the Matcher decides to execute an HTN task, then creates and puts the HTNReductor to the task queue by setting provision by the achiever individual, which is found by the result individual of the previous query’s. HTNReductor parses the provision and generates a graph which’s nodes are instances of the ActionExecutor tasks. ActionExecutor is inherited from TaskImpl, located in Task package, and each ActionExecutor instances’ knowledge are set by parsing plan according to the HTN Ontology. The HTN ontology resembles the HTN structure presented in Sycara et. al [15]. In the HTN formalism, there are two types of tasks: complex tasks called as behaviors and primitive tasks called as actions. Each plan has a root task which is a behavior itself consisting of sub-tasks that are composed to achieve a
A Planner Infrastructure for Semantic Web Enabled Agents
101
predefined goal. Behaviors hold a ’reduction schema’ data structure that defines the decomposition of the complex task to sub-tasks, and the information flow between these sub tasks and their parent task. Actions, on the other hand, are primitive tasks that can be executed by the planner using the Java Reflection API. Each provision represents a datum which is needed by a task in order to execute. Each task produces an outcome state after its execution. Outcome state is usually used to route the information flow between tasks. Information flow is achieved by the provision-outcome links between tasks. Additionally, there are two other link types, called as inheritance and disinheritance. Inheritance and disinheritance links are used for representing the information flow between a parent task and its sub tasks. The reductor resolves an individual derived from the HTN Ontology with the help of the HTNOntologyParser, and creates a graph. The graph consists of the instances of three classes named as InitialNode, FinalNode and ActionExecutor. InitialNode and FinalNode are the first and last nodes of the graph. The ActionExecutor executes Actions which are the basic units implemented by the developers. The HTNReductor creates ActionExecutor instances for each individual of the Action concept as necessary to form a task graph. Each ActionExecutor creates an instance of the Action whose name is given as a parameter, and sets the local variables that match with the provisions of the Action. Finally, an ActionExecutor binds the values of the local variables to the outcomes defined for the action. Figure 3 depicts how a behavior can be represented as the graph.
Fig. 3. HTN to graph convertion sample
OWL-S Sub-package. Structure of the OWL-S sub-package is very similar to the structure of the HTN sub-package. OWL-S sub-package consists of a reductor class and specialized node classes. The OWL-SReductor is initialized in the same way as the HTNReductor; if the achiever of a goal is recorded as a Semantic Web service in the knowledge base, then the Matcher awakes the OWL-SReductor by setting its provision with the service profile of the service. OWL-SReductor parses a semantic service profile and process model generates a graph like the HTNReductor. However, service execution is more complex
102
E.E. Ekinci et al.
than HTN execution. If the service to be executed is a composite service, it is broken down into atomic services. During the execution of such a composite service, discovering and engaging phases have to be fulfilled for each atomic service that is to be executed. OWL-SReductor adds three different kinds of nodes per atomic service to the graph for discovering, engaging and executing phases sequentially. These nodes are called ServiceFinder, ServiceEngager and ServiceExecutor nodes, and are equipped with the knowledge of the atomic service. ServiceFinder task gets the service profile as a provision from the OWL-SReductor. ServiceEngager and ServiceExecutor nodes are connected to the prior node to themselves through ParameterLinks. Later, these three nodes are executed sequentially by the planner. ServiceFinder finds a service that corresponds to the service profile. The ServiceEngager negotiates over the service with the host agent and transmits the engagement information to the ServiceExector. Consequently, the ServiceExecutor creates a SOAP message, invokes the web service and reversely produces outcomes from the response SOAP message.
4
Case Study
A tourism application was implemented as a case study with SEAGENT Multi Agent Framework. In this application, base scenario is achieved by the broker agent and the user agents. The broker agent is responsible for hosting the hotel reservation and car renting services to the user agents. However, the broker agent uses different resources for serving hotel reservation and car renting. Hotel reservation is supplied by semantic web services, which are published by hotels and car renting is provided by local HTN tasks of the broker agent. The part
Fig. 4. Individuals of Agent Management Ontology
A Planner Infrastructure for Semantic Web Enabled Agents
103
of the broker agent’s internal knowledge that contains derived individuals from Agent Management ontology and illustrates these two goals is shown in figure 4. When an user agent sends a request message for reserving a hotel room to the broker agent, its planner queries the local Agent Management Ontology individuals according to the request. By this query, achiever of the hotel room reservation goal is looked for. As mention before, this goal achiever is a semantic web service. The planner reducts the special tasks for execution such as ServiceFinder, ServiceEngager and ServiceExecutor. After the reduction, the planner executes these tasks, and the tasks sequentially find a service, engage on it if required then calls the service and gets the response message. The broker agent returns the service response message to the user agent. On the other hand, when the broker agent receives a message that includes the request for car renting, its planner queries the local Agent Management Ontology individuals according to this request likewise reserving a hotel. But the achiever that is result of this query is one of the local HTN tasks. The planner reducts this task and executes sub task according to its reduction shema and current state. At the end of this task, the broker agent returns the service response message to the user agent.
5
Conclusion
In this paper, a planner architecture for semantic web enabled agents is proposed. We realized a semantically executing and graph based planner for SEAGENT Multi Agent System development framework by implementing the components in this architecture. This planner has the capability of executing local HTN tasks and/or invoking external semantic web services in the same plan to achieve the owner agent’s goals. The implemented planner has been used in the some SEAGENT applications that require usage of semantic web services and agents. One of these applications, which is in the tourism domain, is represented in section 4. During the development of this application we observed that developer easily integrated external services using the planner internal support that executes OWL-S services from their semantic description. The current version of the planner doesn’t support all workflow types -such as iterate, repeat-until and choice- that are defined in the process model of OWL-S. To overcome this problem, some special tasks, which enable the execution of these workflow types, were added into the PlanningBase package. Currently, we are working on a means for adding the missing parts of the OWL-S process model to the PlanningBase package without using any special tasks.
References 1. Web service modeling ontology (wsmo): W3C Member Submission (June 2005) 2. Blum, A.L., Furst, M.L.: Fast planning through planning graph analysis. Artif. Intell. 90(1-2), 281–300 (1997)
104
E.E. Ekinci et al.
3. Burstein, M., Bussler, C., Zaremba, M., Finin, T., Huhns, M.N., Paolucci, M., Sheth, A.P., Williams, S.: A semantic web services architecture. IEEE Internet Computing 9(5), 72–81 (2005) 4. Dickinson, I., Wooldridge, M.: Towards practical reasoning agents for the semantic web. In: AAMAS 2003. Proceedings of the second international joint conference on Autonomous agents and multiagent systems, pp. 827–834. ACM Press, New York, NY, USA (2003) 5. Dikenelli, O., Erdur, R.C., Gumus, O., Ekinci, E.E., Gurcan, O., Kardas, G., Seylan, I., Tiryaki, A.M.: Seagent: A platform for developing semantic web based multi agent systems. In: AAMAS, pp. 1271–1272. ACM Press, New York (2005) 6. Fensel, D., Bussler, C.: The web service modeling framework wsmf. Electronic Commerce Research and Applications 1(2), 113–137 (2002) 7. Ghallab, M., Howe, A., Knoblock, C., McDermott, D., Ram, A., Veloso, M., Weld, D., Wilkins, D.: Pddl—the planning domain definition language (1998) 8. Gurcan, O., Kardas, G., Gumus, O., Ekinci, E.E., Dikenelli, O.: An mas infrastructure for implementing swsa based semantic services. In: Service-Oriented Computing: Agents, Semantics, and Engineering. LNCS, vol. 4504, pp. 118–131. Springer, Heidelberg (2007) 9. Klusch, M., Gerber, A.: Evaluation of service composition planning with owlsxplan. In: IAT Workshops, pp. 117–120 (2006) 10. Lotem, A., Nau, D.S., Hendler, J.A.: Using planning graphs for solving htn planning problems. In: Proceedings of AAAI 1999/IAAI 1999, Menlo Park, CA, USA, pp. 534–540. American Association for Artificial Intelligence (1999) 11. Nau, D.N.: Shop2: An htn planning system. Journal of artificial intelligence research 20, 379–404 (2003) 12. Conte, R., Castelfranchi, C.: Cognitive and social action. London University College of London Press, Londra (1995) 13. Ricci, A., Viroli, M., Omicini, A.: Programming mas with artifacts, pp. 206–221 (2006) 14. Sirin, E., Parsia, B.: Planning for semantic web services. In: Semantic Web Services Workshop at 3rd International Semantic Web Conference (2004) 15. Sycara, K., Williamson, M., Decker, K.: Unified information and control flow in hierarchical task networks. In: Working Notes of the AAAI-96 workshop Theories of Action, Planning, and Control (August 1996)
From a Goal-Oriented Methodology to a BDI Agent Language: The Case of Tropos and Alan Francesco Pagliarecci1 , Loris Penserini2 , and Luca Spalazzi1 1
Universit`a Politecnica delle Marche, Ancona [email protected], [email protected] 2 FBK-IRST, Trento [email protected]
Abstract. This approach aims at addressing crucial issues in complex distributed software such as capability of evolving and adaptivity. Within the area of goaloriented software requirements engineering, we propose the use of goal models at different abstraction levels in engineering a Multi-Agent System (MAS), namely, not only at design time, but also as a part of the agent knowledge and choice strategy, at run-time. In this paper we briefly overview a mapping between Tropos concepts and Alan (an agent-object programming language) structures. Specifically, we focus on two advantages of our approach: first, Alan allows us to use in an integrated fashion both agent oriented and object oriented design principles. Second, Alan has a well defined semantics expressed by means of rewriting logic. This allows us to verify the properties of an agent both at design time and at run-time (when its knowledge and behavior can have been modified).
1 Introduction In the era of networked applications within areas of eGovernament, Ambient Intelligence, Autonomic Systems, and Digital Business Ecosystems, software solutions have dramatically increased their complexity in respect to traditional applications. This trend directly reflects towards software engineering approaches that have to be flexible and suitable to cope with more complex software requirements. In this context, the challenging aspect is that stakeholder needs and preferences, as well as domain constraints often evolve away from the initial business requirement model of the system, reflecting the extremely heterogeneous and dynamic nature of networked users. Under such conditions, a deployed software solution needs to be able to adapt to environmental constraints at run-time in order to meet evolving user needs. This paper aims at building an agent-based software development framework to generate software solutions adaptable to stakeholder needs, supporting organisational networking as well as improving adaptability to rapidly changing market demands and customer requirements. The main idea that pervades our approach is twofold. First, we adopt an agent oriented software engineering methodology, Tropos [1], to characterize the agent model (say Goal-Model, GM) for architectural and functional requirements. Second, we perform a mapping process of the previous GM towards a BDI agent language, named Alan [3]. Such a framework also provides a novel approach to cope with software maintenance, where the modification of a software product after its delivery R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 105–114, 2007. c Springer-Verlag Berlin Heidelberg 2007
106
F. Pagliarecci, L. Penserini, and L. Spalazzi
is extremely important in order to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment. Specifically, we show how the generated agent structure is flexible enough to autonomously adapt to user emerging preferences imposed by contexts, reducing as much as possible any complex modification of the code by domain experts. Indeed, within this framework, an agent is able to acquire new desires and plans that modify its behavior. This allows an agent to deal with new needs. The paper is organized as follows. Section 2 provides an introduction to Tropos (Section 2.1) and to Alan (Section 2.2). In Section 3 we discuss an example of the agent ability to autonomously adapt to user emerging preferences. Finally, in Section 4 some conclusion have been given.
2 Background: From GM Design to BDI-Agents 2.1 Tropos The Tropos agent-oriented methodology [1] borrows modelling and analysis techniques from goal-oriented requirements engineering frameworks and integrates them into an agent-oriented paradigm. The development process, in Tropos, is organized into five phases: Early Requirements, Late Requirements, Detailed Design Architectural Design, and Implementation. A core activity along this process is conceptual modelling. The modelling language offers concepts of actor, goal, plan, resource, capability, and of social dependency between actors for goal achievement; a graphical notation to depict views of a model; analysis techniques; supporting tools [8]1 . Actors may be further specialized as roles or agents. An agent represents a physical (human, hardware or software) instance of actor that performs the assigned activities. A role, instead, represents a specific function that, in different circumstances, may be executed by different agents —we say that the agent plays the role. Actors (agents and roles) are used in Tropos to describe different social dependency and interaction models. Edges between nodes can be used to form paths (called dependencies) of the form: depender → dependum → dependee, where the depender and the dependee are actors, and the dependum is either a goal, a softgoal, a task or a resource. Each path between two actors indicates that the first actor (the depender) depends on the other (the dependee) for something to be attained (the dependum). Adopting Tropos into our framework allows us to represent and reason on the Goal Model (GM), resulting from the analysis of each actor point of view. More specifically, a GM in Tropos is represented in terms of a forest of AND/OR goal trees, along with lateral contributions labeled +,++ (i.e. if g1 →++ g2 and g1 is fulfilled, so is g2 ) and −,−− (if g1 is fulfilled, g2 is denied) and means-ends relationships among goals and plans. An example taken from [6] is depicted in Fig. 1 which illustrates a fragment of a goal-oriented Tropos specification about requirements of a search system (Search System). The system is intended to support students and teachers in exam related activities. To pass an exam a student has to deliver some written homework, while the teacher wants to evaluate originality of the student homework, for instance, checking 1
For more details on modelling activities see [1].
From a Goal-Oriented Methodology to a BDI Agent Language
107
Fig. 1. Tropos architectural design: Agent knowledge and capability levels
if the student copied from existing material (e.g. encyclopedia, or Internet). The models includes the two main domain stakeholders (Student, Teacher) along with their main goals (e.g. pass exam, find word description, find copied text), and mutual dependencies for goal achievement. The balloon associated to the system actor, Search Actor, depicts a goal analysis conducted from the point of view of that actor. The goal find copied text is AND decomposed into the sub-goals find word description and find matching. Sub-goals are further refined into more concrete goals till a plan is found that provides a means to achieve the goal. Inter-dependency links between goal models associated to different actors can be identified along actor dependency links. For instance between the GM of the actor Search Actor and The GM of the actor Exam Parser, along the goal dependency centered on the goal parse exam. For the concept of capability, we adopt the revised definition proposed in [7], which distinguishes the concept of ability from the concept of opportunity and introduces a specific notation to model them. The ability component refers to plans for achieving a given goal and it is specified in Tropos by a means-end relationship between the goal and the plan. For example, in Fig. 1, the plan EBritannica in means-end relationship with the goal find in encyclopedia corresponds to the ability part of a capability. The opportunity component represents user preferences and environmental conditions, which may enable or disable the execution of the ability component, at run time. It is represented in terms of plan/softgoal contributions, plan, sof tgoal, metric
108
F. Pagliarecci, L. Penserini, and L. Spalazzi
(metric ∈ {−−, −, +, ++}), and environmental constraints (e.g. temporal constraints between sub-plans) which can be specified by model annotations. The contribution link between the plan EBritannica and the softgoal reliable results is part of the opportunity specification for the capability identified by the leaf goal find in encyclopedia. Different means (plans), to achieve a goal, model alternative capabilities. As an example, in Fig. 1, the goal find in encyclopedia and the plan Wikipedia define a capability (i.e. cpx ) and the same goal with the plan EBritannica define another capability (i.e. cpy ). In particular, we will point out the two different abstraction levels that characterize the agent design, namely the knowledge level and the capability level. The knowledge level, refers to the goal AND/OR decomposition (part of the GM) that contributes to descriptions of behaviors the specific agent role can play. A GM represents agent intentionalities in terms of mental states that bring the agent about how/when to perceive the environment, to apply strategies to fulfill its responsibilities, and to choose alternative ways to adapt to requirements changes. Nevertheless, as shown in Figure 1, the more operative part of the agent’s behavior, to affect the environment, is specified in the capability level. The agent perceives the environment and tries to accomplish a suitable behavior (knowledge-level), but to actually adopt such a behavior it needs to execute specific capabilities (capability-level). 2.2 Alan Alan [3] is a programming language that aims to integrate both the agent-oriented and the object-oriented programming. There are some examples in literature of systems that have their own agent-oriented languages and allow programmers to use object-oriented languages for some parts of a program, e.g. JADE2 , JADEX3 , and JACK4 . Nevertheless, in the above languages, these two aspects are not amalgamated. The agent-oriented components and the object-oriented components are connected by means of a sort of procedural attachment. Agent-object oriented programming means to establish what are interactions of the program with other programs, what are its beliefs, its desires, and its plans. Beliefs, desires, and plans must be determined in terms of abstraction, encapsulating their attributes and methods, exploiting eventual inheritance relations among them, and exploiting the polymorphism. As a consequence, an Alan program is composed by a collection of beliefs, a collection of desires, and a collection of plans. The syntax of Alan is largely derived from Java. However, unlike Java, where everything is a class object (i.e. an instance of a class), in Alan, we have three different kinds of object: belief objects, desire objects, and plan objects. The beliefs play a role similar to the role of the data structures in traditional programming languages. They are used to represent the knowledge of the system. According to our goal of combining the agent-oriented and the object-oriented paradigm, we model the set of beliefs using the object-oriented approach. This means that we encapsulate in each belief all the attributes that describe it and all the methods that we need to manipulate it. Concerning the attributes, we have to take into account the fact that in Alan 2 3 4
More details at: http://jade.tilab.com/ More details at: http://vsis-www.informatik.unihamburg. de/projects/jadex/ More details at: http://www.agent-software.com/
From a Goal-Oriented Methodology to a BDI Agent Language
109
public Belief AB extends ActiveBelief { any El1, ..., Eln : ORlist []; public boolean condition () {...} ... }
public Desire d1 extends d2 { Plan {p1, ... , pn} : ANDlist[]; ... }
public Desire D { Belief State; any El1, ..., Eln : ORlist []; any El1, ..., Eln : ANDlist []; ... }
public Plan P { public boolean precondition () {...} public void planbody () {...} ... }
Fig. 2. The definition in Alan of Belief, Desires, and Plans
we have three kinds of objects: beliefs, desires, and plans. As a consequence, we have three kinds of attributes: belief attributes, desire attributes, and plan attributes. In Alan, there exists a special kind of Belief that are used to program the reactive behavior of a system: the ActiveBelief. Active beliefs are used to model events to which the agent must react. Each active belief has a method named condition and two attributes: ANDlist, ORlist. Each element of ANDlist (ORlist) may be an instance of any of the objects listed as attribute type (El1, ..., Eln in Fig. 2). Each attribute type (each Eli) must be a desire or a plan. What are the attribute types must be defined by the programmer. The two attributes are incompatible, i.e. when the programmer uses the ANDlist can not use ORlist and vice versa. condition is a Boolean function that must be defined by the programmer, as well. The behavior of this kind of beliefs is the following: every time a new active belief is asserted (an event occurred to which the system must react) or an attribute of an old active belief changes, the method condition is executed. When it returns a false value (the system do not must react), nothing happens. When condition returns a true value (the system must react), the behavior depends on which attribute we have. When the programmer has used ORlist, an instance of the first object type (desire or plan) in the ORlist is asserted. If it does not succeed, an instance of the second object type is tried and the agent goes on until it succeeds or has tried all the objects in the list. When the programmer has used ANDlist, an instance of each object type in the ANDlist is asserted. The reaction succeeds only if all the asserted instances succeed. Within BDI programming languages, the desires establish what are those goals the system must be ready to satisfy. Such desires that have been requested to be satisfied become intentions. As a consequence, a new plan must be selected and then executed. This plan is selected among all the plans that have effects able to satisfy the goal, also depending on their preconditions. Usually, the agent-oriented languages represent a desire as a logic formula. In Alan, coherently with the previous assumptions, a desire is not a logic formula but an object that can encapsulate attributes and methods (see Fig. 2). Each desire has an arbitrary number of methods, belief attributes, desire attributes, and plan attributes. Each desire has also a set of plans, that are enumerated in the ANDlist or in the ORlist, that must be tried in order to satisfy the desire itself. ANDlist and ORlist work as the homonymous attributes of an active belief. A desire succeeds when one of the elements of its ORlist succeeds (when all the elements of its ANDlist succeed).
110
F. Pagliarecci, L. Penserini, and L. Spalazzi
A programmer can apply the object-oriented methodologies in designing the desires, as well. For example, we can define a desire as extension of another desire (see Fig. 2). We can also encapsulate in it attributes and methods that can be used by the plan to satisfy the intention, making the plan independent by the parameters it needs. Indeed, such parameters can be encapsulated in the desire the plan tries to satisfy. Another important attribute of a desire is the belief attribute state. When the desire is created, its state is ready to be examined by the interpreter. When the desire is selected as intention, its state becomes running. When the object in the ORlist (ANDlist) is suspended (e.g., when the plan has required the satisfaction of a sub-desire), its state becomes wait. When the object is resumed, it goes back to the running state. Finally, the desire state can be succeeded or failed depending on the final result of objects in the ANDlist or ORlist. In BDI programming languages, plans play a role similar to the role played by procedures and methods in traditional programming languages. Each plan is specifically designed in order to satisfy a desire, a goal. As previously mentioned, to each desire is linked a set of possible plans that must be tried to satisfy the goal. In Alan, according to our goal of combining agent and object oriented paradigm, each plan has an arbitrary number of methods, belief attributes, desire attributes, and plan attributes (see Fig. 2). Using Java-like statements for precondition and planbody allows the programmer to exploit the object-oriented principles. When a plan is selected and instantiated, the precondition is evaluated. When the precondition returns the value true, the plan is executed. A planbody consists of statements as in usual Java class methods. Therefore, a programmer has to activate appropriate methods in order to modify beliefs, send or receive messages, and generate internal events. As a consequence, the execution of a plan is something similar to the execution of a class method. Nevertheless, the semantics of its activation has some differences. Namely, for each intention, we can have several plans that can be executed. The choice depends on two facts: in which order they are listed in the attribute planlist, and what are values returned by preconditions. In object-oriented programs, which method must be executed only depends on the class to which the instance belongs. The precondition is a boolean method that checks whether the plan can be executed. Notice that, in traditional agent-oriented programming languages, preconditions are logic formulas that must be true. In Alan, a precondition is a piece of code that must be executed and return a boolean value. In other words, the precondition is a method and we adopt a procedural approach instead of a logic-based approach. The planbody is a method that contains a set of actions to be executed in order to accomplish the intention (to satisfy a desire or react to an event). 2.3 The Mapping Process: From Tropos to Alan The proposed development framework is based on the mapping process between Tropos and Alan concepts/structures to deal with an automated code generation. For space reason, we are not able to show the specification for the mapping process that is well described in [5]. In particular, in [5], the authors describe the semantics of the adopted sub-set of Tropos concepts, giving a semi-formal description of their Alan equivalent representation. Moreover, some examples of formalizations are given about the
From a Goal-Oriented Methodology to a BDI Agent Language
111
proposed mappings. The mapping (Tropos-to-Alan) has been conducted along two phases: basic (BDI) concept mappings (Goal-to-Desire, Softgoal-to-ActiveBelief, Planto-Plan, Resource-to-Belief ); and complex structure mappings (AND/OR goal decompositions, means-end links, contribution links, delegation and dependency links).
3 Preliminary Tests and Discussion According to the described mapping process (see [5]), simple agents have been generated and tested in order to verify that they behave as described by their GMs. Scenario 1. This is the example already discussed by Fig. 1. In particular, the code showed in Figure 3 is a fragment of the mapping process for the GM of the agent Search Actor. // SEARCH ACTOR public Desire find-copied-text { Desire find-word-description, find-matching : ANDlist[]; ... } public Desire find-word-description { Desire find-in-internet, find-in-enciclopedia : ORlist[]; ... } public Desire find-in-enciclopedia { Plan Wikipedia, EBritannica : ORlist[]; ... } public Desire find-in-internet { Desire filter-pages, parse-result : ORlist[]; ... }
public Desire filter-pages { Plan contentFilter : ORlist[]; ... } public Desire parse-result { Plan parser : ORlist[]; ... } public Belief reliable-result extends ActiveBelief { Plan EBritannica, Wikipedia, contentFilter, parser : ORlist[]; ... } public Belief minimize-cost extends ActiveBelief { Plan Wikipedia, contentFilter, parser, EBritannica : ORlist[]; ... }
Fig. 3. Alan representation of the agent depicted in Figure 1
In this case, running the agent, we tested that every time a request for achieving the goal find word description, from the Student personal agent, occurs, Search Actor has to decide between two alternative ways to cope with the initial request. One is to consider the sub-tree subsumed by the goal find in Internet that brings the agent about to browse Web pages looking for words matching. The second alternative is to deal with the subtree subsumed by the goal find in encyclopedia that brings the agent about to search for words matching within Wikipedia and EBritannica. These latter, as already said, are two Search Actor capabilities: cpx and cpy respectively. As well, such capabilities represent alternative ways to achieve the goal find in encyclopedia. Therefore, the generated BDI agent is aware about its internal hierarchy of goals along with relationships, this gives to the agent the knowledge how to achieve complex
112
F. Pagliarecci, L. Penserini, and L. Spalazzi
problems (i.e. top-level goals), firstly proceeding by achieving simpler ones (i.e. leavelevel goals). These latter drive the agent towards the selection of concrete actions (i.e. capabilities). Such a modelling process partially reflects the human being behavior, e.g. every time somebody asks to somebody else to do something (i.e. our request message), this latter firstly starts a mental reasoning mechanism in order to simplify the problem in simple steps (i.e. our goal hierarchy), then she tries to act, affecting or sensing the environment (i.e. our capabilities). As well as human beings, our generated agent inherits –by its GM contribution links towards softgoals– a selection mechanism to deal with alternatives. As showed in Figure 3, the agent ranks the alternatives according to how much they contribute to the softgoal satisfaction. In this preliminary work, we adopt softgoal concepts to model user preferences that do not hold for the entire agent life-cycle, but the agent senses them from the environmental stimulus, e.g. a request may carry out information about goals and softgoals.
Fig. 4. Example in which Search Actor does not have the internal ability to achieve the goal find in encyclopedia, but it knows that Facilitator can do that
Scenario 2. Let us assume that the scenario showed in Fig. 1 starts from a different initial set of requirements, as detailed by the GM fragments of Fig. 4. That is, Search Actor does not have the internal ability to achieve the goal find in encyclopedia, but it knows that Facilitator can do that. This agent property of knowledge sharing can be modeled in Tropos by a why link dependency, which means Search Actor knows who can achieve the goal but does not care about how Facilitator internally deals with such a goal achievement. In Alan, this situation, is represented by the code fragment of Figure 5 . Namely, according to Section 2.3, the agent Search Actor for the desire find in encyclopedia has the plan of sending a request message to the agent Facilitator. Nevertheless, the agent may also have the ability to directly ask for required plans to achieve a given goal, i.e. Search Actor acquires new capabilities, avoiding to rely on Facilitator for other similar requests. In this case, the correspondence effect at design time is that the Search Actor GM (left hand side of Fig. 4) should modify in such a way: 1) plans Wikipidia and EBritannica along with their contribution links have to be attached, as means-ends, below the goal
From a Goal-Oriented Methodology to a BDI Agent Language
113
// FACILITATOR
// SEARCH ACTOR ... public Desire find-word-description { Desire find-in-internet, find-in-enciclopedia : ORlist[]; ... } public Desire find-in-enciclopedia { Plan SendMessage : ORlist[]; ... } Public Plan SendMessage { public void planbody () { Desire X = new find-in-enciclopedia; ... } ... } public Belief reliable-result extends ActiveBelief { Plan contentFilter, parser : ORlist[]; ... }
Public Plan SendMessage { public void planbody () { Desire X = new find-in-enciclopedia; ... } ... } public Desire find-in-enciclopedia { Plan Wikipedia, EBritannica : ORlist[]; ... } public Belief reliable-result extends ActiveBelief { Plan EBritannica, Wikipedia : ORlist[]; ... } public Belief minimize-cost extends ActiveBelief { Plan Wikipedia, EBritannica : ORlist[]; ... }
public Belief minimize-cost extends ActiveBelief { Plan contentFilter, parser : ORlist[]; ... }
Fig. 5. Alan representation of the agent depicted in Figure 4
find in encyclopedia; 2) then, the dependency relationship between the two agent GMs has to be deleted. Thanks to the mapping between Tropos and Alan, the proposed development framework is able to interpret feedback from run-time to design-time, as above. Hence, the process of capability updating at run-time results in a new GM at design-time, namely the initial Search Actor GM of Figures 4 and 5 modifies into the one illustrated in Figures 1 and 3. Moreover, as the syntax and the operational semantics of Alan have been formalized [4] by means of the rewriting logic language Maude [2], this allows the agent to check at run-time for model consistency each time a new piece of knowledge (e.g. goals, softgoals, and capabilities) is acquired. This property is important before suggesting to the designer a GM updating. Considering the example of Fig. 4, let us assume that the message request that triggered the Search Actor goal find in encyclopedia also carries out information about what user preference should be satisfied, i.e. softgoal minimize cost. Therefore, when Search Actor gets capabilities cpx and cpy from Facilitator, it can internally check which of them maximize the softgoal (user preference) satisfaction. In other words, Search Actor can perform model analysis in order to figure out that cpx better satisfy softgoal minimize cost than cpy . This process may result in discharging cpy and updating the agent knowledge (and then the GM) with the only cpx .
114
F. Pagliarecci, L. Penserini, and L. Spalazzi
4 Conclusions This paper proposes an approach to derive BDI agent code from a goal-oriented design artefact. The work has been described and showed throw examples based on the mapping between elements of the Tropos goal oriented methodology and structures of the Alan BDI agent language. Despite this work is in the preliminary phase, we claim that the proposed agent development framework, thanks to the Alan language, is very suitable to deal with agent code analysis at run-time. That is, the Alan syntax and operational semantics is formalized in the rewriting logic language Maude [3,4]. On the other hand, Maude [2] is a highperformance reflective language and system supporting both equational and rewriting logic specification and programming for a wide range of applications. Its significance is threefold. First, it is based on a logic that can be used for the precise specification of a program semantics. Second, it is general in the sense that various paradigms, especially the agent- and object-oriented paradigms as well as concurrent behavior can be integrated by using Maude as a framework. Third, Maude is not only a language but also a system that supports light-weight symbolic analysis of specifications, an important feature for model validation and a first step on the path to formal verification. For the sake of space, we are not able to show in this paper the formal representation of Alan in Maude, the reader can refer to [3,4].
References 1. Bresciani, P., Giorgini, P., Giunchiglia, F., Mylopoulos, J., Perini, A.: Tropos: An AgentOriented Software Development Methodology. Autonomous Agents and Multi-Agent Systems 8(3), 203–236 (2004) 2. Clavel, M., Dur´an, F., Eker, S., Lincoln, P., Marti-Oliet, N., Meseguer, J., Talcott, C.: Maude 2.0 Manual (2003), http://maude.cs.uiuc.edu 3. Pagliarecci, F.: Alan: An Agent-Object Programming Language. PhD thesis, Universit´a Politecnica delle Marche, Dipartimento di Ingegneria Informatica, Gestionale e dell’Automazione (2006) 4. Pagliarecci, F.: Semantics of Alan. In: STAIRS 2006, IOS Press, Amsterdam (2006) 5. Pagliarecci, F., Penserini, L., Spalazzi, L.: From a Goal-Oriented methodology to a BDI agent language: the case of Tropos and Alan. Technical Report T2007-06, Universita’ Politecnica delle Marche and FBK-IRST (2007), available at http://www.diiga.univpm.it/spalazzi/reports/Tropos2Alan.pdf 6. Penserini, L., Perini, A., Susi, A., Morandini, M., Mylopoulos, J.: A Design Framework for Generating BDI-Agents from Goal Models. In: AAMAS 2007. Sixth International Joint Conference on Autonomous Agents and Multi-Agent Systems, Haway, USA, ACM Press, New York (2007) 7. Penserini, L., Perini, A., Susi, A., Mylopoulos, J.: From Stakeholder Intentions to Software Agent Implementations. In: Dubois, E., Pohl, K. (eds.) CAiSE 2006. LNCS, vol. 4001, pp. 465–479. Springer, Heidelberg (2006) 8. Perini, A., Susi, A.: Automating Model Transformations in Agent-Oriented Modelling. In: M¨uller, J.P., Zambonelli, F. (eds.) AOSE 2005. LNCS, vol. 3950, pp. 167–178. Springer, Heidelberg (2006)
A Human-Like SOA-Based Interdisciplinary Framework for Intelligent Virtual Agents Mauricio Paletta1 and Pilar Herrero2 1
Departamento de Ciencia y Tecnología. Universidad Nacional Experimental de Guayana (UNEG). Av. Atlántico. Ciudad Guayana. Venezuela [email protected] 2 Facultad de Informática. Universidad Politécnica de Madrid (UPM). Campus de Montegancedo S/N. 28.660 Boadilla del Monte. Madrid. Spain [email protected]
Abstract. The creation of virtual humans capable of behaving and interacting realistically with each other requires the integration of interdisciplinary theories, methods and approaches. Although Intelligent Virtual Simulation has focused on realistic interactions of their inhabitants, it still reflects the necessity of a common framework capable of integrating all the technological advances developed separately. This paper combines some of the successful approaches carried out with the purpose of defining an openness framework that help making the development of Intelligent Virtual Agent based systems as easy as possible by the integration of these independent and different domains. The paper also presents a case study based on a virtual assistant helping a human and learning from him to use UML (Unified Modelling Language) for modelling different systems. Keywords: IVA, SOA, OAA, BDI, XML, FIPA, architecture, learning.
1 Motivation Virtual environments tend to be more important every day, especially in education programs, e.g. [3, 19] and entertainment, e.g. [12]. Many of the applications that have been developed until now in this field require some type of virtual agent that can observe, decide and react in its virtual environment becoming then Intelligent Virtual Agents (IVA). On the other hand, this kind of applications will be better accepted as long as IVA’s are closer to be virtual humans who are directly related to the design of believable social agents. Moreover, social behaviors make intensive use of many human abilities, such as vision, hearing, memory, subtle body control, human animation, etc. Furthermore, it is also necessary to consider intelligent agent common activities, such as planning, reasoning, learning, communicating, etc. Therefore, designing believable social intelligent agents is a challenging task, since most of the abilities to reproduce are very complex and require a multi-disciplinary approach. Fortunately there are several researches in the areas of IVA´s, intelligent agents and agents in general, that can be used to satisfy these required multi-disciplinary approaches. However, these researches are independent so an integration of these R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Workshops, Part I, LNCS 4805, pp. 115–124, 2007. © Springer-Verlag Berlin Heidelberg 2007
116
M. Paletta and P. Herrero
domains altogether is necessary in order to design a successful believable social intelligent agent or virtual human, this representing a highly motivating and technical challenge. A good illustration of this goal is described in [8, 10, 11, 16, 20]. This paper focuses also on the design of a common framework for agents with the following characteristics: 1) it has to be extensible to IVA´s, 2) it merges interdisciplinary theories, methods and approaches, 3) it must be extensible and open as to be completed with new requirements and needed, and 4) it has to highlight the agent´s learning process within the environment. This proposal, called SIFIVA (SOABased Interdisciplinary Framework for IVA´s), is the actual result of the research work whose first results can be consulted in [14, 15]. What makes SIFIVA different to other similar frameworks is the way in which its main features have been integrated to behave in an appropriated way. The paper is organized in different sections: section 2 describes the proposal; section 3 describes some implementation details and an example related to a virtual assistant for modelling different systems using UML and section 4 includes the conclusions and areas for future work.
2 SIFIVA’s Framework This section describes the proposed framework for IVA´s (SIFIVA), starting with the design of the architecture and then goes on to describe some of the components associated to this design. It should be pointed out that this work is actually in progress and therefore this proposed will continue evolving. SIFIVA is the result of a sum of various ideas that putting all together conform an open and extensible framework for IVA’s. One on these ideas is related to OAA (Open Agent Architecture) [9] in which the authors defined a framework for the construction of distributed software systems based on the cooperation among agents. In OAA the agents can be easily incorporated into, or unincorporated from, the system. Another contribution of this work is the use of a “facilitator”, originally defined by Genesereth et al in [7], which maintains a knowledge base that records the capabilities of a collection of agents in order to assists requesters and providers of services in making contact. Therefore, from the OAA design SIFIVA takes the following ideas: 1) to dynamically add/remove capabilities to the IVA; 2) to have a register of these abilities, and 3) the necessity of having a component that facilitates the integration. There is a basic difference: these abilities are not considered like agents as occurs in OAA but they are services in SIFIVA. In this sense, the work of FIPA (Foundation for Intelligent Physical Agents) is prominent in this subject to structure an agent as a set of services, specifically the AWSI-WG (Agents and Web Services Interoperability Working Group) whose main purpose is to fill the interaction gap between agents and web. In the FIPA specifications, the agent system interoperability is based on the use of a common Agent Communication Language (ACL) [5] and supported by an Abstract Architecture [6] which can be used to abstract the internal architecture of each agent. From FIPA, the way in which the services can be registered and discovered as well as
A Human-Like SOA-Based Interdisciplinary Framework for Intelligent Virtual Agents
117
the way in which agents communicate with one another by sending messages, are taken as contributions to SIFIVA. 2.1 The SIFIVA Architecture The IVA general architecture of SIFIVA (see Fig. 1) has a similar design as presented by Monzani in [11] and by Sansonnet et al in [20]. According to Monzani, the elements “brain” and “body” has to be separated to structure an agent. Thus an agent is the sum of the IVA element (the “brain”) and the Embodied Agent element (the “body”). Sannonnet et al identify three elements: a Dialogical Agent, a Rational Agent and an Embodied Agent. In SIFIVA, an IVA is the sum of four components: 1) the Embodied Agent (IVA::EA) or the “body”; 2) the Rational Agent (IVA::RA) or the “brain”; 3) the Integrative Agent (IVA::IA) or the “facilitator”, and 4) the Services or IVA “abilities” (IVA::SV). IVA Rational Agent (brain) Embodied Agent (body)
Virtual Environment
Integrative Agent (facilitator)
IVA
Services (abilities)
IVA
Fig. 1. The SIFIVA general architecture
The IVA::EA and IVA::RA agents are FIPA based structures in the sense that both of them have the Service Directory element to provide them with a location where the specific and correspondent service descriptions can be registered. The IVA::IA agent plays the role of facilitation to add new services into the system and handling the way in which these services can be executed. The IVA::SV is a collection of individuals and independent software components integrated into the IVA which implements any specific ability whether to the IVA::EA or the IVA::RA. On the other hand, the services in IVA::SV are divided in two collections, those that are related to the environment interaction (such as sensing and acting) and those that are related to some intelligent process as learning, reasoning, planning, etc. The IVA::EA component encloses the set of services specifically designed to interact with the environment. Therefore, these services are related to the abilities to sense from the environment and acting to it. Some of these services are, for example, abilities associated to the virtual vision or audition capabilities. Another feature associated to the IVA::EA is related to the social expressions, as for example the facial expressions. As it was mentioned previously and it can be seen in Fig. 2-a, the internal structure of the IVA::EA component has endowed with a Service Directory (EA::SD) element
118
M. Paletta and P. Herrero
Embodied Agent (IVA::EA) Service Directory
Integration Handled
Effectors Handled
Sensors Handled
Rational Agent (IVA::RA)
Integrative Agent (IVA::IA)
Service Directory
Rational Agent (IVA::RA)
Integration Handled
Knowledge Handled
Integrative Agent (IVA::IA) Embodied Agent (IVA::EA)
Knowledge Repository
a)
Virtual Environment
IVA
Rules
Goals
Beliefs
Plans
b)
Fig. 2. a) The IVA::EA internal structure; b) the IVA::RA internal structure
to register the services given by this module. These services are grouped in two collections, those used to receive stimulus and those used for acting. Each of this set of services is handled by means of a corresponding element: Sensors Handled (EA::SH) and Effectors Handled (EA::EH). A fourth and last element called Integration Handled (EA::IH) allows that the integration with the IVA::IA been possible and thus, the stimulus coming from the services could be handled by EA::SH and the actions indicated by the EA::EH could be executed by the appropriate services. The role that plays the IVA::EA in the IVA architecture can be summarized in the following functions: 1) for each of the new services to be included to the system and informed by the IVA::IA, it must be registered into the EA::SD component; 2) each of the new stimuli received by any service in IVA::SV and communicated to the IVA::IA and then from here to the EA::IH, it sends an internal message to the EA::EH component to process the stimulus (by elaborating the necessary information to represent the stimulus in a common structure) with the intention to communicate the information to the IVA::RA who attend to figure out a possible reaction from this stimulus; 3) from each internal message received by EA::IH, it sends a new message to EA::EH who firstly processes the information and later sends another message to EA::IH who knows that a communication with IVA::IA is required and thus it proceeds with the message sent. In the same order of ideas, the basic function of the IVA::IA is to coordinate the integration between the IVA::SV and the rest of the IVA components. This relationship can be possible according to two different situations: 1) when a new service must be integrated with the IVA and therefore it must be registered into the corresponding Service Directory; 2) when an existing service must be executed. The basic idea associate to the IVA::IA is to classify the services according to the ability that they have. The design of SIFIVA includes a list of possible service categories, each of them identified with a different id. The classification id is part of the information that must be given when the service is added to the system. In this sense, the IVA::IA knows what the services capable to do a specific ability are and therefore, when it receives from IVA::RA or IVA::EA a message to execute any ability, it knows what services must be executed. To maintain the communication with the services included in IVA::SV, the IVA::IA opens a socket and handles a protocol with the following two commands:
A Human-Like SOA-Based Interdisciplinary Framework for Intelligent Virtual Agents
119
1) AddAService(theService, theAbilityType): it is sent from IVA::SV to IVA::IA and it permits to add to the system the service indicated in the “theService” specification (name, parameters, type of return) as an implementation of the ability indicated by theAbilityType. 2) CallAService(theService): it is sent from IVA::IA to IVA::SV and it permits to execute the service indicated in the “theService” specification (name, parameters); once the execution is finished, a return value is received. 2.2 The SIFIVA Rational Features The IVA::RA component represents the IVA’s intelligent part and therefore, it encloses the set of services used for the agent to implement the process associated with these abilities. Due to the fact that SIFIVA specifies the separation between the IVA sociality and the IVA autonomy, it is possible to pay attention to the architecture that has been defined for standard autonomous agents. In this sense, the BDI (BeliefDesire-Intention) [18] architecture has proved to be a useful abstraction to model autonomous agents. Its components (Belief, Desire, and Intention) offer a convenient and intuitive way to structure the agent's action selection [8]. Therefore and as it can be seen in Fig. 2-b, the IVA::RA is a BDI based structure. In the other side and similar to the IVA::EA structure, the IVA::RA is endowed with a Service Directory (RA::SD) element and an Integration Handled (RA::IH) element. The first to register the services given by this module; the second permits that the integration with the IVA::IA is possible. An example of this similar combination between the FIPA and BDI concepts can be seen in Jadex [16]. As learning plays a fundamental role in many of human activities since experience, including both achievements and errors and that it seems that this is the fundamental property that allows humans to adjust themselves to the different changes in the environment [1, 2], SIFIVA include the rational and knowledge management abilities as part of its design, even though these capacities can be given by the IVA::SV services. Therefore, in order to offer this rational aspect, the IVA::RA is embedded with other two elements: the Knowledge Repository (RA::KR) and the Knowledge Handled (RA::KH). Following the BDI reasoning engine model [16], the RA::KR is formed by the following information elements: 1) Beliefs: statements that the IVA believes to be true and are represented by using a kind of first-order predicate logic. 2) Goals: objectives that the IVA is trying to achieve at a certain moment; any of them is associated with a status indicating if the objective was or not satisfied. 3) Plans: sequences of actions or sub-goals to be performed with the aim to reach goals; they are represented using a kind of Teleo-Reactive (T-R) sequence [13]. 4) Rules: IF-THEN structures that can conclude in goals or sub-goals based to the information actually known or stimuli. The RA::KH encloses all the services needed, not only to administrate the information that the RA::KR contains, but it also implements the learning and reasoning processes. Some examples of these services are: AddABelief(theBelief), AddAGoal(theGoal), CreateANewPlan(thePlan), ChangeAPlan(thePlan, theChange), AddARule(theRule), Reasoning( ), etc.
120
M. Paletta and P. Herrero
The rules are used to represent the experience associated to the problem the IVA is trying to resolve. Any rule is an IF-THEN structure [17] where the left hand side or conditional part is a combination of any of the following elements: 1) A valid goal (or sub-goal); it will has a true value if the goal status indicates that it was satisfied at the moment the rule is evaluated. 2) A valid belief statement; it will has a true value if it unifies with any of the beliefs registered in the correspondent RA::KR element. 3) A valid stimulus (see below); it will has a true value if this stimulus was recently received by the IVA. Any stimulus consists on a 2-tuple “” that represents the information “data” coming from the environment captured by a sensor (“source”). The “source” element must set to one of the possible values defined in SIFIVA and associated with a valid service category which has the ability to sense this kind of source (vision, sound, etc.). The right hand side or consequent part of the rule determines a possible reaction of the IVA. It consists on a combination of the following kind of actions: 1) Setting a goal state (there are two possible values: satisfied or unsatisfied). 2) Executing a specific activity (ability) according to the predefined categories (talking, moving, face expressing, etc.). The reasoning process occurs when a new stimulus arrives and the IVA looks for an adequate answer. Firstly, it evaluates the rules to know whether there is any experience with the new information. Any rule that satisfied the conditional part is triggered in a synchronous way, that means, changes in the goal status are not applied until all the rules are evaluated. Once all the rules have been evaluated and if at least one rule was triggered, plans are checked first in order to review if some goals were satisfied. After that, the rules are evaluated again and the entire process is repeated until there are no more rules satisfied. All the stimuli that are received before the IVA reacts are temporally storage and used in the reasoning mechanism. Once the IVA start reacting, whether because a rule if satisfied or for indication of another agent (when it is talking about cooperation) or for indication of the human which is interacting with the IVA, all the actions are temporally storage and associated to the stimuli. This information is used to learn from the expert, whether to add a new rule or to change an existing rule to reinforce the apprenticeship. Learning happens when this relation finishes (once a new stimulus is received after the sequence of actions) and the process is repeated again. 2.3 Representing the Information in SIFIVA Due to its simplicity and flexibility, XML (Extensible Markup Language) has been used as the basic representation language for covering SIFIVA functionalities, particularly knowledge representation. Since XML is a universal and web-based data format, it is appropriate for an independent platform and has become a widely accepted standard data interchange technology, so its general usability is guaranteed for the next years [4].
A Human-Like SOA-Based Interdisciplinary Framework for Intelligent Virtual Agents
121
Based on this affirmation, the knowledge repository is represented and storage using a XML based document. The XML based language used for this purpose is part of the results defined in SIFIVA. The tags and attributes used to represent the information are identified properly according to the element to be represented, for example: , , , , etc. Finally, in order to achieve the communication among the agents, the FIPA ACL abstract message structure was adopted to define a XML based language included in SIFIVA. It was used XML because it allows agent developers to extend sensor or effectors classes with their own ACL if they prefer so, and the text basis of XML minimises functional coupling between sensors and effectors of different agents [9]. Some implementation issues and therefore the way in which is possible to deal with the integration can be reviewed in the next section.
3 From Theory to Practice Most difficult part to deal with the implementation of this framework is making the integration a reality. Concepts like CORBA (Common Object Request Broker Architecture) have been extensively used to integrate heterogeneous agents using a standard protocol and communication mechanism. The idea here is quite similar with the difference that all the software components to be integrated are seen as a single entity and the integration mechanism is more transparent and simple. For each component it is necessary to incorporate a layer of software that permits the relationship with the IVA::IA. To do this there is an appropriate API or SDK for the platform in which the component was developed (e.g. Java, Python, C#, etc.). The Fig. 3 shows an example in which there are two software components that implements the abilities of sound handled and face expression respectively. IVA IVA::RA
IVA::IA Communication Channel
IVA::EA
IVA::SV Sound Handled Face Expression
Fig. 3. An example of integration of two abilities to the IVA
Next section presents an example of how SIFIVA can be used to implements an IVA to assist helping a human and learning from him to use UML for modelling different systems. 3.1 A Virtual Assistant for Using UML UML (Unified Modeling Language) has become one of the standards most used for the software systems modeling. It permits the systems creators to generate designs that capture its ideas in a conventional form and it is also easy to understand in order
122
M. Paletta and P. Herrero
to communicate these ideas to other people. This is one of the reasons why UML was chosen to test SIFIVA by the development of an IVA to assist a human and learning from him to use UML for modelling different systems. For this problem, the general goal is regarding with the design of the model (“Design the UML Model”) and there are sub-goals associated with: 1) each UML view completed (“Completing the Use Case View”, “Completing the Logical View”, Completing the Component View”, “Completing the Deployment View”); 2) each UML diagram completed (“Completing the Case Use Diagram”, “Completing the Class Diagram”, “Completing the Collaboration Diagram”, etc.). The plan is related to the correct order to satisfy the goals previously identify. In this sense and following the S-T specifications, the plan that the IVA must follow to achieve the general goal about the problem associated to this example can be reviewed in Fig 4. This plan is part of the RA::KR and thus represented in a corresponding XML format. Other plans associated to this problem are for example, defining a class, testing a use case diagram, etc. Completing the Use Case View Completing the Logical View Completing the Other Views
AND AND
Completing the Component View Completing the Deployment View Completing Other Diagrams
OR OR
Design the UML Model
Completing the Other Views
Completing the Use Case View
Completing the Use Case View
Completing the Class Diagram AND Completing the State-chart Diagram AND Completing the Collaboration Diagram OR Completing the Sequence Diagram
Completing the Logical View
Completing the Component View
Completing the Component Diagram
Completing the Deployment View Completing the Activity Diagram Completing the Object Diagram TRUE TRUE
Completing the Deployment Diagram OR OR Completing Other Diagrams Reasoning( )
Fig. 4. The plan of the UML assistant problem
As it was mentioned in Section 2.2, beliefs are represented using a kind of firstorder predicate logic. Some beliefs associated to this example are the following: “class is-a concept”, “case use is-a requirement”, “a collaboration diagram permits to test a case use diagram”, etc. The IVA is represented by an avatar and has the abilities of handing the sound (listening and speaking) and changing its face expression. Whether the avatar graphical interface as these two abilities, are independent software components integrated to the IVA as it was indicated previously (see Fig. 3). Knowledge is initially empty so that, the first thing the IVA must do is to learn from an expert human in the use of UML for modeling systems. Once the IVA has learned, it can be used to assist an inexperienced human in this matter. Learning not only deals with the correct way to proceed but also what should not be done (the sequence indicated by the plan isn’t being respected or any action goes in
A Human-Like SOA-Based Interdisciplinary Framework for Intelligent Virtual Agents
123
contradiction with the agent beliefs). Face expression ability is used for expressing if things are doing well or not. An example of the steps that the IVA follows to learn (to add a rule into the RA::KR) is as below: 1) The agent captures from the environment (produced by the expert) the stimuli and . 2) The agent captures the stimulus . 3) The expert reacts making an inheritance relation between C1 and C2. 4) The agent senses from the environment whatever other stimulus. 5) Once received the stimulus in (4) the agent prepares the rule with the stimuli (conditional part) received in (1) and (2) and the reaction given in (3). At this time, this IVA is developing using C# programming language. Framework is testing by the use of basics software components (developed also in C#) which simulate the interaction abilities. The API’s or SDK’s needs to integrate the existing and appropriate components for these abilities are also developing at this time.
4 Conclusions In this paper we have presented SIFIVA, a common framework to make IVA’s more human-like. We focused on the experience of previous research works made on this direction, emphasizing on the idea of integrating software components to structure a human-like agent. The most important aspect of SIFIVA is the way in which the theory related to FIPA, XML, SOA, OAA, BDI, T-R sequence and knowledge rule is integrated to define a human-like SOA-based interdisciplinary framework for IVA’s. On one hand, this proposal focuses on autonomy, simplicity and transparency. On the other hand, this proposal intends to achieve a rational agent and therefore it focuses on learning and reasoning processes more than perception. Due to space restrictions, we could not present extensively the entire design of the framework, such as the XML based languages use to represent the knowledge or the message for agent communication. For this reason we basically focused on the key aspects of this proposal such as the learning ability. As for future research work, we are currently working on the development of the API´s or SDK’s required for the integration of software components based on different platforms (Java, Python and C# for the moment).
References 1. Buczak, A.L., Cooper, D.G., Hofmann, M.O.: Evolutionary agent learning. International Journal of General Systems 35(2), 231–254 (2006) 2. Caicedo, A., Thalmann, D.: Intelligent decision-making for virtual humanoids. In: Floreano, D., Mondada, F. (eds.) ECAL 1999. LNCS, vol. 1674, pp. 13–17. Springer, Heidelberg (1999) 3. De Antonio, A., Ramírez, J., Méndez, G.: An Agent-Based Architecture for Virtual Environments for Training. In: Developing Future Interactive Systems, ch. VIII, pp. 212– 233. Idea Group Publishing, USA (2005)
124
M. Paletta and P. Herrero
4. de Vries, A.: XML framework for concept description and knowledge representation. In: Artificial Intelligence; Logic in Computer Science; ACM-class: I.7.2; E.2; H.1.1; G.2.3; arXiv:cs.AI/0404030 Ver. 1 (2004), http://arxiv.org/abs/cs.AI/0404030 5. Foundation for Intelligent Physical Agents, FIPA ACL Message Structure Specification, SC00061, Geneva, Switzerland (2002), http://www.fipa.org/specs/fipa00061/index.html 6. Foundation for Intelligent Physical Agents, FIPA Abstract Architecture Specification, SC00001, Geneva, Switzerland (2002), http://www.fipa.org/specs/fipa00001/index.html 7. Genesereth, M.R., Singh, N.P.: A knowledge sharing approach to software interoperation, Technical Report Logic-93-1, Department of Computer Science, Stanford University, Stanford, CA (1993) 8. Guye-Vuilleme, A., Thalmann, D.: A high-level architecture for believable social agents. Virtual Reality, Virtual Reality (UK) 5(2), 95–106 (2000) 9. Maher, M.L., Smith, G.J., Gero, J.S.: Design Agents in 3D Virtual Worlds. In: Proc. Workshop on Cognitive Modeling of Agents and Multi-Agent Interactions (IJCAI), pp. 92–100 (2003) 10. Martin, D.L., Cheyer, A.J., Moran, B.D.: The Open Agent Architecture: A Framework for Building Distributed Software Systems. Applied Artificial Intelligence 13(1-2), 21–128 (1999) 11. Monzani, J.: An Architecture for the Behavioral Animation of Virtual Humans, PhD Thesis, École Polytechnique Fédérale de Lausanne (2002) 12. Namee, B.M., Dobbyn, S., Cunningham, P., O’Sullivan, C.: Simulating Virtual Humans Across Diverse Situations. In: Rist, T., Aylett, R., Ballin, D., Rickel, J. (eds.) IVA 2003. LNCS (LNAI), vol. 2792, pp. 159–163. Springer, Heidelberg (2003) 13. Nilsson, N.J.: Teleo-Reactive Programs for Agent Control. Journal of Artificial Intelligence Research 1, 139–158 (1994) 14. Paletta, M., Herrero, P.: Learning from an Active Participation in the Battlefield: A New Web Service Human-based Approach. In: Meersman, R., Tari, Z., Herrero, P. (eds.) OTM 2006 Workshops. LNCS, vol. 4277, pp. 68–77. Springer, Heidelberg (2006) 15. Paletta, M., Herrero, P., Méndez, G.: Banking Frauds: An Agents-Based Training Framework to Follow-up the Swindlers Learning Process. Special Issue of International Transactions on Systems Science and Applications 3(2) (to be published, 2007) 16. Pokahr, A., Braubach, L., Lamersdorf, W.: Jadex: A BDI Reasoning Engine. In: Multiagent Systems, Artificial Societies, and Simulated, Organizations. International Book Series, vol. 15, pp. 149–174. Springer, Heidelberg (2005) 17. Post, E.: Formal reductions of the general Combinatorial Problems. American Journal of Mathematics 65, 197–268 (1943) 18. Rao, A.S., Georgeff, M.P.: Modeling Rational Agents within a BDI-Architecture. In: Proc. Second International Conference on Principles of Knowledge Representation and Reasoning, pp. 473–484. Morgan Kaufmann publishers Inc., San Mateo (1991) 19. Ruttkay, Z.M., Zwiers, J., Welbergen, H.v., Reidsma, D.: Towards a reactive virtual trainer. In: Gratch, J., Young, M., Aylett, R., Ballin, D., Olivier, P. (eds.) IVA 2006. LNCS (LNAI), vol. 4133, pp. 292–303. Springer, Heidelberg (2006) 20. Sansonnet, J.P., Leray, D., Martin, J.C.: Architecture of a Framework for Generic Assisting Conversational Agents. In: Gratch, J., Young, M., Aylett, R., Ballin, D., Olivier, P. (eds.) IVA 2006. LNCS (LNAI), vol. 4133, pp. 145–156. Springer, Heidelberg (2006)
Semantically Resolving Type Mismatches in Scientific Workflows Kheiredine Derouiche and Denis A. Nicole School of Electronics and Computer Science, University of Southampton, Highfield, Southampton, SO17 1BJ, UK {kd05r,dan}@ecs.soton.ac.uk
Abstract. Scientists are increasingly utilizing Grids to manage large data sets and execute scientific experiments on distributed resources. Scientific workflows are used as means for modeling and enacting scientific experiments. Windows Workflow Foundation (WF) is a major component of Microsoft’s .NET technology which offers lightweight support for long-running workflows. It provides a comfortable graphical and programmatic environment for the development of extended BPEL-style workflows. WF’s visual features ease the syntactic composition of Web services into scientific workflows but do nothing to assure that information passed between services has consistent semantic types or representations or that deviant flows, errors and compensations are handled meaningfully. In this paper we introduce SAWSDL-compliant annotations for WF and use them with a semantic reasoner to guarantee semantic type correctness in scientific workflows. Examples from bioinformatics are presented.
1 Introduction Scientists often utilize computational tools and information repositories to conduct their experiments. Such resources are being made available with programmatic access in the form of Web services. This e-Science approach enables scientists and researchers to work in collaboration. Grid computing builds infrastructures for eScience to support global distributed collaborative efforts [1]. Research and development efforts within the Grid community have produced protocols, services, and tools that address the challenges of the field. The Globus Toolkit [2] is an open source set of services and software libraries that supports Grids and Grid applications. UNICORE [3] is a system that offers a Uniform Interface to Computing Resources; it defines a layered Grid architecture consisting of user, server and target system tier. gLite [4] is a lightweight Grid middleware developed as part of the EGEE that provides a full range of basic Grid services available for different scientific areas. Scientists are ultimately interested in tools that allow them to bring together the power of various computational and data resources, by developing and executing their own scientific workflows. Resources are supplied by third parties and as such the operations provided are often incompatible with each other. Resolving resource mismatches requires the designer’s intervention, which can be a difficult and a R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Workshops, Part I, LNCS 4805, pp. 125–135, 2007. © Springer-Verlag Berlin Heidelberg 2007
126
K. Derouiche and D.A. Nicole
time-consuming task for scientists. Another major problem is the inefficient handling of failed workflows. Such complexities should be hidden by the scientific workflow system from the user. Web services provide the basis for distributed, service-oriented systems. Web service standards such as WSDL provide syntactic descriptions of Web services functionalities using XML Schemas to describe component types. They fail to capture the semantics of complex scientific data. In this paper we propose an approach that integrates semantics into a standard industrial workflow management system, thus allowing the automatic detection and resolution of service mismatches in workflows at design time. The paper is organized as follows: In Section 2 we provide a general overview of different workflow management systems. In Section 3 we briefly survey the enabling technologies for Semantic Web services. In Section 4 we describe the semantic annotations used to verify the compatibility of services during workflow composition. In Section 5 we present our prototype tool and how it is used to detect and resolve mismatches. In Section 6, we compare our work with existing approaches. Finally, in Section 7 we close the paper by discussing our ongoing work and future directions.
2 Scientific Workflows Scientific workflows are becoming an important mechanism for scientists to combine scientific data management, analysis, simulation, and visualization tasks. Scientific workflow’s characteristics and requirements partially overlap those of business workflows. A detailed comparison, however, reveals some significant differences. Business workflows operate on data that is usually stored and managed in databases, e.g. as SQL tables. On the other hand, scientific workflows operate on large, complex, and heterogeneous data. Scientific data is typically stored as large data files encoded in different formats specific to a particular scientific field, e.g. the FASTA format [5] used in bioinformatics to represent protein sequences. These data files maybe indexed in SQL databases for management purposes. Scientific workflows can be computationally intensive, and can produce complex data that is reused in other workflows. Furthermore, business workflow modeling and execution approaches often focus on control-flow and events, whereas scientific workflow systems tend to have execution models that are much more dataflow-driven. Several business environment workflow technologies have been developed to support effective management of organizational processes. Efforts involved process modeling, and workflow implementation and automation. Business Process Execution Language for Web Services (BPEL4WS) 1.1 [6] is emerging to be an important standard for workflow definition. It forms the basis of the forthcoming WS-BPEL 2.0 OASIS standard [7]. BPEL can be adapted for scientific and Grid services orchestration; its limitations can be overcome by supporting standard technologies such as WS-* specifications [8] [9]. There are several projects that aim to address different aspects of scientific workflows. Taverna [10] provides a graphical interface for biologists and bioinformaticians to build and execute scientific workflows in the Grid. It also supports concurrency, making it suitable for tasks handling concurrent processing.
Semantically Resolving Type Mismatches in Scientific Workflows
127
Windows Workflow Foundation (WF) [11] is a Microsoft technology, part of the .NET Framework 3. The technology allows developers to define, execute, and manage workflows. WF supports two types of workflows: sequential and state machine. Workflows in WF comprise activities, typically implemented in a common language runtime (CLR)-based programming language such a C# or Visual Basic®. WF includes a set of general-purpose activities that cover most control flow constructs. WF provides the developers with the ability to develop custom activities to solve their domain-specific problems. Workflows can be designed using a visual designer hosted in Visual Studio through a set of extensions. The workflow structure can be alternatively declared in XAML, a new XML-based language. Although WF is marketed as a tool for designing solutions to business problems, it can be easily leveraged to develop workflows in scientific environment [12].
3 Semantic Web Services Web services technologies aim to provide reliable, ubiquitous software interoperability across platforms, across networks, and across organizations. Current standard technologies for Web services such as the Web Services Description Language (WSDL) [13] provide only a syntactic-level description of their functionalities. Web services can be published and discovered through UDDI descriptions, offering human oriented metadata that describes what the Web services does, and which organization developed it. Early in 2006 IBM, SAP, and Microsoft discontinued the UDDI Business Registry (UBR) project. The vendors are continuing the support of UDDI standards in their products and services, e.g. Microsoft includes UDDI services in Windows Server 2003. Web services can be invoked using common communication protocols such as SOAP. However, the lack of machine readable semantics necessitates human intervention for automated service discovery and composition, thus restricting their usage in complex business domains. Semantic Web services technology aims to enable the automation of service discovery, composition, and invocation by augmenting Web services with rich formal descriptions of their capabilities. The concept was proposed around 2001 [14], and the field includes substantial efforts, such as the Web Ontology Language for Services (OWL-S) [15], the Web Services Modeling Ontology (WSMO) [16], and Semantic Annotations for Web Service Description Language (SAWSDL) [17].
4 Semantic Web Service Annotations 4.1 Semantic Annotations for Web Service Description Language SAWSDL is a set of standards produced by the World Wide Web Consortium (W3C). It is primarily based on the earlier work on WSDL-S [18]. It defines extension attributes that can be applied to elements in both WSDL and XML Schema in order to annotate WSDL interfaces, operations and their input and out messages. SAWSDL semantic annotations are agnostic to the ontology or mapping language used, as long as all the concepts can identified with URIs. SAWSDL provides two basic semantic annotation constructs, Model References, and Schema Mappings.
128
K. Derouiche and D.A. Nicole
There exist several tools and APIs that support SAWSDL specifications. SAWSDL4J [19] is one such API implemented in Java allowing the development of SAWSDL based applications. It extends the WSDL4J API for WSDL1.1. Woden4SAWSDL is a WSDL 2.0 parser, based on Apache Woden. Semantic Tools for Web Services by IBM alphaWorks are semantics-based eclipse plug-ins for Web service discovery, and composition. The Web services are annotated using semantic annotations from ontologies in WSDL-S format. The tool infers the ontological similarities of the semantic annotations associated with Web service descriptions. SAWSDL efforts are based on the WSDL-S approach. Radiant [20] is an eclipse plug-in that supports the creation and publication of SAWSDL service interfaces. It also allows adding annotations to existing service descriptions in WSDL through a graphical interface. WSMO Studio is an open source environment for WSMO; it features an SAWSDL editor for adding semantic annotations to WSDL documents. 4.2 Model References SAWSDL introduces the attribute modelReference, a semantic model reference from elements in WSDL or XML Schema to concepts in a semantic model (usually an ontology or taxonomy) via URIs. Model references can be used on WSDL interfaces, operations, message parts, and on XML Schema elements or types. Model references can have many uses, they can provide a classification of a WSDL interface, what a WSDL operation does, and define the semantics of the inputs and outputs of WSDL operations. XML Schema describe the content of a WSDL message. They define elements associated with a message of a WSDL operation. Operations with parameters of primitive data types such as double or string can have different meanings, since such types tell very little about a the functionality of usage associated with an operation using that type. Model reference annotation associates a semantically defined concept in, for example an OWL ontology, with the corresponding unit of structure in XML Schema. Allowing such annotations can provide value by helping verify type compatibility between operations of connected services. Section 5.1 provides a more detailed description on how the annotations are used to achieve type verification semantically. 4.3 Schema Mappings The extension attributes liftingSchemaMapping and loweringSchemaMapping are used to address post-discovery issues in using a Web service. These annotations define a mechanism for specifying the structural mapping of XML Schema types to and from an ontology; such mappings can be used during invocation, particularly if mediation is required. Lifting schema mappings specify how XML Schema types for WSDL type definitions are transformed to a semantic model, whereas lowering schema mappings define how data expressed in a semantic model are translated to data expressed in an XML document. Both mapping mechanism are agnostic to ontology languages and mapping languages; no restriction exists over the languages that can be used. Section 5.2 describes how the schema mapping annotations are used at runtime to resolve structural mismatches between semantically matched types.
Semantically Resolving Type Mismatches in Scientific Workflows
129
5 Semantic Annotations in Windows Workflow Foundation 5.1 Semantic Parameter Binding in Scientific Workflows Scientific workflows can be regarded as data-driven workflows, where structured activities whose parameters are compatible are connected using data links. However, this compatibility is realized on a syntactic level only, if the service descriptions are augmented with semantic annotations the compatibility will be ensured at the semantic level as well. In our approach we consider SAWSDL annotations to ensure parameter compatibility in scientific workflows. The specifications build on existing Web services standards using only extensibility elements. The annotation mechanisms are independent of the semantic representation language. Model references are used to annotate WSDL components and type definitions. Annotations for interfaces and operations provide a high level description of the service capabilities. These annotations are mainly intended to be used in service discovery, matching, and composition. In our approach, we focus on message and type annotations, which provide semantic descriptions on the types of operation parameters in scientific workflows. In WF, the concept of data links between activities is implemented in the ActivityBind class. This class allows the flow of data from one activity to another within a workflow, and it is achieved through binding activity members, such as fields or properties. The mechanism used to validate the data binding of activity properties relies on the assignability of their runtime types. One of the activities that WF supports is an activity for invoking Web services. Web service parameters are exposed as properties that need to be bound to properties within the workflow or properties of other activities. In order to connect parameters in a semantic way, we need to overcome the limitation of the WF approach of data binding validation. To realise the semantic binding of service parameters, we introduce a Semantic Web service to the WF activity library. Using the semantic annotations of parameter types in the Web services, we can automate the binding process, and ensure that connected parameters are semantically compatible at design time. Binding parameters semantically is based on reasoning over the ontological concepts associated with parameter types. The reasoning process can perform inferences leading to the recognition of semantic compatibility despite syntactic differences. By exploiting the hierarchical structure of ontologies, the reasoning mechanism can differentiate between two types of relations, equivalence and subsumption. If no compatible possible binding is found for a particular parameter, then it has to be manually bound. Binding connects the parameters of composed Web services, e.g. serviceA and serviceB. If the input parameters of serviceB require their values from the output parameters of serviceA, the user has to manually bind the appropriate parameters between the two services to enable the flow of data in this part of the workflow. If some parameters are syntactically different, the user is not allowed to connect them. Our mechanism will automatically bind an input parameter of serviceB to the semantically compatible output parameter of serviceA. Semantic compatibility is defined by the inferred relations resulting from the reasoning over associated semantic
130
K. Derouiche and D.A. Nicole
concepts. If serviceB’s input parameter is semantically equivalent to, or a subconcept of serviceA’s input parameter, then a binding is established between the two. 5.2 Parameter Mapping at Execution Time Model references operate at the semantic level to ensure compatible parameters are correctly connected. In WF workflows, the task was accomplished using semantic reasoning in order to automate the bindings of parameters. Compatible semantic concepts can have syntactically different serializations. In order to resolve structural mismatches between compatible parameters, the corresponding ontological concepts need to be grounded to concrete data types. SAWSDL enables the annotation of the type definitions of a Web service with schema mapping extension attributes. The liftingSchemaMapping attribute defines how an XML data is transformed to semantic data. On the other hand, loweringSchemaMapping attribute defines how data in a semantic model is transformed to XML instance data. When the WF workflow is executed, the appropriate schema mappings of semantically connected parameters are used to resolve the type mismatch. Between composed services, serviceA and serviceB, a set of parameters are semantically bound. At execution time the evaluated value of serviceA’s output parameter is serialized to the defined XML data and translated to the corresponding semantic data. After a successful execution the semantic data is mapped to XML data that conforms to the XML Schema definition of serviceB’s input parameter. 5.3 Integration and Implementation WF’s extensibility features allows the development of custom activities to solve domain-specific problems. We developed a new WF activity, called the Semantic Web service (SWS) activity, which allows the semantic description of Web services using SAWSDL documents. By integrating the SWS activity into the WF library, we allow the composition of Semantic Web services and the semantic binding of connected parameters. The implemented SWS activity extends the out-of-the-box Web service activity. It can be generated using SAWSDL documents, as well as WSDL documents. The .NET framework provides standard .NET libraries for representing, manipulating, reading and writing WSDL 1.1 documents. There is no current support for WSDL 2.0 specifications, so we had to implement the SAWSDL specification for WSDL 1.1 instead of WSDL 2.0. The SAWSDL specification was supported by an implementation of an API that extends the provided WSDL 1.1 library. It currently has full support for all SAWSDL specifications for WSDL 1.1, including model reference annotations for WSDL components, such as operations and messages, as well as XML Schema type definitions, such as XML elements and complex types. SAWSDL does not restrict the annotation mechanism to a specific ontology representation language. OWL or RDF are two W3C recommended standards, widely used as representation languages for ontologies, and by adopting these standards we gained access to a wide range of existing domain models e.g. life sciences and healthcare. Most importantly, annotation with semantic concepts allows performing semantic reasoning on associated types to infer the compatibility of connected
Semantically Resolving Type Mismatches in Scientific Workflows
131
parameters. Our choice also gave us access to Jena, an open source Semantic Web framework for Java, providing a well supported API that fully supports OWL and RDF. The framework has various internal reasoners, but also provides support for external reasoners such as the Pellet reasoner. A few .NET libraries do exist for the Semantic Web such as SemWeb and Redland libraries, they provide, however, only a partial support. In order to integrate Jena’s and Pellet’s API into our C# implementation of the SWS activity, we used IKVM. IKVM is an implementation of Java for the .NET framework; it includes a Java Virtual Machine implemented in .NET, a .NET implementation of the Java class libraries, and tools that enable Java and .NET interoperability. IKVM provides a static compiler that converts Java API to .NET Common Intermediate Language (CIL), producing .NET Dynamic-Link Libraries (DLL), thus giving access to the needed Jena features. The semantic binding mechanism connects Web service parameters at design time. Semantic annotations associated with the parameter types are used in Jena to load the appropriate semantic models; enabling inferencing using the Pellet reasoner. SAWSDL defines schema mappings that overcome the structural mismatch problem between related semantic models. No restriction exists on the choice of the mapping language. However, to comply with our choice of OWL and RDF, we decided to choose an XSLT and SPARQL combination to support the bidirectional mapping between WSDL XSD elements and OWL concepts. The .NET framework does provide libraries to support XML translations technologies such as the XSLT and XQuery specifications. Semantic data, such as RDF graphs, is queried using SPARQL, which is supported in Jena through a query engine. Using a compiled .NET Jena library, the structural mismatches between semantically connected parameters are resolved by executing the associated mappings at runtime. 5.4 Applying the Semantics to Scientific Workflows In order to assess the value of the semantic annotations for Web services, and the binding mechanism described here, we apply our proposed approach to Web services from the domain of bioinformatics. A large number of public Web services are available in bioinformatics. For example, the European Bioinformatics Institute (EBI) provides several Web services that provide access to services, such as database retrieval and similarity searches. Using the SAWSDL framework, we will be annotating Web services with semantic concepts from ontologies in the bioinformatics domain. ProPreO is a Proteomics data and process provenance ontology, and it is listed at Open Biomedical Ontologies (OBO). Most of the key data types in bioinformatics have multiple data representation. The inputs and outputs of most bioinformatics operations are weakly typed. In most cases, parameters are either defined as strings or arrays of strings. Annotating parameter types with semantic concepts from bioinformatics ontologies will provide a strong type system where operations from different Web services can be safely composed. The workflow in Figure 1 is intended to perform a similarity searches over biological sequences. It finds similar sequences to a given DNA sequence. It first retrieves the DNA sequence from the DDBJ database1, and then it searches for similar 1
http://www.ddbj.nig.ac.jp
132
K. Derouiche and D.A. Nicole
accession
GetFastaDDBJEntry
database
email
sequence
BlastN
jobID Fig. 1. Automatic binding in a bioinformatics workflow
sequences using Blast. The GetFastaDDBJEntry is an operation from the GetEntry Web service. It takes an accession number as input and returns the retrieved DNA sequence of FASTA format from the database. This sequence, email and database are inputs to invoke the BlastN operation from the WSWUBlast Web service, which returns a jobID that can be used to retrieve the aligned DNA sequences. All the parameters of the used operations are of type string, which is a primitive type that tells little about the nature of the parameter. We therefore annotate the DNA sequence with the DNASequence concept. Using our implemented Semantic Web service activity we build the workflow in Figure 1. Our semantic mechanism attempts to automatically bind the inputs of BlastN to compatible outputs of GetFastaDDBJEntry. Since the parameters of the two operations are both annotated with DNASequence, a data binding is automatically established between them. The bound parameters are both of type string, so no translation is needed since no structural mismatch exists. In a different scenario, the workflow can be modified to use to BlastP operation instead, which finds similar sequences to a given protein sequence. Its input parameter is of type string, and is annotated with the concept ProteinSequence. Attempting the binding this time will fail since ProteinSequence is not a subclass or an equivalent class of DNASequence.
6 Related Work Several Grid workflow systems have been proposed and developed for defining, managing, and executing scientific workflows [21]. Taverna is the workflow management system for the myGrid project, which target bioinformatics workflows. It uses a modeling language called Simple Conceptual Unified Flow Language (SCUFL). Workflows in Taverna possess input and output data entries that can be
Semantically Resolving Type Mismatches in Scientific Workflows
133
annotated with three types of metadata: a MIME type, a semantic type based on the myGrid bioinformatics ontology, and a free textual description. A prototype extension to the Taverna workbench has been developed in an attempt to detect different kinds of mismatches between connected parameters in workflows. The prototype implements a framework that defines layered ontologies to characterize parameter mismatches and accordingly classifies them into several categories. An abstract mapping approach is also proposed in order to resolve detected mismatches. The approach does not define a practical mechanism that supports the grounding of the semantic annotation to concrete data types to support workflow enactment. The parameter mappings are defined as transformation functions between the connected parameters, instead of annotations associated with the structural type of the parameter and the corresponding semantic type. In Triana [22], data links are checked at design time and connected parameters with incompatible data types are flagged with warning messages. In the Kepler [23] system workflows are viewed as a composition of components called actors. Communication between actors happens through interfaces called ports. An object called a director defines how actors are executed and how they communicate with each other. The system handles Web services and Grid services incorporation into workflows, and eventually their invocation and execution. Kepler supports the mapping of parameters that have a type mismatch, but the handled mismatches are a subset of Taverna’s proposed extension. However, these mappings do not make use of SPARQL to query semantic models, and instead rely solely on XSLT and XQuery transformations. Several efforts studied the applicability of BPEL to semantic workflows and Grid environments. Emmerich et al., [24] present a case study where BPEL is used to define scientific workflows, and ActiveBPEL is used as enactment engine for the BPEL definitions. Dörnemann et al., [25] proposed an approach that extends BPEL specification by introducing a new activity to handle the invocation of stateful services. Custom activities, defined within a BPEL composition, cannot be reused later in other workflow definitions. This makes workflow design a complicated task, and with code repetition it makes the workflow unnecessarily large. On the other hand, WF extensibility allows the definition of custom activities that can be reused across different workflows. It also provides a visual designer that facilitates workflow authoring and manipulation for the user. It allows the user to embed C# or Visual Basic code in the workflow to implement simple actions. Compared to BPEL, WF is a lightweight environment for defining, executing, and monitoring workflows. However, neither BPEL nor WF supports checking the semantic compatibility of data types between composed services within a workflow.
7 Future Work and Conclusions In this paper we have showed how, using business target workflow solution, we can develop fully qualified scientific workflows. Furthermore, we extended the framework to support Semantic Web services and provided a mechanism that lets users develop scientific workflows with no type mismatches by automating the data binding between composed Web services. We have developed a prototype implementation for the approach, and it is executable through Microsoft’s Visual
134
K. Derouiche and D.A. Nicole
Studio environment. Further optimizations are possible for the approach, which are subject to further research. Further development of this technology will allow us to ensure that workflows are structured with appropriate compensations and exception handling to minimize wasted computation in failed (deviant) workflows.
References 1. Foster, I., Kesselman, C. (eds.): The Grid: Blueprint for a New Computing Infrastructure. Morgan Kaufmann, San Francisco (1998) 2. The Globus Alliance. http://www.globus.org/ 3. UNICORE. http://www.unicore.org/ 4. EGEE > gLite. http://glite.web.cern.ch/glite/ 5. FASTA Format Description. http://www.ncbi.nlm.nih.gov/blast/fasta.shtml 6. Andrews, T., Curbera, F., et al.: Business Process Execution Language for Web Services Version 1.1. http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/wsbpel.pdf 7. Barreto, C., Ballard, V., et al.: Web Services Business Execution Language Version 2.0, Primer, OASIS (2007), http://www.oasis-open.org/committees/download.php/23964/wsbpelv2.0-primer.htm 8. Akram, A., Meredith, D., Allan, R.: Evaluation of BPEL to Scientific Workflows. In: CCGRID, pp. 269–274. IEEE Computer Society, Los Alamitos (2006) 9. Tan, K.L.L., Turner, K.J.: Orchestrating Grid Services using BPEL and Globus Toolkit. In: 7th Annual PostGraduate Symposium on the Convergence of Telecommunications, Networking and Broadcasting, Liverpool (June 2006) 10. Oinn, T., Addis, M., Ferris, J., Marvin, D., Senger, M., Greenwood, M., Carver, T., Glover, K., Pocock, M., Wipat, A., Li, P.: Taverna: A Tool for the Composition and Enactment of Bioinformatics Workflows. Bioinformatics 20(17), 3045–3054 (2004) 11. Windows Workflow Foundation (WF). http://wf.netfx3.com/ 12. Paventhan, A., Takeda, K., Cox, S.J., Nicole, D.A.: Leveraging Windows Workflow Foundation for Scientific Workflows in Wind Tunnel Applications. In: SciFlow 2006. IEEE Workshop on Workflow and Data Flow for Scientific Applications, Atlanta, GA (2006) 13. Chinnici, R., Moreau, J., Ryman, A., Weerawarana, S. (eds.): Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language, W3C Recommendation (26 June, 2007) www.w3.org/TR/wsdl20 14. McIlraith, S., Son, T.C., Zeng, H.: Semantic Web Services. IEEE Intelligent Systems 16(2), 46–53 (2001) 15. Martin, D., Burstein, M., Hobbs, J., Lassila, O., McDermott, D., McIlraith, S., Narayanan, S., Paolucci, M., Parsia, B., Payne, T., Sirin, E., Srinivasan, N., Sycara, K.: OWL-S: Semantic Markup for Web Services, W3C Member Submission (November 2004), http://www.w3.org/Submission/2004/SUBM-OWL-S-20041122/ 16. Lausen, H., Polleres, A., Roman, D.: Web Service Modelling Ontology (WSMO). W3C Member Submission (2005), http://www.w3.org/Submission/WSMO/ 17. Farrell, J., Lausen, H. (eds.): Semantic Annotations for WSDL and XML Schema, W3C Proposed Recommendation (July 05, 2007), http://www.w3.org/TR/sawsdl/ 18. Akkiraju, R., Farrell, J., et al.: Web Service Semantics – WSDL-S, W3C Member, Version 1.0. Submission (November 7, 2005), http://www.w3.org/Submission/WSDL-S/
Semantically Resolving Type Mismatches in Scientific Workflows
135
19. SWASDL4J. http://knoesis.wright.edu/opensource/sawsdl4j/ 20. Radiant. http://lsdis.cs.uga.edu/projects/meteor-s/downloads/index.php?page=1 21. Yu, J., Buyya, R.: A Taxonomy of Scientific Workflow Systems for Grid Computing. SIGMOD Record 34(3), 44–49 (2005) 22. Taylor, I.J., Shields, M.S., Wang, I., Rana, O.F.: Triana Applications within Grid Computing and Peer to Peer Environments. J. Grid Comput. 1(2), 199–217 (2003) 23. Ludascher, B., Altintas, I., Berkley, C., Higgins, D., Jaeger, E., Jones, M., Lee, E.A., Tao, J., Zhao, Y.: Scientific Workflow Management and the Kepler System. Concurrency and Computation: Practice and Experience 18(10), 1039–1065 (2006) 24. Emmerich, W., Butchart, B., Chen, L., Wassermann, B., Price, S.L.: Grid Service Orchestration using the Business Process Execution Language (BPEL). UCL-CS Research Note RN/05/07 (June 07, 2005) 25. Dörnemann, T., Friese, T., Herdt, S., Juhnke, E., Freisleben, B.: Grid Workflow Modelling Using Grid-Specific BPEL Extensions. In: Proceedings of German e-Science Conference, Baden-Baden (2007)
A Group Selection Pattern for Agent-Based Virtual Organizations Coordination in Grids Isaac Chao1, Oscar Ardaiz2, and Ramon Sangüesa1 1
Computer Architecture Department, Polytechnic University of Catalonia, Spain {ichao,sanguesa}@lsi.upc.edu 2 Department of Mathematics and Informatics, Public University of Navarra, Spain [email protected]
Abstract. A key challenge in Grid computing is the achievement of efficient and self-organized management of the Virtual Organizations composing the system. Grids are often very heterogeneous, incorporating high dynamicity and unpredictability. Introducing higher levels of adaptation and learning in the coordination protocols may help coping with complexity. We provide a solution based on a self-organized and emergent mechanism evolving congregations of policy-based resource management agents through a Group Selection process. We provide a formalization of the Group Selection pattern; we show how the mechanism fits in a Service Oriented Grid infrastructure and further evaluate by simulation its performance as an agent’s policy coordination mechanism in Virtual Organizations. Keywords: Automatic Resource Allocation, Virtual Organizations Management, Group Selection pattern, Service Oriented Grids
1 Introduction Virtual organizations (VOs) are dynamic collaborative collections of individuals, enterprises, and information resources [Foster, 2001]. VOs are key enablers of the Grid Computing vision. VOs require very flexible sharing relationships. They are formed with the goal of performing resource sharing and coordinated problem-solving in dynamic, multi-institutional environments. VOs can be created to undertake their role for a very brief period of time, or exist for a longer term. They may be created on demand in dynamic, open and competitive environments. The following are examples of VOs: the application service providers, storage service providers, cycle providers, and consultants engaged by a car manufacturer to perform scenario evaluation during planning for a new factory; members of an industrial consortium bidding on a new aircraft; a crisis management team and the databases and simulation systems that they use to plan a response to an emergency situation; and members of a large, international, multiyear high energy physics collaboration. The more we want to allow for loosely coupled interactions, by conceding increased autonomy to the VO members, the more we lack in control over the VO emergent properties. The more we constraint VO participants freedom of choice, the more we prevent from VO formation between un-trusted potential new partners, inhibiting the full realization of the Grid vision in open systems (as precisely defined in [Sycara, 1998]). R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 136–148, 2007. © Springer-Verlag Berlin Heidelberg 2007
A Group Selection Pattern for Agent-Based Virtual Organizations Coordination
137
The Grid is intended to span across large and heterogeneous administrative domains, requiring for the Grid management system a high degree of scalability and flexibility. The bigger the scale, heterogeneity and dynamism of the target Grid, the more important becomes the inclusion of self-* properties. VOs have several key properties that distinguish them from traditional IT architectures: Autonomy of its members, which behave independently, constrained only by their contracts; heterogeneity of its members, which are independently designed and constructed, constrained only by the applicable interface descriptions; dynamism of the VO members which can join and leave with minimal constraints, affecting the configuration of a VO at runtime; structure, with VOs having complex internal structures, reflected in the relationships among their members. Importantly, even in cases where the above properties are not required (such as within an enterprise where the members are controlled by one party), it is appropriate to architect a VO as if it had the above properties. Policy management has been considered in distributed systems for many years. The IETF Policy framework was designed for managing network resources [IETFWG, 2000], but has a structure that applies more generally. This architecture assumes a network element (router, hub, or switch) where resource allocation decisions are made. A policy enforcement point or PEP resides within the network element. A policy decision point or PDP may be within or outside the element; policy decisions are made here. A PDP may use additional mechanisms to decide on an action. In Grid Computing, middleware toolkits provide several low levels tools to aggregate resources in federated directories and management access permissions [Foster, 2005]. The problem with traditional policy management consists in forcing the Grid administrator to perform management using Grid toolkits and to manually interact with network administrators in each domain to guarantee that the underlying network is properly configured for the Grid operation. This leads to a situation where new Grid requirements imply manual coordination between the Grid and network administrators is. The support provided by Grid toolkits to solve this situation is very limited and, in most cases, not even exist [Wasson, 2003]. The evolution of Grid Computing to more dynamic and heterogeneous systems imposes serious scalability and manageability issues to current policy-based management toolkits. Addressing those issues will require a shift in engineering approach, from traditional policy management, to emergent, self-organizing policy management. Group Selection refers to a process of natural selection that favors characteristics in individuals that increase the fitness of the group the individuals belong relative to other groups. Group Selection implies that every member of the group depends on a group characteristic that is not isolated in a single individual [Wilson, 1975]. Partitioning the population in groups of interaction heavily impact the coordination. Such groups form isolated niches where the sub-populations are allowed to evolve behaviors independently of the rest of the populations. The existence of niches maintains a large diversity in an evolving population since the evolutionary paths in separated niches may develop in entirely different ways. In this paper we provide a coordination mechanism based on Group Selection which can be used standalone or plugged into existent coordination architecture in order to optimize its performance. The key idea is that biasing interaction between Grid nodes by arbitrary identifiers enables efficient grouping of agents. Further group’s evolution through Group
138
I. Chao, O. Ardaiz, and R. Sangüesa
Selection optimizes groups in performance. Moreover, this grouping evolution trough inter-group migration inherits from the mechanism many desirable properties: it is adaptive, self-organized, decentralized and highly scalable. Additionally, this solution can be used to automatically manage Grid VOs lifecycle in the Grid, hence providing a valid mechanism for VO formation, evolution and disbanding which proves also self-organized and decentralized. We test by simulation the performance of the mechanism in a agents policy alignment scenario in VOs. The rest of the paper is organized as follows. In section 2 we review related work. In section 3 we introduce the Group Selection pattern and its instantiation for policybased VO management. In section 4 we provide experimental results extracted by simulation and evaluation. Section 5 concludes the paper.
2 Related Work Many projects are using VOs conceptually, but very few projects are addressing the management of VOs themselves. While the notion of a VO seems to be intuitive and natural [Camarinha, 2003], we still do not have clear definitions of what constitutes a VO or well-defined procedures for deciding when a new VO should be formed, who should be in that VO, what they should do, when the VO should be changed, and when the VO should ultimately be disbanded. In Conoise-G project [Patel, 2005] an agent system supporting robust and resilient VOs formation and operation is presented. Another project focusing on Trust issues is Tustcom [Trustcom, 2005] aiming to provide a trust and contract management framework enabling the definition and secure enactment of collaborative business processes within VOs that are formed on-demand, self-managing and evolve dynamically. In both Conoise-G and Trustcom approaches to VO management, components for helping automated VO management are developed, but no specific self-organization mechanism is provided. Selforganization mechanisms incorporating emergence bring into VO management higher levels of flexibility and adaptability, providing much more generic models, applicable for a wider range of scenarios. Since a VO is only a temporary conglomerate that is established to quickly react to complex demands of the market, it is mandatory that every decision on the interenterprise level (horizontal integration), is propagated through and reflected in all levels down to the lowest level, the machine level (vertical integration). This has lead to the concept of a holonic enterprise [Ulieru, 2002]. A holon is an autonomous and cooperative building block of a system that has a unique identity, yet may be made up of sub-ordinate parts and in turn may be part of a larger whole. The concept of holons enables the construction of very complex systems that are nonetheless efficient in the use of resources, highly resilient to internal and external disturbances, and adaptable and flexible in the face of changes in the environment in which they exist. To the extent of our knowledge this is the only approach for VO management focusing on emergence and self-organization. As for policy-based resource management in VOs, most of the Grids deployed both in scientific research and industry work use convenient Grid middleware. The Globus Toolkit [Foster, 2005] has emerged as a “de facto standard”. Globus toolkit offers a set of low level services which can be used to publish, discover, monitor and
A Group Selection Pattern for Agent-Based Virtual Organizations Coordination
139
meta-schedule resources on remote nodes in the Grid. However by no means it specifies mechanism to manage Grid VOs. The Globus Grid Security infrastructure (GSI) maps user identities to local user accounts, where access permissions are defined by the local system administration. This is shown to be too restrictive to support VOs in collaborative use of services The Globus Project has produced a Community Authorization Service (CAS) [Foster, 2003], which uses a push model to provide access permissions using X.509 extensions. The certificate extension contains attributes that detail a user’s permissions to Grid resources, including such low level details as to read/write file permissions. This micro management would be very difficult to maintain across a large Grid and almost impossible across organizations. Another push model system is the Virtual Organization Management System (VOMS) [Alfieri, 2003]. Similar to CAS, the user connects to the VOMS server and supplies the user with an extended X.509 certificate. In this case, VOMS extends the certificate with role and group attributes. The resource authenticating the certificate then needs to know the access policies for the roles and groups in order to make authorization decisions. CAS and VOMS are frameworks to managing and distributing attributes about authorization. Akenti [Thompson, 2003] is a policy engine providing a decision on a users’ request. It uses a pull model to obtain policies to certain permissions based on a user’s identity. Some of the systems described are able to work together, such as CAS and Akenti. However, all of these are focused on supporting large static communities and static resources. Alternative scenarios may contain a large number of users and requiring fine-grained access control policy for service instances that are shared between group members. The policy needs to specify user identities of the respective roles and must be dynamic. In this case, the access control policy for the group is an emergent property of the distributed policies for service instance access. The mechanisms described above do not provide the means to control the distributed policy across services and across organizations. Exploiting group structure in multiagent systems (MAS) has been proposed in previous research. Coalitions are formed by subsets of the population, and in general are goal oriented and short-lived. Coalitions have been studied in game theory community for decades, and can be composed of both cooperative and self-interested agents. Most of the coalition formation literature attempt to formalize optimal grouping mechanism for agent’s populations. Major limitations of these algorithms are a high computational complexity, and unrealistic assumptions regarding the availability of information [Shehory, 2004]. These issues prevents from practical usage of these mechanism in large scale scenarios such as Grids. An alternative group formation mechanisms proposed in MAS body of research is congregations. Congregations are subgroups in the agent population which have a defined purpose and organizational cost, though still releasing the full autonomy to agents. They are applied to electronic markets in [Brooks, 2002]. They are proved to serve as market optimizers. However we identify an important limitation in the congregation models proposed. Groups are static and agents can trade in just a specified number of subgroups. In contrary, Group Selection approaches enable for a dynamic view of the system, evolving the required number of subgroups depending on the changing agent’s requirements. An important drawback in the group formation mechanism presented above is that the dynamical view of the system is not addressed. Normally the optimal groups are
140
I. Chao, O. Ardaiz, and R. Sangüesa
calculated at some computational costs, and entering in a new domain application requires a complete recalculation of groupings from scratch. An exception to this rule is the work in [Merida-Campos, 2004], where iterative formation of multiple coalitions is attempted in response to a dynamic task environment. In general, the proposed solutions address the calculation of optimal groups centrally, supposing complete system knowledge to the central coalition-maker, with few exceptions such as the mentioned work in [Ulieru, 2002]. This panorama contrast with realistic environment is nowadays large scale distributed systems, where small, decentralized components need to deal autonomously with coordinated decision making. Group Selection is a fully decentralized mechanism which focuses in the dynamic view of the groups, iteratively ruling its evolution towards more optimal configurations. It has been shown that Group Selection can lead to the spread of group beneficial characteristics in many different grouped settings of agent’s populations [Boyd, 2002]. This enables the application of Group Selection processes in any group-like structured agent population. VOs in computational Grids are a concrete case of such group-structured MAS.
3 The Group Selection Pattern 3.1 Pattern Definition A software engineering design pattern is a general repeatable solution to a commonly occurring problem in software design. This is a description or template for how to solve a problem that can be used in many different situations. Patterns popularized after the publication of the classic book by Gamma et al. [Gamma, 1997]. Patterns in computer science have been used also coming from other disciplines. A relevant case is for bio-inspired computing, see Babaoglu et al. [Babaoglu, 2006]. They state in order to motivate the proposal of a family of design patterns coming from biology: “The motivation of the present work is that large-scale and dynamic distributed systems have strong similarities to some of the biological environments. This makes it possible to abstract away design patterns from biological systems and to apply them in distributed systems. In other words, we do not wish to extract design patterns from software engineering practice as it is normally done. Instead, we wish to extract design patterns from biology, and we argue that they can be applied fruitfully in distributed systems”. Another filed which has inspired several software design patterns is sociology [Edmonds, 2005]. Since Grids are naturally composed in VOs, a basic group unit already exists. The Group Selection process operates trough natural selection in several group-structured systems in nature: biological systems, evolving group-advantageous behaviors; humans societies, promoting high levels of cooperation [Bowles, 2004]; and economies, promoting the emergence of leading firms [Gowdy, 2003]. We want to build on these “good properties” of the mechanism to port the Group Selection process to an engineering pattern usable in large scale distributed systems amenable to group structure, such as Grids. Building on the experience gained by Babaouglu et al., we provide an algorithmic approach to the pattern (Figure 1) which can be instantiated in different “flavours” by simple variation of Interaction and Migration
A Group Selection Pattern for Agent-Based Virtual Organizations Coordination
APPLY INTERACTION RULE
141
Bootstrap agents in groups LOOP a number of rounds LOOP each group
STAY IN MY GROUP
No
LOOP each agent in the group (operation phase)
MIGRATION CONDITION?
Apply Interaction rule with another agent/agents from the group Collect Payoff
Yes
ENDLOOP APPLY MIGRATION RULE
ENDLOOP LOOP each agent in the population (evolution phase)
STAY WITH MY CURRENT STRATEGY (static strategies /policies)
No
CHANGE STRATEGY /POLICY?
Yes
CHANGE MY CURRENT STRATEGY (dynamic strategies /policies)
Select partner agents in the population Apply Migration rule ENDLOOP ENDLOOP
(a)
(b)
Fig. 1. Group Selection pattern: (a) Individual agent flowchart; (b) Algorithmic representation for structured population of agents
rules. The proposed synchronous algorithmic realization does not prevent for application in a realistic, asynchronous environment, since there is not any synchronization step required to update agent’s strategies and group membership. First the agent’s population is bootstrapped (randomly or any pre-configured arrangement) into a number of VOs. Two phases are then executed: Policy Coordination Interaction rule: Two basic modalities of interaction are possible. Bilaterally for each pair of agents (depending on their policies) with payoffs obtained individually by each agent; or collective interaction inside the group, with a payoff shared equally between agents composing the group; also more elaborated payoff sharing scheme are possible (might be a combination of the other two). Policy Coordination Migration Rule: Several learning methods are available. Agents compare with external agents from other groups and migrate to groups hosting outperforming agents (copying or not the other agent strategy); agents inspect environment gathering relevant information on suitable groups and then decide a target groups based on some internal rules; agents inspect internally their own performance in the last interactions and then decide if explore randomly new groups or stay in the current group; others more elaborated. Regardless of how utilities are derived or migration is performed; the important thing to keep “inside the pattern” is that those two phases must be present. Varying
142
I. Chao, O. Ardaiz, and R. Sangüesa
interaction and migration rules we get different instantiations of the Group Selection pattern, producing different coordination mechanisms. 3.2 Group Selection Pattern Deployed as a VO Management Service In a service infrastructure, the Group Selection pattern needs to be deployed as a support service for the existent VO coordination services in a Service Oriented Grid (SOG). Figure 2 describes the main steps in the interaction trough the access point. When a client issues a request for service or a workflow, the application determines which Grid services are required to fulfill it. These Grid services represent either software services (e.g. a data processing algorithm) or computational resources. The application invokes the Group Selection service, which in turns transfers the request to the VO access point which parses the corresponding request. The access point further triggers the logging of the new Agent in the VO, and monitors the policybased resource sharing activities within the VO. The two phases of the group selection pattern are executed in turns: First the interaction phase, where the resources are allocated following the agent’s policies in the VO. Once this phase is completed, after utility calculations a migration phase takes places which re-arrange agents in VOs and update policies. This process, dynamically adapts VO memberships of the agents in order to maximize coordination. GRID
Client
Request Core VO Management Services
Application Service / Workflow request (WS-Agreement)
Group Selection Service
1- Interaction Phase
VO Access Point (WS)
VO i of size N
2- Migration Phase → inter-VOs re-arrangement Policy Based Resource Man Agent 1
Policy Based Resource Man Agent 2
Policy Based Resource Man Agent 3
Service Provider 1 Policy Based Resource Man Agent 4
Group Selection Service in a SOG Infrastructure Fig. 2. Group Selection Service deployed in a SOG
Service Provider n
A Group Selection Pattern for Agent-Based Virtual Organizations Coordination
143
Depending on the scenario, coordination will be achieved by different agent’s groupings and adaptations. The pattern could operate as a policy-management mechanism implemented in realistic VOs with the following identifications: The PEP resides on each VO, which is able (trough a coordinator or any other more decentralized mechanism) to enforce the commitments of agents to the emergent VO policies (this should not undermine agent’s autonomy since only autonomously emerged policies are to be enforced). PDP´s are not explicitly represented in any member, and instead are distributed in all the agents composing the VO, since the decision of the selected VO policy is an emergent property of the co-evolution process of agents in each VO.
4 Optimizing Policy-Based VO Management Trough GROUP Selection 4.1 Policy-Based Resource Management Pattern Instantiation In our VO model, each agent (representing an organization) has a policy A = A(p) , from a set of M policies. A VO consists of a set of agents. VO ={A1(p1), A2(p2), A3(p3)….}. The VO defines the scope of agent operation; Policy based resource sharing utility gets maximized by coordinating the policies of N agents forming each VO. The objective is achieving policy coordination in each of the VOs in the system, forming clusters of compatible policies. The compatibly depends on the specific scenario and is measured differently depending on the scenario. For the experiments here we have implemented the simplest of the collective interactions, corresponding to a VO policy alignment scenario. The payoff is calculated on the alignment level over the whole VO and payoffs are shared collectively. As for the migration phase, the agents compare their performance against their own past performance (internal learning). Migration to a group implies the copying of the policy of one random agent in this target group. This maps VOs configurations of large pools of resources optimizing their performance by acting together using a similar policy. The metric we employ to measure the alignment degree is the Shannon Entropy Index.
∑p N
I= In this equation
i
⋅ log p i
i =1
log 2 ⋅ M
pi stands for one of the policies in a set of size M. Minimizing the
index is equivalent to maximizing homogeneity in VOs. We reverse this measure to have a performance scale from 0 to 1: This gives 1 when all policies in the group are aligned (minimal entropy) and 0 when all present policy in the group is represented equally (maximal entropy). The goal is to minimize diversity (entropy) within each VO, achieving the highest policy alignment possible inside each VO.
144
I. Chao, O. Ardaiz, and R. Sangüesa
4.2 Experimental Results and Evaluation The experiments are conducted in an open source, generic agent-based Grid simulator specifically built for developing agent coordination mechanism on top of Grids [AgentGridSim, 2007]. The models explained in this paper are included as scenarios for the Grid simulator and its source code can be inspected. The experiments conducted here are fully repeatable by downloading the simulator in the provided URL. The total number of agents is N=100, distributed originally in 5 groups of 20 agents each. The set of different policies is M=10. Two parameters rule the dynamics of the mechanism: First, the migration probability: The probability at which the agents the apply migration rule, the rate at which the agent is testing the existence of better congregations that its current. Higher migration probabilities tend to reduce the number of groups since better performing groups get crowded at a higher rate, and less performing groups get extinct quicker The other parameter, the mutation probability, rules the extent to what the agent decides to explore a brand new group, starting a group on its own and waiting for others to join. It is important to notice the importance of this parameter, since setting this to 0 would normally provoke a quick convergence to one single group. Mutation needs to be enabled to introduce variability. In these experiments, mutation probability is fixed to a small value of 0.01. We see from Figure 3 that reaching a high alignment (low entropy) up 0.8 is possible before 1000 rounds and maintained afterwards for a migration probability of 0.3. Figure 4 shows that the number of VOs oscillates in this case between 10 and 20. If we use a higher migration rate of 0.7, this implies a higher ration migration/mutation and consequently less number of groups in the system in average. Increasing the migration rate achieved a worse performance as seen from Figure 3. As we can see from figure 4, larger number of small groups (with migration probability of 0.3) generates better coordination.
migration=0.3 migration=0.7
1930.0
1810.0
1690.0
1570.0
1450.0
1330.0
1210.0
970.0
1090.0
850.0
730.0
610.0
490.0
370.0
250.0
130.0
1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 10.0
Utility [0,1]
Collective Coordination: AverageResourceSharingUtility (inverse Shannon Entropy Index)
sim clock tick
Fig. 3. Resource Sharing Utility, collective interaction for two migration/mutation rates
A Group Selection Pattern for Agent-Based Virtual Organizations Coordination
145
migration=0.3
Collective Coordination: Number of groups
migration=0.7
25
# groups
20 15 10 5
1990.0
1880.0
1770.0
1660.0
1550.0
1440.0
1330.0
1220.0
1110.0
1000.0
890.0
780.0
670.0
560.0
450.0
340.0
230.0
120.0
10.0
0
sim clock tick
Fig. 4. # Group present, collective interaction for two migration/mutation rates
We can study more in deep what is the shape of these small groups. We consider the run leading to the best scoring performance in policy alignment (migration probability 0.3), and we plot histograms showing the distribution of agents in groups for two different timestamps: tick 250, when coordination is still increasing, and tick 1500, when coordination close to 0.8 is firmly stabilized. We see from Figure 5 that by tick 250, two groups of 10 agents and other two groups of 9 agents still exist in the Grid. By tick 1500, no group is bigger than 7 agents. This means having larger number of VOs of small number of agents each VO. In each of these small VOs,
by tick 250(growing alignment)
Groups Sizes distribution for experiment migration prob= 0.3
by tick 1500 (stable alignment)
9 8 # of groups
7 6 5 4 3 2 1 0 1
2
3
4
5
7
9
10
Size of the group
Fig. 5. # Group Sizes distribution for the experiment with migration probability =0.3
146
I. Chao, O. Ardaiz, and R. Sangüesa
self-organized alignment towards a common policy is easier. The mechanism can automatically regroup agent’s upon any perturbation, generated internally in any VO, or triggered by external influence (e.g. by the arrival of new agents into the Grid).
5 Conclusions In large scale Grids, system dynamicity and uncertainty are high; automatic, decentralized and self-organized control becomes a requirement. Our proposal is that a simple, rather powerful coordination mechanism based on Group Selection can be used to self-organize a set of agents in VOs to coordinate more effectively their resource sharing polices. Additionally to its effectiveness coordinating activities in groups, the mechanism is modular enough to be incorporated as generic coordination mechanisms into loosely coupled Service Oriented Architectures (SOAs). Group Selection does not impose any constraint on system size or computational requirements, hence enabling for high scalability in both physical and organizational dimensions. Clustering in small groups is a tendency largely observed in all kind of human organizations [Levine, 2005]. In cooperation building scenarios, it has been shown that smaller group sizes ease cooperation in both social-networks based cooperation and group selection based evolution of cooperation [Nowak, 2006]. Our results for the evaluation of Group Selection in Grid coordination scenarios suggest that the same conclusion applies in fully cooperative domains: “Small and dynamic groups of agents evolved trough Group Selection optimize better fully cooperative coordination scenarios”. In our Group Selection pattern, the migration to mutation rate determines the average number of dynamic groups in the systems. A rate tuned to evolve dynamic and small VOs achieves the best optimization in a policy alignment scenario. Future work includes extending the number of coordination scenarios those where diversity or complementary policies are required, such as for example a VO requiring more complex workflow compositions. Also, considering Grid users and services belonging to many VOs simultaneously, hence trading in different market segments at the same time is an scenario closer to the expect shape of realistic Grids. Deploying the mechanism in real VO prototypes can provide further validation of the pattern.
References [AgentGridSim, 2007] https://sourceforge.net/projects/agentGridrepast [Alfieri, 2003] Alfieri, R., Cecchini, R., Ciaschini, V., dell’Agnello, L., Frohner, A., Gianoli, A., Lörentey, K., Spataro, F.: VOMS, an authorization system for virtual organizations. In: DaTaGrid (2003) [Babaoglu, 2006] Babaoglu, O., Canright, G., Deutsch, A., Di Caro, G., Ducatelle, F., Gambardella, L., Ganguly, N., Jelasity, M., Montemanni, R., Montresor, A., Urnes, T.: Design Patterns from Biology for Distributed Computing. In: ACM Transactions on Autonomous and Adaptive Systems, September 2006, vol. 1(1), pp. 26–66 (2006)
A Group Selection Pattern for Agent-Based Virtual Organizations Coordination
147
[Boyd, 2002] Boyd, R., Richerson, P.: Group Beneficial Norms Can Spread Rapidly in a Structured Population. Journal of Theoretical Biology 215, 287–296 (2002) [Bowles, 2004] Bowles, S., Gintis, H.: The Evolution of Strong Reciprocity. Theoretical Population Biology 65, 17–28 (2004) [Brooks, 2002] Brooks, C.H., Durfee, E.H.: Congregating and market formation. In: Proceedings of the 1st International Joint Conference on Autonomous Agents and MultiAgent Systems, pp. 96–103 (2002) [Camarinha, 2003] Camarinha-Matos, L.M., Afsarmanesh, H.: A Roadmap for Strategic Research on Virtual Organisations. In: Proceedings of PRO-VE 2003, pp. 33–46. Kluwer, Dordrecht (2003) [Chao, 2004] Chao, I., Sangüesa, R., Ardaiz, O.: Design, Implementation and Evaluation of a Resource Management Multiagent System for a Multimedia Processing Grid. In: Meersman, R., Tari, Z., Corsaro, A. (eds.) On the Move to Meaningful Internet Systems 2004: OTM 2004 Workshops. LNCS, vol. 3292, Springer, Heidelberg (2004) [Edmonds, 2005] Edmonds, B., Gilbert, N., Gustafson, S., Hales, D., Krasnogor, N. (eds.): Socially Inspired Computing. Proceedings of the Joint Symposium on Socially Inspired Computing, University of Hertfordshire, Hatfield, UK, April 12-15, 2005. AISB (2005) [Foster, 2001] Foster, I., Kesselman, C., Tuecke, S.: The Anatomy of the Grid: Enabling Scalable Virtual Organizations. International J. Supercomputer Applications 15(3) (2001) [Foster, 2003] Foster, I., et al.: The Community Authorization Service: Status and future. In: CHEP 2003, La Jolla, California (2003) [Foster. 2005] Globus Toolkit Version 4: Software for Service-Oriented Systems. In: Jin, H., Reed, D., Jiang, W. (eds.) NPC 2005. LNCS, vol. 3779, pp. 2–13. Springer, Heidelberg (2005) [Gamma, 1997] Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns CD (1997), ISBN 0-201-63498-8 [Gowdy, 2003] Gowdy, J., Seidl, I.: Economic Man and Selfish Genes: The Relevance of Group Selection to Economic Policy. Journal of Socio-Economics 33(3), 343–358 (2004) [IETFWG, 2000] Yavatkar, R., Pendarakis, D., Guerin, R.: A framework for policy-based admission control. IETF WG - RFC 2753 (January 2000) [Levine, 2005] Levine, S.S., Kurzban, R.: Explaining Clustering in Social Networks: Towards an Evolutionary Theory of Cascading Benefits. Managerial and Decision Economics 27(23), 173–187 (2006) [Merida-Campos, 2004] Merida-Campos, C., Willmott, S.: Modelling Coalition Formation over Time for Iterative Coalition Games. In: The Second European Workshop on Multi-Agent Systems, Barcelona, Spain (2004) [Nowak, 2006] Nowak, M.: Five Rules for the Evolution of Cooperation. Science 314, 1560 (2006) [Patel, 2005] Patel, J., Teacy, L., Luck, M., Jennings, N.R., Chalmers, S., Oren, N., Norman, T.J., Preece, A., Gray, P.M.D., Stockreisser, P.J., Shercliff, G., Shao, J., Gray, W.A., Fiddian, N.J., Thompson, S.: Agent-based virtual organisations for the Grid. In: Proceedings of the 1st Int. Workshop on Smart Grid Technologies, Utrecht, Netherlands (July 2005) [Shehory, 2004] Coalition Formation: Towards Feasible Solutions. Fundamenta Informaticae 63(2-3), 107–124 (January 2004) [Sycara, 1998] Sycara, K.: Multiagent Systems. AI Magazine 10(2), 79–93 (1998) [Thompson, 2003] Thompson, M., Essiari, A., Mudumbai, S.: Certificate-based Authorization Policy in a PKI Environment. ACM Transactions on Information and System Security 6(4), 566–588 (2003) [Trustcom, 2005] http://www.eu-trustcom.com/
148
I. Chao, O. Ardaiz, and R. Sangüesa
[Ulieru, 2002] Ulieru, M., Brennan, R., Walker, S.: The Holonic Enterprise - A Model for Internet-Enabled Global Supply Chain and Workflow Management. International Journal of Integrated Manufacturing Systems (13/8) (2002), ISSN 0957-6061 [Wasson, 2003] Wasson, G., Humphrey, M.: Toward Explicit Policy Management for Virtual Organizations. In: POLICY 2003. 4th International IEEE Workshop on Policies for Distributed Systems and Networks, pp. 173–182 (2003) [Wilson, 1975] Wilson, D.S.: A theory of Group Selection. Proc. Nat. Acad. Sci. USA 72, 143– 146 (1975)
Web Services System for Distributed Technology Upgrade Within an e-Maintenance Framework Eduardo Gilabert, Susana Ferreiro, and Aitor Arnaiz Fundación Tekniker, Av. Otaola 20, 20600 Eibar, Spain {egilabert,sferreiro,aarnaiz}@tekniker.es
Abstract. Nowadays, industrial maintenance is one of the most important tasks in the industry because its cost is too high, usually due to poor maintenance decisions. Traditionally, corrective maintenance and preventive maintenance are performed, but both of them, the excessive and the lacking maintenance can be harmful. In the last years, CBM (Condition Based Maintenance) technology or predictive maintenance has appeared in order to establish whether the system will fail during some future period and then take actions to avoid consequences. This paper shows the e-maintenance platform nicknamed DYNAWeb which is part of DYNAMITE project. DYNAWeb develops a CBM system based on OSA-CBM standard over MIMOSA comprising broad of capabilities like sensing and data acquisition, signal processing, health assessment, prognosis... This platform ensures the integration of all the components (software and hardware) using different technologies (sensor technologies, wireless communication technology) and providing them with agents and (Semantic) Web Services to allow the integration and the reuse among different applications. Keywords: e-maintenance, CBM, OSA-CBM, MIMOSA, ontology, semantic web services, agent.
1 Introduction Nowadays, maintenance is going through major changes. The industry is realising that the efficient use of industrial assets is a key issue in supporting our current standard of living. In this context, efficiency means producing good quality products without interrupting the production for unnecessary breakdowns. A demand for improvements on system productivity, availability and safety is increasing, as well as product quality and customer satisfaction. Taking into account the trend for decrease in profit margins, the importance of implementing efficient maintenance strategies becomes unquestionable. In this picture the maintenance function plays a critical role in a company’s ability to compete on the basis of cost, quality and delivery performance and maintenance is taken into account in production requirements: [1],[2]. To support this role, the maintenance concept must undergone through several major developments involving proactive considerations, which require changes in R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 149–157, 2007. © Springer-Verlag Berlin Heidelberg 2007
150
E. Gilabert, S. Ferreiro, and A. Arnaiz
transforming traditional “fail and fix” maintenance practices to “predict and prevent” e-maintenance strategies. Such an approach takes into account the potential impact on service to customer, product quality and cost reduction [3]. E-Maintenance provides the opportunity for the 3rd generation maintenance and is a sub-concept of e-manufacturing and e-business for supporting next generation manufacturing practices (NGMS). The success of this NGMS is based on the inclusion and application of right support technologies to lower the set up costs as well as to facilitate the integration of such technologies with existing material and personal resources. As a consequence, one of the main aims of the new EU-funded Integrated Project DYNAMITE - Dynamic Decisions in Maintenance, is to bring together a series of technologies that can be integrated in a structured way, yet flexible enough to allow the selection of a particular subset of the technologies. The DYNAWeb concept is then a platform that designs an operational interaction between technologies in the framework of a distributed information scenario, where technologies of interest may vary from a company to another. The organisation of this paper is as follows. First, it introduces OSA-CBM architecture, a non proprietary standard to standardize a condition based maintenance system. Next it is detailed a global view of DYNAWeb, a standardization of a new framework to be developed in DYNAMITE (Dynamic Decisions and Maintenance). DYNAWeb is based on Semantic Web Services for the e-maintenance, and its architecture concerning communication view is presented. Finally, it is included a description of main components interacting in DYNAWeb Platform: HMI, agents and Web Services, supported by ontologies.
2 OSA-CBM Architecture OSA-CBM1 (Open System Architecture for Condition Based Maintenance) is designed as an open non-proprietary CBM communications framework to provide a functional platform flexible enough to suit a broad range of applications. Standardization of a networking protocol within the community of CBM developers and users will, ideally, drive CBM suppliers to produce interchangeable hardware and software components. The goal of OSA-CBM is the development of architecture (and data exchange conventions) that enables interoperability of CBM components. Specifications are written in different languages, such as the Unified Modelling Language and correspond to a standard architecture for moving information in a condition-based maintenance system for software engineers. The basics of the architecture are described according to seven functional layers [4]: The implementation of a CBM system usually requires the integration of a variety of hardware and software components. Therefore, a complete CBM system may be composed of a number of functional layers or capabilities: Layer 1 – Data Acquisition: it provides the CBM system with digitized sensor or transducer data. Layer 2 – Data Manipulation: it performs signal transformations. 1
http://www.osacbm.org
Web Services System for Distributed Technology Upgrade Within an e-Maintenance
151
Fig. 1. OSA-CBM architecture defined in 7 layers
Layer 3 – Condition monitoring: it receives data from sensor modules, compares data with expected values or operations limits and generates alerts based on these limits. Layer 4 – Health assessment: it receives data from condition monitoring and prescribes if the health in the monitoring component, sub-system or system is degraded. Besides, it is able to generate diagnostic (based upon trends in the health history, operational status and loading and maintenance history) and propose fault possibilities too. Layer 5 – Prognosis: it plans the health state of equipment into the future or estimates the remaining useful life (RUL), taking into account estimates of future usage profiles. Layer 6 – Decision support: it generates recommended actions (related with maintenance or how to run the asset until the current mission is completed without occurrence of breakdown) and alternatives. It takes into account operational history, current and future mission profile, high-level unit objectives and resource constraints. Layer 7 – Presentation layer: Human System Interface (HSI) is required to provide a means of displaying vital information and provide user access to the system.
3 The DYNAWeb Platform Nowadays, more research effort is required to face up to the challenges for modern emaintenance. One focused research direction is offered by the ongoing EU-funded Integrated Project DYNAMITE - Dynamic Decisions in Maintenance. The
152
E. Gilabert, S. Ferreiro, and A. Arnaiz
Fig. 2. The European DYNAMITE concept for future IT-based maintenance. It aims at promoting a major change in the focus of condition based maintenance, essentially taking full advantage of recent advanced information technologies related to hardware, software and semantic information modelling.
partnership is composed by six research institutes in the UK, France, Spain, Sweden and Finland, a car manufacturer FIAT, a truck manufacturer VOLVO, the machine tool manufacturer GORATU, the automation and maintenance services provider Zenon, and seven SME’s representing related business areas. The main technologies expected to facilitate this upgrade are wireless devices, such as smart tags and hand-held computing devices, micro-size MEMS sensors especially designed for maintenance purposes, and low-cost on-line lubrication analysis sensors. Inside DYNAMITE project, the DYNAWeb platform [8] refers to the ICT architecture concerning software web services and communication architecture that intends to provide support to the new maintenance concept, related mainly to the lower maintenance layer indicated in next figure. The system architecture has been defined using the standard UML2 (Unified modelling language). In particular, use case diagrams (UCDs) have been used to describe the system functionality, and the interactions between actors and the required functions. In order to provide the most convenient analysis flow, information processing is understood as a distributed and collaborative system, where there are different levels of entities can undertake intelligence tasks. The UCD for data acquisition & manipulation (see Fig. 3 : Use case diagram for Data acquisition & manipulation. It covers layers 1 and 2 of OSA-CBM standard) depicts the lower end of the system architecture. It corresponds to the machine and identifies sensors and smart tags associated to this level of interoperation. It is expected to perform some intelligence 2
http://www.uml.org
Web Services System for Distributed Technology Upgrade Within an e-Maintenance
153
Fig. 3. Use case diagram for Data acquisition & manipulation. It covers layers 1 and 2 of OSACBM standard: Sensor Module, which provides the system with digitized or transducer data, and Signal Processing, that receives signals and data from the sensor layer and the output includes digitally filtered sensor data, frequency spectra, virtual sensor signals and other CBM features.
tasks. Sensors can provide certain degree of reasoning, taking into account the ‘local’ scope of this processing. It is also expected that sensors hold temporal information concerning current condition values, with little or no historical information attached. On the other hand, it is argued that PDAs can hold temporal information concerning operator activities and input values, and that the Conditional Maintenance Operational System (CMOpS) will hold historical records on selected condition information. Smart PDAs will provide higher communication interfaces with sensors, intermediate processing capabilities and a smart end for human interface to remote web services centres that will compose a distributed web platform system at the higher end of the processing hierarchy [5]. Finally, wireless data transmission between sensor devices and information processing layers will be implemented. Another UCD has been defined for Operation, Evaluation and execution of Tasks (see Fig. 4: Use case diagram for Operation, Evaluation and Execution. It covers 3 layers of OSA-CBM standard: Condition Monitoring, health assessment and Prognostics. The diagram sets the relationships among actors and expected
154
E. Gilabert, S. Ferreiro, and A. Arnaiz
Fig. 4. Use case diagram for Operation, Evaluation and Execution. It covers 3 layers of OSACBM standard: Condition Monitoring, health assessment and Prognostics. The diagram sets the relationships among actors and expected functionality.
functionality.). The specification of this UCD includes 3 layers or modules of OSACBM standard [4]: •
Condition monitoring: The condition monitor receives data from the sensor modules, the signal processing modules and other condition monitors. Its primary focus is to compare data with expected values. The condition monitor should also be able to generate alerts based on preset operational limits.
Web Services System for Distributed Technology Upgrade Within an e-Maintenance
•
•
155
Health Assessment: it receives data from different condition monitors or from heath assessment modules. The primary focus of the health assessment module is to prescribe if the health in the monitored component, sub-system or system has degraded. The health assessment layer should be able to generate diagnosis records and propose fault possibilities. The diagnosis should be based upon trends in the health history, operational status and loading and maintenance history. Prognostics: this module should have the possibility to take account data from all the prior layers. The primary focus of the prognostic module is to calculate the future health of an asset, with account taken to the future usage profiles. The module should report the failure health status of a specified time or the remaining useful life (RUL)
Another important operation is “Schedule work orders”. CMMS schedules work orders based on component predictions. After that it has to distribute work orders to different operators (PDAs). PDA need read the smart tags to know component environment.
4 Ontology The real challenge is to match the semantic web concept to the maintenance function. In this way, information used over internet must be specified in ontologies. The ontology represents the knowledge in internet [6], defining in a formal way the concepts of the different domains and relationships, with ability to perform reasoning over this knowledge. The definition of this ontologies has been performed starting from the standard CRIS (Common Relational Information Schema) defined by MIMOSA3 (Machinery Information Management Open System Alliance). CRIS represents a static view of the data produced by a CBM system, where every OSA-CBM layer has been associated to an ontology [7]. OSA-CBM was developed around MIMOSA CRIS (Common Relational Information Schema) that provides coverage of the information (data) that will be managed within a condition based maintenance system. It defines a relational database schema with about 200 of tables approximately for machinery maintenance information. In short, CRIS is the core of MIMOSA which aim is the development and publication of open conventions for information exchange between plant and machinery maintenance information system. In this sense DYNAMITE investigate the way to improve these ontologies defined in XML language to other richer semantic ontology languages as RDF or OWL.
5 Semantic Web Services Web services4 are a well known technology and widely deployed which is becoming to be used in industrial environments. They provide interoperability between independent software applications over internet by means of SOAP protocol which enables the communication. 3 4
http://www.mimosa.org http://en.wikipedia.org/wiki/Web_services
156
E. Gilabert, S. Ferreiro, and A. Arnaiz
With regard to the usage of these web services, there are defined three main elements which take part in the communication: •
•
•
HMI’s actor, that is, the CMOpS, PDA or other software allocated at plant level which interacts with operators or management staff and need the performance of a web service. Agent for communicating with DYNAWeb web services. Agent is able to get needed data from other sources, translating it into the ontology language. In this way, Agent acts as an interface between HMI and Web service. Web service, performing the requested service, supported by ontologies.
A basic web service for the different OSA-CBM levels is being developed, to demonstrate feasibility, including several implementations for different components and information coming from different sensor technologies. It is also designed a group of several agents an HMI ‘patches’ or ‘add-ins’ to show feasibility of communications and interfacing with legacy systems already in companies.
6 Distributed Agents Associated to the actors, there are agents which perform the operations related to the communications with the semantic web services, supported by ontologies. According to this, the main functionalities of the agent in DYNAWeb are: • • • • • •
Collect data from different distributed databases in the plant. Translate data to Ontology language (XML, RDF, OWL) Request an operation to a web service, sending the data needed. Translate results from ontology language to normal data. Store data results into the appropriate databases Communication with other agents
In this sense, the agent acts as a link between HMI of different software installed on the plant or management offices and the semantic web services supported by
Fig. 5. Main components in DYNAWeb: HMIs, Agents and Web Services
Web Services System for Distributed Technology Upgrade Within an e-Maintenance
157
ontologies. In conclusion, the agent would be associated to a specific actor (PDA, CMOpS, CMMS) inside the plant, whereas the web services would be as generic as possible, covering a functionality for a wide range of different companies.
7 Conclusions This paper has show the DYNAWeb platform refers to the ICT architecture concerning software web services and communication architecture that intends to provide support to the new maintenance concept, in DYNAMITE project. The aim is to be able to extend the use of a selected set of rising technologies within the area of maintenance activities. This effort is performed within a flexible architecture concept to provide flexible data and information management, where core concepts such as e-maintenance and OSA-CBM architecture are followed. Web services provide generic functionalities supported by ontologies. At client side, the agents act as links among actors and the semantic web services. Acknowledgments. The authors gratefully acknowledge the support of the European Commission Sixth Framework programme for Research and Technological Development. This paper summarises work performed as part of FP6 Integrated Project IP017498 DYNAMITE "Dynamic Decisions in Maintenance".
References 1. Al-Najjar, B., Alsyouf, I.: Selecting the most efficient maintenance approach using fuzzy multiple criteria decision making. International Journal of Production Economics 84, 85– 100 (2003) 2. Crespo Marquez, A., Gupta, J.N.D.: Contemporary Maintenance Management: Process, Framework and Supporting Pillars. Omega 34(3), 325–338 (2006) 3. Lee, J.: A framework for web-enabled e-Maintenance Systems. In: Proceedings of the second international symposium on environmentally conscious design and inverse manufacturing. In: EcoDesign 2001 (2001) 4. Bengtsson, M.: Standardization issues in condition based maintenance. Department of Innovation, Design and Product Development, Mälardalen University, Sweden (2003) 5. Arnaiz, A., Emmanouilidis, C., Lung, B., Jantunen, E.: Mobile Maintenance Management. Journal of International Technology and Information Management 15(4), 11–22 (2006) 6. Lozano, A.: Ontologies in the semantic web. Jornadas de Ingeniería web (2001) 7. Lebold, M., Reichard, K., Byington, C.S., Orsagh, R.: OSA-CBM Architecture Development with Emphasis on XML Implementations. In: MARCON 2002 (2002) 8. Arnaiz, A., Lung, B., Jantunen, E., Levat, E., Gilabert, E.: DYNAWeb. In: A web platform for flexible provision of e-maintenance services. Harrogate (2007)
WSBL: Web Service Architecture for Financial Products Marcos Aza Hidalgo1 and Jose Luis Bosque Orero2 1
Allfunds Bank, Fund Research, Investment Consulting Madrid, Spain [email protected] 2 Dpto. de Electrónica y Computadores Universidad de Cantabria Santander, Spain [email protected]
Abstract. In this paper, WSBL (Web Service Business Library) is proposed as a solution for problems above mentioned, of any company which offers financial services, by combining agents' theory, web services and grid computing. After explaining the solution, this paper presents an example of a web service that prices a weather derivative using the computing power of a grid, but could be easily extended to any financial product. This approach would enable the bank to have only one library for pricing all products running in one grid giving service to all of the trading rooms that a bank could have around the world. These services could be sold to third-party users with the appropriate security services. Some experiments in a real grid environments will be presented to validate and verificate the utility as well as the performance of the proposed approach.
1 Introduction There have appeared many companies and business around financial services. Information, and products sold by banks are offered by non-financial companies to third party users, and an example of this is the business around mortgages and credits. There are two main consequences of these incipient businesses. The products have become more and more complex and the information to be managed is huge but the time-to-market has to be as low as possible. These products are computational demanding and need to manage a huge amount of information. However the response time can not be more than a few of seconds. Moreover they have to be flexible enough to handle very different products and serve them to very different users. In this scenario grid and parallel computing are nature solutions. On one hand, grid computing allows to share resources and services in a secure environment. On the other hand, parallel computing helps to reduce the response time of the service. There have been several works that have exploited the idea of open and flexible architecture. Martin et al [1] explain the structured and elements for the construction of systems based on agents using OOA (Open Agent Architecture), in which various agents help each other under the premise of requiring and/or providing services based on their capabilities. R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 158–168, 2007. © Springer-Verlag Berlin Heidelberg 2007
WSBL: Web Service Architecture for Financial Products
159
Even though there are solutions to solve each problem separately, presently there is not a unique solution that merges all the above mentioned issues. Motivated on previous works, needs and lack of solutions, WSBL (Web Service Banking Library) is presented in this paper as a new, open, flexible, real-time and parallel architecture following the OGSA[2] recommendations, for developing financial services to be used by banks and financial companies in a grid environment. This architecture is Web Service [3] based and uses agents for its final implementation. Beyond the description, a real example of the architecture is presented with a service for pricing weather derivatives, available for any interface using xml because it is Web-Service developed. Many works related to pricing weather derivatives models using different approaches have been developed [4, 5] and in all of them, managing huge information and getting the result in several seconds is a constraint. All of them try to forecast temperature with very complicated and very heavy computational statistic models, so parallel computing fits perfectly with these needs [6, 7]. Obviously, this simple architecture with a service for pricing weather derivative could be easily scaled plugging new services.
2 Architecture Design The architecture must fit the following constraints: -
It must be scalable, it is, the architecture should be ready to plug as many services as banking products the company may have. Any interface using XML [8] should be able to log on the architecture. There must be a component that has the information of every available service. It must provide the result in several seconds managing all the information needed by all the services available. All the information flow must be exchanged under high levels of security.
With these constraints, security, web services and parallel computing are the most suitable technologies to this architecture. The architecture is divided in 3 areas as can be seen in Fig. 1, plus a security area that wraps all the architecture.
Fig. 1. WSBL Architecture
160
M. Aza Hidalgo and J.L. Bosque Orero
Security rules: All the services offered by the architecture will be used by systems and users inside the bank but also outside it, so the architecture must be secured. Solutions can take many different forms, ranging from secure coding practices to proper input validation. One approach is to perform content validation for each incoming request and compare it with predefined rules. This approach stops malicious SOAP [9] requests from penetrating to the web services source code level. mod_security [10] can help in defending against all of the above attacks. The security layer is described in Fig 2.
Fig. 2. Security layer
Agent: This element is responsible of understanding what the user wants and invoking the web service that matches with that desire from all of the available services. The most commonly used architecture for software agent is the Belief-Desire-Intention (BDI) model. Fig. 3 shows a PRS-based BDI architecture JAM [11]. Each JAM agent is composed of five primary components: a world model, a goal set, a plan library, an interpreter and an intention structure. The world model is a database that represents the beliefs of the agent. The goal set is a set of goals that the agent has to achieve. The plan library is a collection of plans that the agent can use to achieve its goals. The interpreter is the agent’s “brain” that reasons about what the agent should do, when and how to do it. The intention structure is an internal model of the agent’s current goals and keeps track of the commitment to, and progress on, accomplishment of those goals. As an implementation of this architecture, it has been developed a simplified SWEEP II System [12], that is, a BDI agent system supporting automated semantic web service components and invocation. Application server: As the architecture is web service-based, a platform where deploying these services is needed, and in this case, Tomcat/AXIS [13] is chosen as platform. As it can be seen in Fig.1, there are several elements in the core web service component: • WS-Addressing: It allows a transport mechanism to address services and messages (W3C standard)
WSBL: Web Service Architecture for Financial Products
161
Fig. 3. JAM: BDI Agent Architecture
• WS-Resource Framework: This specification, evolution of the OGSI specification, has been recently standardised by OASIS consortium. It promotes a Standard way of deploying resources and how to consult about them. • WS-Notification and WS-Topic: Jointly, they provide the facility to establish mechanisms based on the model of interaction, publication and subscription. • Web service: Each financial product will be codified by a web service and a MPI implementation can be necessary in order to improve the response time of the service. Grid and Data Base: The financial products available in the platform will need market data (rates, volatility, etc.) for getting prices, so a data base to store this information will be needed and also a process to update every day the market from sources as Bloomberg, Reuters, etc., as Fig. 4 shows.
Fig. 4. Data Base Update
162
M. Aza Hidalgo and J.L. Bosque Orero
Grid Monitor: Error detection, CPU and memory use and need of load balancing operations when the services available are a lot are things that must be taken into account, so the system must be supported and under control by a monitoring system (Fig. 5), and the result of the readings of this monitor must be available from any device, computers, mobiles, etc. (any Virtual Organization [14] in grid literature). We are using xGMA [15] (extended Grid Monitor Architecture), an architecture that extends the GMA characteristics whose elements are described in Fig. 6.
Fig. 5. Monitor interaction
VO A
VO E VO C
Resources to monitor
Presentation resources Community registration
VO Controller
Data Store VO B
Data formatter VO Data
VO Presentation
VO D
Fig. 6. Virtual Organizations scheme
The architecture has three main parts according to GMA[16], a directory service (VO Controller) where elements registered in GMA, Consumer (VO Presentation) receiver of the data and the Producer (VO Data) that serves the data. In our case, VO A (Virtual Organization A) is the grid and VO Presentation are the alarm systems of the banks. In Fig. 7 it is shown the one-on-one interactions and when, with a sequence diagram with the components of the system as actors. The sequence begins with the request of the user, asking for a service. After establishing the connection with the handshake and passing the security rules, the agent would look for a service matching the user needs trying to "understand" the user. When the agent finds a service available matching these needs, the web service is invoked and also the MPI component. During the web service execution, the grid is monitored by the GMA. When needed the MPI implementation can used data from DDBB and is own configuration file.
WSBL: Web Service Architecture for Financial Products
163
Fig. 7. Sequence diagram
3 Implementation of the Services 3.1 Mathematical Model Definition and Implementation A Derivative is a product whose value depends on the evolution of the underlying. A weather derivative is a derivative whose underlying is a characteristic of the weather. We can find common contracts usually traded in these markets, as futures, swaps and options over weather features [20]. In this paper we are focusing on two kinds of contracts, whose underlings are the heating and cooling degree-days. Given a specific weather station, let Timax and Timin denote the maximal and minimal temperatures (in degrees Celsius) measured on the ith day of the year. So we define the temperature of the ith day as: T max + Ti min Ti = i 2 Let Ti denote the temperature for the ith day of the year. We define the heating degree-days, HDD and the cooling degree-days, CDD, generated on that day as HDDi ≡ max {K- Ti, 0} and CDDi ≡ max {Ti-K,0}. In the definitions above mentioned the number of HDDs or CDDs for a specific day is the number of degrees that the temperature (as it has been above defined) deviates from a reference level, K. Most of temperature based weather contracts are based on the accumulation of HDDs or CDDs during a certain period, a month or a season. Therefore the accumulation of CDD in a month can be calculated as ΣCDDi from January 1st to January 31st. For example, we can define an option, call or put [20] over this accumulation as Call = k · max {W - S, 0}. Here, k is the tick (€€/ºC) and W is the weather index.
164
M. Aza Hidalgo and J.L. Bosque Orero
The goal is to have a model to study the behavior of the temperature. Looking at the temperatures series of the city of Valencia in Spain from 1950-1990, we can expect the temperature to behave as: Tmt = A + B·t + C·cos(D·ω·t +φ)
Where, A is the initial temperature, B denotes the increasing trend of the temperature. The seasonality is included by the cosine function. This seasonality is year by year so that ω is equal to 2π/365, and because the yearly maximum and minimum do not occur in January 1st and July 1st, a phase is included. The parameters are calculated by least mean squares. A parameter vector χ = {A, B, C, D, φ} is the vector we are looking for, and it is the solution of Min || Y – X ||, where Y is the vector with the Tmt elements and X is the vector with the real temperature data. The solution gives the following parameters: A = 3.833537 B = 2.06e-005 C = 1.627556 D = 1 φ = -1.581024 ω = 0.776542
Once the parameters are obtained, we are simulating different temperature paths with Montecarlo and GARCH(1,1) [20] with the following model: Tmt = A + B·t + C·cos(D·ω·t +φ) + ΣФt-j ·T t-j + εt
3.2 Implementation of the Services Every service deployed in the architecture will have three elements: -
A web service code with a RPC call [17] to its execution component. A configuration file and database interface for manage information. A RPC callable component MPI [18] codified to allow parallel execution on a cluster architecture.
The class diagram for modelling the service implementation is the following:
RPCInt
RPCConnMgr
PropConFileMgr
ParallelServiceImpl FinancialService 1
ConFileMgInt
DBConnMgr DDBBConnInt
Fig. 8. Service class diagram
WSBL: Web Service Architecture for Financial Products
165
Once the web service is invocated by the agent it would call, using a RPC interface, its implementation (sequential or parallel MPI based) , which will use, if necessary, the data stored in the Data Base and specific configuration from its configuration file, as shows the figure 9. DDBB RPC Call and wait for answer Financial Service Web Service Impl
Financial Service MPI Impl
Config File
Fig. 9. Service component diagram
WSDL: Once the service is implemented in both ways, Web Service and MPI, it must be deployed in the application server to be registered as service available in the platform by the agent. For registering the service a WSDL [19] file must be loaded. This file describes a service called “WeatherDerivative_Service” with specific binding “WeatherDerivative_Binding” and name ports “WeatherDerivative_Port”. It declares an operation “askForPrice” which be invoked through the port specified before whose port type is “WeatherDerivative_PortType” and that has an input “PricingRequest” with a string parameter “priceReq” and an output “PricingResponse” with a string parameter “price”. Any other service could be deployed following the same patterns as the ones described in that WSDL, with an operation to invoke, an input parameter and an output parameter.
4 Model Evaluation In this section a set of experiments has been developed to verify and validate the performance of the proposed architecture and service. These experiments have been carried out in a heterogeneous grid environment made up by a set of virtual organizations with the following computational resources (Table 1). In short, there are 12 nodes and 49 processors. In this paper three different kinds of experiments have been developed to determine: •
• •
The grid overhead, is said, the amount of time overhead introduced by the grid to deploy the service in the remote node, plus the consignment of the service to be executed, the monitoring of the service state and the reception of results. The scalability of the proposed architecture with respect to the number of VO that compose the grid environment. The performance of the service on both mono-processor and clusters.
As it is possible to appreciate in this figure 10, the overhead introduced by WSBL architecture is almost a constant which doesn’t depend on the number of VOs or the node selected to perform the service. In fact, the percentage of overhead introduced
166
M. Aza Hidalgo and J.L. Bosque Orero Table 1. Computacional Resources
% Overhead % Overhead
Response Time
100% 80% 60% 40% 20% 0% 1
50 Number of consecutive requests
Fig. 10. % Of the overhead with respect to the total response time
by this architecture is always lower than the 10% and, in general, is also lower than 5% of the total overhead. With respect to the total response time of the service it depends strongly on the node selected. For mono-processor nodes the time ranges from 39 to 82 seconds. Therefore a parallel implementation is needed in order to reduce the response time. The parallel implementation has been developed using LAM/MPI 7.1 library. A farm strategy has been selected to distribute the number of simulations to be performed. The master process is executed on a central node, being in charge of the distribution of the parameters. The slave processes have to receive the parameters of the model, to compute the partial results and return the computed values to the master process. Finally, the master process computes the final result, based on the results of the slave processes. Figure 11 presents the response time (figure 11.a) and the speedup (figure 11.b) achieved on a cluster with the parallel implementation. Looking at figure 11, it is possible to deduce that this solution presents a high degree of scalability, because the speedup measurements show an almost linear
WSBL: Web Service Architecture for Financial Products
Speedup
Response Time
Time (s)
167
70
160 140 120 100 80 60 40 20 0
60 50 40 30 20 10 0 0
10
20
30
40
50
60
70
0
10
Number of processes
20
30
40
50
60
70
Number of Processes
Fig. 11. Experimental results of the parallel implementation
evolution. These values, very close to the ideal maximum, remain almost constant for any cluster configuration. On the other hand the response time is reduced from most than one minute to a few seconds (2,2) with 64 processors. Therefore it seems possible to reach the near-real time required by this kind of services.
5 Conclusion and Ongoing Research Work This paper presents WSBL (Web Service Business Library) as a new, open, flexible, and parallel architecture, for developing financial services to be used by banks and financial companies on grid environments. This architecture is Web-Service based and uses agents for its final implementation. Even there are components solving each problem separately, as far as we know this is the first architecture that solves all the problems that could appear when working with a large number of financial services at the same time. Let’s see the characteristics of WSBL and how this architecture solves all the problems mentioned before. • •
•
•
•
WSBL is an open architecture whose implementation is based on standards. WSBL is plug&play, that is, any service implemented with the patters before described could be easily deployed in this architecture and without rebooting the system. WSBL is implemented with parallel computing. This is very important and in most of the cases, critical in banking services when managing huge amount of information at the same time. Grid computing and MPI solve this problem. WSBL could be scaled as much as the bank wants, offering as much services as it wants, only with hardware and memory restrictions, because grid computing will rebalance the load. WSBL is a secure platform. Due to the possibility of access by any device supporting XML, any of these accesses to the platform from outside the bank, should be analyzed and filtered to guarantee all the information and models. This problem is solved by the security layer.
Experimental results presented in this paper have shown that the overhead of the proposed architecture on a real grid environment is negligible. On the other hand, the performance of the parallel implementation and its excellent scalability properties, allow to reach a near real-time response time, on a cluster.
168
M. Aza Hidalgo and J.L. Bosque Orero
In future works, rebalancing models should be implemented for a more efficient load management while requesting services, in the front-end (agent), and in the back-end.
References [1] Martin, D.L., Cheyer, A.J., Moran, B.D.: The open agent architecture: A Framework for Building Distributed Software Systems. Applied Artificial Intelligence 13(1-2), 21–128 (1999) [2] The Open Grid Services Architecture (OGSA). http://www.globus.org/ogsa/ [3] Web Service. http://www.w3.org/2002/ws/ [4] Yamamoto, Y.: Efficient Parallel Implementation of a Weather Derivatives Pricing Algorithm based on the Fast Gauss Transform. In: Parallel and Distributed Processing Symposium, 2006. IPDPS 2006. 20th International (2006) [5] Alaton, P.: On Modelling and Pricing weather derivatives. Applied Mathematical Finance 9(1), 1–20 (2002) [6] Foster, I., Kesselman, K., Tuecke, S.: The Anatomy of the Grid. Editorial: Globus Alliance. Web: http://www.globus.org/research/papers/anatomy.pdf [7] Foster, Kesselman, C., Nick, J., Tuecke, S.: The Physiology of the Grid: An Open Grid Services Architecture for Distributed Systems Integration. Globus Project (2002) [8] Extensible Markup Language, XML: http://www.w3.org/XML/ [9] Simple Object Access Protocol, SOAP: http://www.w3.org/TR/soap/ [10] mod_security: http://www.modsecurity.org [11] Neto, R., Udupi, Y., Battle, S.: Agent-Based Mediation in Semantic Web Service Framework. In: Proceedings of the 1st AKTWorkshop on Semantic Web services (2004) [12] Kim, I., Jin, H.: An Agent System for Automated Web Service Composition and Invocation. OTM Workshops 1, 90–96 (2006) [13] TOMCAT/AXIS: http://ws.apache.org/axis/ [14] Foster, et al.: The Anatomy of the Grid: Enabling Scalable Virtual Organizations. International Journal of High Performance Computing Applications 15, 200–222 (2001) [15] Aza, M., Bosque, J.: xGMA: extended Grid Monitoring Architecture. Technical Report. Universidad Rey Juan Carlos. Madrid (2005) [16] Grid Monitoring Arachitecture, GMA: http://www.r-gma.org/ [17] Winer, D.: XML-RPC Specification (June 15, 1999) [18] Message Passing Interface: http://www.mpifoum.org/ [19] Web Services Description Languages, WSDL: http://www.w3.org/TR/wsdl [20] Hull, J.C.: Options, Futures and other Derivatives, 5th edn. Prentice-Hall, Englewood Cliffs (2003)
Workflow Management in Grid Era: From Process-Driven Paradigm to a Goal-Driven One Jinlei Jiang1,3, Shaohua Zhang2, Johann Schlichter3, and Guangwen Yang1,2 1
Tsinghua National Laboratory for Information Science and Technology 2 Department of Computer Science and Technology Tsinghua University, Beijing 100084, P.R. China 3 Institut fuer Informatik, Technische Universitaet Muenchen, Boltzmannstr. 3, 85748 Garching, Germany [email protected]
Abstract. As workflow technology evolves into the grid domain, workflow process becomes more and more complex, raising a great challenge both to workflow modeling and workflow execution. In response to the challenge, this paper puts forward a goal-driven workflow framework. The framework first proposes process pattern as an effective way for procedural knowledge representation and then deploys a pattern-based planning algorithm to (semi-) automatically generate workflow on the fly according to the goal specified by users and the running context. Such a goal-driven workflow management paradigm could not only enhance the flexibility and adaptability of workflow system but also ease the heavy burden of workflow definition. Keywords: Workflow Generation, Process Pattern, Knowledge Management, Knowledge Representation, Planning.
1 Introduction and Motivation Due to its immense power in dealing with complex tasks and integration of heterogeneous resources, nowadays workflow technology has found its application in numerous grid projects and systems and/or products, e.g. GridFlow [4], Taverna [13], GridAnt [12], and DAGMan (http://www.cs.wisc.edu/condor/dagman/), to name but just a few. There are still more systems and/or products in development. In spite of the fact that workflow management has played a valuable role today in scientific work, there are still important issues left to be resolved such as flexibility, reliability, interoperability, scalability, security, and so on [9]. This paper sets out to the flexibility issue of grid workflow system, although the other issues are also kept in mind. We argue the traditional process-driven workflow management paradigm found in traditional and most grid workflow systems should be replaced by a goal-driven paradigm in order to get a more flexible grid workflow system. As an endeavor in this direction, a new workflow framework is proposed in this paper. The rest of the paper is organized as follows: in the following section, we give an overview of the workflow framework proposed with focus on design philosophy, system architecture, and working procedure. Then process pattern, the core concept of R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 169–178, 2007. © Springer-Verlag Berlin Heidelberg 2007
170
J. Jiang et al.
our goal-driven workflow framework, and pattern-based workflow generation are explained in detail in Section 3 and Section 4 respectively. Section 5 compares our work with the related ones. The paper ends in Section 6 with some conclusions where future work is also presented.
2 Towards Goal-Driven Workflow Management This section reveals the fundamentals of our goal-driven workflow management to give users an intuitive impression on it. 2.1 Design Philosophy In our opinion, the issue of workflow flexibility roots in the design philosophy behind workflow systems ― a workflow process is firstly built by human designers for most of the time and then submitted to workflow engine for execution. We term such an approach a process-driven paradigm. Process-driven paradigm functions well in environments that are small-scale, centralized and homogeneous as most workflow systems do. However, it is not applicable in general to a large-scale, distributed and heterogeneous environment like grids because, on the one hand, it raises too high requirements on process designers and on the other hand, the workflow system will get hopelessly complex and error-prone to handle various changes and exceptions. The theory of situated actions [15] tells us work in real world has an ad hoc nature, i.e., the sequential organization of the task actions arises in response to the evolving immediate circumstances and exhibits a moment-by-moment, improvised character, rather than a predetermined one as in process-driven workflow management paradigm. Favoring this idea, we argue, to get a more flexible and more usable grid workflow system, the process-driven workflow management paradigm should be replaced by a goal-driven one, by which we mean eliminating the boundary between workflow build-time and run-time. Instead of defining a workflow process in advance, users just specify a goal and then workflow management system (WFMS) will, with or without users’ intervention, decompose it into some sub-tasks according to the resources and knowledge possessed and fulfill the coordination and scheduling function necessary to achieve the specified goal. The decomposition procedure can be executed several times on the fly, making it possible to tolerate and/or adapt to the changes and exceptions encountered during the execution time. 2.2 System Architecture Based on situated action theory, our goal-driven workflow framework is designed to support as many application domains as possible. Besides, it also bears such a point in mind that the control flow should be balanced between humans and automatic information systems to give enough respect for human proactiveness as well as to reduce system complexity. Fig. 1 illustrates the architecture of the proposed workflow framework. It can be divided into three layers: a) the upper layer is Human Computer Interface through
Workflow Management in Grid Era
171
High-level Requirements Human Computer Interface Ontology Base Workflow Planner Pattern Base
RePlanning
Execution Engine
Web Service
Web Service
……
Service Directory Web Service
Fig. 1. The architecture of the proposed goal-driven workflow framework
which end users can specify the goal to be achieved and intervene in the planning and execution phase to balance the control flow as aforementioned; b) the middle layer is Workflow Planner. It is deployed to generate abstract workflows and identify executable steps according to the goal specified, current situation (context) and the knowledge stored in the ontology and pattern base; c) the bottom layer is Execution Engine that maps steps of an abstract workflow to concrete services and coordinates the execution of them. 2.3 Working Procedure The typical procedure for workflow construction and execution in our framework is shown in Fig. 2. It mainly consists of four steps as described below. Step 1. Goal Identification In this step, users specify a business goal (User’s Request in Fig. 2) via Human Computer Interface of our workflow framework. Step 2. Workflow Planning In this step, the Workflow Planner first selects one or more process patterns from the pattern base to construct an abstract workflow (Workflow Generation in Fig. 2) and then identifies some executable steps (Executable Steps Identification in Fig. 2) according to the concepts in ontology base and current execution status. Step 3. Workflow Execution In this step, the Execution Engine maps the identified steps to physical services and coordinates their execution (Workflow Execution in Fig. 2).
172
J. Jiang et al.
Step 4. Execution Evaluation In this step, an evaluation algorithm is used to determine the following actions: if the goal specified has been achieved, the procedure ends. Otherwise, it will restart the “planning-execution” loop from step 2 until the final goal is achieved. We term the restarted loop replanning which is indicated by the control from Execution Engine to Workflow Planner in Fig. 1. Replanning is another approach provided by our framework to deal with changes and exceptions besides feedback (indicated by the control from Workflow Planner/Execution Engine to Human Computer Interface in Fig. 1) and user intervention (indicated by the control from Human Computer Interface to Workflow Planner/Execution Engine in Fig. 1). User’s Request
Workflow Generation
Abstract Workflow
End
Execution Evaluation
Abstract Activity Executable Activity Executable Steps Identification
Partially Executed Workflow
Executed Activity
Partially Executable Workflow
Workflow Execution
Fig. 2. A typical procedure for workflow construction and execution where some intermediate execution results of a certain loop are also displayed
3 Process Pattern In order to develop such a goal-driven workflow framework, as pointed out by Yolanda Gil et al. [11], a knowledge-rich approach is required. In this paper, we deploy ontologies to describe various domain concepts and as a basis for goal decomposition. In addition, we put forward process patterns as a way to representing procedural knowledge. This section goes into the details of process patterns. 3.1 Process Pattern Patterns originally come from architectural domain to "describes a problem which occurs over and over again in our environment, and then describes the core of the
Workflow Management in Grid Era
173
solution to that problem, in such a way that you can use this solution a million times over [2]". Favoring this concept, our process pattern comprises three parts ― problem, context and solution, where problem is a description of the task to be handled, and context specifies the conditions under which the solution will function, and solution provides a guideline to perform the task or gives an answer to the problem. Below is a process pattern exemplar where only the key elements are shown.
...
”/>
...
...
...
From the example given, we can see that a process pattern starts with the keyword and some attributes where id is the internal identifier which uniquely identifies a process pattern, and name is user-friendly identifier for human computer interaction (to define or modify a process pattern), and ontology specifies the location of referred ontologies, and domain specifies the application scope of the pattern. The section, consisting of a description of the problem and one or more keywords about the problem, specifies a task to be handled and will be used by workflow planner to map high-level user requirements to process patterns. To
174
J. Jiang et al.
eliminate confusion, the description and the keywords of the task are defined with reference to domain ontologies specified by ontology attribute of this pattern. The section specifies the situation under which the pattern will be applied. According to Dey et al [10], context is “any information that can be used to characterize the situation of entities (i.e., whether a person, place, or object) that are considered relevant to the interaction between a user and an application, including the user and the application themselves.” From this definition, we can see that context involves nearly every aspect of an application and it is not feasible to define a generic context model that covers all the applications due to the diversity of applications. Therefore, we just specify some key values, indicated by , that identify the conditions under which this process pattern will function. Each context item has three attributes, that is, name, RefValue and Operator where name indicates the name of context item according to which the runtime value will be retrieved, RefValue specifies a reference value for the context item which can be a concrete value as in the example or a set or an interval, and Operator is an operation symbol used by workflow planner to compare the current value of context item with RefValue. For the time being, operators supported by our workflow framework include > (greater than), ≥ (no less than), < (less than), ≤ (no greater than), = (equal), ≠ (inequal), in (within an interval or a set) and out (not within an interval or a set). The section, starting with Transition which specifies the dependencies between activities indicated by Activity, provides an independent workflow fragment to solve the problem stated in section. Currently dependencies supported include Sequence, Parallel Split, Synchronization, Exclusive Choice, and Simple Merge as stated in [1]. As for activities, three different types are distinguished: Standard, Process and Goal. The standard activity is an activity compliant with the specification that can be recognized by execution engine. The process activity, which is deployed to make the control flow more explicit and is composed of only standard activities here, is indeed a process with its own internal structure as in most WFMS. The goal activity is deployed to describe those activities whose parameters can’t be specified in advance. To ease the burden of process pattern definition, which, we think, is one of the dominant factors for the success of our workflow framework, a graphical pattern definition tool is supplied through which designers can define various patterns simply by drag-and-drop and by specifying the properties needed. This is just the way that workflow process is defined as in most existing WFMSs and due to space limitation, we will not explain it further here. 3.2 Remarks Process pattern is a new way for knowledge representation. It is essentially different from workflow pattern [1] in that workflow pattern is a system-level technique to describe workflow processes that concerns only about the control structure of workflow whereas process pattern is a high-level facility to describe a process solution to a specific user task or goal under certain conditions. Process pattern is also substantially different from predefined processes in a process library [16] in that these predefined processes provide no (explicit) information about the problem to solve and the conditions under which they will function whereas process pattern provides all.
Workflow Management in Grid Era
175
In summary, we think process pattern has the following advantages. Firstly, process pattern is suitable for representing procedural knowledge. The three parts of a process pattern provide well-structured knowledge about how to solve a problem under certain conditions. Secondly, process pattern is cost effective. From users’ perspective, process pattern only explicitly associates a process with its goal and applied scenario and therefore, it is convenient and easy to build and update the pattern base incrementally via the pattern definition tool supplied. From system’s perspective, workflow planner mainly utilizes goal and context information to find out appropriate solution. Pattern-based planning is simpler and more efficient than those methods that take all such details as operators, precondition, and effects into consideration from the beginning. Thirdly, process pattern is fine-grained. It can describe knowledge of different abstract levels in various resolutions. Also, it provides adequate information about pattern application, making it possible for existing planners to generate workflow.
4 Pattern-Based Workflow Generation In the previous section, we have thoroughly illustrated the concept of process pattern. This section goes further to explain how process patterns; are utilized to (semi-) automatically generate workflows. By “semi” we mean users may be involved (to provide information needed and/or to make a decision) during workflow generation. The procedure for automatic workflow generation is summarized by algorithm 1 (see below). The functions getCurrentContext, PatternMatching, ActivityConvert, and GoalDecomposition are used to retrieve current situation (running context), to find a process pattern that provides a most proper solution to the business goal, to convert a goal activity to a standard activity according to current situation (null will be returned if the activity can’t be converted currently), and to decompose a goal into smaller pieces (according to some ontology in ontology base) respectively. Algorithm 1. WorkflowGeneration Input: a business goal g Output: An executable workflow W { W Ф; cxt getCurrentContext(); P PatternMatching(g, cxt); if(P≠ Ф){//a solution is found foreach(a∈P.Solution){ if(a.type=Standard or a.type=Process) W W+a; else{ W’ ActivityConvert(a, cxt); W W+W’; } }//end foreach } else{ if(g is decomposable){
176
J. Jiang et al.
G GoalDecomposition(g); foreach(g’∈ G){ W’ WorkflowGeneration(g’); W W+W’; }//end foreach }//end if } return W; } From the algorithm we can see that the workflow generation process mainly consists of three phases: context acquisition (via getCurrentContext), pattern selection (via PatternMatching) and workflow composition (via operations like W+a and W+W’). As the core function of WorkflowGeneration algorithm, PatternMatching works as follows: firstly the domain attribute of the process pattern (see section 3.1) is applied to filter the pattern base in order to reduce the searching space (domain matching), which is particularly important when multiple domains are supported; secondly the section is compared with the concepts specified by goal to identify candidate patterns (goal matching); thirdly section is utilized to match current context cxt that contains not only the user’s profile but also the key parameters about system running to filter the patterns selected further. Through these three steps, we then get a small set of relevant process patterns. Afterwards, an evaluation algorithm is applied and a pattern with highest score is selected and returned.
5 Related Work PROTEUS [3] also deploys ontologies to model the semantics of application goals and requirements. However, it is not an intelligent workflow management system because the knowledge is only used as a dictionary for users to define workflows rather than using it for automatic workflow generation. There is still an explicit boundary between workflow build-time and run-time. Pegasus [8] is a typical workflow system that presents some goal-driven features. However, its planner and knowledge used for planning are tightly bound to a specific application domain. In our framework, explicit knowledge representation (ontologies and process patterns) is deployed making workflow planner domain-independent. Therefore, it can be ported to different domains easily. Automatic workflow generation is also discussed in [6]. Compared with our approach, the work in [6] is a fine-grained approach ― users should specify all the conditions under which a task will function. As the application domain expands, the rule base will become quite large resulting in low efficiency in workflow composition. In addition, the work in [6] only considers workflow generation whereas dynamic modifications of workflow definitions and adaptation to run-time changes/exceptions are left unresolved. The task based process management (TBPM) project [7] presents an approach similar to ours. However, it imposes a special requirement that domain ontologies specialize the general concepts of the process ontology, making it difficult to reuse
Workflow Management in Grid Era
177
ontologies defined without knowing the process ontology. Our framework puts domain ontologies in the first place ― not only user’s requests (goals) but process patterns are specified with reference to domain ontologies ― making it possible to protect existing investigations, which we believe is one of the keys to the success of a certain technology. In addition, plans in TBPM are only distinguished by their types. As the application domain expands, it will become difficult to specify the types of tasks and to identify a suitable plan for a certain situation.
6 Conclusions and Future Work As workflow technology evolves into the grid domain, more and more steps are involved in a single process, which raises a great challenge both to workflow modeling and workflow execution [9]. To answer the challenge, utilizing AI planning techniques for automated workflow generation attracts more and more attention [5, 14]. Favoring the idea that workflow management can benefit from AI planning, a goal-driven workflow framework is put forward in this paper. To implement our framework, two steps are taken. Firstly process pattern is proposed based on domain ontologies as an effective way for procedural knowledge representation and as a means for domain experts and computer scientists to exchange expertise. Taking process patterns as the building blocks, a planning-based algorithm is then devised to compose (in partial or full) a workflow according to the goal specified by users and the running context. Our goal-driven workflow framework has at least the following benefits. − From system’s perspective, it greatly enhances the flexibility and adaptability of workflow system. In our framework, there is no explicit boundary between workflow build-time and run-time and the executable steps are determined on the fly according to domain knowledge (expressed by domain ontologies and process patterns) and the current running context, making it possible to adapt to the changes and exceptions encountered during run-time. In addition, the goal activity within the process pattern provides a way to describe tasks whose parameters only become available at run-time, making the framework even more flexible. − From end-users’ perspective, it enormously eases the burden of process definition. Traditionally, it would imply that users know not only the detailed knowledge of business operation including its pre-conditions, inputs, outputs, and postconditions, but the process definition environment itself to define a workflow process. In our framework, to fulfill a task the only thing needed is to specify the goal (what needs to be achieved) rather than a plan (how the goal is accomplished). Thus, the heavy burden on users no longer exists. Since contributions from various areas (e.g. distributed grid computing, artificial intelligence, semantic Web, CSCW, cognitive science and so on) are involved, it is not an easy task to develop a real usable goal-driven workflow system. Our future work will concentrate on the following topics. The first one is to investigate algorithms to detect pattern conflicts and to examine the completeness of the pattern base. The second one is to investigate machine learning algorithm to capture the experience gained during process planning and execution so as to enrich domain
178
J. Jiang et al.
knowledge while reducing the up-front development costs of domain ontologies and/or process patterns. Acknowledgments. The work reported in this paper is co-sponsored by Alexander von Humboldt Fellowship, Natural Science Foundation of China under grant No. 90412011, 60573110 and National Key Basic Research Project of China under grant No. 2003CB317007.
References 1. Aalst, W.M.P., Hofstede, A.H.M., Kiepuszewski, B., Barros, A.P.: Workflow Patterns. Distributed and Parallel Databases 14(1), 5–51 (2003) 2. Alexander, C., Ishikawa, S., Silverstein, M., Jacobson, M., Fiksdahl-King, I., Angel, S.: A Pattern Language. Oxford University Press, New York (1977) 3. Cannataro, M., Comito, C., Schiavo, F.L., Veltri, P.: Proteus, a Grid-based Problem Solving Environment for Bioinformatics: Architecture and Experiments. IEEE Computational Intelligence Bulletin 3(1), 7–18 (2004) 4. Cao, J., Jarvis, S.A., Saini, S., Nudd, G.R.: GridFlow: Workflow Management for Grid Computing. In: Proc. 3rd International Symposium on Cluster Computing and the Grid (2003) 5. Cheatham, M., Cox, M.T.: AI planning in portal-based workflow management systems. In: Proc. International Conference on Integration of Knowledge Intensive Multi-Agent Systems, pp. 47–52 (2005) 6. Chun, S.A., Atluri, V., Adam, N.R.: Domain Knowledge-based Automatic Workflow Generation. In: Hameurlain, A., Cicchetti, R., Traunmüller, R. (eds.) DEXA 2002. LNCS, vol. 2453, Springer, Heidelberg (2002) 7. Chung, P.W.H., Cheung, L., Stader, J., Jarvis, P., Moore, J., Macintosh, A.: Knowledgebased process management - an approach to handling the adaptive workflow. KnowledgeBased Systems 16(3), 149–160 (2003) 8. Deelman, E., Blythe, J., Gil, Y., Kesselman, C., Mehta, G., Vahi, K., Blackburn, K., Lazzarini, A., Arbree, A., Cavanaugh, R., Koranda, S.: Mapping Abstract Complex Workflows onto Grid Environments. Journal of Grid Computing 1(1), 25–39 (2003) 9. Deelman, E., Gil, Y.: Final Report for Workshop on Challenges of Scientific Workflows (May 1-2, 2006), http://vtcpc.isi.edu/wiki/images/3/3a/NSFWorkflowFinal.pdf 10. Dey, A.K., Abowd, G.D., Salber, D.: A Conceptual Framework and a Toolkit for Supporting the Rapid Prototyping of Context-Aware Applications. Human-Computer Interaction 16(2), 97–166 (2001) 11. Gil, Y., Deelman, E., Blythe, J., Kesselman, C., Tangmunarunkit, H.: Artificial Intelligence and Grids: Workflow Planning and Beyond. Intelligent System 19(1), 26–33 (2004) 12. Laszewski, G.V., Amin, K., Hategan, M., Zaluzec, N.J., Hampton, S., Rossi, A.: GridAnt: A Client-Controllable Grid Workflow System. In: HICSS 2004. Proc. 37th Annual Hawaii International Conference on System Sciences, January 5-8, 2004 (2004) 13. Oinn, T., Addis, M., Ferris, J., Marvin, D., Senger, M., Greenwood, M., Carver, T., Glover, K., Pocock, M.R., Wipat, A., Li, P.: Taverna: A Tool for the Composition and Enactment of Bioinformatics Workflows. Bioinformatics 20(17), 3045–3054 (2004) 14. R-Moreno, M.D., Borrajo, D., Cesta, A., Oddi, A.: Integrating planning and scheduling in workflow domains. Expert Systems with Applications 33(2), 389–406 (2007) 15. Suchman, L.: Plans and situated actions: The problem of human machine communication. Cambridge University Press, Cambridge (1987) 16. Yang, G.X.: Process library. Data Knowl. Eng. 50(1), 35–62 (2004)
BPEL for Semantic Web Services (BPEL4SWS) J¨ org Nitzsche, Tammo van Lessen, Dimka Karastoyanova, and Frank Leymann Institute of Architecture of Application Systems University of Stuttgart Universitaetsstrasse 38, 70569 Stuttgart, Germany {joerg.nitzsche,tammo.van.lessen,dimka.karastoyanova, frank.leymann}@iaas.uni-stuttgart.de http://www.iaas.uni-stuttgart.de
Abstract. In this paper we present BPEL for Semantic Web Services (BPEL4SWS) - a language that facilitates the orchestration of Semantic Web Services using a process based approach. It is based on the idea of WSDL-less BPEL and enables describing activity implementations semantically which increases the flexibility of business processes. Following an approach that uses a set of composable standards and specifications, BPEL4SWS is independent of any Semantic Web Service framework. It can be used to compose Semantic Web Services, traditional Web Services and a mix of them.
1
Introduction
Web Service (WS) [1] technology is one implementation of a service oriented architecture (SOA) [2,3]. It aims at integrating applications and has gained broad acceptance in research and industry. Service composition is currently enabled mainly by a process-based approach [4] embodied by the de facto standard BPEL (Business Process Execution Language) [5]. BPEL is using WSDL [6] descriptions to identify partner services, i.e. services are identified by port types and operations in the process models. As a result only services that implement a concrete interface can be used which is a major deficiency of BPEL. One approach to addressing the rigidity of WSs has evolved from the Semantic Web - the Semantic Web Service (SWS) technology. The most prominent SWS frameworks are the Web Ontology Language for Services (OWL-S) [7] and the Web Service Modeling Ontology (WSMO) [8]. SWS technology introduces an additional level of abstraction and can be considered as an integration layer on top of Web Services. Instead of a syntactic description of a WS a declarative description of the service functionality is given. In this paper we present BPEL4SWS, a language which enables describing activity implementations in a machine processable manner using Semantic Web technologies, as an alternative to specifying WS interfaces, i.e. it enables the use of Semantic Web Services as well as traditional Web Services. The BPEL4SWS framework exhibits and maintains the composability characteristics of the WS technology. In this way, BPEL4SWS processes are able to use both semantic R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 179–188, 2007. © Springer-Verlag Berlin Heidelberg 2007
180
J. Nitzsche et al.
WSs and conventional WSs intermixed within a single process, and independent of any SWS framework. Additionally, BPEL4SWS processes can be exposed both as Semantic Web Services and conventional Web Services. To enable this, BPEL4SWS provides a grounding mechanism that contributes to maintaining BPEL4SWS processes compliant to standard WS-based communication. The paper is organized as follows. In section 2 the necessary background information about BPEL is provided. BPEL4SWS is presented in section 3. We focus on the main aspects of BPEL4SWS and explain how they make up the functionality the language provides. These aspects are: (i) a WSDL-less interaction model (BPELlight ) for describing the process logic, (ii) the annotation of SWS descriptions (such as WSMO and OWL-S) to support semantic discovery, (iii) the usage of WS-* technology for the invocation of services and (iv) the usage of SA-WSDL [9] to provide a seamless mapping between XML data and ontological data. In section 4, an engine-prototype that implements BPEL4SWS is presented. Finally related work is examined in section 5 and a conclusion is given in section 6.
2
BPEL
BPEL is the de facto standard for specifying business processes in a WS world. It enables both, the composition of WSs [1] and rendering the composition itself as WSs. Thus, BPEL provides a recursive aggregation model for WSs. The composition of WSs can be specified as a flow between WS operations. Therefore BPEL provides several so called structured activities that prescribe the control flow between the interaction activities that model interactions with other WSs. BPEL does not support explicit data flow; instead, data is stored in shared variables that are referenced and accessed by interaction activities and data manipulation activities (e.g. activity). The control flow between activities can be structured either in a block-based manner by nesting structured activities like (for sequential control flow), (for parallel control flow) and (for conditional branches in the control flow) activities, or graphbased by defining (i.e. directed edges) between activities in a activity; both styles can be used intermixed. In order to enable communication that is compliant to the Basic profile [10] of the WS-Interoperability Organization (WS-I)1 , i.e. without using WSDL operations of type notification and solicit-response, BPEL introduces the concept of a partner link type which is defined as an extension to WSDL. A partner link type binds two port types, namely a port type the process offers to a partner and a port type the process requires from the corresponding partner. This way it defines a channel between two abstract business partners (roles) through which the partners exchange messages; the roles correspond to port types. If a process interacts synchronously with a partner, such a channel is just unidirectional, i.e. the corresponding partner link type contains a single role. 1
http://www.ws-i.org/
BPEL for Semantic Web Services (BPEL4SWS)
181
In order to establish a contract (i.e. an agreement between two partners which message channel to use), BPEL’s partner links reference a partner link type and specify which role is taken by the process itself (myRole) and which role is taken by the partner (partnerRole). The interaction activities [1] (, , , ) and event handlers are used to define the actual message exchange corresponding to a partner link, i.e. data transmitted and style of communication (synchronous vs. asynchronous). For that purpose, interaction activities reference a partner link and a WSDL operation. Receiving activities (i.e. and ), the activity and the event handler reference an operation of the process’s port type, whereas the activity references an operation of the partner’s port type. Note that a synchronous invocation of a process is specified via a receiving activity and a matching activity.
3
BPEL4SWS
As shown in the previous section BPEL makes use only of WSs to enable service composition. Partner interfaces are described using WSDL; they are hard-coded within the process logic. As a result, only services that implement the WSDL interface used in the BPEL definition can be used as activity implementations and services that provide the same functionality but implement other interfaces cannot be used. This hampers integration of functionally equal services. Semantic Web Services describe services not in terms of an interface but rather describe their functionality and capability semantically and in a machine processable manner. For that reason Semantic Web Services increase the level of integration and can be considered an integration layer on top of Web Services where services are discovered based on their functionality and not based on their signature. To enable the usage of Semantic Web Services technology within business processes there is a need for a process language that does not specify partner services using their WSDL description, but rather allows using higher level semantic descriptions. BPELlight [11] decouples process logic and interface defintion (but still is applicable in a WS-* environment) and therefore makes for a good candidate as a basis for a process execution language for Semantic Web Services. Indeed, BPEL4SWS uses BPELlight as basis and allows to attach SWS descriptions to BPELlight such that SWS frameworks like OWL-S and WSMO and corresponding implementations can be used to discover and select SWS that implement the functionality required for an activity. In addition both, the SWS description and the process itself are partly grounded to WSDL to facilitate WS-* based communication (see section 3.5). Current SWS frameworks use ontologies as data model to facilitate semantic discovery. For that reason, SAWSDL is used to enable a seamless mapping of data between its XML representation and its ontological representation. This is also needed because in BPEL4SWS WSs and SWSs can be used intermixed.
182
3.1
J. Nitzsche et al.
BPELlight
BPELlight extends BPEL 2.0 via additional elements in a separate namespace2 which act as a replacement for the WSDL-based interaction model. It provides a WSDL independent interaction model and (re-)introduces the concept of a partner. BPELlight defines a mechanism to describe the communication between two partners without any dependency on WSDL. Therefore it introduces the element. This element plays the role of a WSDL-less partnerLink, facilitates grouping of interaction activities and thus enables defining a complex message exchange between two partners. Similarly to the , which is defined in the block, every is defined in a element. In addition, WSDL independent interaction activities are needed. Due to the fact that the partnerLink and operation attribute of interaction activities and event handlers defined in BPEL are mandatory, these activities have a WSDL dependency. Consequently, BPELlight introduces new interaction activities without the WSDL dependency using the mechanism. The new activity type introduced in BPELlight is presented in Listing 1. A set of interaction activities, that form a message exchange with a single partner, are grouped using the element.
standard-elements
Listing 1. BPELlight ’s
The interactionActivity can be configured such that it behaves like any of the basic interaction activities BPEL defines (receive, reply and invoke). Additionally, BPELlight defines WSDL independent pick and eventHandler elements. This is further described in [11]. This way BPELlight enables modelling arbitrary message exchange patterns or service interaction patterns [12]. BPEL 1.1 has the notion of a partner that comprises multiple partner links. However, the element has been removed in BPEL 2.0 because grouping partnerLinks is considered a deployment issue and the partner is not evaluated during runtime but rather is only used for documentation purpose. BPELlight reintroduces the notion of a partner. A partner in BPELlight comprises multiple conversations, and thus expresses that multiple conversations have to take place with one and the same business entity. Additionally, BPELlight enables 2
xmlns:bl=http://iaas.uni-stuttgart.de/2007/BPELlight
BPEL for Semantic Web Services (BPEL4SWS)
183
naming the partner and thus identifying a concrete organisation. The syntax of the new element is shown in listing 2. Within a process multiple partners can be specified.
+ +
Listing 2. The element
BPELlight includes an extension of the activity that enables copying a partner identification into the element. Therefore the specification is extended with a partner attribute that defines to which partner definition the concrete partner instance information (business entity) is copied. This is similar to copying an endpoint reference to a partner link in conventional BPEL. A partner can only be set if its corresponding conversations have not been established yet. 3.2
Attachment of SWS Descriptions
According to the composable approach we take for BPEL4SWS we do not encode the semantic descriptions in the BPEL4SWS process model. Instead WS-PolicyAttachment [13] is used to add semantic annotations. In general, annotations can be attached anywhere, i.e. on the activity level as well as on the conversation level. We advocate attaching the SWS descriptions to conversations. The meaning of the semantic annotations on the conversation level is described in the following sections. BPEL4SWS differentiates between two different types of conversations, ’providing’ and ’consuming’. A ’providing’ conversation is a conversation with a partner, where the partner uses a service the process provides via the conversation, a ’consuming’ conversation is a conversation with a partner, where the process uses a service, the partner service provides. 3.3
Using OWL-S
OWL-S (Web Ontology Language for Services) [7] was the first approach towards describing services semantically. It uses ontologies as data model and describes a service in terms of Service Profile, Service Model and Service Grounding. The capabilities of a service in terms of ’inputs’, ’outputs’, ’preconditions’ and ’effects’ are described in the Service Profile. The service model describes in which order messages have to be exchanged to consume the service’s functionality and the Service Grounding defines which WSDL operations of a concrete service have to be used to exchange these messages. OWL-S describes the execution of a Web service as a collection of remote procedure calls. We argue that this is only correct for a small percentage of the cases in business processes [14] since typically the communication is asynchronous.
184
J. Nitzsche et al.
OWL-S describes a self-contained service and has no notion of two partners (requester and provider) that provide means to invoke each other. It is designed to ground to all four kinds of WSDL (1.1) operations: one-way, request-response, notification and solicit-response. However, due to the WS-I Basic Profile [10] the WSDL operations of type notification and solicit-response must not be used. The lack of a partner model is the major deficiency of OWL-S since WS-* based and WS-I compliant asynchronous communication is not considered. Nevertheless, OWL-S can be used in the context of BPEL4SWS, but only for the cases that use synchronous communication only: an OWL-S service is attached to a conversation and the OWL-S service model describes the sequence of BPEL4SWS interaction activities associated with the conversation. An OWLS description attached to a ’providing’ conversation is grounded to the WSDL interface that describes the process, an OWL-S description attached to ’consuming’ conversations is not grounded, because the WSDL interface implemented by the partner service is assumed to be unknown during design time. This way dynamic service discovery independent of WSDL port types is enabled. 3.4
Using WSMO
Compared to OWL-S, WSMO (Web Service Modeling Ontology) is the more promising approach because its conceptual model enables standards (WS-*) based asynchronous communication. WSMO distinguishes between the description of a service (WSMO Web Service) and the description of requirements a client has on a service (WSMO Goal). Both descriptions are based on ontologies and contain a functional description that semantically describes what a service provides or a client requests in terms of ’preconditions’, ’assumptions’, postconditions’ and ’effects’ and an interface description, the so called WSMO choreography [15]. Thus WSMO enables expressing what kind of functionality a service provides, which message exchange is needed to consume its functionality as well as what a client aims to achieve and which message exchange the client will have. This message exchange can be grounded to WSDL operations (of type request-response and one-way) on every side of an interaction in such a way that both synchronous and asynchronous communication is enabled in a standards (WS-*) based and interoperable manner (i.e. WS-I compliant). In order to use the WSMO framework for BPEL4SWS, WSMO goals are attached to ’consuming’ conversations and Semantic Web Service descriptions are attached to ’providing’ conversations. The choreography of goal and Web service describe the sequence of the BPEL4SWS interaction activities associated with the conversations they are attached to. This way the process can be discovered by WSMO implementations using its WSMO Web Services description and activity implementations of BPEL4SWS can be discovered by submitting the attached WSMO goal to a WSMO enabled middleware. Similarly to OWLS, the discovery of both, the process itself and its activity implementations is independent of WSDL port types.
BPEL for Semantic Web Services (BPEL4SWS)
185
Since WSMO is more suitable for business processes due to its support for asynchronous communication we focus on using the WSMO framework for discovery of Semantic Web Services. 3.5
Grounding to WSDL
BPEL4SWS uses (semantic) Web Services as activity implementations and is exposed as Web Services as well as Semantic Web Services. Thus, the BPELlight interaction model is partly grounded to WSDL. To preserve the decoupling of process logic and activity implementation definition this is done within an artefact called ’grounding file’ and not within the BPELlight description. The grounding for the semantic ‘consuming’ conversation only specifies which WSDL operations are provided by the receiving activities. This is illustrated in Listing 3. This way, an engine implementation can resolve an incoming message to a certain activity within the process model. An invoke-like simply sends (and receives) a message to (and from) a SWS based middleware.
*
Listing 3. Partial grounding
* *
Listing 4. Full grounding
For conventional ’consuming’ and for ’providing’ conversations in general the grounding is more complex (see Listing 4). In this case the conversation is grounded to a partner link type which is required to support WSDL based asynchronous communication. Therefore, it has to be specified which role of the partner link type the partner service and the process itself take. In addition to the grounding of the conversation to the partner link type, all interaction activities, including the invoking ones have to be grounded to WSDL operations. Using this ’full’ grounding for ’consuming’ conversations means that conventional Web Services are used. In this case a semantic description must not be attached to the conversation. Whenever a sending activity is performed, the engine implementation looks up the grounding file for the operation it has to invoke and whenever a message is received it can be dispatched to an activity in the process model using the information given in the grounding file. By specifying also the partner role for a ’providing’ conversation, a process that is exposed as a Semantic Web Service can also be consumed like a conventional WS. The grounding file specifies how incoming messages are resolved to activities and which operations have to be used by sending activities. In case the process is discovered using its SWS description and asynchronous communication is used, the process does not call back (invoke) the partner directly using the operation specified in the grounding file but rather sends (and receives) a message to (and from) a SWS based middleware.
186
J. Nitzsche et al.
Enabling exposing a process as both, WSDL service and SWS is of utmost importance because if the process would only be described semantically, i.e. exposed as a SWS, and conventional invocation would not be supported, most of the clients (not supporting Semantic Web Service technology) would not be able to use its functionality. In this case, building a semantic business process and therefore a Semantic Web Service would not increase but rather reduce the number of clients, which is a knockout criterion. 3.6
Dualism of Data Representation Using SAWSDL
Existing Semantic Web Service frameworks are using ontologies as data model to facilitate semantic service discovery and their grounding defines which communication infrastructure is used to invoke a service. Since a BPEL4SWS process is exposed as a conventional WS for backwards compatibility, its semantic description is grounded to WSDL. Hence, there is a need to transform between the ontological and XML representation of data. SAWSDL [9] provides semantically annotated data types as means to describe the so called lifting and lowering of data. It introduces the concepts of modelReference, liftingSchema and loweringSchema. The modelReference identifies the concept to which the XML data can be lifted, and the liftingSchema defines how the lifting can be done. The loweringSchema can be used to lower the data again from an ontological level to its XML representation.
4
Implementation
To demonstrate the capabilities of BPEL4SWS a prototypical BPEL4SWS engine was implemented [16]. It is based on the open source Apache ODE engine3 and currently supports invocation of WS as well as synchronous invocation of WSMO Web Services.
5
Related Work
Mandell and McIlraith [17] identified the shortcomings of BPEL with respect to the flexibility of service and partner discovery. They presented a proxy-based approach where service requests are delegated to a discovery service through a locally bound WSDL interface, i.e. they mix different levels of abstractions in the process model: service und infrastructure service. They use OWL-S to semantically describe the activity implementations of a BPEL process. Whether the language is extended has not been presented. Asynchronous and stateful communication between services is not discussed. Meteor-S [18] also takes a proxy-based approach where all interactions are bound to virtual partners, hosted by a process configuration module. The process configuration module delegates the service requests to concrete services either 3
http://incubator.apache.org/ode
BPEL for Semantic Web Services (BPEL4SWS)
187
bound during deployment or during runtime. As the proxy is stateful, it enables creating an execution plan in case it is required to invoke several operations in order to achieve the specified goal. Asynchronous interaction between the process and the proxy or stateful interaction via multiple synchronous invocations between the proxy and the process is not discussed. Like in the previous approach, it is not known whether the language is extended and how the semantic annotation of the interaction activities is done, i.e. whether a single activity or a complete partner link is described semantically. In contrast to the already mentioned approaches Karastoyanova et al. [19] present an extension of the language, namely an extension to the activity. Their approach also uses OWL-S to describe activity implementations and only allows for synchronous invocation of OWL-S services.
6
Conclusion
In this paper we presented BPEL4SWS, a flexible and comprehensive approach for composing Web Services and Semantic Web Services. By allowing for describing activity implementations semantically, i.e. using SWS concepts, BPEL4SWS enables application integration on a higher level of abstraction. The presented framework is composed of a set of specifications and is by design independent of any specific SWS technology. In contrast to other approaches the interfaces of the SWS based middleware are not hard-wired in the process model. Instead the BPEL language is extended to facilitate specifying activity implementations semantically. Interfacing the middleware is considered to be part of the configuration of the system. That is, BPEL4SWS clearly distinguishes between different levels of abstraction. BPEL4SWS provides support for asynchronous communication which is essential for business processes. It uses an XML–ontology dualism for representing data to support Semantic Web Service technology as well as Web Service technology.
Acknowledgements The work published in this article was partially funded by the SUPER project4 under the EU 6th Framework Programme Information Society Technologies Objective (contract no. FP6-026850).
References 1. Weerawarana, S., Curbera, F., Leymann, F., Storey, T., Ferguson, D.: Web Services Platform Architecture: SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging and More. Prentice-Hall, Upper Saddle River (2005) 2. Burbeck, S.: The Tao of e-business services. IBM Corporation (2000) 4
http://www.ip-super.org/
188
J. Nitzsche et al.
3. Krafzig, D., Banke, K., Slama, D.: Enterprise SOA: Service-Oriented Architecture Best Practices (The Coad Series). Prentice-Hall, Upper Saddle River (2004) 4. Leymann, F., Roller, D.: Production workflow. Prentice Hall, Englewood Cliffs (2000) 5. Alves, A., et al.: Web Services Business Process Execution Language version 2.0. Committee specification, OASIS (April 2007) 6. Christensen, E., Curbera, F., Meredith, G., Weerawarana, S.: Web Services Description Language (WSDL) 1.1 (2001) 7. Martin, D., Burstein, M., Hobbs, J., Lassila, O., McDermott, D., McIlraith, S., Narayanan, S., Paolucci, M., Parsia, B., Payne, T., et al.: OWL-S: Semantic markup for web services. W3C Member Submission. World Wide Web Consortium (2004) 8. Lausen, H., Polleres, A., Roman, D.: Web Service Modeling Ontology (WSMO). W3C Member Submission (2005) 9. Farrell, J., Lausen, H.: Semantic Annotations for WSDL and XML Schema. W3C Recommendation (August 2007) 10. Ballinger, K., Ehnebuske, D., Ferris, C., Gudgin, M., Liu, C.K., Nottingham, M., Yendluri, P.: Basic Profile Version 1.1. WS-I Specification (2004) 11. Nitzsche, J., van Lessen, T., Karastoyanova, D., Leymann, F.: BPELlight . In: 5th International Conference on Business Process Management (BPM), Brisbane, Australia (2007) 12. Barros, A., Dumas, M., ter Hofstede, A.: Service interaction patterns: Towards a reference framework for service-based business process interconnection. Technical Report FIT-TR-2005-02, Faculty of Information Technology, Queensland University of Technology, Brisbane, Australia (March 2005) 13. Bajaj, S., Box, D., Chappell, D., Curbera, F., Daniels, G., Hallam-Baker, P., Hondo, M., Kaler, C., Malhotra, A., Maruyama, H.: Web Services Policy Attachment (WS-PolicyAttachment). W3C Member Submission (April 2006) 14. Nitzsche, J., van Lessen, T., Karastoyanova, D., Leymann, F.: WSMO/X in the Context of Business Processes: Improvement Recommendations. International Journal of Web Information Systems (2007) ISSN: 1744-0084 15. Roman, D., Scicluna, J., Nitzsche, J.: D14 V 0.4: Ontology-based Choreography (2007) 16. van Lessen, T., Nitzsche, J., Dimitrov, M., Karastoyanova, D., Konstantinov, M., Cekov, L.: An Execution engine for BPEL4SWS. In: 2nd Workshop on Business Oriented Aspects concerning Semantics and Methodologies in Service-oriented Computing (SeMSoc) in conjunction with ICSOC, Vienna, Austria (to appear, 2007) 17. Mandell, D., McIlraith, S.: Adapting BPEL4WS for the Semantic Web: The Bottom-Up Approach to Web Service Interoperation. In: Proceedings of the Second International Semantic Web Conference, pp. 227–241 (2003) 18. Verma, K., Gomadam, K., Sheth, A., Miller, J., Wu, Z.: The METEOR-S Approach for Configuring and Executing Dynamic Web Processes. LSDIS METEORS project, 6–24 19. Karastoyanova, D., Leymann, F., Nitzsche, J., Wetzstein, B., Wutke, D.: Parameterized BPEL Processes: Concepts and Implementation. In: 4th International Conference on Business Process Management (BPM), Vienna, Austria (September 2006)
Workshop on Context-Aware Mobile Systems (CAMS)
CAMS 2007 PC Co-chairs’ Message Context awareness is increasingly forming one of the key strategies for delivering effective information services in mobile contexts. The limited screen displays of many mobile devices mean that content must be carefully selected to match the user’s needs and expectations, and context provides one powerful means of performing such tailoring. Context-aware mobile systems will almost certainly become ubiquitous—affordable ‘smartphones’ include GPS location support, and many devices now change display illumination automatically as the environment changes. With this hardware comes the opportunity for ‘on-board’ applications to use location and environment data to provide new services. Until recently such systems could only be created with complex and expensive components. Furthermore, the current ‘mode’ of the phone (e.g. silent, meeting, outdoors), contents of the built-in calendar, etc., can all used to provide a rich context for the user’s immediate environment. However, there is much to learn from a computer science perspective: context is a plastic and variable concept that can be realized in many ways—from the early notions of location-based services, through social navigation techniques based on profiling of users, to concepts of work processes and information journeys. Together, these differing forms of context provide a challenging diversity of data which need to be brought together and consistently and rapidly processed. These demands provide a strong testbed of contemporary techniques for a modeling context, particularly when the network and processing capacities of mobile systems are considered. The third Context Aware Mobile Systems (CAMS) workshop had a strong set of paper presentations. This year marked a notable increase in the scientific maturity of submissions, and the reviewing process was extremely challenging. Building on two years of excellent programs, we are sure that workshop attendees were delighted with the breadth and depth of contributions that were discussed. Papers covered the spectrum of context-aware mobile systems: the traditional basis of location, the processes of personalization and profiling, emerging areas such as visualization, plus engineering requirements and modeling. The global nature of the research in this area is also reflected in the wide spread of countries represented by the authors. August 2007
George Buchanan Annika Hinze
Context-Awareness in the Wild: An Investigation into the Existing Uses of Context in Everyday Life Jason Pascoe1, Kirsten Thomson2, and Helena Rodrigues1 1
Departamento de Sistemas de Informação, University of Minho, Campus de Azurém, 4800 - 058 Guimarães, Portugal {jason,helena}@dsi.uminho.pt 2 The Usability Laboratory, Department of Computer Science, University of Waikato, Private Bag 3105, Gate 8, Hillcrest Road, Hamilton, New Zealand [email protected]
Abstract. It is common for literature on context-awareness to focus on specific application domains or on the development of models and frameworks to facilitate context-awareness. In this study, however, we take a step back from such work in order to investigate how regular people may already be employing, or trying to employ, context-awareness in their everyday lives using existing mobile tools (such as mobile phones, paper notepads, etc.). We believe that an understanding of these existing real-world uses and needs of contextawareness will help to better inform and direct research efforts in this domain. Towards this aim we present the findings of a user study in which twelve randomly selected individuals recorded a diary on their use of mobile tools over the period of two days. The findings clearly demonstrate that people do indeed currently employ a wide variety of contexts and context-aware behaviours, albeit in a manner that is often imperfect and at a sub-conscious level. Keywords: context, context-awareness, user study.
1 Introduction Context-awareness [1], the ability of a computer to sense, react, and adapt to its environment of use, is often explored in the research literature through the invention of new applications that exploit a knowledge of context (for example, context-aware tourist guides [2], context-aware fieldwork tools [3], etc.) or through the invention of frameworks and architectures to support such applications (for example, the Context Toolkit [4], or the Electronic Post It Note [5], etc.). Such work also often stresses that context is much more than location. However, we have not seen much widespread adoption of context-awareness in the “real world” except for a limited amount of location-based applications such as in-car navigation systems. Or have we? This paper presents the findings of a study into the use of mobile tools (such as mobile phones, PDAs, paper notebooks, Post It notes, etc.) in everyday life, in which we were surprised to discover a wide range of context-aware techniques and behaviours being employed in many aspects of daily life. The context-aware systems were often cumbersome, frequently employed traditional paper-based tools, and required much effort from the user. But never the less, they demonstrated many effective uses of R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 193–202, 2007. © Springer-Verlag Berlin Heidelberg 2007
194
J. Pascoe, K. Thomson, and H. Rodrigues
context-awareness “in the wild”. We also highlight the areas in which contextawareness would clearly be useful if better context-aware tools were available. In this paper we first present the background from which this study evolved and then describe the methods that were employed to investigate the use of mobile tools in everyday life (including their context-aware behaviours). The main body of the paper then details each of the context-aware techniques or behaviours that we discovered. We hope that by presenting them we will not only offer a new perspective on how context-awareness is already being widely utilised, but will also help to direct research attention to the types of contexts and behaviours that people are using or needing most in their everyday lives.
2 Background The work presented in this paper stems from our research into a new form of wristworn general-purpose computer that we call the Smartwatch [6]. One of the fundamental concepts of the Smartwatch is that although people are using, and carrying with them, more and more mobile devices (such as mobile phones, PDAs, etc.) these devices are often not readily to hand or usable at the time of need. Indeed, they are often found tucked away deep in a bag or trouser pocket, and so require a not insignificant amount of time and effort to retrieve, activate, and switch to the appropriate application. We believe this is particularly problematic for new types of context-aware behaviours in which the computer initiates dialogues with the user in order to offer up information or services based on the current environment. For example, a context-aware tourist guide that requires retrieval from a bag or pocket to view it each time it beeps and offers up new information may soon grow tiresome, and carrying around a device in one’s hand the whole day is often not practical (especially if we are considering applications in constant daily use). However, perhaps more people would be willing to quickly glance at their wristwatch, making the Smartwatch particularly suited to context-aware applications. A few other research and industrial projects have previously explored wrist-worn computers, but have not proven to be successful or long-lived. We believe this is primarily due to a failure to fundamentally rethink the nature of the user interface for such a radically different form factor. For example, Fossil essentially reduced a Palm PDA to a wristwatch size [8] without any significant change in the user interface, and IBM’s watch computer [9], although addressing UI concerns at a later stage [10], was primarily focused on demonstrating Linux’s ability to run on an ultra-small hardware platform. As a result, the few remaining efforts in this area typically focus on adding very specific functionality to a watch rather than offering a general-purpose computing platform such as we wish to explore. We commenced this project with a comprehensive investigation into the use of current mobile tools in everyday life, seeking to uncover the behaviours, advantages and disadvantages that these tools presented. In this paper we shall concentrate on the diary study we conducted (described in the following methods section), which revealed a number of interesting context-aware behaviours and techniques being widely employed using these existing mobile tools.
Context-Awareness in the Wild: An Investigation into the Existing Uses of Context
195
3 Method The findings presented in this paper are a subset of the results from a diary study conducted at the University of Waikato, New Zealand, with the participation of twelve individuals selected from a number who replied to adverts in the local press and posters posted around the campus. The selection was quite random, though we did wherever possible try to get as broad a range of participants as possible in terms of their backgrounds and the tools they employed. The study aimed to explore what mobile tools people used and how they employed them in their everyday lives, with the intention of providing a solid foundation on which to go forward in designing the Smartwatch. The findings presented in this paper represent a relatively small part of the total set of results gathered, i.e. those findings related to context-awareness. The process we followed with each participant was to invite him or her for an initial briefing session in which we would first request they complete a questionnaire. This questionnaire requested that they list their mobile tools, describe their uses of these tools, and rate them according to a number of criteria before finally being offered a chance to describe any general motivation or philosophy behind their use of mobile tools. During this process we carefully explained our broad view of what a mobile tool is, informing them that it could include any computer-based or traditional or paper-based tool that they carried around with them and used in their daily lives. Following the questionnaire we allowed for an hour of discussion, which was recorded on DVD and that was often based on what the participant had written in their questionnaire. At the end of this session we presented them with a pocket-sized diary in which we requested they record all uses of any mobile tools during the course of one working day and one leisure day. Each page of the diary provided a space to write the tool(s) being used, the time, the date, and a description of what it was used for. We also asked them to describe any positive or negative experiences in using the tools for the activity. After completing their diary the volunteers returned for a debriefing session in which we went through each page of their diary with them and discussed in depth any interesting aspects or behaviours they had recorded. These sessions were also recorded on DVD. At the end of the study we amassed approximately 3 hours of discussion per volunteer on DVD, in addition to the diaries and questionnaires. These three sets of data were transcribed and analysed in a qualitative manner based on grounded theory [10], whereby we were able to categorise and draw out common themes. It is the subset of these themes related to context-aware behaviours that we present in this paper.
4 Findings Based on the results obtained from the diary study, this section presents our findings on how people are currently employing, or trying to employ, context-aware behaviours using their existing mobile tools, such as mobile phones, scraps of paper, etc. We found quite a broad range of context dimensions were being used, including:
196
J. Pascoe, K. Thomson, and H. Rodrigues
location, time, activity, personal status, bio-signs, mood, social context, presence of other people, and historical context. In the following sub-sections we examine the activities in which these context dimensions were used. 4.1 Contextual Placement The behaviour most frequently observed in volunteers was the placement of tools and information into the specific context in which they were relevant, so ensuring they are automatically available when the user enters that context. The information being placed was most often in the form of notes, and sometimes reminders or messages. Interestingly, although this was one of the most commonly observed behaviours, it was also the one of the least supported by computing technology, with the process almost always involving the use of physical scraps of paper left in different locations. Though one could clearly see how computer-based systems (such as the electronic Post It note [5]) could be readily employed if they were available. The notion of location varied from geographic areas, such as “the kitchen” or “the supermarket” to more abstract concepts such as “at work” and “at home”. In addition to these locations in the physical world, volunteers also placed information in different thematic or logical locations that were often related to a particular activity. For example, many volunteers used paper notebooks that were separated into different logical sections (e.g. diary, ideas, to-dos, essay ideas, notes from books, etc.) that were relevant when engaged in a particular activity. As with many types of contextaware behaviour that we observed, there was no automation in this process, just the person’s own manual efforts in adapting to a particular context. Thus, when starting a new activity the person would manually adapt their tools to the current context by, for example, turning to the correct section of a notebook for the current activity. It was also commonly observed for volunteers to have specific tools dedicated to a specific activity. In particular, there was a strong desire by several volunteers to separate work and personal contexts, resulting in the use of two paper pads, two appointment diaries, and even two mobile phones. One volunteer expressed the sentiment quite clearly: “I don’t like to contaminate it [her personal notebook] with work stuff.” This is interesting to consider in computing technology, where we often develop general solutions intended to work across all contexts of use. Some tools that were applicable in many different situations, or that were useful to have available at all times, were also appropriately situated. For example, one volunteer had her mobile phone attached to her key ring, ensuring she would have it whenever she left the house (assuming she remembered the keys, of course) and another attached a USB memory stick to his key ring as he always kept his keys in his pocket (and hence the USB stick would automatically follow). The overall aim volunteers expressed in using contextual placement was to make information or tools readily accessible in the appropriate context of use. 4.2 Contextual Triggering Another common reason for situating information was to create a contextual trigger, often taking the form of small “to-do” notes placed in the context in which the task should be carried out. These situated to-dos triggered the user into an action, or at
Context-Awareness in the Wild: An Investigation into the Existing Uses of Context
197
least primed them for an action, based on their current context. For example, attaching a Post It note saying “mow the lawn” to the backdoor of the home. More commonly though the to-do note was attached to a context in which it would be noticed rather than to the context in which the task should be carried out. The following lists some of the physical contexts in which contextual triggers were frequently set: • Work desk. For reminders of things to do at work. This context, however, often became over-crowded and chaotic, resulting in the loss of visibility of reminders. • Whiteboard. This often provided a more dominant and eye-catching context in which to locate a reminder. Though it was also employed for more open-ended and long-term tasks that lacked a fixed a deadline. • Hand. In both personal and work contexts, several volunteers used their hands as a physical context in which to place vital reminders that must not be forgotten. The hand, after all, provides an almost constant visual cue. One volunteer, for example, came to the post diary study interview on a somewhat wintry day with “Umbrella” written on their hand. • Fridge & Calendars. At home volunteers often had special places around the home where notes would be attached. The fridge and wall calendar proved common places, and were useful both in that they were often seen and also in that they were of a communal nature.. • Coffee table and couch. A few volunteers placed to-dos on the coffee table or sofa, where non-urgent items could be reviewed at their leisure. • Home command centre. Some volunteers had a kind of home “command centre” where they spent a lot of their time and which provided an opportunity for situating reminders. For example, one volunteer placed most reminders next to his computer at home, where he knew he would see them when checking his email first thing in the morning and last thing at night. • Down-time zones. Less urgent information was often located in places of “downtime”, which provided a good opportunity to review non-urgent notes. For example, one volunteer had a birthday list hung in the bathroom next to the toilet. Some volunteers also re-located reminders into different contexts according to their importance or priority. For example, one volunteer would leave a bill underneath the coffee table initially, then would move it to the top of the coffee table nearer the payment due date in order to provide a priming for action, and would finally transfer it to her car dashboard on the actual due date in order to provide a direct reminder to pay it while on her way to or from work. The types of context used were often more complicated than they first appeared because people frequently simulated the use of one context with another. For example, one volunteer would place items on the coffee table, but her intention was not to situate the information or reminder in that particular location, but rather it was the best way she had to situate it in the context of (a) being in the presence of her partner and (b) both of them being in a free-time and relaxed mood. The physical location of the coffee table (which was adjacent to the sofa) had a strong correlation with this presence and mood context, and was thus used as the best substitute context. The use of communal spaces such as calendars and fridge notes was also often a substitute for being able to attach the item directly to a presence context. And reminders such as “feed the cat” or “wash the dishes” although stuck to the kitchen
198
J. Pascoe, K. Thomson, and H. Rodrigues
sink or pet food bowl, were really implying a connection to the context of the cat having not been fed, and the dishes having not been washed. Some tasks or notes were not so easy to situate in a physical context, or even in a substitute physical context. For example, a list of things to buy at the supermarket or books to look for at the library, cannot - with any practicality of the current tools used - be attached to the physical locations in which they are needed. In such cases of not having access to the context needed - and these were extremely frequent in occurrence - volunteers typically filed their notes and reminders in a general-purpose repository and simply hoped to rediscover them in time. For example, many volunteers had a bag which they carried with them to most places and which served as a repository for various pieces of paper. Other volunteers used general-purpose notepads, and some employed trouser pockets full of paper scraps. The main disadvantage with such repositories is that there is no guarantee, indeed it is quite unlikely, that the information will be revealed in the context in which it is needed. A few volunteers had devised an alternative solution in which they combined their mobile phone’s alarm with an approximate knowledge of where they will be during the day, and used this to simulate a location-based triggering of a reminder. For example, one volunteer wanted to remind himself to buy some new contact lenses whilst in the town centre in the afternoon. Using his knowledge of the approximate time he would be in the town he set an alarm on his mobile phone to trigger a reminder at the time at which he estimated he would be nearby the optician’s shop. Of course, such a technique is susceptible to much error unless one keeps to a very rigid schedule. 4.3 Sharing Personal Context Many of the volunteers sought to share certain parts of their personal context with others. We have described this desire under four different motivations here. Virtual Presence One major reason for sharing personal context was to create a kind of virtual presence with another individual. For example, many volunteers used their mobile phones to send text messages to their partners and friends but often without having anything in particular to say. Instead the messages contained information on where they were, what they were doing, how they were feeling, etc. and aimed to provide a sense of presence. One volunteer did this frequently throughout the day to maintain a virtual presence with his partner while she was at work. Other volunteers also used online chat tools to the same effect. However, both chat tools and text messaging only offer a coarse level of personal context (for example, that the person is online, or that they are thinking of you) and often require the manual interaction of the user in order to provide the context. As a result of this coarse level of context many volunteers had experienced misunderstandings because the emotional context or tone in which a message was written was often missing or otherwise open to misinterpretation. Openly Sharing Context Some volunteers recognised the potential for computer-based mobile tools to both provide a richer, more comprehensive context, and to do so in a more automated way.
Context-Awareness in the Wild: An Investigation into the Existing Uses of Context
199
For example, one volunteer talked about having a device (such as their mobile phone) automatically share their current location with friends and partners over the course of the day. She had some reservations over exceptions where, for example, she may not want her boss to know where she is, but otherwise found it an attractive idea and could see many uses, such as knowing when her partner would be home for dinner. Other volunteers also mentioned the idea of openly “publishing” personal contexts that others could follow, though they too expressed the need to retain some degree of control of who can see what. Arranging to Meet Another area in which such a sharing of location would be useful is in arranging meetings. All of the volunteers owned a mobile phone and most of them to some extent had adjusted their behaviour in organising meetings with friends and family to a more spontaneous or fluid manner. A typical approach would be for a person to send a text message to a friend stating their current context (location, time, activity, etc.) and ask for their friend’s context (what they are doing, where they are, etc.) and whether they would like to meet up. We suspect that if users had better continual access to information on the current context of their friends then it would likely facilitate many more such spontaneous encounters. Expressing Availability Many volunteers expressed frustration at the lack of control they felt over incoming communications via text messages and calls on their mobile phones. The default assumption with these devices appeared to be that the owner is always available to respond to messages and will do so immediately. This can be frustrating for a receiver who is otherwise engaged at work or in another activity in which they do not wish to be disturbed. It can also be frustrating for the sender if they do not understand why a receiver has chosen not to reply to them immediately. This frustration on both sides can be attributed to a lack of knowledge of each other’s current context. 4.4 Recording Context History Several volunteers recorded some form of historical record of context. Some would record primarily meetings and activities for work purposes and others recorded more personal diaries of their thoughts or experiences. Some would also attempt to capture such events in image, video, and audio, in addition to textual notes. Further, some mediums, such as appointment diaries, were created in advance of the events occurring, but more commonly events and experiences would be recorded during or after the fact. The primary difficultly in such historical recordings is the continual effort required to create and maintain them. One can imagine that a computer-based solution could offer a great deal of automation and enrichment of the types of information recorded. 4.5 Monitoring and Adapting to Personal Context Some volunteers expressed a wish to have a kind of context monitor where they could view various contexts related to themselves and their environment. For example, one
200
J. Pascoe, K. Thomson, and H. Rodrigues
volunteer expressed a desire to be able to check from their mobile phone if they had left their cooker on. Another volunteer wanted to be able to monitor their own physiological data, such as heart rate and other bio signs, in order to be able to better monitor what energy they had expended during the day compared to what they had consumed. Essentially, providing a view onto their own bodies and how they should treat them. A further volunteer would enjoy if his MP3 player could sense his emotional state and the task at hand, and select some appropriate music. He currently achieved this in a manual way by classifying music tracks as either “rocky” or “relaxed”, and then if in need of motivation he would select a random playlist of the rocky category, or if in need of relaxation would select a random playlist of the relaxed category. 4.6 Utilisation of the Time Context Given that digital clocks, calendars and alarms are readily available in all manner of electronic devices today it was expected that the volunteers would especially exploit this context. Indeed, alarms were used throughout the day for purposes ranging from waking up to appointment reminders, and from sports and baking timers to birthday reminders. However, they were not without problems. We already mentioned in an earlier section that sometimes these time-based alarms were actually standing in for other contextual-alarms (such as a location-based alarm). Problems also occurred due to a lack of adaptation to the environment of use. For example, one volunteer mentioned a case in which she was reluctant to use an alarm on her phone as a reminder because she feared that it was likely to go off whilst she was driving the car (and so cause some troubles in finding the phone and resetting the alarm whilst driving simultaneously). The ability to sense if she was in the car and to adapt the alarm behaviour appropriately would have been ideal, and several volunteers complained that their devices could more intelligently exploit or adapt to the time context. For example, one person wished that their mobile phone could automatically switch its profile to silent during the periods noted as meeting appointments in the phone’s agenda. Other problems were more fundamental to the nature of an alarm itself: although some volunteers preferred the active nature of a ringing alarm and even used their mobile phones as the single source of appointments, some others preferred alternative methods in which a more subtle but continual notification was given, such as writing on the back of one’s hand or on a whiteboard. Such peripheral cues were not available in any electronic systems that the volunteers used. 4.7 Adapting to the Social Environment Many volunteers were acutely aware of their social environment and the behaviour deemed appropriate in that context. This often affected the choice of tool selected for a particular task. For example, one volunteer would have liked to have used his PDA for taking notes in lectures, but because of the impression he thought this could have given (such as that he was playing games or communicating with friends) he chose to use a paper pad instead. Of course, this is a problem due to a lack of contextual awareness of the activity that he is actually engaged in with his PDA, and the same volunteer commented that he would see it as socially acceptable if it was somehow
Context-Awareness in the Wild: An Investigation into the Existing Uses of Context
201
possible to make clear to others that he was writing lecture notes. Other volunteers considered using a mobile phone rude in certain circumstances. One volunteer, for example, would always leave her open-plan office area before making or receiving a call. Another would always turn her phone off when visiting friends. In regard to communication, volunteers commonly adapted their choice of communication channel (e.g. text messaging, email, voice call) and style (e.g. full English or text messaging abbreviations) to suit the person with whom they wanted to communicate, or to suit their perceived idea of what context that person was in. A better understanding of each other’s actual context would promote a more effective selection of communication channel. 4.8 The AI Guy Some of the volunteers had carefully thought through their use of mobile tools, the problems they faced, and what an ideal solution could be. One volunteer suggested that she would like a “little slave guy” (referring to some sort of intelligent computer gadget) that would remind her to buy different things as she walked around the supermarket. Another person similarly stated “I need an AI I can talk to and tell about things, and then later it’ll remind me if I forget.” Although, as that volunteer so accurately stated, this could be “a major programming challenge”, it is never-the-less interesting to note the interest in tools that behave more intelligently based on a knowledge of their environment, and also the view that this could be best achieved with a form of artificial intelligence. We suspect though that many of the behaviours these volunteers desire could be achieved with much simpler computer-based contextaware tools.
5 Conclusion From our study on the use of mobile tools in everyday life we have discovered a wide variety of context-aware behaviours in common daily use, ranging from contextual placement and triggering to mood-based music selection. Moreover, these behaviours employed existing tools and technologies, and were sometimes no more complicated than a scrap of paper. We also found a broad range of context types to be employed, including: location, activity, time, social context, availability, bio signs, historical context, emotional context, presence of other people, personal status, and mood. These results show a clear intention and desire of people to employ contextawareness in everyday life. Indeed, with existing tools and methods there was often a great deal of manual work and motivation required from the user in order to perform these context-aware behaviours. It was also found in many cases that desired contexts were not directly accessible at all with existing tools or had to be simulated with other contexts or contrivances (e.g. simulating a location-based alarm by using a time-based alarm and an estimate of when one will be at a given location). All these factors lead us to believe that there are many areas in which computer-based context-aware tools could offer better support to users in their everyday activities.
202
J. Pascoe, K. Thomson, and H. Rodrigues
Acknowledgments. We would like to thank the Portuguese FCT for funding this project (grant number SFRH / BPD / 26298 / 2006).
References 1. Schilit, B.N., Adams, N.I., Want, R.: Context-Aware Computing Applications. In: Proceedings of the Workshop on Mobile Computing Systems and Applications, Santa Cruz, CA, USA, pp. 85–90 (1994) 2. Cheverst, K., Davies, N., Mitchell, K., Friday, A.: Experiences of Developing and Deploying a Context Aware Tourist Guide: The GUIDE Project. In: MOBICOM, Boston, MA, USA, pp. 20–31 (2000) 3. Pascoe, J., Ryan, N., Morse, D.: Using While Moving: HCI Issues in the Field. ACM Transactions on Computer-Human Interaction (TOCHI) 7(3), 417–437 (2000) 4. Dey, A.K., Abowd, G.D., Salber, D.: A Conceptual Framework and a?Toolkit for Supporting the Rapid Prototyping of Context-Aware Applications. Human-Computer Interaction Journal 16(2-4), 97–166 (2001) 5. Brown, P.: The Stick-e Document: a Framework for Creating Context-Aware Applications. In: Proceedings of EP 1996, Palo Alto, CA, USA, pp. 259–272 (September 1996) 6. Pascoe, J.: The Smartwatch. In: Proceedings of the Conference on Mobile and Ubiquitous Systems (CSMU), Guimaraes Portugal, pp. 203–206 (2006) 7. The Fossil Wrist PDA. http://www.fossil.com/shopping/product/detailmain.jsp?item ID=12768&itemType=PRODUCT&RS=1&keyword=pda+watch 8. Narayanaswami, C., et al.: IBM’s Linux Watch: The Challenge of Miniaturization. IEEE Computer, 33–41 (January 2002) 9. Raghunath, M., Narayanaswami, C.: User Interfaces for Applications on a Wrist Watch. Personal and Ubiquitous Computing 6(1), 17–20 (2002) 10. Strauss, A., Corbin, J.: Grounded theory methodology: an overview. In: Denzin, N.K., Lincoln, Y.S. (eds.) Strategies of Qualitative Inquiry, pp. 158–183. Sage Publications, Thousand Oak (1998)
'Guess A Who, Why, Where, When?': The Visualization of Context Data to Aid the Authoring and Orchestration of a Mobile Pervasive Game Michael Wright1, Alan Chamberlain1, Chris Greenhalgh1, Steve Benford1, Nick Tandavanitj2, Amanda Oldroyd3, and Jon Sutton3 1
Mixed Reality Laboratory, Department of Computer Science, University of Nottingham, Nottingham, UK {maw,azc,cmg,sdb}@cs.nott.ac.uk 2 Blast Theory, Portslade, Brighton, UK [email protected] 3 BT Research, Adastral Park, Ipswich, UK [email protected] Abstract. As part of the mobile pervasive game, Professor Tanda's 'Guess A Where' [1] there was a need to allocate pre-authored content for the game on a daily basis to provide an enjoyable and engaging experience. To aid this allocation of content we collected and visualized context information about each player during the course of the game. The aim of these visualizations was to provide a method through which an author/orchestrator could retrospectively view a player’s current total and daily context data gathered by the game. Observations made about this data could then be used to, not only allocate appropriate content but, to tailor the content to a specific player. This paper presents the data that was gathered and the visualizations created to achieve this process.
1 Introduction Professor Tanda's 'Guess A Where?' is a pervasive mobile phone-based game in which a character, Professor Tanda, asks players questions about their day to day activities and life to establish their environmental footprint. Feedback during the game is given via hints and tips from Prof Tanda about ways to reduce the player's environmental footprint, entertain and save the player money. The game is designed to be light hearted and humorous to encourage players to interact with the system and present information in a non-patronising, yet educational way. During the course of the game context data relating to the player is collected from both server-side and client-side systems. This data is then used to create new game sessions for the player. Game sessions are allocated based on an authors interpretation of a players current game experience. This includes the game sessions played/not played, places played, times played etc. Therefore, to allow authors to gain this insight into the game we have designed and implemented a set of visualizations that present both statistical data views (i.e. lists of content played and logical next content to be allocated) and the players game experience so far based on data collected about the context of the player. R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 203–210, 2007. © Springer-Verlag Berlin Heidelberg 2007
204
M. Wright et al.
Fig. 1. The Prof Tanda game is played on the players mobile phone – the interface to which we can see in this figure. Prof Tanda calls the player at least once per day to ask them questions to establish their environmental footprint.
Timeline visualizations are used to present the context data to the authors, which they can inspect and annotate. The context data collected ranges from location data to game sessions played to context information gathered by the questions posed by Prof Tanda. We visualize all of this information so that patterns can be discovered and content can be allocated in such a way that the game becomes more tailored to the players’ game experience. In the remainder of this paper we shall describe the data collected about a players’ context during the course of the game and the visualizations that we implemented to allow authors to gain an insight into a players game experience. We shall conclude with a discussion about the benefits and draw backs of these visualizations and our intended future development of visualization systems, such as the one described in this paper.
2 Motivation and Related Work The Prof. Tanda visualizations allow the game orchestrators to gain insight into certain aspects relating to the context of the player. The context information gathered is spatial (i.e. cell-id location), interactions with the game (e.g. when Prof calls the player, when the player responds etc.) and facts about the player from the questions posed by Prof Tanda. Previous systems developed by the MRL (Mixed Reality Lab) have gathered and visualized this type of context information. For example, in the pervasive game Hitchers [2] location-based information, tagged by a player was collected and visualized. Location tagging contains context information about a player's location (e.g. a location could be labeled cafe or train station), about the task they are performing (task-based) (e.g. playing cards at a cafe or in a meeting), and interestingly about the emotional state of the player (e.g. feeling lonely, mad or relaxed). By examining the emotional content of the game we may be able to look at the engagement that the player has with a system and also gather more ‘personal’ data that gives an insight into player behavior. In order to analyse the data gathered from the Hitchers pervasive game, the data was visualized as a connected node graph whose nodes represent a unique cell-id and
'Guess A Who, Why, Where, When?': The Visualization of Context Data
205
the arcs the transitions between these unique cells. The advantage in using this type of visualization is that we are able to explore the collected data and gain insight into the different locations. Thus, we can see how players relate to a given location. This information can then be used in extended versions of the game where content can be placed at locations of interest which can be discovered by not only by viewing the traffic through that cell but also by inspecting the location labels for interesting places relevant to the content or context?. Another example where the MRL has visualized context information for a pervasive game is Day of the Figurines [4]. During the first trials of the game at the Laban Centre, London, dedicated mobile phones were used that could run cell-id logging software. This software recorded sequences of cell-ids encountered by the player, which could be uploaded back to a central server. This data was then combined with the data recorded about a player’s interactions within the game to produce visualizations thereby allowing us to explore patterns of game play. Furthermore, this information was used to explore the potential of using context information to tailor game play, based on the contextual information gathered by the logging software. These visualizations aim to allow explorations of context information to support game play. From the Hitchers visualizations we were able to explore how players relate to their environment and how this information could then be used to create new content within the game. The Day of the Figurines’ visualizations allowed us to explore patterns of play and focused on the delivery of content. Using these patterns of context and awareness is a common feature of context aware systems where users are presented with content based on there current context. For example, the Cyberguide [5] presents users with information about their current location based on context information gathered about the user. Location information is one metric that is used but other metrics, including a past locations history, are used to tailor the city tour guide to that particular user. Similarly, CATIS [6] (Context Aware Tourist Information System) gathers information about a users location, time of day, speed, direction of travel, device type and personal preferences to deliver tourist information. In these applications the analysis of context is performed by a system which then decides what content is to be displayed. In Prof Tanda we are taking the reverse approach i.e. we present context information to an author and allow them to interpret the data (with the aid of visualizations and other statistical data) which they can then use to deliver the content to the player. This approach has the advantage of the content being more tailored or ‘fine-tuned’ for that particular player. For example, if we find that a player often plays the game at home we can then deliver content for times that they are at home and that relate to their home situation. Similarly, we can stop the game interrupting the player during times that they do not wish to play the game. Conversely, we can use the data to stimulate play during times that the player does not often play e.g. during lunch breaks. The advantage here is to guide players in such a way that game play does not become predictable and stale. By introducing game sessions that are outside the players established patterns of play and by utilising the gathered context information, we can introduce interesting game sessions.
206
M. Wright et al.
Of course there are disadvantages to this human dependant reactivity of the system with the main disadvantage that of limiting the number of players that can participate in the game. This is because of the large amount of time spent analysing the data to determine suitable content. However, a hybrid approach such as allowing the game mechanics to place some content and authors to place more detailed content could be one solution to this problem. Indeed, Hitchers would allow for this hybrid approach as content could be placed by a system that looks for common location labels (e.g. train station or cafe) and authors could create more interesting content based on more obscure location labels such as “queuing for a ticket to a gig”.
3 Data Collected As part of the Prof Tanda pervasive game we collect data about, • Cell id – e.g. where a session took place or where the user has traveled • Time – e.g. the time the player played a session or a cell-id was entered • Contact the system – e.g. when a player requests a game session or a new game session is triggered • Game sessions played and facts established Importantly, each game session can be triggered by either a timer, player request or a cell-id. These triggers allow authors to establish the context and play patterns for a particular player. For example, if the player requests a session then we know that at that time and at that place they were able to play the game. By reviewing the context establishing questions, such as, "Are you at work or at home?" and "Do you own a car?", we are able to know and make decisions based on the players' context. We can establish that a player drives from home (e.g. cell 55 (green)) to work (cell 56 (blue)) everyday, what cells they travel through and how long it takes. This will appear on the visualization as a set of coloured lines that form a pattern and therefore establish a pattern of behaviour. The wider a coloured bar the longer a player has stayed in the location (cell-id) that the bar relates to. In examining the data an author can directly tailor the Prof Tanda game sessions (sessions sent to a player) for a specified player.
4 Visualization The Prof Tanda visualization was implemented as a Java applet which can be accessed by authors via a web page (Figure 2). The goal of these visualizations was to provide information on a player’s game experience to support the authors in allocating new game sessions. Furthermore, these visualizations were used in the post-game analysis of the data with a view to exploring the patterns of play of players. The data is presented on a time line which was divided into three sections (Figure 2). The top section displays information about game sessions, facts and questions asked of the player by Prof Tanda. The middle section displays cell-id data i.e. a unique cell-id that the players phone was connected to at a particular time presented as a coloured box with each cell-id being assigned a random colour. Finally,
'Guess A Who, Why, Where, When?': The Visualization of Context Data
207
Fig. 2. Timeline visualization of data gathered as part of the Prof Tanda pervasive game
the bottom section displays information on interactions between the player and the game for example, when a session was triggered or when the player has answered a question from Prof Tanda. As we can see from Figure 2, the timeline displays all the information gathered about that player. To aid in the daily exploration of the data we broke down each day into a separate timeline which we display under this overview timeline (Figure 3). The advantage to this is that we can view a much more finely grained picture of the data. Furthermore, users are able to brush, or hover, over elements in the time-line to view further details. For example, if the user brushes one of the coloured cell-id boxes
Fig. 3. For each day we display the collected information so that a more fine grained view of the data can be viewed by the users
208
M. Wright et al.
Fig. 4. By brushing elements in the timeline we are able to get more detailed textual information about that element. The example above shows the information. displayed when brushing in the top section of the timeline to discover information about Sessions and Facts.
Fig. 5. Users are able to annotate the timeline by drawing a bounding box along the time they with to annotate. This annotation is then displayed as a black box along the top of the timeline which can be brushed to display the annotation to the user.
information about that cell-id and the time spent in this 'cell' is displayed. Similarly, if the user brushes in the top section of the timeline information about the sessions and facts established during that session are displayed (Figure 4). The timeline visualization aims to aid the exploration of the data gathered during the course of the Prof Tanda pervasive game. This data is collected to aid the authors in the creation of the next day’s content as well as for post game analysis where patterns can be explored to identify types of game play and user experience. We
'Guess A Who, Why, Where, When?': The Visualization of Context Data
209
further support these activities by allowing the author to annotate the timeline. This is achieved by drawing a bounding box along the length of the time they wish to annotate. This then opens a new annotation window in which the author can add comments and observations about the data. This annotation is then displayed as a black box along the top of the timeline and can be brushed to display the annotation to the user (Figure 5).
5 Discussion and Future Work As we have stated before, the main aim of the Prof Tanda visualizations are to allow authors to gain an insight into the data gathered and to allocate as well as tailor content to that player. The advantage that these visualizations give is that authors are able to quickly parse large amounts of context-based data into an understandable format that relates to the users' behaviour. In the Prof Tanda game we rely on the authors allocating content on a daily basis and these visualizations combined with statistical views of the data allow authors to make these kinds of decisions. However, the future development of Prof Tanda means that this allocation of content will potentially become more automated. Therefore, these visualizations become less of a method by which to establish appropriate daily content for a player and more a way of allowing authors to explore ways in which to tailor the content. For this iteration of the Prof Tanda visualizations we visualize the data gathered on a timeline (we also display certain statistical data in tables). Timelines were decided on as they are able to display the information we needed to show in relation to time (our focal metric). Furthermore, the main author had had previous experience using timeline visualizations as part of Day of the Figurines. However, we could display this data in a number of different ways that can be combined to provide the authors with a richer set of visualizations. For example, we could display the cell-id data in a similar way to the Hitcher visualization system i.e. as a graph, to give the authors a more spatial representation of the data. We could also use animation to allow the authors to view how the data builds up over. Moreover, currently in the MRL we employ a number of visualization systems that have the ability to visualize sensor based data; such as sound, carbon monoxide levels and light levels in a geographical manner using Google Earth [3]. We are also able to include annotations and photographs that are taken by the user. It is envisaged that the two systems will be combined in the near future, as well as adding the ability to visualize sensor data about the user; such as heart rate and pulse, creating a system that can provide a more 'holistic visualization' approach, that can take into account the social, psychological and physicality of the user. We envisage that these systems may be used as an orchestration tool for prototyping and real time performance, for aiding in the design of personalised data serving systems and for ethnographic research/evaluation. By using such systems we are able to evaluate and establish the patterns in everyday life.
210
M. Wright et al.
6 Conclusion In this paper we have explored how the context data gathered about players playing the Prof Tanda mobile pervasive game can be visualized and used to allocate and tailor the games content. The visualizations that we have implemented visualize this context data primarily as timelines. The advantage to these visualizations is that the authors are able to parse large amounts of context data which can be explored and annotated. In the future we wish to expand upon these timeline visualizations to include a richer set of visualizations that provide different perspectives on the data, e.g. spatial or emotional. Furthermore, we wish to, as part of a pervasive game like Prof Tanda, to collect and visualize sensor data so that we can build up a richer picture about the player and their environment. Overall we wish to explore this data as it could lead to more adaptive interfaces or games that adapt to the context of the player.
References 1. Adamczyk, P., Hamilton, K., Chamberlain, A., et al.: Urban Computing and Mobile Devices. IEEE Distributed Systems Online 8(7) (2007) art. no. 0707-o7002 2. Benford, S., Drozd, A., Tandavanitj, N., Wright, M., Chamberlain, A.: Hitchers: Designing for Cellular Positioning. In: Dourish, P., Friday, A. (eds.) UbiComp 2006. LNCS, vol. 4206, pp. 17–21. Springer, Heidelberg (2006) 3. Paxton, M., Chamberlain, A., Benford, S.: Sensor-Based Sytems for Environmental Education. In: The Workshop on Emerging Technologies for Inquiry Based Learning in Science, AIED - Artificial Intelligence in Education (2007) 4. Crabtree, A., Benford, S., Capra, M., Flintham, M., Drozd, A., Tandavanitj, N., Adams, M., Row Farr, J.: The cooperative work of gaming: orchestrating a mobile SMS game, Computer Supported Cooperative Work: The Journal of Collaborative Computing, Special Issue on Leisure Technologies (to appear, 2007) 5. Abowd, G.D., Atkeson, C.G., Hong, J., Long, S., Kooper, R., Pinkerton, M.: Cyberguide: A mobile context-aware tour guide. Journal of Wireless Networks 3(5), 421–433 (1997) 6. Pashtan, A., Blattler, R., Heusser, A., Scheuermann, P.: CATIS: A Context-Aware Tourist Information System. In: Proceedings of the 4th International Workshop of Mobile Computing (2003)
Browsing Semantics in Context-Aware Mobile Hypermedia Cecilia Challiol1,3, Agustin Muñoz1, Gustavo Rossi1,3, Silvia E. Gordillo1,4, Andrés Fortier1,2,3, and Robert Laurini5 1
LIFIA. Facultad de Informática. UNLP. La Plata, Argentina {ceciliac,agustinm,gustavo,gordillo, andres}@lifia.info.unlp.edu.ar 2 DSIC. Universidad Politécnica de Valencia. Valencia, España 3 Also CONICET 4 Also CICPBA 5 LIRIS. Universite de Lyon. France [email protected]
Abstract. Mobile hypermedia applications combine the well-known advantages of the navigational paradigm of the Web with the capabilities of location-aware software. However, there are some subtleties to integrate them synergistically. In this paper we analyze different aspects related with navigation semantics in mobile hypermedia; in particular we discuss the problems which arise in the use of the familiar backward and forward operations when physical navigation in the real world is involved. Using a motivating example, we present a simple model to handle physical and digital navigation in a cohesive way. We also describe a modular implementation of our ideas in an architecture which support context-aware services.
1 Introduction and Motivation In the last years there has been a growing interest to integrate the navigation paradigm of the Web with the capabilities which are usual in mobile, context-aware software [8,9]. In these systems, the mobile user navigates physically by traversing the real world or digitally by following links. The underlying hypermedia network is therefore formed out of a set of physical and digital nodes; while digital links are just the “old” Web links, physical ones require moving in the physical space. Suppose for example a tourist in a city: when he stands in front of a remarkable place (e.g. a monument) he receives digital information about that place in his mobile device. This location-aware behavior can be thought as equivalent to opening a Web page; however, in this case “opening” means accessing physically. This page may contain links to other pages, which can be pure digital (i.e. conventional hyperlinks) or may point to other physical locations. When the user chooses a digital link, he explores the hyperspace and does not need to move. Meanwhile, if he selects a “physical” link he receives information on how to move to the target of the link (a physical place). In this case, traversing the link means moving to another location, what is referred to as “walking” the link [10]. However, during this trip, the user R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Workshops, Part I, LNCS 4805, pp. 211–221, 2007. © Springer-Verlag Berlin Heidelberg 2007
212
C. Challiol et al.
might get lost or decide to visit other monuments. Navigation in the real world is not atomic as we are used to in the virtual world. In this context, browsing semantics such as the interpretation of the back and forward operations are an important issue for the mobile user. Figure 1 shows a sketch of the city our tourist is traversing and some relevant points of interest. At the beginning of his tour the user is in front of the Museum, and therefore he is accessing the corresponding digital node. One of the (physical) links points him to the Theatre; he selects it and gets a map to initiate his trip. The user walks according to the map and then he arrives to the Theatre. In that moment, the user selects the (physical) link to the Cathedral and gets a map with the travel. While walking, he passes by the Football Stadium, stops in front of it, gets some information for a future visit and decides to continue to the Cathedral. Figure 1 also shows a simple graph indicating this trajectory. It is easy to see that his “navigation history” includes (in order): Museum, Theatre, Football Stadium and Cathedral. According to this sequence it is natural to think that the default implementation of the back button would be to help him return to the previous place, while the next button should give him cues regarding the rest of the trip. The situation might get more complicated if during this trip he faces other physical objects that behave as assistants [4], either correcting his tour, giving further information or encouraging to follow his trip. Should these objects be part of the navigation history? Moreover, suppose that he arrives to the Cathedral and wants to return to the Museum. Is it necessary that he traverses the same path even when he can use a shortcut? (see Figure 1). In addition, suppose that in each stop the user navigates the digital hyperspace; how should the (digital) back operation behave? The situation might be more complicated if we try to provide context-aware behavior, such as eliminating a place from the history if it is closed, not accessible or not in the user’s preferences. These are just a set of the problems one faces when combining the physical and digital worlds in a hypermedia setting. Some of the problems might depend on the application domain, others on the user’s context, while others are just the consequence of mapping the hypermedia metaphor to the real world. While it is not possible to find a solution suitable for all cases, we aim to provide a conceptual and application framework to provide different navigation behaviors according to the user’s needs.
Fig. 1. A simple city tour scenario
Browsing Semantics in Context-Aware Mobile Hypermedia
213
In this paper we analyze the problem of dealing with different browsing semantics in a coherent way. We show that a mobile user requires varied strategies for backward and forward navigation, both according to his actual context and intended task; we also describe an architectural approach and its associated implementation to deal with these issues modularly. The main contributions of our paper are the following: • • •
We characterize the problem raised by browsing semantics in mobile hypermedia applications. We outline a model to reason on (physical and digital) navigation in this kind of software. We present a novel approach to decouple the navigation semantics from the underlying browsing software in order to improve application’s modularity.
The rest of the paper is organized as follows: In Section 2 we present a model for dealing with forward and backward navigation. In Section 3 we describe our architectural support. In Section 4 we discuss some related works and we conclude in Section 5 describing some further work we are pursuing.
2 Forward and Backward Navigation in Mobile Hypermedia We will use the standard graph representation both for digital and physical hypermedia and we will assume that there are two different graphs, one encompassing the physical objects the user can visit and the other corresponding to the digital documents he can navigate with his mobile device. As we will explain below, some of these digital nodes are the counterpart of physical objects. Regardless the nature of the graph (digital or physical) we represent the user’s path as the list of nodes he has traversed; each time a new node is visited, it is added at the end of the user’s path. The next step is adding the back and next functionality, which in principle should match the standard browser semantics (i.e. Stack-Based Navigation [2]). To do so we define: back : (Path × Index) → Node back(p,i) = element(p, i-1) ∀ i , 1 < i