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 Alfred Kobsa University of California, Irvine, CA, 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 Gerhard Weikum Max-Planck Institute of Computer Science, Saarbruecken, Germany
5103
Marian Bubak Geert Dick van Albada Jack Dongarra Peter M.A. Sloot (Eds.)
Computational Science – ICCS 2008 8th International Conference Kraków, Poland, June 23-25, 2008 Proceedings, Part III
13
Volume Editors Marian Bubak AGH University of Science and Technology Institute of Computer Science and Academic Computer Center CYFRONET 30-950 Kraków, Poland E-mail:
[email protected] Geert Dick van Albada Peter M.A. Sloot University of Amsterdam Section Computational Science 1098 SJ Amsterdam, The Netherlands E-mail: {dick,sloot}@science.uva.nl Jack Dongarra University of Tennessee Computer Science Department Knoxville, TN 37996, USA E-mail:
[email protected]
Library of Congress Control Number: 2008928942 CR Subject Classification (1998): F, D, G, H, I, J, C.2-3 LNCS Sublibrary: SL 1 – Theoretical Computer Science and General Issues ISSN ISBN-10 ISBN-13
0302-9743 3-540-69388-2 Springer Berlin Heidelberg New York 978-3-540-69388-8 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 2008 Printed in Germany Typesetting: Camera-ready by author, data conversion by Scientific Publishing Services, Chennai, India Printed on acid-free paper SPIN: 12322213 06/3180 543210
Advancing Science Through Computation
I knock at the stone’s front door. “It’s only me, let me come in. I’ve come out of pure curiosity. Only life can quench it. I mean to stroll through your palace, then go calling on a leaf, a drop of water. I don’t have much time. My mortality should touch you.” Wislawa Szymborska, Conversation with a Stone, in Nothing Twice, 1997 The International Conference on Computational Science (ICCS 2008) held in Krak´ ow, Poland, June 23–25, 2008, was the eighth in the series of highly successful conferences: ICCS 2007 in Beijing, China; ICCS 2006 in Reading, UK; ICCS 2005 in Atlanta; ICCS 2004 in Krakow, Poland; ICCS 2003 held simultaneously in Melbourne, Australia and St. Petersburg, Russia; ICCS 2002 in Amsterdam, The Netherlands; and ICCS 2001 in San Francisco, USA. The theme for ICCS 2008 was “Advancing Science Through Computation,” to mark several decades of progress in computational science theory and practice, leading to greatly improved applications in science. This conference was a unique event focusing on recent developments in novel methods and modeling of complex systems for diverse areas of science, scalable scientific algorithms, advanced software tools, computational grids, advanced numerical methods, and novel application areas where the above novel models, algorithms, and tools can be efficiently applied, such as physical systems, computational and systems biology, environment, finance, and others. ICCS 2008 was also meant as a forum for scientists working in mathematics and computer science as the basic computing disciplines and application areas, who are interested in advanced computational methods for physics, chemistry, life sciences, and engineering. The main objective of this conference was to discuss problems and solutions in all areas, to identify new issues, to shape future directions of research, and to help users apply various advanced computational techniques. During previous editions of ICCS, the goal was to build a computational science community; the main challenge in this edition was ensuring very high quality of scientific results presented at the meeting and published in the proceedings. Keynote lectures were delivered by: – Maria E. Orlowska: Intrinsic Limitations in Context Modeling – Jesus Villasante: EU Research in Software and Services: Activities and Priorities in FP7 – Stefan Bl¨ ugel: Computational Materials Science at the Cutting Edge
VI
Preface
– Martin Walker: New Paradigms for Computational Science – Yong Shi: Multiple Criteria Mathematical Programming and Data Mining – Hank Childs: Why Petascale Visualization and Analysis Will Change the Rules – Fabrizio Gagliardi: HPC Opportunities and Challenges in e-Science – Pawel Gepner: Intel’s Technology Vision and Products for HPC – Jarek Nieplocha: Integrated Data and Task Management for Scientific Applications – Neil F. Johnson: What Do Financial Markets, World of Warcraft, and the War in Iraq, all Have in Common? Computational Insights into Human Crowd Dynamics We would like to thank all keynote speakers for their interesting and inspiring talks and for submitting the abstracts and papers for these proceedings.
Fig. 1. Number of papers in the general track by topic
The main track of ICSS 2008 was divided into approximately 20 parallel sessions (see Fig. 1) addressing the following topics: 1. e-Science Applications and Systems 2. Scheduling and Load Balancing 3. Software Services and Tools
Preface
4. 5. 6. 7. 8. 9. 10.
VII
New Hardware and Its Applications Computer Networks Simulation of Complex Systems Image Processing and Visualization Optimization Techniques Numerical Linear Algebra Numerical Algorithms
# papers 25
23 19
20 17
14
15
14 10
10
8
10
10
10
8
7
9
8
5
Int Agents
Workflows
Environ
Soft. Eng
Develop
Bioinfo
Dyn. Data
Teaching
GeoComp
Networks
Finance
Chemistry
Multiphys
Graphics
0
Fig. 2. Number of papers in workshops
The conference included the following workshops (Fig. 2): 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
7th Workshop on Computer Graphics and Geometric Modeling 5th Workshop on Simulation of Multiphysics Multiscale Systems 3rd Workshop on Computational Chemistry and Its Applications Workshop on Computational Finance and Business Intelligence Workshop on Physical, Biological and Social Networks Workshop on GeoComputation 2nd Workshop on Teaching Computational Science Workshop on Dynamic Data-Driven Application Systems Workshop on Bioinformatics’ Challenges to Computer Science Workshop on Tools for Program Development and Analysis in Computational Science
VIII
11. 12. 13. 14.
Preface
Workshop Workshop Workshop Workshop
on on on on
Software Engineering for Large-Scale Computing Collaborative and Cooperative Environments Applications of Workflows in Computational Science Intelligent Agents and Evolvable Systems
# participants 100 77
30
27 19 15
12
11
10
8 6 5
5
4
5
2
2
AU
SG
MY
2
1
TW
IR
KR
IL
1
IN
1
BR
SZ
TR
SI
2
DZ
2
MU
2
1
SK
RS
RU
PL
RO
NL
NO
MK
IT
LT
GB
GR
ES
1
2
JP
2
CN
2
MX
2
1
FR
DK
CZ
1
DE
BE
BG
1
1
2
3
US
2
3
AR
2
3
CA
3
UA
3
AT
5
4
Fig. 3. Number of accepted papers by country
Selection of papers for the conference was possible thanks to the hard work of the Program Committee members and about 510 reviewers; each paper submitted to ICCS 2008 received at least 3 reviews. The distribution of papers accepted for the conference is presented in Fig. 3. ICCS 2008 participants represented all continents; their geographical distribution is presented in Fig. 4. The ICCS 2008 proceedings consist of three volumes; the first one, LNCS 5101, contains the contributions presented in the general track, while volumes 5102 and 5103 contain papers accepted for workshops. Volume LNCS 5102 is related to various computational research areas and contains papers from Workshops 1–7, while volume LNCS 5103, which contains papers from Workshops 8–14, is mostly related to computer science topics. We hope that the ICCS 2008 proceedings will serve as an important intellectual resource for computational and computer science researchers, pushing forward the boundaries of these two fields and enabling better collaboration and exchange of ideas. We would like to thank Springer for fruitful collaboration during the preparation of the proceedings. At the conference, the best papers from the general track and workshops were nominated and presented on the ICCS 2008 website; awards were funded by Elsevier and Springer. A number of papers will also be published as special issues of selected journals.
Preface
# participants 100
IX
94
34 28
21 17
16
14
10
9
8 5
5
5
3
3 2
1
1
5
2
2
1
3
3 2
2
3 2
1
1
3 2
2
1
1
AT BE CZ DE DK ES FR GB GR IT LT MK NL NO PL RO RS SI SK SZ TR CA US AR BR MX CN JP IL IN IR KR MY SG TW MU AU
1
5 4
4
Fig. 4. Number of participants by country
We owe thanks to all workshop organizers and members of the Program Committee for their diligent work, which ensured the very high quality of ICCS 2008. We would like to express our gratitude to the Kazimierz Wiatr, Director of ACC CYFRONET AGH, and to Krzysztof Zieli´ nski, Director of the Institute of Computer Science AGH, for their personal involvement. We are indebted to all the members of the Local Organizing Committee for their enthusiastic work towards the success of ICCS 2008, and to numerous colleagues from ACC CYFRONET AGH and the Institute of Computer Science for their help in editing the proceedings and organizing the event. We very much appreciate the help of the computer science students during the conference. We own thanks to the ICCS 2008 sponsors: Hewlett-Packard, Intel, Qumak-Secom, IBM, Microsoft, ATM, Elsevier (Journal Future Generation Computer Systems), Springer, ACC CYFRONET AGH, and the Institute of Computer Science AGH for their generous support. We wholeheartedly invite you to once again visit the ICCS 2008 website (http://www.iccs-meeting.org/iccs2008/), to recall the atmosphere of those June days in Krak´ ow.
June 2008
Marian Bubak G. Dick van Albada Peter M.A. Sloot Jack J. Dongarra
Organization
ICCS 2008 was organized by the Academic Computer Centre Cyfronet AGH in cooperation with the Institute of Computer Science AGH (Krak´ ow, Poland), the University of Amsterdam (Amsterdam,The Netherlands) and the University of Tennessee (Knoxville, USA). All the members of the Local Organizing Committee are staff members of ACC Cyfronet AGH and ICS AGH.
Conference Chairs Conference Chair Workshop Chair Overall Scientific Co-chair Overall Scientific Chair
Marian Bubak (AGH University of Science and Technology, Krak´ ow, Poland) Dick van Albada (University of Amsterdam, The Netherlands) Jack Dongarra (University of Tennessee, USA) Peter Sloot (University of Amsterdam, The Netherlands)
Local Organizing Committee Kazimierz Wiatr Marian Bubak Zofia Mosurska Maria Stawiarska Milena Zaj¸ac Mietek Pilipczuk Karol Fra´ nczak
Sponsoring Institutions Hewlett-Packard Company Intel Corporation Qumak-Sekom S.A. and IBM Microsoft Corporation ATM S.A. Elsevier Springer
Program Committee J.H. Abawajy (Deakin University, Australia) D. Abramson (Monash University, Australia)
XII
Organization
V. Alexandrov (University of Reading, UK) I. Altintas (San Diego Supercomputer Centre, UCSD, USA) M. Antolovich (Charles Sturt University, Australia) E. Araujo (Universidade Federal de Campina Grande, Brazil) M.A. Baker (University of Reading, UK) B. Bali´s (AGH University of Science and Technology, Krak´ ow, Poland) A. Benoit (LIP, ENS Lyon, France) I. Bethke (University of Amsterdam, The Netherlands) J. Bi (Tsinghua University, Beijing, China) J.A.R. Blais (University of Calgary, Canada) K. Boryczko (AGH University of Science and Technology, Krak´ ow, Poland) I. Brandic (Technical University of Vienna, Austria) M. Bubak (AGH University of Science and Technology, Krak´ ow, Poland) K. Bubendorfer (Victoria University of Wellington, New Zealand) B. Cantalupo (Elsag Datamat, Italy) L. Caroprese (University of Calabria, Italy) J. Chen (Swinburne University of Technology, Australia) O. Corcho (Universidad Politcnica de Madrid, Spain) J. Cui (University of Amsterdam, The Netherlands) J.C. Cunha (University Nova de Lisboa, Portugal) S. Date (Osaka University, Japan) S. Deb (National Institute of Science and Technology, Berhampur, India) Y.D. Demchenko (University of Amsterdam, The Netherlands) F. Desprez (INRIA, France) T. Dhaene (Ghent University, Belgium) I.T. Dimov (University of Reading, Bulgarian Academy of Sciences, Bulgaria) J. Dongarra (University of Tennessee, USA) F. Donno (CERN, Switzerland) C. Douglas (University of Kentucky, USA) G. Fox (Indiana University, USA) W. Funika (AGH University of Science and Technology, Krak´ ow, Poland) G. Geethakumari (University of Hyderabad, India) B. Glut (AGH University of Science and Technology, Krak´ ow, Poland) Y. Gorbachev (St.-Petersburg State Polytechnical University, Russia) A.M. Go´sci´ nski (Deakin University, Australia) M. Govindaraju (Binghamton University, USA) G.A. Gravvanis (Democritus University of Thrace, Greece) D.J. Groen (University of Amsterdam, The Netherlands) T. Gubala (Academic Computer Centre Cyfronet AGH, Krak´ow, Poland) M. Hardt (Forschungszentrum Karlsruhe, Germany) T. Heinis (ETH Zurich, Switzerland) L. Hluch´ y (Slovak Academy of Sciences, Slovakia) W. Hoffmann (University of Amsterdam, The Netherlands) A. Iglesias (University of Cantabria, Spain) C.R. Jesshope (University of Amsterdam, The Netherlands)
Organization
XIII
H. Jin (Huazhong University of Science and Technology, China) D. Johnson (University of Reading, UK) B.D. Kandhai (University of Amsterdam, The Netherlands) S. Kawata (Utsunomiya University, Japan) W.A. Kelly (Queensland University of Technology, Australia) J. Kitowski (AGH University of Science and Technology, Krak´ ow, Poland) M. Koda (University of Tsukuba, Japan) D. Kranzlm¨ uller (Johannes Kepler University Linz, Austria) J. Kroc (University of Amsterdam, The Netherlands) B. Kryza (Academic Computer Centre Cyfronet AGH, Krak´ ow, Poland) M. Kunze (Forschungszentrum Karlsruhe, Germany) D. Kurzyniec (Google, Krak´ ow, Poland) A. Lagana (University of Perugia, Italy) L. Lefevre (INRIA, France) A. Lewis (Griffith University, Australia) H.W. Lim (Royal Holloway, University of London, UK) E. Lorenz (University of Amsterdam, The Netherlands) P. Lu (University of Alberta, Canada) M. Malawski (AGH University of Science and Technology, Krak´ ow, Poland) A.S. McGough (London e-Science Centre, UK) P.E.C. Melis (University of Amsterdam, The Netherlands) E.D. Moreno (UEA-BENq, Manaus, Brazil) J.T. Mo´scicki (CERN, Switzerland) S. Naqvi (CETIC, Belgium) P.O.A. Navaux (Universidade Federal do Rio Grande do Sul, Brazil) Z. Nemeth (Hungarian Academy of Science, Hungary) J. Ni (University of Iowa, USA) G.E. Norman (Russian Academy of Sciences, Russia) ´ Nuall´ B.O. ain (University of Amsterdam, The Netherlands) S. Orlando (University of Venice, Italy) M. Paprzycki (Polish Academy of Sciences, Poland) M. Parashar (Rutgers University, USA) C.P. Pautasso (University of Lugano, Switzerland) M. Postma (University of Amsterdam, The Netherlands) V. Prasanna (University of Southern California, USA) T. Priol (IRISA, France) M.R. Radecki (AGH University of Science and Technology, Krak´ ow, Poland) M. Ram (C-DAC Bangalore Centre, India) A. Rendell (Australian National University, Australia) M. Riedel (Research Centre J¨ ulich, Germany) D. Rodr´ıguez Garca (University of Alcal, Spain) K. Rycerz (AGH University of Science and Technology, Krak´ ow, Poland) R. Santinelli (CERN, Switzerland) B. Schulze (LNCC, Brazil) J. Seo (University of Leeds, UK)
XIV
Organization
A.E. Solomonides (University of the West of England, Bristol, UK) V. Stankovski (University of Ljubljana, Slovenia) H. Stockinger (Swiss Institute of Bioinformatics, Switzerland) A. Streit (Forschungszentrum J¨ ulich, Germany) H. Sun (Beihang University, China) R. Tadeusiewicz (AGH University of Science and Technology, Krak´ow, Poland) M. Taufer (University of Delaware, USA) J.C. Tay (Nanyang Technological University, Singapore) C. Tedeschi (LIP-ENS Lyon, France) A. Tirado-Ramos (University of Amsterdam, The Netherlands) P. Tvrdik (Czech Technical University Prague, Czech Republic) G.D. van Albada (University of Amsterdam, The Netherlands) R. van den Boomgaard (University of Amsterdam, The Netherlands) A. Visser (University of Amsterdam, The Netherlands) D.W. Walker (Cardiff University, UK) C.L. Wang (University of Hong Kong, China) A.L. Wendelborn (University of Adelaide, Australia) Y. Xue (Chinese Academy of Sciences, China) F.-P. Yang (Chongqing University of Posts and Telecommunications, China) C.T. Yang (Tunghai University, Taichung, Taiwan) L.T. Yang (St. Francis Xavier University, Canada) J. Yu (Renewtek Pty Ltd, Australia) Y. Zheng (Zhejiang University, China) E.V. Zudilova-Seinstra (University of Amsterdam, The Netherlands)
Reviewers J.H. Abawajy H.H. Abd Allah D. Abramson R. Albert M. Aldinucci V. Alexandrov I. Altintas D. Angulo C. Anthes M. Antolovich E. Araujo E.F. Archibong L. Axner M.A. Baker B. Bali´s S. Battiato M. Baumgartner U. Behn
P. Bekaert A. Belloum A. Benoit G. Bereket J. Bernsdorf I. Bethke B. Bethwaite J.-L. Beuchat J. Bi J. Bin Shyan B.S. Bindhumadhava J.A.R. Blais P. Blowers B. Boghosian I. Borges A.I. Boronin K. Boryczko A. Borzi
A. Boutalib A. Brabazon J.M. Bradshaw I. Brandic V. Breton R. Brito W. Bronsvoort M. Bubak K. Bubendorfer J. Buisson J. Burnett A. Byrski M. Caeiro A. Caiazzo F.C.A. Campos M. Cannataro B. Cantalupo E. Caron
Organization
L. Caroprese U. Catalyurek S. Cerbat K. Cetnarowicz M. Chakravarty W. Chaovalitwongse J. Chen H. Chojnacki B. Chopard C. Choquet T. Cierzo T. Clark S. Collange P. Combes O. Corcho J.M. Cordeiro A.D. Corso L. Costa H. Cota de Freitas C. Cotta G. Cottone C.D. Craig C. Douglas A. Craik J. Cui J.C. Cunha R. Custodio S. Date A. Datta D. De Roure S. Deb V. Debelov E. Deelman Y.D. Demchenko B. Depardon F. Desprez R. Dew T. Dhaene G. Di Fatta A. Diaz-Guilera R. Dillon I.T. Dimov G. Dobrowolski T. Dokken J. Dolado
W. Dong J. Dongarra F. Donno C. Douglas M. Drew R. Drezewski A. Duarte V. Duarte W. Dubitzky P. Edmond A. El Rhalibi A.A. El-Azhary V. Ervin A. Erzan M. Esseffar L. Fabrice Y. Fan G. Farin Y. Fei V. Ferandez D. Fireman K. Fisher A. Folleco T. Ford G. Fox G. Frenking C. Froidevaux K. F¨ ulinger W. Funika H. Fuss A. Galvez R. Garcia S. Garic A. Garny F. Gava T. Gedeon G. Geethakumari A. Gerbessiotis F. Giacomini S. Gimelshein S. Girtelschmid C. Glasner T. Glatard B. Glut M. Goldman
XV
Y. Gorbachev A.M. Go´sci´ nski M. Govindaraju E. Grabska V. Grau G.A. Gravvanis C. Grelck D.J. Groen J.G. Grujic Y. Guang Xue T. Gubala C. Guerra V. Guevara X. Guo Y. Guo N.M. Gupte J.A. Gutierrez de Mesa P.H. Guzzi A. Haffegee S. Hannani U. Hansmann M. Hardt D. Har¸ez˙ lak M. Harman R. Harrison M. Hattori T. Heinis P. Heinzlreiter R. Henschel F. Hernandez V. Hern´andez P. Herrero V. Hilaire y L. Hluch´ A. Hoekstra W. Hoffmann M. Hofmann-Apitius J. Holyst J. Hrusak J. Hu X.R. Huang E. Hunt K. Ichikawa A. Iglesias M. Inda
XVI
Organization
D. Ireland H. Iwasaki B. Jakimovski R. Jamieson A. Jedlitschka C.R. Jesshope X. Ji C. Jim X H. Jin L. Jingling D. Johnson J.J. Johnstone J. Jurek J.A. Kaandorp B. Kahng Q. Kai R. Kakkar B.D. Kandhai S. Kawata P. Kelly W.A. Kelly J. Kennedy A. Kert´esz C. Kessler T.M. Khoshgoftaar C.H. Kim D.S. Kim H.S. Kim T.W. Kim M. Kisiel-Drohinicki J. Kitowski Ch.R. Kleijn H.M. Kl´ıe A. Kn¨ upfer R. Kobler T. K¨ ockerbauer M. Koda I. Kolingerova J.L. Koning V. Korkhov G. Kou A. Koukam J. Ko´zlak M. Krafczyk D. Kramer
D. Kranzlm¨ uller K. Kreiser J. Kroc B. Kryza V.V. Krzhizhanovskaya V. Kumar M. Kunze D. Kurzyniec M. Kuta A. Lagana K. Lai R. Lambiotte V. Latora J. Latt H.K. Lee L. Lefevre A. Lejay J. Leszczy´ nski A. Lewis Y. Li D. Liko H.W. Lim Z. Lin D.S. Liu J. Liu R. Liu M. Lobosco R. Loogen E. Lorenz F. Loulergue M. Low P. Lu F. Luengo Q. Luo W. Luo C. Lursinsap R.M. Lynden-Bell W.Y. Ma N. Maillard D.K. Maity M. Malawski N. Mangala S.S. Manna U. Maran R. Marcjan
F. Marco E. Matos K. Matsuzaki A.S. McGough B. McKay W. Meira Jr. P.E.C. Melis P. Merk M. Metzger Z. Michalewicz J. Michopoulos H. Mickler S. Midkiff L. Minglu M. Mirto M. Mitrovic H. Mix A. Mohammed E.D. Moreno J.T. Mo´scicki F. Mourrain J. Mrozek S. Naqvi S. Nascimento A. Nasri P.O.A. Navaux E. Nawarecki Z. Nemeth A. Neumann L. Neumann J. Ni G. Nikishkov G.E. Norman M. Nsangou J.T. Oden D. Olson M. O’Neill S. Orlando H. Orthmans ´ Nuall´ B.O. ain S. Pal Z. Pan M. Paprzycki M. Parashar A. Paszy´ nska
Organization
M. Paszy´ nski C.P. Pautasso B. Payne T. Peachey S. Pelagatti J. Peng Y. Peng F. Perales M. P´erez D. Pfahl G. Plank D. Plemenos A. Pluchino M. Polak S.F. Portegies Zwart M. Postma B.B. Prahalada V. Prasanna R. Preissl T. Priol T. Prokosch M. Py G. Qiu J. Quinqueton M.R. Radecki B. Raffin M. Ram P. Ramasami P. Ramsamy O.F. Rana M. Reformat A. Rendell M. Riedel J.L. Rivail G.J. Rodgers C. Rodr´ıguez-Leon B. Rodr´ıguez D. Rodr´ıguez D. Rodr´ıguez Garc´ıa F. Rogier G. Rojek H. Ronghuai H. Rosmanith J. Rough F.-X. Roux
X. R´ oz˙ a´ nska M. Ruiz R. Ruiz K. Rycerz K. Saetzler P. Saiz S. Sanchez S.K. Khattri R. Santinelli A. Santos M. Sarfraz M. Satpathy M. Sbert H.F. Schaefer R. Schaefer M. Schulz B. Schulze I. Scriven E. Segredo J. Seo A. Sfarti Y. Shi L. Shiyong Z. Shuai M.A. Sicilia L.P. Silva Barra F. Silvestri A. Simas H.M. Singer V. Sipkova P.M.A. Sloot R. Slota ´ zy´ B. Snie˙ nski A.E. Solomonides R. Soma A. Sourin R. Souto R. Spiteri V. Srovnal V. Stankovski E.B. Stephens M. Sterzel H. Stockinger D. Stokic A. Streit
XVII
B. Strug H. Sun Z. Sun F. Suter H. Suzuki D. Szczerba L. Szirmay-Kalos R. Tadeusiewicz B. Tadic R. Tagliaferri W.K. Tai S. Takeda E.J. Talbi J. Tan S. Tan T. Tang J. Tao M. Taufer J.C. Tay C. Tedeschi J.C. Teixeira D. Teller G. Terje Lines C. Te-Yi A.T. Thakkar D. Thalmann S. Thurner Z. Tianshu A. Tirado A. Tirado-Ramos P. Tjeerd R.F. Tong J. Top H. Torii V.D. Tran C. Troyer P. Trunfio W. Truszkowski W. Turek P. Tvrdik F. Urmetzer V. Uskov G.D. van Albada R. van den Boomgaard M. van der Hoef
XVIII
Organization
R. van der Sman B. van Eijk R. Vannier P. Veltri E.J. Vigmond J. Vill´ a i Freixa A. Visser D.W. Walker C.L. Wang F.L. Wang J. Wang J.Q. Wang J. Weidendorfer C. Weihrauch C. Weijun A. Weise A.L. Wendelborn
E. Westhof R. Wism¨ uller C. Wu C. Xenophontos Y. Xue N. Yan C.T. Yang F.-P. Yang L.T. Yang X. Yang J. Yu M. Yurkin J. Zara I. Zelinka S. Zeng C. Zhang D.L. Zhang
G. Zhang H. Zhang J.J. Zhang J.Z.H. Zhang L. Zhang J. Zhao Z. Zhao Y. Zheng X. Zhiwei A. Zhmakin N. Zhong M.H. Zhu T. Zhu O. Zimmermann J. Zivkovic A. Zomaya E.V. Zudilova-Seinstra
Workshops Organizers 7th Workshop on Computer Graphics and Geometric Modeling A. Iglesias (University of Cantabria, Spain) 5th Workshop on Simulation of Multiphysics Multiscale Systems V.V. Krzhizhanovskaya and A.G. Hoekstra (University of Amsterdam, The Netherlands) 3rd Workshop on Computational Chemistry and Its Applications P. Ramasami (University of Mauritius, Mauritius) Workshop on Computational Finance and Business Intelligence Y. Shi (Chinese Academy of Sciences, China) Workshop on Physical, Biological and Social Networks B. Tadic (Joˇzef Stefan Institute, Ljubljana, Slovenia) Workshop on GeoComputation Y. Xue (London Metropolitan University, UK) 2nd Workshop on Teaching Computational Science Q. Luo (Wuhan University of Science and Technology Zhongnan Branch, China), A. Tirado-Ramos (University of Amsterdam, The Netherlands), Y.-W. Wu
Organization
XIX
(Central China Normal University, China) and H.-W. Wang (Wuhan University of Science and Technology Zhongnan Branch, China) Workshop on Dynamic Data Driven Application Systems C.C. Douglas (University of Kentucky, USA) and F. Darema (National Science Foundation, USA) Bioinformatics’ Challenges to Computer Science M. Cannataro (University Magna Gracia of Catanzaro, Italy), M. Romberg (Research Centre J¨ ulich, Germany), J. Sundness (Simula Research Laboratory, Norway), R. Weber dos Santos (Federal University of Juiz de Fora, Brazil) Workshop on Tools for Program Development and Analysis in Computational Science A. Kn¨ upfer (University of Technology, Dresden, Germany), J. Tao (Forschungszentrum Karlsruhe, Germany), D. Kranzlm¨ uller (Johannes Kepler University Linz, Austria), A. Bode (University of Technology, M¨ unchen, Germany) and J. Volkert (Johannes Kepler University Linz, Austria) Workshop on Software Engineering for Large-Scale Computing D. Rodr´ıguez (University of Alcala, Spain) and R. Ruiz (Pablo de Olavide University, Spain) Workshop on Collaborative and Cooperative Environments C. Anthes (Johannes Kepler University Linz, Austria), V. Alexandrov (University of Reading, UK), D. Kranzlm¨ uller, G. Widmer and J. Volkert (Johannes Kepler University Linz, Austria) Workshop on Applications of Workflows in Computational Science Z. Zhao and A. Belloum (University of Amsterdam, The Netherlands) Workshop on Intelligent Agents and Evolvable Systems K. Cetnarowicz, R. Schaefer (AGH University of Science and Technology, Krak´ ow, Poland) and B. Zheng (South-Central University For Nationalities, Wuhan, China)
Table of Contents – Part III
Workshop on Dynamic Data Driven Application Systems Dynamic Data Driven Applications Systems – DDDAS 2008 . . . . . . . . . . . Craig C. Douglas
3
Dynamic Data Driven Applications Systems (DDDAS) – A Transformative Paradigm (Abstract) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Frederica Darema
5
Evaluation of Measurement Techniques for the Validation of Agent-Based Simulations Against Streaming Data . . . . . . . . . . . . . . . . . . . . Timothy W. Schoenharl and Greg Madey
6
Using Intelligent Optimization Methods to Improve the Group Method of Data Handling in Time Series Prediction . . . . . . . . . . . . . . . . . . . . . . . . . Maysam Abbod and Karishma Deshpande
16
Symbiotic Simulation Control in Semiconductor Manufacturing . . . . . . . . Heiko Aydt, Stephen John Turner, Wentong Cai, Malcolm Yoke Hean Low, Peter Lendermann, and Boon Ping Gan Applying a Dynamic Data Driven Genetic Algorithm to Improve Forest Fire Spread Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M´ onica Denham, Ana Cort´es, Tom` as Margalef, and Emilio Luque
26
36
Real-Time Data Driven Wildland Fire Modeling . . . . . . . . . . . . . . . . . . . . . Jonathan D. Beezley, Soham Chakraborty, Janice L. Coen, Craig C. Douglas, Jan Mandel, Anthony Vodacek, and Zhen Wang
46
DDDAS Predictions for Water Spills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Craig C. Douglas, Paul Dostert, Yalchin Efendiev, Richard E. Ewing, Deng Li, and Robert A. Lodder
54
Bioinformatics’ Challenges to Computer Science Bioinformatics’ Challenges to Computer Science . . . . . . . . . . . . . . . . . . . . . Mario Cannataro, Mathilde Romberg, Joakim Sundnes, and Rodrigo Weber dos Santos
67
XXII
Table of Contents – Part III
Grid Computing Solutions for Distributed Repositories of Protein Folding and Unfolding Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Martin Swain, Vitaliy Ostropytskyy, Cˆ andida G. Silva, Frederic Stahl, Olivier Riche, Rui M.M. Brito, and Werner Dubitzky
70
Provenance Querying for End-Users: A Drug Resistance Case Study . . . . Bartosz Bali´s, Marian Bubak, Michal Pelczar, and Jakub Wach
80
Integrating and Accessing Medical Data Resources within the ViroLab Virtual Laboratory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Matthias Assel, Piotr Nowakowski, and Marian Bubak
90
Optimisation of Asymmetric Mutational Pressure and Selection Pressure Around the Universal Genetic Code . . . . . . . . . . . . . . . . . . . . . . . . Pawel Mackiewicz, Przemyslaw Biecek, Dorota Mackiewicz, Joanna Kiraga, Krystian Baczkowski, Maciej Sobczynski, and Stanislaw Cebrat Simulating Complex Calcium-Calcineurin Signaling Network . . . . . . . . . . . Jiangjun Cui and Jaap A. Kaandorp Web Applications Supporting the Development of Models of Chagas’ Disease for Left Ventricular Myocytes of Adult Rats . . . . . . . . . . . . . . . . . . Caroline Mendon¸ca Costa, Ricardo Silva Campos, Fernando Otaviano Campos, and Rodrigo Weber dos Santos
100
110
120
A Streamlined and Generalized Analysis of Chromatin ImmunoPrecipitation Paired-End diTag Data . . . . . . . . . . . . . . . . . . . . . . . . Vinsensius B. Vega, Yijun Ruan, and Wing-Kin Sung
130
Quality of Feature Selection Based on Microarray Gene Expression Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Henryk Maciejewski
140
IMPRECO: A Tool for Improving the Prediction of Protein Complexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mario Cannataro, Pietro Hiram Guzzi, and Pierangelo Veltri
148
CartoonPlus: A New Scaling Algorithm for Genomics Data . . . . . . . . . . . . Joanna Jakubowska, Ela Hunt, and Matthew Chalmers
158
Automatic Segmentation of Cardiac MRI Using Snakes and Genetic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gustavo Miranda Teixeira, Igor Ramalho Pommeranzembaum, Bernardo Lino de Oliveira, Marcelo Lobosco, and Rodrigo Weber dos Santos
168
Table of Contents – Part III
Computational Tasks in Bronchoscope Navigation During Computer-Assisted Transbronchial Biopsy . . . . . . . . . . . . . . . . . . . . . . . . . . . Jaroslaw Bulat, Krzysztof Duda, Miroslaw Socha, Pawel Turcza, Tomasz Zieli´ nski, and Mariusz Duplaga MPEG-7 as a Metadata Standard for Indexing of Surgery Videos in Medical E-learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrzej A. Kononowicz and Zdzislaw Wi´sniowski
XXIII
178
188
Workshop on Tools for Program Development and Analysis in Computational Science Special Session: Tools for Program Development and Analysis in Computational Science . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jie Tao, Arndt Bode, Andreas Knuepfer, Dieter Kranzlm¨ uller, Roland Wism¨ uller, and Jens Volkert BTL++: From Performance Assessment to Optimal Libraries . . . . . . . . . . . . Laurent Plagne and Frank H¨ ulsemann DaStGen—A Data Structure Generator for Parallel C++ HPC Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hans-Joachim Bungartz, Wolfgang Eckhardt, Miriam Mehl, and Tobias Weinzierl RMOST: A Shared Memory Model for Online Steering . . . . . . . . . . . . . . . Daniel Lorenz, Peter Buchholz, Christian Uebing, Wolfgang Walkowiak, and Roland Wism¨ uller
201
203
213
223
A Semantic-Oriented Platform for Performance Monitoring of Distributed Java Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wlodzimierz Funika, Piotr Godowski, and Piotr P¸egiel
233
A Tool for Building Collaborative Applications by Invocation of Grid Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Maciej Malawski, Tomasz Barty´ nski, and Marian Bubak
243
Using MPI Communication Patterns to Guide Source Code Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Robert Preissl, Martin Schulz, Dieter Kranzlm¨ uller, Bronis R. de Supinski, and Daniel J. Quinlan
253
Detection and Analysis of Iterative Behavior in Parallel Applications . . . Karl F¨ urlinger and Shirley Moore
261
Guided Prefetching Based on Runtime Access Patterns . . . . . . . . . . . . . . . Jie Tao, Georges Kneip, and Wolfgang Karl
268
Performance Tool Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wyatt Spear, Allen Malony, Alan Morris, and Sameer Shende
276
XXIV
Table of Contents – Part III
Workshop on Software Engineering for Large-Scale Computing Workshop on Software Engineering for Large Scale Computing (SELSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Daniel Rodr´ıguez and Roberto Ruiz Modeling Input Space for Testing Scientific Computational Software: A Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sergiy A. Vilkomir, W. Thomas Swain, Jesse H. Poore, and Kevin T. Clarno Executable Platform Independent Models for Data Intensive Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Grzegorz Falda, Piotr Habela, Krzysztof Kaczmarski, Krzysztof Stencel, and Kazimierz Subieta OCL as the Query Language for UML Model Execution . . . . . . . . . . . . . . Piotr Habela, Krzysztof Kaczmarski, Krzysztof Stencel, and Kazimierz Subieta
289
291
301
311
Managing Groups of Files in a Rule Oriented Data Management System (iRODS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrea Weise, Mike Wan, Wayne Schroeder, and Adil Hasan
321
Towards Large Scale Semantic Annotation Built on MapReduce Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ˇ Michal Laclav´ık, Martin Seleng, and Ladislav Hluch´y
331
Managing Large Volumes of Distributed Scientific Data . . . . . . . . . . . . . . . Steven Johnston, Hans Fangohr, and Simon J. Cox
339
Discovering Knowledge in a Large Organization through Support Vector Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . J.A. Guti´errez de Mesa and L. Bengochea Mart´ınez
349
An Event-Based Approach to Reducing Coupling in Large-Scale Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bartosz Kowalewski, Marian Bubak, and Bartosz Bali´s
358
Exploring Cohesion, Flexibility, Communication Overhead and Distribution for Web Services Interfaces in Computational Science . . . . . Miguel-Angel Sicilia and Daniel Rodr´ıguez
368
Workshop on Collaborative and Cooperative Environments Collaborative and Cooperative Environments . . . . . . . . . . . . . . . . . . . . . . . . Christoph Anthes, Vassil Alexandrov, Dieter Kranzlm¨ uller, Jens Volkert, and Gerhard Widmer
379
Table of Contents – Part III
XXV
Multi-Agent System for Collaboration in Hybrid Control . . . . . . . . . . . . . . Dariusz Choi´ nski, Witold Noco´ n, and Mieczyslaw Metzger
381
Design and Evaluation of a Service Oriented Architecture-Based Application to Support the Collaborative Edition of UML Class Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Victor M.R. Penichet, Jose A. Gallud, Ricardo Tesoriero, and Maria Lozano
389
g-Eclipse – A Contextualised Framework for Grid Users, Grid Resource Providers and Grid Application Developers . . . . . . . . . . . . . . . . . . . . . . . . . . Harald Kornmayer, Mathias St¨ umpert, Harald Gjermundrød, and Pawel Wolniewicz Formal Model for Contract Negotiation in Knowledge-Based Virtual Organizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ Mikolaj Zuzek, Marek Talik, Tomasz Swierczy´ nski, Cezary Wi´sniewski, Bartosz Kryza, L ukasz Dutka, and Jacek Kitowski
399
409
An Approach for Enriching Information for Supporting Collaborative e-Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Obinna Anya, Atulya Nagar, and Hissam Tawfik
419
Dynamic Virtual Environments Using Really Simple Syndication . . . . . . . Andrew Dunk, Ronan Jamieson, and Vassil Alexandrov
429
Immersive Co-operative Psychological Virtual Environments (ICPVE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ronan Jamieson, Adrian Haffegee, and Vassil Alexandrov
438
Environment for Collaborative Development and Execution of Virtual Laboratory Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wlodzimierz Funika, Daniel Har¸ez˙ lak, Dariusz Kr´ ol, and Marian Bubak
446
Workshop on Applications of Workflows in Computational Science International Workshop on Applications of Workflows in Computational Science (AWCS 08) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adam Belloum, Zhiming Zhao, and Marian Bubak
459
Framework for Workflow Gridication of Genetic Algorithms in Java . . . . Boro Jakimovski, Darko Cerepnalkoski, and Goran Velinov
463
XXVI
Table of Contents – Part III
Complex Workflow Management of the CAM Global Climate Model on the GRID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V. Fern´ andez-Quiruelas, J. Fern´ andez, A.S. Cofi˜ no, C. Baeza, F. Garc´ıa-Torre, R.M. San Mart´ın, R. Abarca, and J.M. Guti´errez
471
A Framework for Interactive Parameter Sweep Applications . . . . . . . . . . . Adianto Wibisono, Zhiming Zhao, Adam Belloum, and Marian Bubak
481
Comparative Studies Simplified in GPFlow . . . . . . . . . . . . . . . . . . . . . . . . . . Lawrence Buckingham, James M. Hogan, Paul Roe, Jiro Sumitomo, and Michael Towsey
491
Resource Discovery Based on VIRGO P2P Distributed DNS Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lican Huang
501
Securing Grid Workflows with Trusted Computing . . . . . . . . . . . . . . . . . . . Po-Wah Yau, Allan Tomlinson, Shane Balfe, and Eimear Gallery
510
DaltOn: An Infrastructure for Scientific Data Management . . . . . . . . . . . . Stefan Jablonski, Olivier Cur´e, M. Abdul Rehman, and Bernhard Volz
520
Workshop on Intelligent Agents and Evolvable Systems Intelligent Agents and Evolvable Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . Krzysztof Cetnarowicz, Robert Schaefer, Bojin Zheng, ´ zy´ Maciej Paszy´ nski, and Bartlomiej Snie˙ nski
533
Task Hibernation in a Formal Model of Agent-Oriented Computing Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Maciej Smolka
535
Synthesis of the Supervising Agent in MAS . . . . . . . . . . . . . . . . . . . . . . . . . . ˇ Frantiˇsek Capkoviˇ c
545
Grounding of Human Observations as Uncertain Knowledge . . . . . . . . . . . Kamil Szyma´ nski and Grzegorz Dobrowolski
555
Application of Multi-agents in Control of Hydrogen Powered Car to Optimize Fuel Consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bohumil Horak, Jiri Koziorek, and Vilem Srovnal
564
Extensible Multi-Robot System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wojciech Turek
574
Agent-Based Immunological Intrusion Detection System for Mobile Ad-Hoc Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aleksander Byrski and Marco Carvalho
584
Table of Contents – Part III
Social Layers in Agents’ Behavior Evaluation System . . . . . . . . . . . . . . . . . Krzysztof Cetnarowicz, Renata Cieciwa, and Gabriel Rojek
XXVII
594
Graph Transformations for Modeling hp-Adaptive Finite Element Method with Triangular Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Anna Paszy´ nska, Maciej Paszy´ nski, and Ewa Grabska
604
On Some Method for Intrusion Detection Used by the Multi-agent Monitoring System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Agnieszka Prusiewicz
614
Web Accessible A-Team Middleware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dariusz Barbucha, Ireneusz Czarnowski, Piotr J¸edrzejowicz, Ewa Ratajczak-Ropel, and Izabela Wierzbowska
624
Multi-agent System for Dynamic Manufacturing System Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tawfeeq Al-Kanhal and Maysam Abbod
634
GRADIS – Multiagent Environment Supporting Distributed Graph Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Leszek Kotulski
644
User-Assisted Management of Agent-Based Evolutionary Computation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aleksander Byrski and Marek Kisiel-Dorohinicki
654
Generating Robust Investment Strategies with Agent-Based Co-evolutionary System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rafal Dre˙zewski, Jan Sepielak, and Leszek Siwik
664
A Hybrid Multi-objective Algorithm for Dynamic Vehicle Routing Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Qin Jun, Jiangqing Wang, and Bo-jin Zheng
674
Asymptotic Behavior of hp–HGS (hp–Adaptive Finite Element Method Coupled with the Hierarchic Genetic Strategy) by Solving Inverse Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Robert Schaefer and Barbara Barabasz
682
Traffic Prediction for Agent Route Planning . . . . . . . . . . . . . . . . . . . . . . . . . Jan D. Gehrke and Janusz Wojtusiak
692
Agents for Searching Rules in Civil Engineering Data Mining . . . . . . . . . . Janusz Kasperkiewicz and Maria Marks
702
Grammatical Inference as a Tool for Constructing Self-learning Syntactic Pattern Recognition-Based Agents . . . . . . . . . . . . . . . . . . . . . . . . . Janusz Jurek
712
XXVIII
Table of Contents – Part III
An Architecture for Learning Agents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ zy´ Bartlomiej Snie˙ nski
722
Partnership Selection of Agile Virtual Enterprise Based on Grey Ant Colony Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y.D. Fang, L.H. Du, H. Chen, B. Sun, and Y.L. He
731
Hierarchical Approach to Evolutionary Multi-Objective Optimization . . . Eryk Ciepiela, Joanna Kocot, Leszek Siwik, and Rafal Dre˙zewski
740
Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
751
Dynamic Data Driven Applications Systems – DDDAS 2008 Craig C. Douglas1,2 1 2
University of Kentucky, Lexington, KY 40506-0046 Yale University, New Haven, CT 06520-8285, USA
[email protected]
Abstract. This workshop is centered about the recently emerged paradigm of Dynamic Data Driven Applications Systems (DDDAS). The DDDAS concept has already been established as a revolutionary new approach of a symbiotic relation between application and measurement systems, where applications can accept and respond dynamically to new data injected into the executing application, and reversely, the ability of such application systems to dynamically control the measurement processes. The synergistic feedback control-loop between application simulations and measurements can open new domains in the capabilities of simulations with high potential pay-off: create applications with new and enhanced analysis and prediction capabilities and enable a new methodology for more efficient and effective measurement processes. This new paradigm has the potential to transform the way science and engineering are done, with major impact in the way many functions in our society are conducted, such as manufacturing, commerce, transportation, hazard prediction/management, and medicine. The workshop will present such new opportunities, as well as the challenges and approaches in the applications’, algorithms’ and systems’ software technologies needed to enable such capabilities, and will showcase ongoing research in these aspects with examples from several important application areas.
1
Overview
More and more applications are migrating to a data-driven paradigm including contaminant tracking, chemical process plants, petroleum refineries, well bores, and nuclear power plants. In each case sensors produce large quantities of telemetry that are fed into simulations that model key quantities of interest. As data are processed, computational models are adjusted to best agree with known measurements. If properly done, this increases the predictive capability of the simulation system. This allows what-if scenarios to be modeled, disasters to be predicted and avoided with human initiated or automatic responses, and the operation of the plants to be optimized. As this area of computational science grows, a broad spectrum of application areas will reap benefits. Examples include enhanced oil recovery, optimized placement of desalination plants and other water intakes, optimized food production, monitoring the integrity of M. Bubak et al. (Eds.): ICCS 2008, Part III, LNCS 5103, pp. 3–4, 2008. c Springer-Verlag Berlin Heidelberg 2008
4
C.C. Douglas
engineered structures and thus avoiding failures, and real time traffic advice for drivers. These are but a few of countless examples. Visualization is used at all stages of DDDAS: setting up data and initial and/or boundary conditions, seeing and analyzing results, and steering computations. DDDAS is ripe for multidisciplinary research to build applications, algorithms, measurement processes, and software components from which tools can be developed to solve diverse problems of regional and international interest. The advances that will result, including enhanced repositories of re-usable software components and high quality real time applications, support of separation of concerns, and reduced development time, will be of great value to industry and governments, and will set the stage for further valuable research and development and new education paradigms for students. A comprehensive list of ongoing state of the art projects is kept up to date on http://www.dddas.org in the projects area. Several research thrusts in which advances should significantly enhance the abil ity of data-driven computational science to bring its tremendous benefits to a w ide array of applications. These research thrusts are, – Effective assimilation of streams of data into ongoing simulations. – Interpretation, analysis, and adaptation to assist the analyst and to ensure the most accurate simulation. – Cyberinfrastructure to support data-driven simulations. These three areas interact with two other research fields symbiotically: (1) forward multiscale modeling and simulation, and (2) deterministic and statistical methods in inverse problems. Research areas (1) and (2) combined with (3) DDDAS must work within the context of uncertainty and will benefit from the development of statistically sound, unified treatments of uncertainties. For example, in forward multiscale modeling and simulation, input data are uncertain and these uncertainties should be propagated to uncertainties in output quantities of interest. In an inverse problem, proper treatment of measurement uncertainties and errors must be integrated with treatment of uncertainties associated with bforwardb models. be treated systematically. In a data-driven application, all of these uncertainties are present and must Data management in a DDDASis typically supported by tools for data acquisition, data access, and data dissemination. Data acquisition tools retrieve the real time or near real time data, processing and storing them. Data access tools provide common data manipulation support, e.g., querying, storing, and searching, to upper level models. Data dissemination tools read data from the data store, format them based on requests from data consumers, and deliver formatted data to data consumers. DDDAS is the paradigm of the data rich information age that we live in.
Dynamic Data Driven Applications Systems (DDDAS) – A Transformative Paradigm Frederica Darema National Science Foundation, 4201 Wilson Boulevard, Arlington, VA, 22230, USA
[email protected]
Abstract. The Dynamic Data Driven Applications Systems (DDDAS), paradigm entails the ability to dynamically incorporate data into an executing application simulation, and in reverse, the ability of applications to dynamically steer measurement processes. The ability to augment the traditional application modeling with such dynamic data inputs, acquired in real time, online, or existing as archival data, creates the possibility of entirely new capabilities through improved applications modeling, improved instrumentation methods, and systems management methods, enhancing the analysis and prediction capabilities of application simulations, improving the efficiency of simulations and the effectiveness of measurement systems, including providing powerful methodology of management of heterogeneous sensor networks. The dynamic integration of the computational and measurement aspects in DDDAS environments entail a unified of the computational and instrumentation application platform. In this presentation we will discuss the ensuing DDDAS computational model in the context of examples of novel capabilities enabled through its implementation in many application areas. An overview of the state of the art will be presented. A discussion of how to connect U.S. and European or Asian DDDAS-like projects will be initiated for all present at the DDDAS workshop.
M. Bubak et al. (Eds.): ICCS 2008, Part III, LNCS 5103, p. 5, 2008. c Springer-Verlag Berlin Heidelberg 2008
Evaluation of Measurement Techniques for the Validation of Agent-Based Simulations Against Streaming Data Timothy W. Schoenharl and Greg Madey Department of Computer Science and Engineering University of Notre Dame Notre Dame, IN 46556
Abstract. This paper presents a study evaluating the applicability of several different measures to the validation of Agent-Based Modeling simulations against streaming data. We evaluate the various measurements and validation techniques using pedestrian movement simulations used in the WIPER system. The Wireless Integrated Phone-based Emergency Response (WIPER) system is a Dynamic Data-Driven Application System (DDDAS) that uses a stream of cellular network activity to detect, classify and predict crisis events. The WIPER simulation is essential to classification and prediction tasks, as the simulations model human activity, both in movement and cell phone activity, in an attempt to better understand crisis events.1
1
Introduction
Crisis events occur without warning on short time scales relative to normal human activities. Simulations designed to model human behavior under crisis scenarios faces several challenges when attempting to model behavior in real time. The DDDAS approach seeks to address that challenge by incorporating real time sensor data into running simulations[1][2]. Dynamic, Data-Driven Application Systems is an approach to developing systems incorporating sensors and simulations where the simulations receive streaming data from the sensors and the sensors receive control information from the simulations. The WIPER system uses streaming cell phone activity data to detect, track and predict crisis events [3]. The Agent-Based Modeling simulations in the WIPER system are intended to model the movement and cell phone activity of pedestrians. These simulations model crisis events and are intended to be validated in a online fashion against streaming data. In the WIPER system, ensembles of simulations are created, with each simulation parameterized with a particular crisis scenario and initialized from the streaming data. When the all of the simulations in the ensemble have finished 1
The research on WIPER is supported by an NSF Grant, CISE/CNS-DDDAS, Award #0540348.
M. Bubak et al. (Eds.): ICCS 2008, Part III, LNCS 5103, pp. 6–15, 2008. c Springer-Verlag Berlin Heidelberg 2008
Evaluation of Measurement Techniques
7
running, the results are validated against streaming data from the cell phone network. Thus the validation technique must provide a method of discriminating between various simulations. In the context of the WIPER project, this means determining which crisis model is the best fit for the phenomenon detected in the streaming data. In this paper we will demonstrate a validation technique and evaluate the technique with several measures.
2
Background
Validation is described as the process of determining whether a given model is an appropriate choice for the phenomenon being modeled. In the model development cycle, validation is normally considered in the context of simulation creation and development, and is done nearly exclusively in an offline fashion. However, the process of selecting an appropriate model for a given phenomenon is precisely what is needed in the dynamic context of the WIPER system. There exists a large body of work on the topic of simulation validation. A survey of techniques and approaches to offline validation of discrete event simulations can be found in Balci [4]. This work is an essential reference for validation, but many of the techniques are suited to offline validation only, as the interpretation requires human judgement. This section is divided into three subsections related to the provenance of the techniques we intend to evaluate. The first section deals with canonical offline validation techniques from simulation, the second section presents distance measures and the third section presents work that has been done with online simulations. 2.1
Offline Simulation Validation
Balci presents a thorough evaluation of techniques for validation of models in the context of model and simulation development [4]. The intent for these techniques was to aid in the validation and verification of simulations prior to deployment. Some techniques mentioned by Balci that are useful to our current discussion are predictive validation (also called input-output correlation) and blackbox testing. Kennedy and Xiang describe the application of several techniques to the validation of Agent-Based Models [5,6]. The authors separate techniques into two categories: subjective, which require human interpretation, and objective, for which success criteria can be determined a priori. We focus on objective techniques, as the requirements of a DDDAS system make it impossible to place human decision makers “in the loop”. 2.2
Online Simulations
Researchers in the area of discrete event simulations recognize the challenges posed to updating simulations online from streaming data [7]. The need for
8
T.W. Schoenharl and G. Madey
human interpretation is a serious limitation of traditional validation approaches and limits their usefulness in the context of online validation. Simulation researchers have defined a need for online validation but recognize the challenges to the approach. Davis claims that online validation may be unobtainable due to the difficulty in implementing changes to a model in an online scenario. We present a limited solution to this problem by offering multiple models simultaneously and using validation to select among the best, rather than using online validation to drive a search through model space. It is important to distinguish between the model, the conceptual understanding of factors driving the phenomenon, and the parameters used to initialize the model. Optimization via simulation is a technique that is similar to canonical optimization and seeks to make optimal choices on selecting input parameters while keeping the underlying model the same and uses a simulation in place of the objective function. These techniques are usually grouped by whether they are appropriate for discrete or continuous input spaces [8]. For simulations with continuous input parameters, the author suggests the use of gradient-based methods. For simulations with discrete input parameters, the author presents approaches using random search on the input space.
3
Measures
We evaluate the following measures in the context of ranking simulations: – – – –
Euclidean distance Manhattan distance Chebyshev distance Canberra distance
The distance measures are used to evaluate the output of the WIPER simulations in the context of agent movement. Agents move on a GIS space and agent locations are generalized to the cell tower that they communicate with. The space is tiled with Voronoi cells [9] that represent the coverage area of each cell tower. Empirical data from the cellular service provider aggregates user locations to the cell tower and the WIPER simulations do the same. Thus we can evaluate the distance measures using a well-defined vector of cell towers where the value for each position in the vector is the number of agents at that tower at each time step. 3.1
Distance Measures
Euclidean distance is the well-known distance metric from Euclidean geometry. The distance measure can be generalized to n dimensions from the common 2 dimensional case. The formula for Euclidean distance in n dimensions is given in Equation 1
Evaluation of Measurement Techniques
n d(p, q) = (pi − qi )2
9
(1)
i=1
where p = (p1 , p2 , · · · pn ) q = (q1 , q2 , · · · qn )
(2) (3)
Manhattan distance, also known as the taxicab metric, is another metric for measuring distance, similar to Euclidean distance. The difference is that Manhattan distance is computed by summing the absolute value of the difference of the individual terms, unlike Euclidean distance which squares the difference, sums over all the differences and takes the square root. From a computational perspective Manhattan distance is significantly less costly to calculate than Euclidean distance, as it does not require taking a square root. The formula for Manhattan distance in n dimensions is given in Equation 4. d(p, q) =
n
|pi − qi |
(4)
i=1
Chebyshev distance, also called the L∞ metric, is a distance metric related to Euclidean and Manhattan distances [10]. The formula for the Chebyshev distance is given in Equation 5. The Chebyshev distance returns the maximum distance between elements in the position vectors. For this reason the metric seems appropriate to try on the WIPER simulations, as certain models may produce an output vector with one cell having a large variation from the norm. d(p, q) = max(|pi − qi |) = lim i
k→∞
n
1/k k
|pi − qi |
(5)
i=1
The Canberra distance metric is used in situations where elements in the vector are always non-negative. In the case of the WIPER simulations, the output vector is composed of the number of agents in each Voronoi cell, which is always non-negative. The formula for Canberra distance is given in Equation 6. As defined, individual elements in the distance calculation could have zero for the numerator or denominator. Thus in cases where |pi | = |qi |, the element is omitted from the result. d(p, q) =
n |pi − qi | i=1
4
|pi + qi |
(6)
Experimental Setup
In order to evaluate the feasibility of our approach, we present three experiments that demonstrate the effectiveness of the measures on validating agent movement
10
T.W. Schoenharl and G. Madey
models. The first experiment uses output from a particular run of the WIPER simulation as the synthetic data that will be tested against. This output is considered a “target” simulation. For the second movement model experiment we want to examine the effectiveness of measures in ranking models over all model types. The purpose of these tests are not to demonstrate the effectiveness of the simulation to match the synthetic data but to demonstrate the ability of the measure to differentiate between simulation movement and activity model types. In a DDDAS system models of human behavior will be created and, according to the traditional model development approach, be validated offline. From this set of pre-validated models the system must be able to select, while the system is running, the model that best matches the data. For the initial movement model experiment, we examine the effectiveness of the various statistical tests and measures in their ability to rank simulations in their closeness to the baseline simulation. The baseline simulation models a crisis scenario where people are fleeing a disaster. All simulations, including the baseline, are started with 900 agents distributed among 20 Voronoi cells. The distribution of agents to Voronoi cells is fixed over all of the simulations. For each of the 5 movement models, 100 replications of the simulation using different random seeds are run. Our evaluation approach is to examine the effectiveness of each measure in ranking output against the baseline. In this experiment, the desired results will show that instances of the Flee model are closer to the target simulation than other model types. The second movement model experiment considers all of the movement models simultaneously. We use the data from the 500 simulation runs and create a matrix of distance values between every pair of values. Each position mij in the 500x500 matrix is the value of the distance metric between row i and column j. For consistency we present both the upper and lower halves of the matrix, as well as the diagonal, which is always equal to 0. We create this distance matrix for each of the distance metrics we consider. The outcome of the experiment is determined by examining the matrix and determining if the distance metric used shows low distance for simulation runs of the same model and high distance between simulation runs with differing models.
5
Results
Results of using the Euclidean distance metric to measure the differences in agent locations between movement models is shown in Figure 1(a). At the first time interval the Euclidean metric does an excellent job of ranking the Flee model instances as being the best match to the baseline. All of the Flee model instances have low distance to the baseline and are all lower than any instance of the other models. Interestingly, as the simulations progress, the Euclidean distance of each simulation’s output from the Flee model baseline seems to yield good results for classifying the models, as they demonstrate low inter-class distance and high intra-class distance. The exception is the Null and Bounded Flee models. This result is discussed below in the analysis.
Evaluation of Measurement Techniques
(a) Comparing agent movement in various movement models to flee movement using euclidean distance as the measure.
(b) Comparing agent movement in various movement models to flee movement using manhattan distance as the measure.
(c) Comparing agent movement in various movement models to flee movement using Chebyshev distance as the measure.
(d) Comparing agent movement in various movement models to flee movement using Canberra distance as the measure.
11
Fig. 1. Movement models compared periodically over the run of the simulations
Results of using the Manhattan distance metric to measure the differences in agent locations between movement models is shown in Figure 1(b). The Manhattan metric produces similar results to the Euclidean metric, with good results beginning at the first time interval. Results of using the Chebyshev distance metric to measure the differences in agent locations between movement models is shown in Figure 1(c). As with the other measures in the L family, the Chebyshev distance metric does a good job of differentiating between model types in the early stages of the simulation run and in the late stages.
12
T.W. Schoenharl and G. Madey Comparison of Models on First Iteration of Simulation Output, Euclidean Metric
Random Move and Return
Move and Return
Bounded Flee
Null
Model Type
Null Bounded Flee
Model Type
Random
Flee
Flee
Comparison of Models on First Iteration of Simulation Output, Manhattan Metric
Flee
Random
Null
Bounded Flee
0
Move and Return
Flee
Random
268.0131
Bounded Flee
0
Distance Range
Move and Return 822
Distance Range
(a) Plot of the euclidean distance between simulation output. Simulations are grouped along x- and yaxis according to movement model in the order Flee movement, Random movement, Null movement, Bounded Flee movement and Move and Return movement.
(b) Plot of the manhattan distance between simulation output. Simulations are grouped along x- and yaxis according to movement model in the order Flee movement, Random movement, Null movement, Bounded Flee movement and Move and Return movement.
Random Null Bounded Flee Move and Return
Move and Return
Bounded Flee
Null
Model Type
Random
Flee
Comparison of Models on First Iteration of Simulation Output, Canberra Metric
Flee
Comparison of Models on First Iteration of Simulation Output, Chebyshev Metric
Model Type
Null
Flee
Random
Null
Bounded Flee
0
Move and Return 172
Distance Range
(c) Plot of the Chebyshev distance between simulation output. Simulations are grouped along x- and yaxis according to movement model in the order Flee movement, Random movement, Null movement, Bounded Flee movement and Move and Return movement.
Flee
Random
Null
Bounded Flee
0
Move and Return 15.0818
Distance Range
(d) Plot of the canberra distance between simulation output. Simulations are grouped along x- and yaxis according to movement model in the order Flee movement, Random movement, Null movement, Bounded Flee movement and Move and Return movement.
Fig. 2. Distance plots for the simulation outputs
Evaluation of Measurement Techniques
13
Results of using the Canberra distance metric to measure the differences in agent locations between movement models is shown in Figure 1(d). The Canberra metric appropriately ranks the Flee model simulations as closest, but as the simulations progress the results appear to be unstable and beyond the 11th sampling interval the Canberra metric fails to return valid values for Flee model simulations. Also, unlike the Euclidean and Manhattan metrics, the Canberra metric displays some overlap in the distance results for different model types. Results of plotting the distance of the output from 500 simulations, 100 runs of each of the 5 movement models, is shown in Figures 2(a), 2(b), 2(c) and 2(d). These results provide a more thorough analysis of the usefulness of the metrics than simply comparing to one run of a simulation. In the ideal scenario the matrix will display low distance between simulations of the same model type (in the figures this would be a bright green square on the diagonal) and high distance when measured against simulations of a different model type (orange or red squares in the remainder of the matrix). The figures measure the distance in the respective metric of the first time interval of the simulation. The simulations are grouped according to model type in the order, left to right (and top to bottom), Flee Movement, Random Movement, Null Movement, Bounded Flee Movement and Move and Return Movement. Each figure is colored from green to red, with green representing low distance and red high, with the colors scaled to the range of the distance values for the respective metrics. Figures 2(a), 2(b) and 2(c) present the results for the Euclidean, Manhattan and Chebyshev metrics, respectively. Each of these metrics presents fairly good results in giving simulations of the same model type low distances and simulations with different model types high distance. The results of the Canberra metric is less clear. The Canberra metric, Figure 2(d) appears to produce high distance values for Flee model simulations against other Flee model simulations and likewise for the Bounded Flee model.
6
Conclusions
Using a distance metric for model selection has several advantages. An experimental study, like that presented in this paper, allows users to calibrate the selection threshold, which makes it possible for the DDDAS to classify a phenomenon based on the distance from the validated model to the event. Alternately, should no model meet the threshold, the system can determine that none of the models are appropriate. In that case the measure may give a suggestion for the “closest fit” model and provides a scenario for new model creation. In this paper we have presented an evaluation of various tests and measurements for online validation of Agent-Based Models. We have shown that the Euclidean and Manhattan distance metrics work well for validating movement models, however the Canberra distance are significantly less useful. The Manhattan, Euclidean and Chebyshev metrics produce favorable results when used for measuring the similarity of simulations. Under the conditions we have tested, they produce low inter-model distances with high intra-model
14
T.W. Schoenharl and G. Madey
distance. Any of these metrics is adequate for an application such as the WIPER project. The Canberra metric is useful under certain circumstances, but the poor performance measuring Flee model simulations against other Flee model simulations make it less than desirable for use in the WIPER project. Figures 1(a), 1(b) and 2(b) show the distance metrics failing to differentiate between the Bounded Flee model and the Null Movement model. This result is an artifact of the way movement is measured in the simulations. Since agent locations are aggregated to the level of the Voronoi cell, agent movements below this resolution do not appear in the output. In the Bounded Flee model, agents move 1000 meters from the crisis and then stop moving. Thus, if the crisis is centered in a Voronoi cell that is approximately 2000 meters across, agents in the crisis cell will not appear to have moved at all. A caveat concerning the use of simple thresholds for model selection in online validation: In the WIPER project, where mislabeling a crisis event as benign could have dire consequences, it is important to factor into the system the cost of false negatives. Crisis event models should be weighted so that when confronted with a crisis event, the chance of labeling it as normal behavior is minimized.
7
Future Work
The work in this paper has focused on measurements for online validation of agent movement models, where validation is selection from among a set of alternatives. Agent behavior in the WIPER simulation is composed of both movement and activity models. It is important for the online validation procedure to treat both movement and activity. In the future we would like to examine measurements for online validation of agent activity models, perhaps in conjunction with work being done to characterize crisis behavior as seen in cell phone activity data [11]. In keeping with our framework, we will need to create not only different input parameters for the activity models, but new models that describe agent behavior under different scenarios (normal activity, crisis, etc). Such work on generating additional agent activity models is currently under way.
Acknowledgements The graphs in this paper were produced with the R statistics and visualization program and the plotrix package for R [12][13].
References 1. Solicitation, N.P.: DDDAS: Dynamic data-driven application systems. NSF Program Solicitation NSF 05-570 (June 2005) 2. Darema, F.: Dynamic Data Driven Application Systems: A new paradigm for application simulations and measurements. In: Bubak, M., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2004. LNCS, vol. 3038, pp. 662–669. Springer, Heidelberg (2004)
Evaluation of Measurement Techniques
15
3. Schoenharl, T., Bravo, R., Madey, G.: WIPER: Leveraging the cell phone network for emergency response. International Journal of Intelligent Control and Systems 11(4) (December 2006) 4. Balci, O.: Verification, Validation, and Testing. In: Handbook of Simulation: Principles, Methodology, Advances, Applications, and Practice, John Wiley & Sons, New York (1998) 5. Kennedy, R.C.: Verification and validation of agent-based and equation-based simulations and bioinformatics computing: identifying transposable elements in the aedes aegypti genome. Master’s thesis, University of Notre Dame (2006) 6. Xiang, X., Kennedy, R., Madey, G., Cabaniss, S.: Verification and validation of agent-based scientific simulation models. In: Yilmaz, L. (ed.) Proceedings of the 2005 Agent-Directed Simulation Symposium, April 2005. The Society for Modeling and Simulation International, vol. 37, pp. 47–55 (2005) 7. Davis, W.J.: On-line Simulation: Need and Evolving Research Requirements. In: Handbook of Simulation: Principles, Methodology, Advances, Applications, and Practice, John Wiley & Sons, New York (1998) 8. Andrad´ ottir, S.: Simulation Optimization. In: Handbook of Simulation: Principles, Methodology, Advances, Applications, and Practice, John Wiley & Sons, New York (1998) 9. Wikipedia: Voronoi diagram — Wikipedia, the free encyclopedia (2006) (accessed April 25, 2006), http://en.wikipedia.org/w/index.php?title=Voronoi diagram&oldid= 47842110 10. Wikipedia: Chebyshev distance — wikipedia, the free encyclopedia (2007) (accessed May 14, 2007) 11. Yan, P., Schoenharl, T., Madey, G.R.: Application of markovmodulated poisson processes to anomaly detection in a cellular telephone network. Technical report, University of Notre Dame (2007) 12. R Development Core Team: R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria (2006) ISBN 3-900051-07-0 13. Lemon, J., Bolker, B., Oom, S., Klein, E., Rowlingson, B., Wickham, H., Tyagi, A., Eterradossi, O., Grothendieck, G.: Plotrix: Various plotting functions, R package version 2.2 (2007)
Using Intelligent Optimization Methods to Improve the Group Method of Data Handling in Time Series Prediction Maysam Abbod and Karishma Deshpande School of Engineering and Design, Brunel University, West London, UK Uxbridge, UK, UB8 3PH
[email protected]
Abstract. In this paper we show how the performance of the basic algorithm of the Group Method of Data Handling (GMDH) can be improved using Genetic Algorithms (GA) and Particle Swarm Optimization (PSO). The new improved GMDH is then used to predict currency exchange rates: the US Dollar to the Euros. The performance of the hybrid GMDHs are compared with that of the conventional GMDH. Two performance measures, the root mean squared error and the mean absolute percentage errors show that the hybrid GMDH algorithm gives more accurate predictions than the conventional GMDH algorithm. Keywords: GMDH, GA, PSO, time series, prediction, finance.
1 Introduction Forecasting future trends of many observable phenomena remains of great interest to a wide circle of people. This requirement has maintained a high rate of activity in various research fields dedicated to temporal prediction methodologies. Two such important application domains are financial markets and environmental systems. Predicting such systems has been attempted for decades but it remains such a challenging task for a wide array of modeling paradigms. The foreign exchange market is a large business with a large turnover in which trading takes place round the clock and all over the world. Consequently, financial time series prediction has become a very popular and ever growing business. It can be classified as a real world system characterized by the presence of non-linear relations. Modeling real world systems is a demanding task where many factors must be taken into account. The quantity and quality of the data points, the presence of external circumstances such as political issues and inflation rate make the modeling procedure a very difficult task. A survey of the different methods available for modeling nonlinear systems is given in Billings [1]. Some researchers tried auto-regressive methods to predict foreign currency exchange rates [2]. Episcopos and Davis [6] used the GARCH and ARIMA statistical methods to identify the model. These methods have not always produced good results which have urged scientists to explore other more effective methods. M. Bubak et al. (Eds.): ICCS 2008, Part III, LNCS 5103, pp. 16–25, 2008. © Springer-Verlag Berlin Heidelberg 2008
Using Intelligent Optimization Methods to Improve the GMDH
17
During the last two decades adaptive modeling techniques, like neural networks and genetic algorithms, have been extensively used in the field of economics. A list of examples using such methods is given in Deboeck [4] and Chen [3]. An extension to the genetic algorithm paradigm [9] is the versatile genetic programming method introduced by Koza [11]. Scientists were quick to use this method in many aspects of mathematical modeling. An alternative non-linear modeling method, which was introduced in the late sixties, is the Group Method of Data Handling [11]. Since its introduction researchers from all over the world who used the GMDH in modeling were astonished by its prediction accuracy. Many of these applications were in the field of time series prediction. Parks et al [14] used the GMDH to find a model for the British economy. Ikeda et al [10] used a sequential GMDH algorithm in river flow prediction. Hayashi and Tanaka [8] used a fuzzy GMDH algorithm to predict the production of computers in Japan. Robinson and Mort [15] used an optimized GMDH algorithm for predicting foreign currency exchange rate. In this paper we describe how the GMDH can be used in conjunction with Genetic Algorithms (GA) and with Particle Swarm Optimization (PSO) to improve the prediction accuracy of the standard GMDH algorithm when it is applied to time series in the form of financial data.
2 The Data In this paper both the hybrid GMDHs and the conventional GMDH algorithms were used to make one step ahead prediction of the exchange rate from US Dollars to Euros (USD2EURO). Values from 29 September, 2004 to 5 October 2007 were obtained from the website www.oanda.com, a total of 1102 points (Fig. 1). The first 1000 points were used in the training and checking of the GMDH algorithm. The last 102 points were unseen by the algorithm throughout its computation. The performance of the algorithm was evaluated on the last 102 points of the data. 0.9
exchange rate
0.85 0.8 0.75 0.7 0.65 0.6 1
101
201
301
401
501
601
701
801
901
day
Fig. 1. USD2EURO from 29 Sept, 2004 to 5 Oct, 2007
1001 1101
18
M. Abbod and K. Deshpande
3 The Group Method of Data Handling (GMDH) GMDH method was developed by Ivakhnenko [11] as a rival to the method of stochastic approximation. The proposed algorithm is based on a multilayer structure using, for each pair of variables, a second order polynomial of the form: Y = AO + A1XI + A2XJ + A3XIXJ + A4XI2 + A5XJ2
(1)
where xi and xj are input variables and y is the corresponding output value. The data points are divided into training and checking sets. The coefficients of the polynomial are found by regression on the training set and its output is then evaluated and tested for suitability using the data points in the checking set. An external criterion, usually the mean squared error (mse), is then used to select the polynomials that are allowed to proceed to the next layer. The output of the selected polynomials becomes the new input values at the next layer. The whole procedure is repeated until the lowest mse is no longer smaller than that of the previous layer. The model of the data can be computed by tracing back the path of the polynomials that corresponded to the lowest mse in each layer.
4 Intelligent Systems Optimization 4.1 Genetic Algorithms GAs are exploratory search and optimization methods that were devised on the principles of natural evolution and population genetics [9]. Unlike other optimization techniques, a GA does not require mathematical descriptions of the optimization problem, but instead relies on a cost-function, in order to assess the fitness of a particular solution to the problem in question. Possible solution candidates are represented by a population of individuals (generation) and each individual is encoded as a binary string, referred to as a chromosome containing a well-defined number of alleles (1's and 0's). Initially, a population of individuals is generated and the fittest individuals are chosen by ranking them according to a priori-defined fitnessfunction, which is evaluated for each member of this population. In order to create another better population from the initial one, a mating process is carried out among the fittest individuals in the previous generation, since the relative fitness of each individual is used as a criterion for choice. Hence, the selected individuals are randomly combined in pairs to produce two off-springs by crossing over parts of their chromosomes at a randomly chosen position of the string. These new off-springs represent a better solution to the problem. In order to provide extra excitation to the process of generation, randomly chosen bits in the strings are inverted (0's to 1's and 1's to 0's). This mechanism is known as mutation and helps to speed up convergence and prevents the population from being predominated by the same individuals. All in all, it ensures that the solution set is never naught. A compromise, however, should
Using Intelligent Optimization Methods to Improve the GMDH
19
be reached between too much or too little excitation by choosing a small probability of mutation. 4.2 Practical Swarm Optimization Particle Swarm Optimization is a global minimization technique for dealing with problems in which a best solution can be represented using position and velocity components. All particles remember the best position they have seen, and communicate this position to the other members of the swarm. The particles will adjust their own positions and velocity based on this information. The communication can be common to the whole swarm, or be divided into local neighborhoods of particles [12].
5 Results and Discussions The GMDH network, as mentioned earlier, uses a quadratic polynomial as the transfer function in each layer. A question arises: what if the relationship between the input and the output is not best described by a quadratic polynomial? This leads to another question: Could a better global optimization method replace the regression technique to fit the quadratic polynomial and generate a function that described the input-output relationship more accurately, leading to an improvement in the prediction accuracy of the GMDH algorithm? The GA- and PSO-GMDH algorithm is similar to the conventional GMDH algorithm except that the transfer function polynomials are fitted using better optimization algorithms, namely PSO and GA. The optimization algorithm is applied to the data while the GMDH iterates through in order to find the best function that maps the input to the output. It is important to note that the GA and PSO are applied separately in order to find an exact mapping between the input and the output at different iteration stages. Two performance measures were used in assessing the accuracy of the conventional GMDH and the hybrid GMDH: the mean absolute percentage error, denoted MAPE, (equation 2) and the widely used root mean squared error, RMSE, (equation 3). n abs(Yi − Zi ) MAPE = 1 ×100% ∑ n Yi i =1
RMSE =
1 n
(2)
n
∑ (Yi − Zi )2
(3)
i =1
where n is the number of variables, Y is the actual output and Z is the predicted output. The PSO algorithm was set to a population size of 100, while the inertial cognitive and social constants are as follows [5]: w = 0.7298; c1 = 1.49618; c2 = 1.49618 The GA algorithm was set as a binary code of 12 bits for each of the parameters of the polynomial. The polynomial has 6 parameters so that makes the chromosome
20
M. Abbod and K. Deshpande
12×6=72 bits long. The 12 bit binary number maps to a search space of -2 to +2 units in decimals. The 12 bits settings allows 4096 steps for a search space of 4 units which is a step size of 4/4096= 0.0000976. The GA was set with a mutation rate of 0.1 and a single point crossover at a rate of 0.9. The results are classified into two types, the training phase and the testing phase. The former phase involves 1000 data points which are used to fit the polynomials at different GMDH iterations. The later stage is to test the GMDH system to data that the system has never experienced before, in this case 102 data points were used. Figs. 2a and 2b shows the predicted against the actual data for a standard GMDH for training and testing respectively. While Figs. 3a and 3b show the same figures but for the PSO-GMDH, and finally Figs. 4a and 4b shows the results of the GA-GMDH version. 0.75
0.89
0.74 0.84
predicted
predicted
0.73
0.79
0.72
0.71 0.74
0.7
0.69 0.69
0.74
0.79 actual
(a) Training data
0.84
0.89
0.69 0.69
0.7
0.71
0.72
0.73
0.74
0.75
actual
(b) Testing data
Fig. 2. Graphs of GMDH predicted against actual USD2EURO
The GA-GMDH algorithm usually produces better results due to its global search features. This comes at a price of being slow and computationally intensive. For accurate results, large generation and wide searching space are required. This can be accommodated by creating large chromosomes with bigger constraints for increasing the search accuracy. In contrast, PSO is fast and has no constraints on the search space. But it produces less accurate results globally, but more accurate locally. Combining both algorithms with GMDH provides better accuracy and speed. By starting with a low accuracy GA (fast calculations) for finding the rough global minima, then switching to PSO for finding a more accurate minima in the global GA minima area. The GA was set to 8 bit settings for each variable, and then preceded by PSO with the same previous settings. Figs. 5a and 5b show the predicted against the actual data for the GA-PSO-GMDH for training and testing respectively
Using Intelligent Optimization Methods to Improve the GMDH
0.89
21
0.75
0.74
0.84
predicted
predicted
0.73
0.79
0.72
0.71
0.74 0.7
0.69 0.69
0.74
0.79
0.84
0.69 0.69
0.89
0.7
0.71
actual
0.72
0.73
0.74
0.75
0.74
0.75
0.74
0.75
actual
(a) Training data
(b) Testing data
Fig. 3. Graphs of PSO-GMDH predicted against actual USD2EURO 0.89
0.75
0.74 0.84
predicted
predicted
0.73
0.79
0.72
0.71 0.74
0.7
0.69 0.69
0.74
0.79
0.84
0.69 0.69
0.89
0.7
0.71
actual
0.72
0.73
actual
(a) Training data
(b) Testing data
Fig. 4. Graphs of GA-GMDH predicted against actual USD2EURO 0.89
0.75
0.74 0.84
predicted
predicted
0.73
0.79
0.72
0.71 0.74
0.7
0.69 0.69
0.74
0.79 actual
(a) Training data
0.84
0.89
0.69 0.69
0.7
0.71
0.72
0.73
actual
(b) Testing data
Fig. 5. Graphs of GA-PSO-GMDH predicted against actual USD2EURO
22
M. Abbod and K. Deshpande
The results for both networks when applied to the entire training and testing data are given in Tables 1 and 2 respectively. Table 1. Results for USD2EURO training data
MAPE
RMSE
Linear regression
0.2904
0.003993
GMDH
0.2772
0.003101
PSO-GMDH
0.2604
0.003085
GA-GMDH
0.2602
0.002993
GA-PSO-GMDH
0.2546
0.002989
Table 2. Results for USD2ERO testing data
Linear regression GMDH PSO-GMDH GA-GMDH GA-PSO-GMDH
MAPE
RMSE
0.1986 0.1985 0.1860 0.1653 0.1416
0.001841 0.001831 0.001611 0.001312 0.001302
It is evident from the values of both measures that the GA-and PSO-GMDH performs better than the conventional GMDH. Values of the percentage improvement in both performance measures for all the data are given in Table 3. Table 3. GMDH percentage improvement to the testing data performance
PSO-GMDH GA-GMDH GA-PSO-GMDH
MAPE Percentage improvement
RMSE Percentage improvement
6.3 16.7 28.6
12.0 28.3 28.9
Graphs of the actual against predicted by the conventional GMDH algorithm and predicted by PSO-GMDH algorithm for the USD2EURO exchange rates are shown in Fig. 6. While Fig. 7 shows the predictions of GA-GMDH algorithm and the combinations of GA, PSO and GMDH (GA-PSO-GMDH). The prediction performance of the GMDH network depends on the number of generations over which the algorithm is allowed to evolve. The results given in this paper were produced after only 4 iterations (ambiguous – generations in terms of GA).
Using Intelligent Optimization Methods to Improve the GMDH
23
Several GMDH runs, using both networks, were carried out each with a different number of generations. It was found that as the individuals were allowed to evolve over a higher number of generations, the value of the minimum of the selection criterion in each generation was decreased. On the other hand, it was found that the performance measures became progressively worse. This was due to the fact that the algorithms became overspecialized for the data they were trained on to the detriment of their ability to predict the unseen data. 0.75
0.74
0.73
0.72
actual 0.71
PSO-GMDH GMDH
0.7 1
11
21
31
41
51
61
71
81
91
Fig. 6. Graphs of actual testing data, GMDH and PSO-GMDH predictions 0.75
0.74
0.73
0.72
actual GA-GMDH
0.71
GA-PSO-GMDH 0.7 1
11
21
31
41
51
61
71
81
91
Fig. 7. Graphs of actual testing data, GA-GMDH and GA-PSO-GMDH predictions
6 Conclusions It was shown in this paper that the performance of the conventional GMDH algorithm can be improved significantly if some information about the type of the relationship between the input and output was available and used in the GMDH run.
24
M. Abbod and K. Deshpande
The fitness of the best individual in each generation improved while the individuals were allowed to evolve over more generations. This had the reverse effect on the overall performance of the network for the unseen data points. This is an area that is in need of further investigation in order to find a suitable point for terminating the building of the polynomial process. When the same procedure carried out in this paper was repeated a few times using a different size of training and checking sets, it was noticed that the performance of both GMDH networks, particularly the conventional one, was greatly affected. This leads to the following hypothesis: there might exist a rule for dividing the sample of data that when applied the accuracy of the GMDH algorithm reaches its optimum. Work needs to be carried out to investigate the validity of this hypothesis. The work carried out in this paper has provided an insight into the way the GMDH deals with time series prediction. While it was shown that it is possible to improve its prediction performance, the GMDH remains a robust and popular method of mathematical modeling.
References 1. Billings, S.A.: Identification of Non-Linear Systems – a Survey. IEE Proceedings on Control Theory and Applications 127(6), 272–285 (1980) 2. Chappell, D., Padmore, J., Mistry, P., Ellis, C.: A Threshold Model for the French Franc/Deutschmark Exchange Rate. Journal of Forecasting 15(3), 155–164 (1995) 3. Chen, C.H.: Neural Networks for Financial Market Prediction. In: IEEE International Conference on Neural Networks, vol. 7, pp. 1199–1202 (1994) 4. Deboeck, G. (ed.): Trading of the Edge: Neural, Genetic and Fuzzy Systems for Chaotic Financial Markets. John Wiley & Sons Inc., Chichester (1994) 5. Eberhart, R.C., Shi, Y.: Comparing Inertia Weights and Constriction Factors in Particle Swarm Optimization. In: Proceedings of the Congress on Evolutionary Computing, San Diego, USA, pp. 84–89 (2000) 6. Episcopos, A., Davis, J.: Predicting Returns on Canadian Exchange Rates with Artificial Neural Networks and EGARCH-M Models. In: Abu-Mostafa, Y., Moody, J., Weigend, A. (eds.) Neural Networks Financial Engineering. Proceedings of the third International Conference on Neural Networks in the Capital Markets, pp. 135–145. World Scientific, Singapore, London (1995) 7. Goldberg, D.E.: Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley, Reading (1989) 8. Hayashi, I., Tanaka, H.: The Fuzzy GMDH Algorithm by Possibility Models and its Application. Fuzzy Sets and Systems 36, 245–258 (1990) 9. Holland, J.H.: Adaption in Natural and Artificial Systems. The University of Michigan Press, Ann Arbor (1975) 10. Ikeda, S., Ochiai, M., Sawaragi, Y.: Sequential GMDH Algorithm and Its Application to River Flow Prediction. IEEE Transaction on Systems, Man and Cybernetics (July 1976) 11. Ivakhnenko, A.G.: The Group Method of Data Handling-A Rival of the Method of Stochastic Approximation. Soviet Automatic Control, vol. 13 c/c of automatika 1(3), 43–55 (1968)
Using Intelligent Optimization Methods to Improve the GMDH
25
12. Kennedy, J., Eberhart, R.: Particle Swarm Optimization. In: Proc. IEEE Int’l. Conf. on Neural Networks, Perth, Australia, November 1995, pp. 1942–1948 (1995) 13. Koza, J.R.: Genetic Programming: on the programming of computers by means of natural selection. MIT Press, Cambridge (1992) 14. Parks, P., Ivakhnenko, A.G., Boichuk, L.M., Svetalsky, B.K.: A Self-Organizing Model of British Economy for Control with Optimal Prediction using the Balance-of-Variables Criterion. Int. J. of Computer and Information Sciences 4(4) (1975) 15. Robinson, C., Mort, M.: Predicting Foreign Exchange Rates Using Neural and Genetic Models. In: Proceedings of 2nd Asian Control Conference, Seoul, Korea, July 22-25, 1997, vol. 3, pp. 115–118 (1997)
Symbiotic Simulation Control in Semiconductor Manufacturing Heiko Aydt1 , Stephen John Turner1 , Wentong Cai1 , Malcolm Yoke Hean Low1 , Peter Lendermann2 , and Boon Ping Gan2 1
2
School of Computer Engineering, Nanyang Technological University, Singapore 639798 {aydt,assjturner,aswtcai,yhlow}@ntu.edu.sg D-SIMLAB Technologies Pte Ltd, 30 Biopolis Street #09-02, Matrix, Singapore 138671 {peter,boonping}@d-simlab.com
Abstract. Semiconductor manufacturing is a highly complex and asset intensive process. Solutions are needed to automate control of equipment and improve efficiency. We describe a symbiotic simulation control system which uses reactive what-if analysis to find a stable configuration of a wet bench tool set. This control system is based on a generic framework for symbiotic simulation. We show that symbiotic simulation can be used to make control decisions in near real-time. Furthermore, we show that our approach yields a notable performance improvement over common practise.
1
Introduction
Semiconductor manufacturing is a complex process which turns pure silicon wafers into integrated circuits with thousands of components. The whole process may require up to several hundred processing steps and up to three months for production [1]. One crucial factor for competitiveness in semiconductor manufacturing is ongoing improvement of the manufacturing process [1]. Automation is a critical factor in this context and the semiconductor industry invests several million US dollars for solutions. According to [2], investments for integrated automation solutions can range between US$ 130 million and US$ 180 million. These integrated solutions also include systems for real-time control of equipment. In addition to high complexity, the semiconductor manufacturing process is also an asset intensive process. A variety of tools are used in semiconductor manufacturing to process wafers and a single tool can cost up to US$ 2 million [3]. Improvement of tool efficiency is therefore important in order to reduce cost for additional tools. Several performance metrics are considered in semiconductor manufacturing, of which throughput, cycle time, and on-time delivery are considered the most important ones [4]. The performance of most tools depends on their operation mode, further referred to as configuration, and the distribution of different products, further referred to as product mix. If the product mix is changing, it might M. Bubak et al. (Eds.): ICCS 2008, Part III, LNCS 5103, pp. 26–35, 2008. c Springer-Verlag Berlin Heidelberg 2008
Symbiotic Simulation Control in Semiconductor Manufacturing
27
be necessary to reconfigure various tools in order to maintain performance targets. Decisions regarding this are currently made by engineers who estimate the required capacity for each product mix. Decisions are then implemented by workers who manually change the configuration of a tool. However, workers do not always strictly follow their instructions. This, and the fact that decision making relies mostly on the experience of engineers, causes the demand for an automated control solution. Simulations have already been used for offline analysis and optimisation of parameters in the manufacturing process. However, on-line solutions which use simulation for real-time control are still in their infancy. Symbiotic simulation, which is driven by sensor data and capable of making control decisions in realtime, seems to be a promising solution for automation and to improve equipment efficiency. In this paper, we show how a dynamic data driven application can be used for operational decision making regarding the configuration of a wet bench toolset (WBTS), which is used for one of the many critical operations in semiconductor manufacturing. We describe a symbiotic simulation control system (SSCS ) which is based on a generic framework for symbiotic simulation being developed by us. The application of symbiotic simulation in semiconductor manufacturing also represents the first show-case for the generic framework. The need for such a generic symbiotic framework has been articulated in [5]. The paper is structured as follows: Before presenting our own solution, we give an overview of related work in Sect. 2. This is followed by an introduction to the SSCS and a brief overview of the generic framework in Sect. 3. A more detailed description of the WBTS is given in Sect. 4. We compare common practise with our approach of controlling the WBTS. Therefore, we explain both approaches in Sect. 5 before presenting our experimental results in Sect. 6. Our conclusions are given in Sect. 7.
2
Related Work
The term symbiotic simulation was coined at the Dagstuhl Seminar on Grand Challenges for Modeling and Simulation in 2002 [6]. Symbiotic simulation is closely related to dynamic data-driven application systems (DDDAS). While DDDAS emphasises the symbiotic relationship between an application and a measurement process, symbiotic simulation rather focuses on the symbiotic relationship between a simulation and a physical system. However, symbiotic simulation is also dynamic data-driven and may use sensor steering to improve the accuracy of simulations. Several applications which use symbiotic simulation have been developed since 2002. These include the application of symbiotic simulation for UAV path planning [7], social sciences [8],[9], and business process re-engineering [10]. In the context of semiconductor manufacturing, symbiotic simulation has already been used in [11] to optimise backend operations. Simulations have been used in several ways to improve the performance of a semiconductor manufacturing process. Efforts in this context mainly aim to improve the cycle time. For example, in [3] a two day reduction of total cycle
28
H. Aydt et al.
time could be achieved by investigating a real wafer factory based on simulations. Other work which is concerned with improving cycle times can be found in [12],[13],[14]. Wet bench tools have been the subject of various works. Lee et al. [15] examine the scheduling problem of a wet station for wafer cleaning using Petri net modelling and Gan et al. [16] evaluate the effect of upgrading a bottleneck furnace to the wet bench performance with increasing wafer demand.
3
Symbiotic Simulation Control System (SSCS)
An SSCS is a specific class of symbiotic simulation system. It makes decisions based on the simulation and evaluation of what-if scenarios, each representing an alternative decision, and implements them by means of actuators which are available to the system. A reactive what-if analysis aims to find immediate solutions to sudden, and potentially critical, conditions. For example, the performance of a manufacturing system is observed and a reactive what-if analysis is carried out once the performance drops below a predefined value, i.e., once the performance becomes critical. Various what-if scenarios, each representing alternative decision options (e.g., tool configurations), are simulated and analysed. The decision option of the scenario which performs best in simulation is implemented. The SSCS is realised using an implementation of our generic framework for symbiotic simulation systems. This framework is based on Jadex1 , a BDI agent system, and represents a library of functional components which are typically required in a symbiotic simulation system. For example, creating and simulating alternative what-if scenarios is an essential concept in symbiotic simulation. Each of these functionalities, among several others, is realised as functional component and provided by the framework. We use capabilities [17],[18] to implement the various functional components of the framework. The concept of capabilities is used in BDI agent systems to facilitate modularisation of functionality. Agents can be equipped with an arbitrary number of capabilities. This allows flexible design of application-specific symbiotic simulation systems. For example, the design of inherently distributed applications may involve several agents, of which each of them is equipped with only one capability. On the other hand, it is possible to design a symbiotic simulation system which is represented by a single agent only. In this case, the agent is equipped with all required capabilities. The use of capabilities also allows the design of tailor-made symbiotic simulation systems by using only those capabilities which are required in the context of the application. There are a number of distinct capabilities which are required to realise a symbiotic simulation system. The following description of the SSCS includes only those which are used in the context of the WBTS application. An overview of the WBTS-SSCS capabilities is illustrated in Fig. 1. The architecture of a symbiotic simulation system consists of three layers for perception, processing, and actuation. The perception layer is responsible for providing measured data to the processing layer where what-if analysis is carried 1
http://vsis-www.informatik.uni-hamburg.de/projects/jadex/
Symbiotic Simulation Control in Semiconductor Manufacturing
29
Fig. 1. Overview of various capabilities in the WTBS-SSCS
out. Once a decision is made, the actuation layer is responsible for implementing it. Each layer is associated with a number of specific capabilities. The workflow control capability WORC-C is the heart of the SSCS. It is responsible for interpreting performance measurements provided by sensor capability S-C1 , triggering the what-if analysis process if the performance becomes critical, and making control decisions regarding the configuration of wet bench tools. If a what-if analysis is triggered, the WORC-C requests a set of scenarios from the scenario management capability SCEM-C, invokes simulations using the simulation management capability SIMM-C, and interprets analysis results provided by the simulation analysis capability SIMA-C. Based on these results, the best decision option is determined by the WORC-C and implemented by using the decision management capability DECM-C. An SSCS can only implement decision options which are supported by actuators that are available to the SSCS. A decision model is used to reflect possible control options, depending on the available actuators and their abilities to control different aspects of the physical system. In the context of the WBTS application, the decision model reflects the possible operation modes for each wet bench tool. The DECM-C keeps track of available actuators and updates the decision model accordingly. When requested by the WORC-C, the SCEM-C creates a number of scenarios based on the decision model. Each scenario reflects a different decision option, i.e., a different wet bench configuration. A scenario also consists of an initial state for the simulation run. This initial state is the current state of the physical system, provided by S-C2 . The state of the system represents a snapshot of the WBTS including all wafer lots which are currently being processed. In addition to the decision option and the initial state, a scenario also consists of a given product mix which is used to drive the simulation. The current product mix is provided by S-C1 . Sensors, actuators, and simulators are inherently application specific. Therefore, the framework cannot provide generic solutions for their corresponding
30
H. Aydt et al.
capabilities. Instead, application specific implementations have to be provided by the application developer. The framework provides generic solutions for all other capabilities. However, this does not rule out the possibility of using application specific implementations instead of generic standard solutions.
4
Wet Bench Tool Set (WBTS)
In semiconductor manufacturing, a wet bench is used to clean wafers after certain fabrication steps to yield higher wafer reliability [15],[19]. A wet bench tool consists of a number of baths which contain chemical liquids and process wafer lots according to recipes. Typically, a wafer fab operates a number of wet benches with different bath setups to support a variety of recipes. A recipe specifies constraints regarding the sequence and timing for the cleaning process. Each lot is associated with a recipe and has to be processed strictly according to it. Neither the sequence of chemical liquids in which a lot is processed, nor the time each wafer spends in a particular chemical liquid must be changed. Violation of these requirements would lead to significantly reduced yield. Particles of contaminants are introduced into the baths during the cleaning process. Therefore, the chemical liquids have to be changed after a certain time. Some recipes introduce particles faster than others. We therefore distinguish between ‘dirty’ and ‘clean’ recipes [16]. In order not to compromise the quality of wafers associated with clean recipes, wafers associated with dirty recipes are processed by separate wet benches. Thus, a wet bench operates either in ‘clean’ mode or ‘dirty’ mode. By operation mode we mean that a wet bench is dedicated to either one of the two recipe types. Switching the operation mode from ‘clean’ to ‘dirty’ does not require any particular activity. However, switching from ‘dirty’ to ‘clean’ requires a complete change of liquids. This activity takes up to several hours [16].
5 5.1
Control Approaches Common Practise Approach
The common practise approach involves engineers who decide upon reconfiguration of wet bench tools. Decision making depends mostly on experience and is therefore difficult to capture. With information from the semiconductor industry we developed the following heuristic: 1) If the number of pending wafer lots exceeds 40, the critical recipe (the most frequent recipe) is determined. 2) In the next step, the set of wet benches is identified which is capable of processing the critical recipe but is not configured to do so yet. 3) One of the wet benches is selected and reconfigured accordingly. This is due to the fact that engineers tend to be careful and change only one wet bench at a time. 4) After changing the operation mode, the system is allowed some time to settle. 5) If, after the settling-in time, the situation did not improve the process is repeated.
Symbiotic Simulation Control in Semiconductor Manufacturing
31
We assume a settling-in time of one hour when the operation mode is switched from ‘clean’ to ‘dirty’ and four hours otherwise. The latter takes account for a three hour maintenance process where chemicals are changed. 5.2
SSCS Approach
Similar to the common practise approach, the WORC-C of the SSCS observes the number of pending wafer lots. If this number exceeds 40, a reactive whatif analysis is triggered. Each what-if scenario reflects the current state of the physical system with an alternative wet bench configuration. In this particular application, we use eight wet bench tools, of which each can operate either in ‘clean’ or ‘dirty’ mode. This results in a total of 256 different possible scenarios, created by the SCEM-C. The performance for the next 24 hours is simulated by the SIMM-C for each scenario. The SIMA-C analyses the simulation results and determines the average performance of each scenario in terms of throughput. The best configuration is determined by the WORC-C and implemented by the DECM-C. To implement a decision, the DECM-C sends corresponding control signals to the A-C, which is capable of changing the operation modes of wet benches in the physical system. Once a decision is implemented, the SSCS is inactive for a fixed settling-in period of four hours.
6
Experiments
For practical reasons, experiments were not performed with a real physical system. Instead, we used a simulation of the WBTS to emulate the physical system. The emulator was paced at a speed 3600 times faster than real-time. This enabled us to perform experiments, reflecting a period of several months, within a few hours. We also used a mechanism to create snapshots of the emulator at any time. Such a snapshot can then be used as initial state for the simulation of a what-if scenario. The simulation model is deterministic with the only exception being the lot generating process. This process generates arrival events of wafer lots with a distribution according to a given product mix. The SSCS has to consider this when performing a what-if analysis. Therefore, each what-if scenario is simulated using five replications. A whole what-if analysis step, including scenario creation, simulation, analysis, and decision propagation, takes approximately 50-60 seconds on a cluster with 60 processors. Each experiment was repeated ten times and the mean values over all results are presented here. All results show the performance of the WBTS in terms of cycle time. The cycle time is determined by the ratio of the overall time a wafer lot spent at the toolset to the processing time according to the associated recipe. The overall time includes the time a wafer lot has to wait before being processed.
32
H. Aydt et al.
6.1
Alternating Product Mixes
8
8
7
7
6
6 Cycle Time
Cycle Time
With the first experiment, we aim to show how well both approaches can maintain performance with an alternating product mix. We use two product mixes with a constant load of 900 lots per day. In this experiment, a period of 20 weeks is considered. Within this period, the product mix is changed every two weeks. We choose the product mixes so that there exists no configuration which is stable for both. This means, a configuration which is stable assuming one of the product mixes, is unstable when assuming the other product mix. An unstable configuration results in a throughput which is below the load. As a consequence, queues of pending lots will build up and an increasing cycle time can be observed. To avoid this, the wet bench configuration has to be changed eventually. Figure 2 illustrates the performance of the SSCS approach and the common practise approach.
5 4
5 4
3
3
2
2
1
1 0
2
4
6
8 10 12 Time (Weeks)
14
16
18
20
0
2
4
6
8 10 12 Time (Weeks)
14
16
18
20
Fig. 2. Cycle time of the WBTS over a period of 20 weeks using the SSCS (left) and the common practise approach (right)
In general, the SSCS approach produces a more homogeneous performance with less variability and lower mean cycle time (SSSCS = 0.30, X SSCS = 1.89) than the common practise approach (SCP = 0.76, X CP = 2.26). One major disadvantage of the common practise approach is the fact that it is a trial and error approach which changes only one tool configuration at a time. Therefore, it takes longer to find a stable configuration, if at all. On the contrary the SSCS is capable of finding a stable solution, if there is one, and making all necessary changes in one step. If no stable solution exists, the solution which performed best in simulations is applied. 6.2
High Workload
At increasing load, it is necessary to oscillate between configurations. This is due to the fact that only two of the eight wet benches used in this application have a bath setup which allows them to process a large variety of recipes. All other wet benches have setups which are limited to a smaller group of recipes. Therefore, these two wet benches represent a bottleneck at high loads. To overcome this, it is necessary to switch the configurations of these wet benches back and forth.
Symbiotic Simulation Control in Semiconductor Manufacturing
33
As a consequence, the performance is stabilised. However, above a certain load, the performance cannot be stabilised anymore. The second experiment aims to determine the critical load of both approaches. The SSCS approach, which is more sophisticated, is capable of stabilising the performance at higher loads than the common practise approach. Figure 3 and 4 illustrate the performance of both approaches over a period of one month with loads of 1000/1200 and 1500/1700 lots per day, respectively. 6
10 Common Practise Approach SSCS Approach
8 Cycle Time
Cycle Time
Common Practise Approach SSCS Approach
9
5 4 3
7 6 5 4 3
2
2 1
1 0
5
10
15
20
25
30
0
5
10
Time (Days)
15
20
25
30
Time (Days)
Fig. 3. Cycle time of the WBTS over a period of one month using a load of 1000 (left) and 1200 (right) lots per day
Both approaches are capable of handling a load of 1000 lots per day. At a load of 1200 lots per day, the performance becomes unstable when using the common practise approach, i.e., the cycle time is constantly increasing. In contrast, the SSCS is still capable of maintaining a stable mean cycle time. 100
100 Common Practise Approach SSCS Approach
Cycle Time
Cycle Time
Common Practise Approach SSCS Approach
10
1
10
1 0
5
10
15 Time (Days)
20
25
30
0
5
10
15
20
25
30
Time (Days)
Fig. 4. Cycle time of the WBTS over a period of one month using a load of 1500 (left) and 1700 (right) lots per day. A logarithmic scale was used for cycle time values.
The mean cycle time is elevated at a load of 1500 lots per day but the SSCS approach is still able to handle it. However, at a load of 1700 lots per day the performance finally becomes unstable. The critical load for the common practise approach and the SSCS approach is at approximately 1000-1200 and 1500-1700 lots per day, respectively. This indicates that the SSCS allows the use of loads which are 25-70% higher as compared to the common practise approach.
34
H. Aydt et al.
7
Conclusions
In this paper, we have described how a DDDAS, in particular symbiotic simulation, can be used for real-time control of semiconductor equipment and to improve performance. Our experimental results show that using the SSCS yields a notable performance improvement over common practise. This is important as higher efficiency reduces demand for additional equipment. Decision making is performed in reasonably short time. All this indicates the applicability of symbiotic simulation in the context of integrated automation solutions. In future work, we will investigate how an SSCS can be applied to an entire semiconductor factory. This will also include investigation of different forms of what-if analysis.
References 1. Potoradi, J., Boon, O., Fowler, J., Pfund, M., Mason, S.: Using simulation-based scheduling to maximize demand fulfillment in a semiconductor assembly facility. In: Proceedings of the Winter Simulation Conference, pp. 1857–1861 (2002) 2. Gan, B.P., Chan, L.P., Turner, S.J.: Interoperating simulations of automatic material handling systems and manufacturing processes. In: Proceedings of the Winter Simulation Conference, pp. 1129–1135 (2006) 3. Scholl, W., Domaschke, J.: Implementation of modeling and simulation in semiconductor wafer fabrication with time constraints between wet etch and furnace operations. In: IEEE Transactions on Semiconductor Manufacturing, August 2000, vol. 13, pp. 273–277 (2000) 4. Pfund, M.E., Mason, S.J., Fowler, J.W.: Semiconductor Manufacturing Scheduling and Dispatching. In: Handbook of Production Scheduling. International Series in Operations Research & Management Science, vol. 89, pp. 213–241. Springer, New York (2006) 5. Huang, S.Y., Cai, W., Turner, S., Hsu, W.J., Zhou, S., Low, M.Y.H., Fujimoto, R., Ayani, R.: A generic symbiotic simulation framework. In: Proceedings of the 20th Workshop on Principles of Advanced and Distributed Simulation, pp. 131–131 (2006) 6. Fujimoto, R., Lunceford, D., Page, E. (eds.): A.M.U.: Grand challenges for modeling and simulation: Dagstuhl report. Technical Report 350, Schloss Dagstuhl. Seminar No 02351 (August 2002) 7. Kamrani, F., Ayani, R.: Using on-line simulation for adaptive path planning of UAVs. In: Proceedings of the 11th IEEE International Symposium on Distributed Simulation and Real-time Applications, Chania, Greece, October 2007, pp. 167–174 (2007) 8. Kennedy, C., Theodoropoulos, G.K., Sorge, V., Ferrari, E., Lee, P., Skelcher, C.: AIMSS: An architecture for data driven simulations in the social sciences. In: Shi, Y., van Albada, G.D., Dongarra, J., Sloot, P.M.A. (eds.) ICCS 2007. LNCS, vol. 4487, pp. 1098–1105. Springer, Heidelberg (2007) 9. Kennedy, C., Theodoropoulos, G.K.: Intelligent management of data driven simulations to support model building in the social sciences. In: Alexandrov, V.N., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2006. LNCS, vol. 3993, pp. 562–569. Springer, Heidelberg (2006)
Symbiotic Simulation Control in Semiconductor Manufacturing
35
10. Low, M.Y.H., Turner, S.J., Ling, D., Peng, H.L., Chai, L.P., Lendermann, P., Buckley, S.: Symbiotic simulation for business process re-engineering in high-tech manufacturing and service networks. In: Proceedings of the Winter Simulation Conference (2007) 11. Low, M.Y.H., Lye, K.W., Lendermann, P., Turner, S.J., Chim, R.T.W., Leo, S.H.: An agent-based approach for managing symbiotic simulation of semiconductor assembly and test operation. In: Proceedings of the 4th International Joint Conference on Autonomous Agents and Multiagent Systems, pp. 85–92. ACM Press, New York (2005) 12. Rulkens, H., van Campen, E., van Herk, J., Rooda, J.: Batch size optimization of a furnace and pre-clean area by using dynamic simulations. In: Advanced Semiconductor Manufacturing Conference and Workshop (IEEE/SEMI), Boston, MA, USA, September 1998, pp. 439–444 (1998) 13. Potoradi, J., Winz, G., Kam, L.W.: Determining optimal lot-size for a semiconductor back-end factory. In: Proceedings of the Winter Simulation Conference, pp. 720–726 (1999) 14. Ak¸cali, E., Uzsoy, R., Hiscock, D.G., Moser, A.L., Teyner, T.J.: Alternative loading and dispatching policies for furnace operations in semiconductor manufacturing: a comparison by simulation. In: Proceedings of the Winter Simulation Conference, pp. 1428–1435 (2000) 15. Lee, T.E., Lee, H.Y., Lee, S.J.: Scheduling a wet station for wafer cleaning with multiple job flows and multiple wafer-handling robots. International Journal of Production Research 45, 487–507 (2007) 16. Gan, B.P., Lendermann, P., Quek, K.P.T., van der Heijden, B., Chin, C.C., Koh, C.Y.: Simulation analysis on the impact of furnace batch size increase in a deposition loop. In: Perrone, L.F., Lawson, B., Liu, J., Wieland, F.P. (eds.) Proceedings of the Winter Simulation Conference, pp. 1821–1828 (2006) 17. Busetta, P., Howden, N., R¨ onnquist, R., Hodgson, A.: Structuring BDI agents in functional clusters. In: Jennings, N.R. (ed.) ATAL 1999. LNCS, vol. 1757, pp. 277–289. Springer, Heidelberg (2000) 18. Braubach, L., Pokahr, A., Lamersdorf, W.: Extending the capability concept for flexible BDI agent modularization. In: Bordini, R.H., Dastani, M., Dix, J., Seghrouchni, A.E.F. (eds.) PROMAS 2005. LNCS (LNAI), vol. 3862, pp. 139–155. Springer, Heidelberg (2006) 19. Lu, J.K., Ko, F.H., Chu, T.C., Sun, Y.C., Wang, M.Y., Wang, T.K.: Evaluation of cleaning efficiency with a radioactive tracer and development of a microwave digestion method for semiconductor processes. Analytica Chimica Acta 407, 291– 300 (2000)
Applying a Dynamic Data Driven Genetic Algorithm to Improve Forest Fire Spread Prediction M´ onica Denham, Ana Cort´es, Tom`as Margalef, and Emilio Luque Departament d’ Arquitectura de Computadors i Sistemes Operatius, E.T.S.E., Universitat Aut` onoma de Barcelona, 08193 - Bellaterra (Barcelona) Spain
Abstract. This work represents the first step toward a DDDAS for Wildland Fire Prediction where our main efforts are oriented to take advantage of the computing power provided by High Performance Computing systems to, on the one hand, propose computational data driven steering strategies to overcome input data uncertainty and, on the other hand, to reduce the execution time of the whole prediction process in order to be reliable during real-time crisis. In particular, this work is focused on the description of a Dynamic Data Driven Genetic Algorithm used as steering strategy to automatic adjust certain input data values of forest fire simulators taking into account the underlying propagation model and the real fire behavior.
1
Introduction
Forest fires are one of the most important threats to forest areas in the whole world. In the lasts years, thousands of hectares were lost by wildfires action. Forest areas losses damage the nature, attempting on ecological balance. Death of different species of animals and plants, profitable areas loss, air pollution, floods, water contamination, are some of the consequences of forest fires. At the same time these problems cause different diseases, famine, animals and vegetables extinction, etc. These facts attempt our standard of living. Some forest fires occur by nature itself: long dry seasons, elevated temperatures, electric storms, could generate wildland fires. These type of fires can help in the ecological balance: young plants take place where there were old and perhaps unproductive trees. Nature keeps number of fires limited, but in the last years this number was increased by human factors. More than 90% of forest fires are provoked by human hand (accidents, carelessness and negligence) [6]: 16000 hectares were burned in Gran Canaria last summer (2007) during 6 days of strong fires [11]. In Tenerife 15000 hectares were burned at the same time [11]. More than 60 deaths were occurred during forest fire in Greek last July [12].
This work has been supported by the MEC-Spain under contracts TIN 2004-03388 and TIN 2007-64974.
M. Bubak et al. (Eds.): ICCS 2008, Part III, LNCS 5103, pp. 36–45, 2008. c Springer-Verlag Berlin Heidelberg 2008
Applying a Dynamic Data Driven Genetic Algorithm
37
Whereas the number of wildfires had increased in the last years, human work in this area had increased too: studies, strategies and tools to prevent forest fires as well as to reduce the fire during a disaster were developed these last years. Nowadays, several forest fires simulators exist for helping and improving this work. Most of these simulators are based on Rothermel mathematical model [6]. This model describes fire behavior through mathematical equations. Simulators are used to predict fire behavior, improving the accuracy of actions and reducing fire effects. Several of these simulators use a large number of inputs for describing the environment where fire occurs. It is very difficult to dispose of exact real-time values of these parameters. Several of them change with time: air and fuel humidity change along the day (day-night cycle), weather changes due to elevated temperatures provoked by fire, fires generate very strong gust of winds, etc. Furthermore lots of these parameters have their own behavior pattern and it can change very strongly within a wildland fire. This input data uncertainty causes predictions that are far from the real fire propagation. During a real hazard such as wildland fire both, the accuracy of the prediction propagation and the prediction response time are crucial key points. For this reason, we propose a fire propagation prediction system, which explores multiple fire propagation scenarios obtained from combining different values of the input parameters by dynamically adapting those scenarios according to observed real fire evolution. These characteristics directly match to the Dynamic Data Driven Application Systems (DDDAS) definition: DDDAS is a paradigm whereby application/simulations and measurements become a symbiotic feedback control system. DDDAS entails the ability to dynamically incorporate additional data into an executing application, and in reverse, the ability of an application to dynamically steer the measurement process [7]. An optimal framework for a reliable DDDAS for Wildland Fire Prediction must consider, among others, the following issues: the ability to dynamically couple models from different disciplines; real-time data assimilation strategies for being further injected into the running system; steering strategies for automatic adjusting either models or input data parameters and to have access to enough computational resources to be able to obtain the prediction results under strict real-time deadlines. Some current work on this area could be found in [10,2]. Our currently work consists on the first step toward a DDDAS for Wildland Fire Prediction where our main efforts are oriented to take advantage of the computing power provided by High Performance Computing systems, on the one hand, to propose computational data driven steering strategies to overcome input data uncertainty and, on the other hand, to reduce the execution time of the whole prediction process in order to be reliable during real-time crisis. In particular, this work is focused on the first working line. A Dynamic Data Driven Genetic Algorithm (GA) is used as steering strategy to automatic adjust certain input data values taking into account the underlying propagation model and the real fire behavior. This work is organized as follow. Next section describes the proposed dynamic data driven forest fire prediction methodology compared to the classical
38
M. Denham et al.
prediction scheme. Section 3 is focused to describe the Calibration stage of the proposed prediction methodology. The experimental results are shown in section 4 and, finally, the main conclusions are reported in section 5.
2
Forest Fire Spread Prediction
Traditionally, forest fire spread prediction has been performed using a particular forest fire simulator as a prediction tool. Forest fire simulators need to be fed with several input data such as the initial fire line (what we call RF t0 : Real Fire at time t0 ), meteorological data, vegetation data, etc. The simulator uses this input data to obtain the simulated fire line for a subsequent instant t1 (we will refer to as SF t1 : Simulated Fire at time t1 ). This classical forest fire prediction method is showed in Fig. 1 (a).
Fig. 1. (a) Classical Forest Fire Propagation Prediction method. (b) Two Stage Propagation Prediction method.
As we can see in this figure, the only information required for the classical prediction method consists of a unique set of values for the input parameters needed by the simulator. Once this input data has been set up, the simulator is executed providing, as part of its output data, the predicted fire line after a certain period of time. Despite of its simplicity, this method has an important drawback: simulation accuracy depends on the unique set of input values, and, as we had mentioned, to dispose their real values is very difficult. In order to overcome this drawback, we propose a wildfire propagation prediction methodology based on a two stages prediction scheme: Calibration stage and Prediction stage. The DDDAS bases are included in the Calibration stage where taking advantage of the computer power provided by High Performance Computing systems, a GA is used to explore a huge number of input parameters combinations (called scenarios). For this stage being operative, it is necessary to be able to assimilate data about the forest fire front at two consecutive time instants (t0 and t1 in Fig. 1(b)). Each one of the generated scenarios will be fed into the underlying wildland fire simulator, as well as the forest fire front at time t0 . The obtained propagation results will be compared to the real fire propagation at time t1 and the results
Applying a Dynamic Data Driven Genetic Algorithm
39
obtained from this comparison plus the observed real fire propagation at time t1 will be used as feedback information at the Calibration stage. By summarizing, we propose to use a Dynamic Data Driven GA as steering strategy within the calibration stage whose internal operations will be dynamically changed according to the data periodically assimilated from the real fire behavior. As a result of this Dynamic Data Driven Calibration stage, we will obtain a set of input data that minimizes the propagation prediction error from t0 to t1 . Assuming that the environmental characteristics will keep nearly constant during a certain time (from t1 to t2 ), this set of input data will be used in a classical prediction scheme to predict fire spread at t2 (see Fig. 1(b)). In the following section Calibration stage will be described.
3
Calibration Stage
GAs are inspired in the evolutionary theory: a population of individuals (scenarios) is evolved by allowing good individual features to survive through out generations. Therefore, the Calibration stage consists of an iterative process where, at each iteration a new generation is obtained taking into account the goodness of the involved scenarios (similarity degree between simulation and real maps). Consequently, to be able to properly set up the whole Calibration stage we need, on the one hand, to determine the data that must be assimilated from the observed fire propagation for being posteriorly injected in the calibration process. And, on the other hand, the particular implementation of the dynamic data driven GA. The following sections will focus on these topics. 3.1
Fire Spread Model
Several studies have demonstrated that the parameters that most affect forest fire propagation are wind speed, wind direction and slope characteristics. There exist other factors that also influence forest fire spread such as fuel moisture, fuel type and so on, however, it has been shown that the fire rate of spread is less sensitive to these parameters [1]. Therefore, the proposed fire propagation prediction methodology shown in Fig. 1(b) uses this principle to determine what data to assimilate from the observed real fire behavior. According to this fact, we applied reverse engineering to the underlying wildland fire simulator to analytically determine how wind speed, wind direction and slope interact to generate fire propagation. In this work, we use the fire simulator fireLib [5]. Fig. 2 shows in a simplified way, how wind and slope are composed to obtain the direction of the maximum propagation spread, being Φw the wind effect, Φs the slope effect and α the difference between wind and slope directions (Fig. 2 (a)). Both vectors are composed to obtain a third vector, which represents the maximum propagation ratio and its direction (max and β in Fig. 2 (b)). This new vector has a component perpendicular to the slope equal to sin(α) ∗ φw , and a component parallel to the slope equal to cos(α) ∗ φw + φs , and the angle β is the angle between these two vectors.
40
M. Denham et al.
Fig. 2. (a) Wind and slope effect vectors. (b) Composition of spread vector.
Although the scheme shown in Fig. 2 models in a simplify way how firelib proceeds to determine fire spread rate, we can conclude that identifying two of the three vectors involved in the process, we have the key to obtain the third one. Therefore, in the next section, we will discuss how from the analysis of the observed fire behavior we assimilate the needed data to identify each one of these three vectors. Finally, in a later section, we will discuss how this information is injected in the steering strategy. 3.2
Data Assimilation
Taking into account slope and wind interactions and their role in fire behavior, we need slope features and real fire progress to obtain the main wind characteristics for performing steering method through Calibration stage. The information related to the slope could easily being obtained from the topography terrain description. Real fire progress is obtained by the analysis of real fire front progress (RF t1 in Fig. 1 (b)), where point (x, y) in Fig. 3 is calculated and it represents the maximum rate of spread point in the map. Applying ”reverse engineering” to the fire spread model commented in the previous section, and using trigonometry, we can obtain the following equations: x = Φs ∗ cos(δ) + Φw cos(α)
y = Φs ∗ sin(δ) + Φw sin(α)
(1)
Then, as x and y values are observed values, it is possible to isolate the wind values from equation 1 as follows: Φw =
x − Φw cos(δ) cos(α)
α = arctan(
y − Φs sin(δ) ) x − Φs cos(δ)
(2)
Once wind factor (Φw ) is obtained, the ”ideal” values for the wind speed and wind direction for the observed x, y point could be deduced. This data will be injected as feedback information inside the dynamic data driven GA to guide the operations applied to a given generation. It should be recalled that all figures and diagrams are simplified. We are dealing with physics phenomena (fire, wind, slope), where each of them has its own behavior and, in addition, there are physics interactions between them.
Applying a Dynamic Data Driven Genetic Algorithm
41
Fig. 3. Available data: slope and point of maximum rate of spread (a) and, the obtained wind vector (b)
3.3
Dynamic Data Driven Genetic Algorithm
The fireLib simulator has basically the following input parameters: terrain slope (direction and inclination), wind speed and wind direction, moisture content of the live fuel, moisture content of the dead fuel (at three different times), kind of vegetation (one of the 13 defined through [3]). Slope and vegetation type change very few in space and time so we assume them as static parameters. Moreover, their values are easy to determine, so we assume them as known and available for our use. Therefore, GA is going to work with the remainder parameters: wind direction and wind speed, moisture content of live fuel and the three moisture content of dead fuel. Basically, a GA uses three operations to obtain the consecutive generations: selection, crossover and mutation. Selection operation selects good quality parents (fitness function) to create children that will inherit parents good characteristics (by crossover operation). In order to guarantee nature diversity of individual characteristics, mutation phenomenon can occur for each children characteristic (under a very slight probability). Selection can include elitism where the best j individuals (j > 0) are included in the new generation directly. Last two operations intent to guarantee nature diversity of individual characteristics. In the previous section we had exposed how wind values are obtained in order to steer GA: we modify elitism and mutation operations forcing the assignment of these wind values instead of random values. The main goal of this data changes is to give a correct direction to the GA process, achieving the exploration of promising zones of the whole search space. We try to minimize simulation errors, avoiding the use of individuals with inaccuracy wind values. In our application, after each simulation (using a particular individual), ideal wind values are calculated and stored together with this individual. After obtaining all the simulations using a certain population, and genetic operations take place (elitism or mutation), the obtained values are assigned to the wind velocity and direction of each individual.
42
4
M. Denham et al.
Experimental Results
The experimentation main goal is to evaluate the benefit of applying a dynamic data driven GA for fire spread prediction purposes. In particular, the assimilated data will be injected into the mutation and elitism operations independently and compared to applying the prediction methodology without considering any external data. For this purpose, two kind of burns have been used: two synthetic fires (simulation results) and one real prescribe fire. Fig. 4 shows the fire front evolution through time for the three experiments. In all cases, we use the best individual (with minimum error) of calibration stage to obtain the final prediction (at prediction stage).
Fig. 4. (a) Experiment 1: synthetic fire case. (b) Experiment 2: synthetic fire case. (c) Experiment 3: real fire case.
All cases had used as initial population a set of 50 individuals with random values. Through GA, 5 iterations are performed (error reductions are insignificant from 3rd or 4th iteration [8]). Experiment results are the average of 5 different initial populations (in order to achieve more descriptive results). 4.1
Experiment 1: Synthetic Case
Experiment 1 concerns with the map depicted in Fig. 4(a) (109 x 89 m2 and cells of 1 m2 ). The terrain had 18o slope and vegetation was fuel model 7 [3]. Figs. 5 (a) and (b) show Calibration and Prediction stages results respectively. In x axis different time intervals are shown and each vertical bar represents one of the three different methods tested: classical GA (non guided), dynamic data driven elitism operation and dynamic data driven mutation. For both stages (Calibration and Prediction), we can observe that the error has been significantly reduced when any of the two data driven methods have been used. Furthermore, both strategies provide very similar results. Prediction stage results shows errors slightly higher than in Calibration stage, however this is an expected result because we are using the best individual obtained at the Calibration stage to obtain the prediction for a later time interval at the Prediction stage.
Applying a Dynamic Data Driven Genetic Algorithm
43
Fig. 5. Experiment 1: (a) Calibration stage results, (b) Prediction stage results
4.2
Experiment 2: Synthetic Case
Another synthetic map was used to carry out the second test (concerning with map illustrated in Fig. 4 (b): 33,22 x 27,12m2 size map and cells of 1 f 2 ). In this case, we consider 27o slope and vegetation is the same than the first burning case. The error values obtained for this experiment are shown in Fig. 6. This experiment denotes a similar behavior as the first one. As it happens in the previous experiment, applying any dynamic data driven strategy reduces the calibration error as well as the prediction error. 4.3
Experiment 3: Real Case
The last experiment concerns with Fig. 4(c) (89 x 109m2 map size and cells size were 1 m2 ). This burn has been extracted from a set of prescribe burns performed in the frame of an European project called SPREAD. In particular, these burns were done in Gestosa (Portugal) during 2004 [6]. Fig. 7(a) and 7(b) show the calibration and prediction stages results respectively. The 2 first time terms in Calibration stage we can see that results were similar through all methods, there weren’t significant differences between different configurations. But in the 3 last steps, different methods had varied in a significant way. Each method had been adapted to fire features in a different way. For Prediction stage, we can see that in general, all the errors are bigger than observed errors in synthetic fires. Again, the behavior of different methods were different for each slice of time. We can see that errors from experiment 3 were larger if we compare them with previous experiment errors. This characteristic may be explained considering real fire map features: instead of each step lasts the same amount of time (2 minutes), fire propagation was different in each step. This changing fire behavior may be due to wind or slope or other nature characteristics influences, because of their dynamic behavior. It is important to take into account that the microsystem generated by fires may enlarge the changing characteristics of wind, weather, etc.
44
M. Denham et al.
Fig. 6. Experiment 2: (a) Calibration stage results, (b) Prediction stage results
Fig. 7. Experiment 3: (a) Calibration stage results, (b) Prediction stage results
Instead of actual dynamic characteristics of nature, fireLib considers slope, wind, fuel type invariant in time [5]. This is an important simulator limit, because it can’t adjust its fire advance in favor of actual dynamic behavior of its inputs.
5
Conclusions
This work is focused to improve forest fire spread prediction by using a dynamic data driven GA. For that purpose, certain internal operations of the GA are dynamically adapted according to the observed fire evolution and the underlying fire spread model. In this work we present three cases of study, two synthetic fires and one real prescribe fire. The obtained results show that the inclusion of the principle of the dynamic data driven systems in the calibration stage improves the quality of the propagation predictions. In particular, we propose two alternative data driven GAs and the results obtained in both cases reduce the prediction error compared to not using any dynamic data driven strategy.
Applying a Dynamic Data Driven Genetic Algorithm
45
However, we know that this method is strongly coupled to the underlying simulator, therefore, we are currently working in generalize the main idea of the proposed methodology to be completely independent on the underlying fire forest simulator.
References 1. Abdalhaq, B.: A methodology to enhance the Prediction of Forest Fire Propagation. Ph. D Thesis. Universitat Aut` onoma de Barcelona (Spain) (June 2004) 2. Allen, G.: Building a Dynamic Data Driven Application System for Hurricane Forescasting. In: Shi, Y., van Albada, G.D., Dongarra, J., Sloot, P.M.A. (eds.) ICCS 2007. LNCS, vol. 4487, pp. 1034–1041. Springer, Heidelberg (2007) 3. Anderson, H.E.: Aids to Determining Fuel Models For Estimating Fire Behaviour Intermountain Forest and Range Experiment Station Ogden, UT 84401. General Technical Report INT.122 (April 2002) 4. Andrews, P.L.: BEHAVE: Fire Behavior prediction and modeling systems - Burn subsystem, part 1. General Technical Report INT-194. Odgen, UT, US Department of Agriculture, Forest Service, Intermountain Research Station, p. 130 (1986) 5. Bevins, C.D.: FireLib User Manual & Technical Reference (1996) (accesed January 2006), http://www.fire.org 6. Bianchini, G.: Wildland Fire Prediction based on Statistical Analysis of Multiple Solutions. Ph. D Thesis. Universitat Aut` onoma de Barcelona (Spain) (July 2006) 7. Dynamic Data Driven Application Systems homepage (November 2007), http://www.dddas.org 8. Denham, M.: Predicci´ on de Incendios Forestales Basada en Algoritmos Evolutivos Guiados por los Datos, MsC thesis. Universitat Aut` onoma de Barcelona (Spain) (July 2007) 9. FIRE.ORG - Public Domain Software for the Wildland fire Community (acceded May 2007), http://www.fire.org 10. Mandel, J., et al.: A Dynamic Data Driven Wildland Fire Model. In: Shi, Y., van Albada, G.D., Dongarra, J., Sloot, P.M.A. (eds.) ICCS 2007. LNCS, vol. 4487, pp. 1042–1049. Springer, Heidelberg (2007) 11. Canarias 7 (accessed October 2007), http://www.canarias7.es 12. El Pa´ıs (accessed October 2007), http://www.elpais.com
Real-Time Data Driven Wildland Fire Modeling Jonathan D. Beezley1,2 , Soham Chakraborty3, Janice L. Coen2 , Craig C. Douglas3,5 , Jan Mandel1,2 , Anthony Vodacek4 , and Zhen Wang4 1
2
University of Colorado Denver, Denver, CO 80217-3364, USA {jon.beezley.math,jan.mandel}@gmail.com National Center for Atmospheric Research, Boulder, CO 80307-3000, USA
[email protected] 3 University of Kentucky, Lexington, KY 40506-0045, USA {sohaminator,craig.c.douglas}@gmail.com 4 Rochester Institute of Technology, Rochester, NY 14623-5603, USA {vodacek,zxw7546}@cis.rit.edu 5 Yale University, New Haven, CT 06520-8285, USA
Abstract. We are developing a wildland fire model based on semiempirical relations that estimate the rate of spread of a surface fire and post-frontal heat release, coupled with WRF, the Weather Research and Forecasting atmospheric model. A level set method identifies the fire front. Data are assimilated using both amplitude and position corrections using a morphing ensemble Kalman filter. We will use thermal images of a fire for observations that will be compared to synthetic image based on the model state. Keywords: Dynamic data driven application systems, data assimilation, wildland fire modeling, remote sensing, ensemble Kalman filter, image registration, morphing, level set methods, Weather Research and Forecasting model, WRF.
1
Introduction
We describe the current state of a new dynamic data-driven wildland fire simulation based on real-time sensor monitoring. The model will be driven by real-time data from airborne imagery and ground sensors. It will be run on remote supercomputers or clusters. An earlier summary of this project is in [1], where we have used a regularization approach in an ensemble Kalman filter (EnKF) for wildfires with a fire model by reaction-diffusion-convection partial differential equations [2,3]. Level set methods were applied to empirical fire spread also in [4], without a coupling with the atmosphere or data assimilation. The Morphing EnKF [5] is related to data assimilation by alignment [6].
2
Coupled Fire-Atmosphere Model
The work reported in this section was done in [7], where more details can be found. Our code implements in a simplified numerical framework the mathematical ideas M. Bubak et al. (Eds.): ICCS 2008, Part III, LNCS 5103, pp. 46–53, 2008. c Springer-Verlag Berlin Heidelberg 2008
Real-Time Data Driven Wildland Fire Modeling
47
in [8]. Instead of tracking the fire by a custom ad hoc tracer code, it is now represented using a level set method [9]. Also, the fire model is now coupled with WRF, a community supported numerical weather prediction code. This adds capabilities to the codes used in previous work such as the theoretical experiments of [8] and the reanalysis of a real fire in [10]. We use features of WRF’s design to get a natural parallelization of the fire treatment and its support for data assimilation.
Fig. 1. Coupled fire-atmosphere simulation. Fire propagates from two line ignitions and one circle ignition, which are in the process of merging. The arrows are horizontal wind at ground level. False color is fire heat flux. The fire front on the right has irregular shape and is slowed down because of air being pulled up by the heat created by the fire. This kind of fire behavior cannot be modeled by empirical spread models alone.
We use a semi-empirical fire propagation model to represent a fire spreading on → the surface [8,11] . Given the wind speed − v , terrain height z, and fuel coefficients R0 , a, b, and d, determined from laboratory experiments, the model postulates that the fireline evolves with the spread rate S in the normal direction to the → fireline − n given by b → → → S = R + a (− v ·− n ) + d∇z · − n. (1) 0
48
J.D. Beezley et al.
We further limit the spread rate to satisfy 0 ≤ S ≤ Smax , where Smax depends on the fuel. Based on laboratory experiments, the model further assumes that after ignition the fuel amount decreases as an exponential function of time with the characteristic time scale depending on the fuel type, e.g., rapid mass loss in grass and slow mass loss in larger fuel particles (e.g., downed branches). The model delivers the sensible and the latent heat fluxes (temperature and water vapor) from the fire to the atmosphere. The heat fluxes are taken to be proportional to the amount of fuel burned, again with the coefficients determined from laboratory experiments. We use a level set method for the fire propagation. The burning area at time t is represented by the level set {(x, y) : ψ (x, y, t) < 0}, where ψ is called the level set function. The fireline at time t is the level set {(x, y) : ψ (x, y, t) = 0}. The level set function is initialized as the signed distance from the fireline. The level set function satisfies the differential equation [9] ∂ψ + S ∇ψ = 0 ∂t
(2)
which is solved numerically by the Runge-Kutta method or order two, ψn+1 = ψn + Δt [F (ψn ) + F (ψn + ΔtF (ψn ))] /2
(3)
with F (ψ) ≈ −S ∇ψ, using an approximation of ∇ψ from upwinded approximation of ∇ψ by Godunov’s method [9, p. 58]: each partial derivative is approximated by the left difference if both the left and the central differences are nonnegative, by the right difference if both the right and the central differences are nonpositive, and taken as zero otherwise. It is advantageous that the propa→ gation speed S is defined by (1) with − n = ∇ψ/ ∇ψ on the whole domain, not just on the fireline, so it can be used directly in the differential equation (2). We use (3) for its better conservation properties, not its accuracy. The explicit Euler method, the obvious first choice, systematically overestimates ψ and thus slows down fire propagation or even stops it altogether while (3) behaves reasonably well. The fire model is two-way coupled with the atmospheric model, using the horizontal wind velocity components to calculate the fire’s heat fluxes, which in turn alter atmospheric conditions such as winds. WRF meshes can be refined only horizontally; only the finest atmospheric mesh interfaces with the fire. In our experiments to date, we have used time step 0.5s with the 60m finest atmospheric mesh step and 6m fire mesh step, which satisfied the CFL stability conditions in the fire and in the atmosphere. Because WRF does not support flux boundary conditions, the heat flux from the fire model cannot be applied directly as a boundary condition on the derivatives of the corresponding physical field (e.g., air temperature or water vapor contents). Instead, we insert the flux by modifying the temperature and water vapor concentration over a depth of many cells with exponential decay away from the boundary.
Real-Time Data Driven Wildland Fire Modeling
49
Observation function
Synthetic data
… CPUn
Fire atmosphere model
State
CPU1
State
Ensemble member 1
… Advancing the ensemble in time
Observation function
Synthetic data
… CPUm
Fire atmosphere model
State
CPUk
State
Ensemble member N
Data assimilation
Morphing ensemble Kalman filter
Parallel linear algebra
Real data pool
Fig. 2. Parallel implementation of one assimilation cycle. Each ensemble is advanced in time. Using a subset of processors, the observation function is evaluated independently for each ensemble member. The morphing EnKF runs on all processors and adjusts the member states by comparing the synthetic data with real data and balances the uncertainty in the data (given as an error bound) with the uncertainty in the simulation (computed from the spread of the whole ensemble). Currently, the ensemble of model states are kept in disk files. The observation function uses the disk files and delivers synthetic data back to disk files. The EnKF uses the synthetic and real data and modifies the files with the ensemble states. The model, observation function, and EnKF are separate executables.
3
Data Assimilation
Our coding design is based on Fig. 2. Data assimilation is done using an EnKF [12]. We can use data from airborne/space images and land-based sensors, though work remains on making all the data available when needed. In the rest of this section we describe how to treat various kinds of data, how synthetic image data for the fire can be obtained from the system state, and how the model states are adjusted by in response to the data. Our efforts so far have been to get data from a variety of sources (e.g., weather stations, aerial images, etc.) and to compare it [13] to data from the fire-atmosphere code [8]. The observation function routines receives a state vector that is modified and returned. The state is transferred using disk files, which is slow and must be replaced with a faster mechanism. Individual subvectors corresponding to the most common variables are extracted or replaced in the files. A software layer hides both the fire code and the data transfer method so that the code is not dependent on any particular fire-atmosphere code. Consider an example of a weather station that reports the location, time, temperature, wind velocity, and humidity. The atmosphere code has multiple nested grids. For a given grid, we have to determine in which cell the weather station is located, which is done using linear interpolation of the location. The data is is
50
J.D. Beezley et al.
determined at relevant grid points using biquadratic interpolation. We compare the computed results with the weather station data and then determine if a fireline is in the cell (or neighboring ones) with the weather station temperature to see if there really is a fire in the cell. In the future, this will be replaced by synthetic data created from the model state, as in Fig. 2. The model state can be used to produce an image like one from an infrared camera, which can be compared to the actual data in the data assimilation. This process is known as synthetic scene generation [14] and depends on the propagation model, parameters such as velocity of the fire movement, as well as its output (the heat flux), and the input (the wind speed). We estimate the 3D flame structure using the parameters from the model, which provides an effective geometry for simulating radiance from the fire scene. Given the 3D flame structure, we assume we can adequately estimate the infrared scene radiance by including three aspects of radiated energy. These are radiation from the hot ground under the fire front and the cooling of the ground after the fire front passes, which accounts for the heating and cooling of the 2D surface, the direct radiation to the sensor from the 3D flame, which accounts for the intense radiation from the flame itself, and the radiation from the 3D flame that is reflected from the nearby ground. This reflected radiation is most important in the near and mid-wave infrared spectrum. Reflected long-wave radiation is much less important because of the high emissivity (low reflectivity) of burn scar in the long-wave infrared portion of the spectrum [15]. A double exponential is used to estimate the 2D fire front and cooling. We use time constants of 75 seconds and 250 seconds and the peak temperature at the fire front is constrained to be 1075K. The position of the fire front is determined from the propagation model described in the previous section. The 3D flame structure is estimated by using the heat release rate and experimental estimates of flame width and length and the flame is tilted based on wind speed. This 3D structure is represented by a 3D grid of voxels. We use the ray tracing code Digital Imaging and Remote Sensing Image Generation Model (DIRSIG), which is a first principles based synthetic image
(a)
(b)
(c)
Fig. 3. Synthetic infrared nighttime radiance scenes of a simulated grassfire. The scenes are rendered as they would be viewed by a multiwavelength camera system on an aircraft flying 3000 m above ground. (a) Shortwave infrared (0.9-1.8 μm). (b) Midwave infrared (3.0-5.0 μm). (c) Longwave infrared (8.0-11.0 μm). Reproduced from [14].
Real-Time Data Driven Wildland Fire Modeling
51
generation model developed by the Digital Imaging and Remote Sensing Laboratory at RIT [16,17]. The 2D ground temperatures and the 3D voxels representing the flame are inputs to DIRSIG, which determines the radiance from those sources as they would be viewed by an airborne remote sensing system. The model can produce multi- or hyper-spectral imagery from the visible through the thermal infrared region of the electromagnetic spectrum. The radiance calculation includes radiance reflected from the ground and the effects of the atmosphere. We validated the resulting synthetic radiance image (Fig. 3) by calculating the fire radiated energy and comparing those results to published values derived from satellite remote sensing data of wildland fires [18]. We are continuing to work on synthetic image generation with the goal of replacing the computationally intensive and accurate ray tracing method with a simpler method of calculating the fire radiance based upon the radiance estimations that are inherent in the fire propagation model. The rest of this section follows [7] and describes a morphing EnKF. The model state consists of the level set function ψ and the ignition time ti . Both are given as arrays of values associated with grid nodes. Unlike the tracers in [8], our grid arrays can be modified by data assimilation methods with ease. Data assimilation [19] maintains an approximation of the probability distribution of the state. In each analysis cycle, the probability distribution of the state is advanced in time and then updated from the data likelihood using Bayes theorem. EnKF represents the probability distribution of the state by an ensemble of states and it uses the model only as a black box without any additional coding required. After advancing the ensemble in time, the EnKF replaces the ensemble by its linear combinations with the coefficients obtained by solving a least squares problem to balance the change in the state and the difference from the data. However, the EnKF applied directly to the model fields does not work well when the data indicates that a fire is in a different location than what is in the state. This is due to the combination of such data having infinitesimally small likelihood and the span of the ensemble does actually contain a state consistent with the data. Therefore, we adjust the simulation state by changing the position of the fire, rather than just an additive correction alone, using the techniques of registration and morphing from image processing. Essentially, we replace the linear combinations of states in the EnKF by intermediate states obtained by morphing, which leads to the morphing EnKF method [5]. Given two functions u0 and u representing the same physical field (e.g., the temperature or the level set function) from two states of the coupled model, registration can be described as finding a mapping T of the spatial domain so that u ≈ u0 ◦ (I + T ), where ◦ denotes the composition of mappings and I is the identity mapping. The field u and the mapping T are given by their values on a grid. To find the registration mapping T automatically, we solve approximately an optimization problem of the form u − u0 ◦ (I + T ) + T + ∇T → min .
52
J.D. Beezley et al.
(a)
(b)
(c)
(d)
Fig. 4. The morphing EnKF applied to the fireline propagation model coupled with WRF. False color and contour on the horizontal plane is the fire heat flux. The volume shading is the vorticity of the atmosphere. The reference solution (a) is the simulated data. The initial ensemble was created by a random perturbation of the comparison solution (b) with the fire ignited at an intentionally incorrect location. The standard ENKF (c) and the morphing EnKF (d) were applied after 15 minutes. The ensembles have 25 members each with the heat fluxes shown superimposed. The standard EnKF ensembles diverges from the data while the morphing EnKF ensemble keeps closer to the data. Reproduced from [7].
We then construct intermediate functions uλ between u0 and u1 using [5]. For −1 r = u ◦ (I + T ) − u0 , we have uλ = (u + λr) ◦ (I + λT ) ,
0 ≤ λ ≤ 1.
(4)
The morphing EnKF works by transforming the ensemble member into extended states of the form [r, T ], which are input into the EnKF. The result is then converted back using (4). Fig. 4 contains an illustrative result. Acknowledgements. This work was supported by the National Science Foundation under grants CNS-0325314, CNS-0324910, CNS-0324989, CNS-0324876, CNS-0540178, CNS-0719641, CNS-0719626, CNS-0720454, DMS-0623983, EIA0219627, and OISE-0405349.
Real-Time Data Driven Wildland Fire Modeling
53
References 1. Mandel, J., Beezley, J.D., Bennethum, L.S., Chakraborty, S., Coen, J.L., Douglas, C.C., Hatcher, J., Kim, M., Vodacek, A.: A dynamic data driven wildland fire model. In: Shi, Y., van Albada, G.D., Dongarra, J., Sloot, P.M.A. (eds.) ICCS 2007. LNCS, vol. 4487, pp. 1042–1049. Springer, Heidelberg (2007) 2. Johns, C.J., Mandel, J.: A two-stage ensemble Kalman filter for smooth data assimilation. Environ. Ecological Stat. 15, 101–110 (2008) 3. Mandel, J., Bennethum, L.S., Beezley, J.D., Coen, J.L., Douglas, C.C., Franca, L.P., Kim, M., Vodacek, A.: A wildfire model with data assimilation, arXiv:0709.0086 (2006) 4. Mallet, V., Keyes, D.E., Fendell, F.E.: Modeling wildland fire propagation with level set methodsm arXiv:0710.2694 (2007) 5. Beezley, J.D., Mandel, J.: Morphing ensemble Kalman filters. Tellus 60A, 131–140 (2008) 6. Ravela, S., Emanuel, K.A., McLaughlin, D.: Data assimilation by field alignment. Physica D 230, 127–145 (2007) 7. Mandel, J., Beezley, J.D., Coen, J.L., Kim, M.: Data assimilation for wildland fires: Ensemble Kalman filters in coupled atmosphere-surface models, arXiv:0712.3965 (2007) 8. Clark, T.L., Coen, J., Latham, D.: Description of a coupled atmosphere-fire model. Int. J. Wildland Fire 13, 49–64 (2004) 9. Osher, S., Fedkiw, R.: Level set methods and dynamic implicit surfaces. Springer, New York (2003) 10. Coen, J.L.: Simulation of the Big Elk Fire using coupled atmosphere-fire modeling. Int. J. Wildland Fire 14, 49–59 (2005) 11. Rothermel, R.C.: A mathematical model for predicting fire spread in wildland fires. USDA Forest Service Research Paper INT-115 (1972) 12. Evensen, G.: The ensemble Kalman filter: Theoretical formulation and practical implementation. Ocean Dynamics 53, 343–367 (2003) 13. Chakraborty, S.: Data assimilation and visualization for ensemble wildland fire models. Master’s thesis, University of Kentucky, Department of Computer Science, Lexington, KY (2008) 14. Wang, Z.: Modeling Wildland Fire Radiance in Synthetic Remote Sensing Scenes. PhD thesis, Rochester Institute of Technology, Center for Imaging Science (2008) 15. Kremens, R., Faulring, J., Hardy, C.C.: Measurement of the time-temperature and emissivity history of the burn scar for remote sensing applications. In: Paper J1G.5, Proceedings of the 2nd Fire Ecology Congress, Orlando FL, American Meteorological Society (2003) 16. Digital Imaging and Remote Sensing Laboratory: DIRSIG users manual. Rochester Institute of Technology (2006), http://www.dirsig.org/docs/manual-2006-11.pdf 17. Schott, J., Brown, S.D., Raque˜ no, R.V., Gross, H.N., Robinson, G.: An advanced synthetic image generation model and its application to multi/hyperspectral algorithm development. Canadian J. Remote Sensing 25, 99–111 (1999) 18. Wooster, M.J., Zhukov, B., Oertel, D.: Fire radiative energy for quantitative study of biomass burning: derivation from the BIRD experimental satellite and comparison to MODIS fire products. Remote Sensing Environ. 86, 83–107 (2003) 19. Kalnay, E.: Atmospheric Modeling, Data Assimilation and Predictability. Cambridge University Press, Cambridge (2003)
DDDAS Predictions for Water Spills Craig C. Douglas1,4 , Paul Dostert2 , Yalchin Efendiev3 , Richard E. Ewing3 , Deng Li1 , and Robert A. Lodder1 1
3
University of Kentucky, Lexington, KY 40506-0046 2 University of Arizona, Tucson, AZ 85721-0089 Texas A & M University, College Station, TX 77843-3368 4 Yale University, New Haven, CT 06520-8285, USA
[email protected]
Abstract. Time based observations are the linchpin of improving predictions in any dynamic data driven application systems. Our predictions are based on solutions to differential equation models with unknown initial conditions and source terms. In this paper we want to simulate a waste spill by a water body, such as near an aquifer or in a river or bay. We employ sensors that can determine the contaminant spill location, where it is at a given time, and where it will go. We estimate initial conditions and source terms using better and new techniques, which improves predictions for a variety of data-driven models.
1
Introduction
In this paper, our goal is to predict contaminant transport, where the contamination is, where the contaminant is going to go, and to monitor the environmental impact of the spill for contaminants in near coastal areas. Sensors measure the contaminant concentration at certain locations. Here, we discuss the quality of the predictions when the initial conditions and the source terms are updated as data is injected. From a modeling viewpoint, one of the objectives in dynamic data driven application systems (DDDAS) is to improve the predictions as new data is obtained [1]. Data represents the information at different length scales and the precision can vary enormously. Numerous issues are involved in DDDAS, many of which are described in [2,3,4,5,6]. We investigate contaminant transport driven by convection and diffusion. When new sensor based data is obtained, the initial conditions and source terms are updated. The initial conditions are constructed in a finite dimensional space. Measurements often contain errors and uncertainties. We have studied elsewhere approaches where these uncertainties can be taken into account. The first set of measurements allows recovery of an approximation to the initial conditions. An objective function is used to update initial data in the simulation. The mesh of sensor locations is quite coarse in comparison to the solution’s mesh, leading to an ill-posed problem. Prior information about the initial data lets us regularize the problem and then update the initial conditions. We use a penalty M. Bubak et al. (Eds.): ICCS 2008, Part III, LNCS 5103, pp. 54–63, 2008. c Springer-Verlag Berlin Heidelberg 2008
DDDAS Predictions for Water Spills
55
method whose constants depend on time and can be associated with the relative errors in the sensor measurements. We also update the source terms, which is quite important when there is still a source of the contamination present in the ongoing measurements. We construct an objective functional that lets us perform an update on the source term in a finite dimensional space. A number of numerical examples are presented that show that the update process is quite important. Using the correct choice of penalty terms demonstratively improves the predictions.
2
Contaminant Concentration Model
Let C be the concentration of a contaminant and assume that the velocity v, obtained from shallow water equations, is known. We assume that the sensors measure the concentration at some known locations. Note that the velocity field and the diffusion coefficients are unknown and need to be estimated in the most general case. Contaminant transport is modeled using the convection-diffusion equation, ∂C + v · ∇C − ∇ · (D∇C) = S(x, t) in Ω. ∂t Given measured data, we estimate the initial condition C(x, 0) = C 0 (x) and the source term S(x, t).
3
Reconstructing Initial Conditions
We begin by obtaining initial data based on sensor readings and forward simulations assuming both a rectangular subdomain Ωc ⊂ Ω and that our initial condition is in a finite dimensional function space whose support is contained in Ωc . This finite dimensional space on Ωc is equipped with a set of linearly c independent functions {C˜i0 (x)}N i=1 . For some α = (α1 , α2 , · · · , αNc ) our initial condition in this space is then represented by C˜ 0 (x) =
Nc
αi C˜i0 (x).
i=1
We can assume that C˜i (x, t) is the solution of our equation using the initial condition C˜i0 (x) leading to a solution of the form, ˜ t) = C(x,
Nc
αi C˜i (x, t).
i=1
Running the forward simulation code for each initial condition C˜i0 (x) lets us find C˜i (x, t). Let Nc be the number of initial conditions, Ns the number of output
56
C.C. Douglas et al.
concentration locations, and Nt the number of time steps where concentrations Nc ,Ns ,Nt are sampled. We save values C˜i (xj , tk ) . The problem is underdeteri=1,j=1,k=1
mined for a single set of sensor measurments since Ns < Nc normally. However, Ns Nt >> Nc since data from these sensor locations are collected many times. By using all of the given sensor values at each of the recorded times, we attempt to solve the least squares system to recover the initial conditions and improve the overall predictions made by the model. If we devise a method so that just a simple least squares problem is solved for each new set of sensor data, then we can solve a much smaller least sqaures problem than in the case when all of the given data is used at once. Further, should not enough data be incorporated at once, solving smaller problems is faster than solving the entire problem over again. We want a model that is improved using smaller quantities of data at any given time. Once we have collected the data from our forward simulations, the αi need ˜ t) ≈ C(x, t), so we to be calculated. We want to find the best α such that C(x, minimize the difference between our simulated concentration and the values at the sensors. Assume there are Ns < Nc sensors in Ω, which leads to minimizing the following objective function: F (α) =
N Ns c j=1
2 N c 2 ˜ αi Ci (xj , t) − γj (t) + κi (αi − βi ) ,
i=1
i=1
where κ are penalty coefficients for an a priori vector β, which will be updated during the simulation to achieve higher accuracy. The minimization of this function gives rise to the linear system Aα = R, where for m, n = 1, · · · , Nc , and s ˜ ˜ Amn = N and j=1 Cm (xj , t) Cn (xj , t) + δmn κm , Ns Rm = j=1 C˜m (xj , t) γj (t) + κm βm . This linear system is clearly symmetric, positive definite and is solved using a direct inversion since it is such a small matrix. Nt we first solve the linear Since we have C˜i (xj , t) at given time steps {tk }k=1 1 system Aα = R, where A and R are evaluated at time t1 and α1 refers to the values of αi at t1 . Initially, we begin with a given value of β whose value can be adapted, though generally we initially choose β = 0. Once α1 is determined, β is replaqced with α1 and we solve the linear system again to determine α2 . We continue this process until we get αNt , which is the most accurate reconstruction of the initial data.
4
Reconstructing the Source Term
Consider the situation when the source term S is given for a particular fixed time interval at a particular location. Assume there is no initial concentration and all of the concentration in the domain comes from the source term so that
DDDAS Predictions for Water Spills
57
C(x, 0) = 0 on the whole domain. Now consider a subdomain ΩC where the source term is defined. Now assume that our region Ω is discretized with N grid points and that the subdomain ΩC is discretized with NC grid points. On C th ΩC assume that there are basis functions {δk }N k=1 which are nonzero on the k N C part of the subdomain and zero otherwise. Assume that S ≈ S˜ = αk δk (x, t) k=1
where S = S˜ = δk (x, t) = 0 for some t > tˆ, i.e., the basis functions are nonzero for the same time interval as S and the source is zero after an initial time period. This is the case when there is an immediate spill that takes a short period of ˜ our equation time for all of the contaminant to leak into the water. Using this S, becomes NC ∂ C˜ − L C˜ = S˜ = αk δk (x, t) ∂t k=1
since S˜ is a linear combination of δk . We solve ∂ψk − L (ψk ) = δk (x, t) ∂t N
c for for ψk and each k. We denote the solution to this equation as {ψk (x, t)}k=1 each k. Under these assumptions, the solution to
∂C (x, t) − L (C (x, t)) = S (x, t) , C (x, 0) = 0 x ∈ Ω ∂t is approximated by C (x, t) ≈ C˜ (x, t) =
NC
αk ψk (x, t) .
k=1
Once again, assume that there are Ns < Nc sensors spread within the domain. Choose a source term S˜ and run the forward problem for this particular source while recording the values of the concentration at each sensor location. These Ns . Once this equation has have solved for each of values are given by {γj (t)}j=1 the source terms, αk can be reconstructed by solving N 2 N Ns c c αk ψk (x, t) − γk (t) + κk (αk − βk )2 , F (α) = j=1
k=1
k=1
where κ are penalty coefficients for an a vector β. Minimize this function and solve the corresponding linear system. Note that this is the same exact minimization that was needed for the initial condition recovery problem. 4.1
Solving the Source Term and Initial Condition Problem
We split the solution into two parts in order to predict contaminant transport in the presence of unknown initial conditions and source terms. The first part is
58
C.C. Douglas et al.
due to unknown initial condition and the second one is due to unknown source terms. We briefly repeat the situation when the source term S is zero, where we assumed there is an initial concentration and solved ∂C − L (C) = 0, C (x, 0) = C 0 (x) . ∂t Consider a discretized subdomain ΩC where the initial condition is nonzero and ND assume there is a linearly independent set of functions defined by {ϕi }i=1 on the N D λi ϕ0i (x). Now solve subdomain given by C 0 (x) ≈ C˜ 0 (x) = i=1
∂ϕi − L (ϕi ) = 0, ϕi (x, 0) = ϕ0i (x) ∂t for each i. The solution to this equation for each i is given by ϕi (x, t). We ∂C approximate the solution of − L (C) = 0, C (x, 0) = C 0 (x) by C˜ (x, t) = ∂t ND λi ϕi (x, t). i=1
For the second step, we solve the problem for ψ and each k with an unknown source term, ∂ψ − L (ψ) = δk (x) , ψ (x, 0) = 0 ∂t Nc and denote the solution for eazch k as {ψk (x, t)}k=1 . Hence, the solution to our original problem with both the source term and initial condition is given by C˜ (x, t) =
ND
λi ϕi (x, t) +
i=1
Nc
αk ψk (x, t) .
k=1
We need to verify that this is really the solution. Compute ND Nc ∂ ˜ L C = αk L (ψk (x, t)) and λi L (ϕi (x, t)) + ∂t i=1 k=1
∂ ˜ C (x, t) = ∂t So
ND i=1
c ∂ ∂ ϕi (x, t) + αk ψk (x, t) . ∂t ∂t
N
λi
k=1
ND ∂ C˜ ∂ − L C˜ = ϕi (x, t) − L (ϕi (x, t)) + λi ∂t ∂t i=1 Nc ∂ αk [ψk (x, t) − L (ψk (x, t))] ∂t
k=1
=
Nc Nc ∂ αk [ψk (x, t) − L (ψk (x, t))] = αk δk (x) . ∂t
k=1
k=1
DDDAS Predictions for Water Spills
59
D ˜0 Similarly, C˜ (x, 0) = N i=1 λi ϕi (x, 0) = C (x). Hence, we have verified that C˜ (x, t) =
ND
λi ϕi (x, t) +
i=1
Nc
αk ψk (x, t)
k=1
really solves our original equation with both an initial condition and source term. 4.2
Reconstruction of Initial Condition and Source Term
After running the forward simulation for each initial basis function and source basis function, we minimize ⎡ 2 ⎤ Ns Nc ND ⎣ F (α, λ) = αk ψk (xj , t) + λk ϕk (xj , t) − γj (t) ⎦ + j=1
k=1
k=1 Nc
ND 2 2 ˜ κ ˜ k αk − βk + κ ˆ k λk − βˆk .
k=1
(1)
k=1
For N = Nc + Nd, μ = [α1 , · · · , αNc , λ1 , · · · , λND ], η(x, t) = [ψ1 , · · · , ψNc , ϕ1 , · · · , ϕND ], β = β˜1 , · · · , β˜Nc , βˆ1 , · · · , βˆND , κ = [˜ ˜ Nc , κ ˆ1, · · · , κ ˆND ], κ1 , · · · , κ we minimize ⎡ 2 ⎤ Ns N N 2 ⎣ ⎦ + μk ηk (xj , t) − γj (t) κk (μk − βk ) . (2) F (μ) = j=1
k=1
k=1
This is the same minimization that we had previously, which leads to solving a least squares problem of the form Aμ = R, where Amn =
N
ηm (xj , t) ηn (xj , t) + δmn κm and Rm =
j=1
N
ηm (xj , t) γj (t) + κm βm .
j=1 N
t Sensor values are recorded only at discrete time steps t = {tj }j=1 . μ is first estimated using the sensor values at t = t1 . Then each successive set of sensor values is used to improve the estimate of μ.
5
Numerical Results
We have performed extensive numerical studies for initial condition and source term estimation [7]. The numerical results convincingly demonstrate that the predictions can be improved by updating initial conditions and source terms. Each problem has commonality:
60
C.C. Douglas et al.
– An initial condition is defined on a domain of [0, 1] × [0, 1]. – Sensor data is recorded at given sensor locations and times and is used to reconstruct the initial condition. – Biquadratic finite elements are used in both the forward simulation and the reconstruction. – For our initial condition expansion C n (x) =
N
cni ϕi (x).
i=1
We assume ϕi are either piecewise constants or bilinears defined on a given subdomain with its own grid (i.e., there are two different grids): a large (fine) grid where the forward simulation is run and a small (coarse) grid defined only on a given subdomain where we are attempting a reconstruction. – All velocities are [2, 2] on each cell. Thus our flow is from the lower left corner to the upper right corner of the 2D grid for each problem. – We sample sensor data every 0.05 seconds for 1.0 seconds at the following five locations: (.5, .5), (.25, .25), (.25, .75), (.75, .25), and (.75, .75). 5.1
Reconstruction Using Piecewise Constants
We attempt to reconstruct a constant initial condition with support on [0, .2] × [0, .2]. We choose an underlying grid defined only on a subregion where we define the basis functions used in the reconstruction. First, let this grid be exactly where there is support for the function. For example, if we have a 2 × 2 grid, then we define 4 piecewise constants on [0, .2] × [0, .2]. Hence, support would be on the following four subdomains: [0, .1] × [0, .1], [.1, .2] × [0, .1], [0, .1] × [.1, .2], and [.1, .2] × [.1, .2]. The region is divided similarly for different sized grids. Second, let the subdomain be larger than the support of the initial condition, e.g., choose [0, .4] × [0, .4] as the subdomain. Hence, the “effective” area of the basis functions is reduced by a factor of 4 each. Choose a 2 × 2 subgrid for the basis functions on [0, .2] × [0, .2] so that there are only 4 basis functions in the reconstruction. As can be seen in Fig. 1, the reconstructed initial condition are quite good: the initial condition reconstruction only needed two sets of sensor measurements. Using the same strategy for dividing the domain up into a small number of equal parts we find slightly worse results for larger grids. This seems natural considering that we are using the same amount of information, but we are attempting to reconstruct more functions. Clearly there should be larger errors as the number of functions is increased unless we add more sensor data. Experiments show that this type of folklore is true. Consider a case with 9 sensor locations instead of 5: (.25, .25), (.25, .5), (.25, .75), (.5, .25), (.5, .5), (.5, .75), (.75, .25), (.75, .5), and (.75, .75). We use
DDDAS Predictions for Water Spills
61
Fig. 1. Five sensors case
bilinears with a 2 × 2 grid so that there are 16 basis functions instead of 4. The accuracy is far higher than when we used the same parameters with only 5 sensors, as can be seen in Fig. 2. Consider a case with just 2 sensor locations instead of 5: (.5, .5) and (.25, .5). The accuracy is far lower than when we used the same parameters with only 5 sensors, as can be seen in Fig. 3.
62
C.C. Douglas et al.
Fig. 2. Nine sensors case
Fig. 3. Two sensors case
For future work, we need to test the proposed methods for numerous other initial conditions and source terms update conditions. Acknowledgements. This research was supported in part by NSF grants EIA0219627, EIA-0218229, CNS-0540178, and CNS-0540136.
DDDAS Predictions for Water Spills
63
References 1. Darema, F.: Introduction to the ICCS 2007 Workshop on Dynamic Data Driven Applications Systems. In: Shi, Y., van Albada, G.D., Dongarra, J., Sloot, P.M.A. (eds.) ICCS 2007. LNCS, vol. 4487, pp. 955–962. Springer, Heidelberg (2007) 2. Dostert, P.: Uncertainty Quantification Using Multiscale Methods for Porous Media Flows. PhD thesis, Texas A & M University, College Station, TX (December 2007) 3. Douglas, C., Cole, M., Dostert, P., Efendiev, Y., Ewing, R., Haase, G., Hatcher, J., Iskandarani, M., Johnson, C., Lodder, R.: Dynamic Contaminant Identification in Water. In: Alexandrov, V.N., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2006. LNCS, vol. 3993, pp. 393–400. Springer, Heidelberg (2006) 4. Douglas, C., Cole, M., Dostert, P., Efendiev, Y., Ewing, R., Haase, G., Hatcher, J., Iskandarani, M., Johnson, C., Lodder, R.: Dynamically identifying and tracking contaminants in water bodies. In: Shi, Y., van Albada, G.D., Dongarra, J., Sloot, P.M.A. (eds.) ICCS 2007. LNCS, vol. 4487, pp. 1002–1009. Springer, Heidelberg (2007) 5. Douglas, C., Efendiev, Y., Ewing, R., Ginting, V., Lazarov, R., Cole, M., Jones, G., Johnson, C.: Multiscale interpolation, backward in time error analysis for data-driven contaminant simulation. In: Sunderam, V.S., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2005. LNCS, vol. 3515, pp. 640–6470. Springer, Heidelberg (2005) 6. Douglas, C., Efendiev, Y., Ewing, R., Ginting, V., Lazarov, R.: Dynamic data driven simulations in stochastic environments. Computing 77, 321–332 (2006) 7. Dostert, P.: http://math.arizona.edu/∼ dostert/dddasweb (last visited 2/1/2008)
Bioinformatics’ Challenges to Computer Science Mario Cannataro1, Mathilde Romberg2 , Joakim Sundnes3 , and Rodrigo Weber dos Santos4 1
University Magna Graecia, Catanzaro, Italy
[email protected] 2 Research Centre Julich, Germany
[email protected] 3 Simula Research Laboratory, Norway
[email protected] 4 Federal University of Juiz de Fora, Brazil
[email protected]
Abstract. The workshop Bioinformatics’ Challenges to Computer Science covers the topics of data management and integration, modelling and simulation of biological systems and data visualization and image processing. This short paper describes the requirements Bioinformatics has towards computer science, summarizes the papers accepted for the workshop and gives a brief outlook on future developments. Keywords: Bioinformatics, Data Management and Integration, Modelling and Simulation of Biological Systems, Data Visualization.
1
Bioinformatics - An Overview
Bioinformatics[1], a link between biology and computer science, involves the design and development of advanced algorithms and computational platforms to solve problems in biology and medicine. It also deals with methods for acquiring, storing, retrieving, analyzing, and integrating biological data obtained by experiments, or by querying databases. Bioinformatics is providing the foundation for fast and reliable analysis of biological and medical data. Genomics, transcriptomics, proteomics, epidemiological, clinical and text mining applications have made essential progress through using bioinformatics tools. Although standard tools are widely offered through the Web, they are no longer sufficient to cope with the increasing demands of the complex analysis and simulation tasks of today’s emerging fields of biotechnology research. Moreover, emerging life sciences applications need to use in a coordinated way bioinformatics tools, biological data banks, and patient’s clinical data, which require seamless integration, privacy preservation and controlled sharing[2,3,4]. Therefore, new challenges to computer science arise from the sheer problem scale, the huge amounts of data to be integrated and the computing power necessary to analyze large data sets or to simulate complex biological systems. M. Bubak et al. (Eds.): ICCS 2008, Part III, LNCS 5103, pp. 67–69, 2008. c Springer-Verlag Berlin Heidelberg 2008
68
2
M. Cannataro et al.
Goals
The aim of the workshop was to bring together scientists from computer and life sciences to discuss future directions of bioinformatics algorithms, applications, and data management. The discussion evolves from the basic building blocks for Bioinformatics applications which are: data sources (e.g. experimental datasets, local and public biological databases); software tools providing specialized services (e.g. searching of protein sequences in protein databases, sequence alignment, biophysical simulations, data classification, etc.); and high level description of the goals and requirements of applications and results produced in past executions. From a computational point of view, bioinformatics applications bring a wide range of challenges and a huge demand for computing power. The challenging issues involve the large number of involved datasets, the size of the datasets, the complexity inherent in the data analysis and simulations, the heterogeneous nature of the data, and the need for a secure infrastructure for processing private data. From another perspective, emerging high performance computer architectures may offer huge computational resources in the trade of specific development of new algorithms for bioinformatics. These are the cases of Grid and Web services, as well as of multicore architectures that demand bioinformatics algorithms to be specifically tailored to these new computational frameworks.
3
Workshop Summary
The papers in the present workshop address a number of the requirements and challenges mentioned above, with special emphasis on data management and integration, modelling and simulation, and data visualization and image processing. A first group of papers discusses data management and integration issues in genomics and proteomics as well as in biomedical applications, including management of provenance data. In particular, Swain et al. present a data warehouse and repository for results from protein folding and unfolding simulations together with optimization strategies for the data warehouse that exploit grid tools. The ViroLab virtual laboratory is a common framework discussed by the papers of Balis et al. and Assel et al.. The first one uses ViroLab to investigate a data provenance model, whereas the second one discusses data integration and security issues for medical data. Mackiewicz et al. deal with the analysis of genetic code data and the minimization of prediction errors. A second group of papers discusses modelling and simulation in systems biology and biosciences. In particular, Cui et al. demonstrate a computational model for calcium signalling networks. Cardiac modelling for understanding Chagas’ Disease is the focus of Mendo¸ca Costa et al. whereas Vega et al. present an adaptive algorithm for identifying transcription factor binding regions. The use of DNA microarray expression data for gene selection is exploited by Maciejewski to optimize feature selection for class prediction. Cannataro et al. discuss a meta tool for the prediction of possible protein combinations in protein to protein interaction networks.
Bioinformatics’ Challenges to Computer Science
69
The third group of papers discusses visualization of genomics data and biomedical images, as well as metadata extraction for e-learning purposes. In particular, Jakubowska et al. present a new technique for improving the visual representation of data in genomic browsers. Miranda Teixeira et al. discuss methods for automatic segmentation of cardiac Magnetic Resonance Images and Bulat et al. deal with algorithms for computer navigation systems assisting bronchoscope positioning. Kononowicz and Wi´sniowski exploit the MPEG-7 meta data standard for medical multimedia objects to support e-learning. The results and current research trends presented in the papers reassure the importance of especially data and meta data management and of computational modelling. In addition, the workshop includes discussion slots on topics not covered by the accepted papers, like bioinformatics middleware for future applications, full semantic integration of biological data banks, and utilization of new visualization techniques.
4
Conclusions and Outlook
Data integration and data management are under research for years but the complexity associated to biological processes and structures demand further investigations and the development of new methods and tools for bioinformatics. The simulation of complex biological phenomena becomes more feasible as the amount of information provided by new experimental techniques and the computing power rapidly increases. On the other hand, the development and use of complex computational models demand new implementations that better exploit the new computer architectures. Research on distributed and Grid computing for bioinformatics applications as well as related workflow modeling will enable emerging life sciences applications to use in a coordinated way bioinformatics tools, biological data banks, and patient’s clinical data, that requires seamless integration, privacy preservation and controlled sharing. Acknowledgements. We would like to thank the members of the program committee for the invaluable assistance on reviewing the papers and the organizers of ICCS for promoting this workshop.
References 1. Cohen, J.: Bioinformatics - an introduction for computer scientists. ACM Computing Surveys 36, 122–158 (2004) 2. Talbi, E.G., Zomaya, A.Y. (eds.): Grid Computing for Bioinformatics and Computational Biology. Wiley, Chichester (2008) 3. Cannataro, M. (ed.): Computational Grid Technologies for Life Sciences, Biomedicine and Healthcare. Information Science Reference. Hershey (in preparation, 2008) 4. Aloisio, G., Breton, V., Mirto, M., Murli, A., Solomonides, T.: Special section: Life science grids for biomedicine and bioinformatics. Future Generation Computer Systems 23, 367–370 (2007)
Grid Computing Solutions for Distributed Repositories of Protein Folding and Unfolding Simulations Martin Swain1 , Vitaliy Ostropytskyy1, Cˆandida G. Silva2 , Frederic Stahl1 , Olivier Riche1 , Rui M.M. Brito2 , and Werner Dubitzky1 1
School of Biomedical Sciences, University of Ulster, Coleraine BT52 1SA, Northern Ireland, UK
[email protected] 2 Chemistry Department, Faculty of Science and Technology, and Center for Neuroscience and Cell Biology, University of Coimbra, 3004-535 Coimbra, Portugal
[email protected]
Abstract. The P-found protein folding and unfolding simulation repository is designed to allow scientists to perform analyses across large, distributed simulation data sets. There are two storage components in P-found: a primary repository of simulation data and a data warehouse. Here we demonstrate how grid technologies can support multiple, distributed P-found installations. In particular we look at two aspects, first how grid data management technologies can be used to access the distributed data warehouses; and secondly, how the grid can be used to transfer analysis programs to the primary repositories – this is an important and challenging aspect of P-found because the data volumes involved are too large to be centralised. The grid technologies we are developing with the P-found system will allow new large data sets of protein folding simulations to be accessed and analysed in novel ways, with significant potential for enabling new scientific discoveries.
1
Introduction
Protein folding is one of the unsolved paradigms of molecular biology, the understanding of which would provide essential insight into areas as diverse as the therapeutics of neurogenerative diseases or bio-catalysis in organic solvents. Protein folding simulations are time-consuming, data intensive and require access to supercomputing facilities. Once completed, few simulations are made publicly available – this hinders scientists from accessing data reported in publications, performing detailed comparisons, and developing new analytical approaches. A platform to allow access to protein folding and unfolding simulations, and to support data mining functionalities would clearly benefit the field. The P-found project [1] aims to create a distributed public repository for storing molecular dynamics simulations, particularly those concerned with protein folding and unfolding. It aims to provide the tools needed to support the comparison and analysis of the simulations and thus enable new scientific knowledge to be discovered and shared. M. Bubak et al. (Eds.): ICCS 2008, Part III, LNCS 5103, pp. 70–79, 2008. c Springer-Verlag Berlin Heidelberg 2008
Grid Computing Solutions for Distributed Repositories of Protein Folding
71
P-found is designed to be a distributed system. This is because protein folding and unfolding simulations require large volumes of storage space: a simulation can easily comprise 1 to 10 Gigabytes of data, with simulation archives consisting of Terabytes. In addition, the groups who created the simulations have often already carefully stored and archived them. Ideally a distributed system would allow scientists to share their data, without undue interference in their existing practices, and without causing them to lose control over their own data. There are two data storage components to the P-found system: a primary data store or file repository for the unaltered protein folding and unfolding simulations; and a secondary data store or data warehouse containing, for instance, information about how the simulations were created and derived physical properties of the simulations that are typically used in scientific analysis [1]. The secondary data is approximately 10 to 100 times smaller in volume than the primary data and consists of local and global molecular properties that summarise the simulations. Grid technology is appropriate for P-found mainly because the user groups involved are based in independent organisations, each with their own IT infrastructures and security policies. Grid technology provides a set of tools whereby these user groups can come together in a virtual organisation, with security components that enable both data and compute servers to be shared across the independent administrative domains [2]. Data grids have been reviewed by Finkelstein et al. (2004) [3] and the efficiency of their design has been discussed by Laure et al. (2005) [4]. In this paper we consider the use of grid and distributed computing technologies to manage all aspects of data storage and analysis in the P-found system. Many of the results we present here have been adapted from tools and services developed by the DataMiningGrid project [5], [6]. However, P-found is an ongoing project, independent from the DataMiningGrid, and this is the first time that grid solutions for P-found have been presented in detail. P-found is designed so that the data warehouse facilitates most comparative analyses and data mining operations, with the result that access to the primary data store can be avoided except for particularly novel or complex queries. We assume that every location with a primary data store has an associated data warehouse. However, in practice it is likely that while there will be many primary stores, there may be only a few, centralised data warehouses. This is due to the smaller data volume stored in the data warehouse and the greater administrative effort involved with maintaining such a facility. It is essential that the P-found system supports direct access to the primary data as novel analyses of this data may lead to important scientific discoveries. Therefore, we are investigating the use of grid technologies to solve two aspects of the P-found system: 1. Distributed data management: functionality to federate a number of distributed data warehouses so that they may be accessed and managed as if they were a single resource. 2. Distributed analysis: functionality for shipping or transferring analysis programs to the distributed primary data stores so that analysis takes place at the data store and thus by-passes the need to transfer large data volumes.
72
M. Swain et al.
This paper is structured as follows: we briefly describe the DataMiningGrid, and then give more detailed descriptions of how its associated technology can be used to provide solutions to the distributed data management and analysis aspects of P-found. We then discuss the security implications involved with allowing scientists to distribute and execute potentially any kind of program over the P-found infrastructure. Before concluding the paper we outline our on-going and future development plans.
2
Grid Solutions for P-Found
The DataMiningGrid project took P-found’s technical requirements into its design, and initial solutions for the problems associated with P-found were developed by the DataMiningGrid. The DataMiningGrid is described in detail elsewhere [5]. In summary, the DataMiningGrid was built using the Globus Toolkit [2], which contains various data management tools, including GridFTP for file transfers and OGSA-DAI version WSRF-2.2 [7], which was used to provide data management functionality for databases. A test-bed was created, based at three sites in the UK, Slovenia and Germany and at each site Globus components were used to interface with local Condor clusters. Condor is an opportunistic, high throughput computing system that uses cycle-stealing mechanisms to create a cluster out of idle computing resources [8]. The P-found system used with the DataMiningGrid is a prototype, and consists of just one installation [1]. This prototype consists of both the file repository and the data warehouse, which is implemented using the Oracle 10g database system. With just one installation it was not possible to fully demonstrate the distributed aspects. However, general grid data management solutions were developed and tested with other distributed database applications in the DataMiningGrid and these are fully applicable to the P-found system. More technical details of components comprising the P-found system are given in Sec. 2.2. 2.1
Data Mining Distributed Data Warehouses
Here we show how OGSA-DAI can be used to federate P-found data warehouses and calculate a summary of the data sets accessed. This summary is then used by different data preprocessing operations, resulting in formatted data sets that are ready for processing with data mining algorithms. Figure 1 shows how the data summary was developed with the OGSA-DAI APIs. The process begins when the user selects a data service and defines an SQL query to be executed against one of the service’s data resources. Then: 1. The client sends the query to the data service and after execution the metadata associated with the query is retrieved. 2. The meta-data returned by the query is processed by the client, which then sends a request to the data service to create a temporary database table according to the meta-data values.
Grid Computing Solutions for Distributed Repositories of Protein Folding
73
Fig. 1. A P-found application using the OGSA-DAI client API and OGSA-DAI services to calculate a data summary
3. The client retrieves the query data from the data service and loads them into the temporary table. 4. Now it is possible to calculate statistical values of this data set, with the particular values to be calculated depending on the application. Typically, for numeric data the average, standard deviation, maximum, minimum and variance are calculated, while for character data this involves finding all the distinct values in the column. The client performs this by issuing a series of requests, consisting of SQL queries, to summarize the values in each column. The resulting data set summary is stored at the client for use in subsequent requests or routines. Using software from the DataMiningGrid, OGSA-DAI clients may be used to integrate distributed P-found databases: the clients first access data from a number of repositories, store the data in a temporary table, and then calculate a data summary. In the DataMiningGrid these data were streamed from the temporary table and a number of data filtering operations and data transformations were applied before the data were delivered to a file. The process is shown in Fig. 2: 1. A data summary is calculated, based on data from multiple databases that have already been uploaded to a temporary table. All data are now selected from the table.
74
M. Swain et al.
Fig. 2. A P-found application performing data transformation on values generated by a data summary
2. The OGSA-DAI projection operations are used to extract table columns as data are streamed from their source (i.e. the temporary table) to their destination (in this case another temporary database table). As the data is streamed at the data service, columns are extracted and the data in each column is transformed, for example by aggregating values or discretizing continuous numeric values. In this case returning the data to a database table is convenient, as it allows the process to be repeated with a series of different transformations. 3. Now the transformed data is retrieved from the table. 4. Additional functionality may now be applied to convert this transformed data into different formats. 5. In the final step the data are deposited in one or more files on a GridFTP server. These are then available for data mining. The DataMiningGrid provided some enhancements to OGSA-DAI, for example to perform data mining preprocessing operations such as cross-validation, data transformation, and data formatting i.e. formatting data according to Weka’s ARFF structure [9], or the format of the CAREN association algorithm [10]. Such tasks usually required the data summary calculated earlier, and could be used to deliver data transformed and formatted to servers ready for processing with data mining algorithms. OGSA-DAI supports a variety of data delivery operations, including delivery using GridFTP, HTTP, email or simply returning results from the web service to the client using SOAP messages. There is therefore only a small overhead required to use the clients we have presented here outside of the DataMiningGrid infrastructure.
Grid Computing Solutions for Distributed Repositories of Protein Folding
2.2
75
Transferring Data Analysis Programs to Distributed File Repositories
Here we present a simplified version of the process for shipping algorithms to multiple, distributed data locations, as implemented by the DataMiningGrid. The main difference is that the DataMiningGrid developed a specialised Resource Broker Service that interfaced with the WS-GRAM utilities from the Globus Toolkit 4 to submit, monitor and cancel jobs on computational resources and local scheduling systems, and to coordinate the input and output staging of data. This Resource Broker Service could ship both data and programs to any location on the grid. It could handle the heterogeneity of grid resources and it provided additional functionality to support data mining applications [5]. Here we assume that the data is never moved from the primary storage repositories, and that there are dedicated compute resources available which are local to the storage repositories. The system we propose for P-found is shown in Fig. 3 and uses the following components: 1. A client application to analyse, process or data mine the simulations stored in the primary repositories. 2. A system registry: this is a centralised component, listing all the analysis software, simulation repositories, and data warehouses available in the system. It would also contain information to tell either human users or software how to interact with those components. 3. A software repository: there can be one or more of these, and it is here that analysis programs and their associated libraries are stored. This does not require a sophisticated solution: executable files and libraries can be simply stored on a file system and accessed using GridFTP. The software repository could be merged with the client application. 4. Multiple, distributed P-found installations, each installation containing both a primary data store for the simulation files and a secondary data warehouse for computed simulation properties. Compute resources will be available at each installation: these may be a few dedicated processors or a local Condor cluster, connected to the data repositories via a networked file system or high-speed network. There is also a GridFTP server at each installation for performing fast file transfers. The process for shipping analysis programs to data is shown in Fig. 3 and is described here. Note that there may be a preceding step, not shown in the figure, in which the client application performs a distributed query on the P-found data warehouses, similar to that described in Sec. 2.1. The data warehouses contain all technical information about the simulations i.e. the name of the protein simulated, the techniques used, and so on. In the preceding step this information is queried in order to find a set of interesting simulation files. Then: 1. The client application queries the registry to discover available analysis software. The result will be a list of programs, with a URI giving their location,
76
M. Swain et al.
Fig. 3. Shipping programs to the primary P-found data repositories
along with the technical information required to execute these programs, such as how much CPU and memory they need, operating system preferences, etc. This technical information is very important for grid systems which are composed of heterogeneous resources. 2. A program is selected, the correct software repository is contacted, and the program is transferred to the P-found repositories that contain the simulations of interest. 3. Once transferred to the repositories, the programs are executed. This may be quite a complicated procedure and may require a sophisticated component such as the DataMiningGrid’s Resource Broker Service, as mentioned earlier in this section. For example, such a component would ensure programs are executed in the correct environment and on machines with the correct specification. 4. Once the analysis is completed, the results are transferred using GridFTP, either back to the client application or to some other location e.g. another P-found repository where they are used in subsequent calculations. In this scenario there is no explicit support for workflows, unless they are constructed using a scripting language (e.g. Perl or Python). This should be adequate for P-found as many scientists use Perl and Python to coordinate analysis tasks. It does mean, however, that all the executables and associated libraries should be transferred to the primary repositories along with the scripts.
3
Discussion
Grid data management technology is maturing and is able to support relatively sophisticated data analysis scenarios, as has been demonstrated by projects such as Gridminer [11] and the KnowledgeGrid [12], as well as the DataMiningGrid
Grid Computing Solutions for Distributed Repositories of Protein Folding
77
[5]. Unfortunately, the shipping of programs to data locations has not been investigated in as much detail, even though this is an important approach for distributed data sets that cannot be transferred to centralised processing facilities (due to either their large volume or their confidential nature). There is therefore little “off-the-shelf” software that we can use to provide this functionality. Allowing users to freely execute arbitrary code on machines outside of their own administrative domain does raise some serious security issues. For example, there is great potential for malicious users to create havoc on the P-found systems by destroying the data storage facilities. To persuade new groups to participate in the P-found system, it is essential for them to be fully confident that their data will remain secure. The Globus Toolkit provides tools for security based on public key cryptography [2], which is sufficient for most purposes. This may also be reinforced by only allowing software that is completely trustworthy to be registered on the system and transferred for execution on different administrative domains. However, this does limit scientists from performing arbitrary analysis on the repositories, one important aim of the P-found system. In the end, the security framework needs to be agreed on by the community, and it must be flexible enough to persuade the most cautious users to participate. As an alternative to using executables and grid scheduling mechanism, we investigated the Dynasoar framework [13]. Dynasoar provides an architecture for dynamically deploying Web services remotely on a grid or the Internet. A potential use, motivating its design, was to move Web services that access data and perform analysis on it, closer to the data storage facilities, which fits with the requirements of the P-found system. Web services require that an interface is specified, describing the functionality of the Web service and how it should be used – this approach makes a little harder to hide malicious software that is able to damage the system. However, while the Dynasoar has some nice features, it is still a prototype with limited functionality. Moreover, as most scientists from the molecular simulation community typically use scripts (Perl or Python) or executables (C/C++ and Fortran) for analysis and are therefore not familiar with Web service technology, we decided that this approach was currently unsuitable for this project. The BioSimGrid [14] is a project with similar aims to P-found. It enables data sharing of molecular simulation data between different research groups and universities. A Python scripting environment is used to pre-process, deposit and retrieve data, and a general purpose Python analysis toolkit is available for manipulating deposited data. The authors do not discuss security issues, presumably because the system was designed for use with six UK universities – a relatively small and localised community where all users may easily be held accountable for their actions. This is different to P-found, which we plan to open up to the wider international community.
4
Future Work
P-found is still under development, and project partners are investigating additional approaches to implement the final system. These include using grid
78
M. Swain et al.
services available through the EGEE project (Enabling Grids for E-sciencE), and comparing the approach given here (based on multiple, distributed data warehouses) with a single, centralised data warehouse and multiple storage elements. The P-found partners plan to develop these three prototypes and make them available to the user community. Feedback from the user community will be essential in choosing the final design.
5
Conclusions
To further scientific discoveries there is a need to enable scientists to share and analyse protein folding and unfolding simulations. The P-found protein folding and unfolding simulation repository is designed to fulfill this need, and right now consists of two data storage components: a repository of unprocessed simulation data and a data warehouse containing detailed information regarding how the simulations were generated as well summaries of the simulations in the form of calculated local and global physical properties. While a centralised version of P-found (www.p-found.org) is currently available, P-found is ultimately envisioned as a distributed system due to the massive data volumes involved. Here we have described how grid technologies can be used to realise that vision. We have demonstrated how OGSA-DAI, a grid data management tool can be used to federate distributed P-found data warehouses and prepare data for analysis and data mining tasks, we have also presented a mechanism to allow scientists to ship arbitrary programs to the distributed simulation repositories in order to process this primary data in novel and sophisticated ways. This is an important aspect of P-found, with the potential to generate new scientific discoveries as protein folding and unfolding data sets become more available. Acknowledgements. This work was supported in part by the European Commission FP6 grants No. 004475 (the DataMiningGrid1 project), and No. 033437 (the Chemomentum2 project) to WD, MS and VO; and in part by grant GRID/ GRI/81809/2006 (FCT and FEDER, Portugal) to RMMB, and Doctoral Fellowship SFRH/BD/16888/2004 to CGS.
References 1. Silva, C.G., Ostropytsky, V., Loureiro-Ferreira, N., et al.: P-found: The Protein Folding and Unfolding Simulation Repository. In: Proc. 2006 IEEE Symp. on Computational Intelligence in Bioinformatics and Computational Biology, pp. 101–108 (2006) 2. Foster, I.T.: Globus Toolkit Version 4: Software for Service-Oriented systems. J. Comput. Sci. Technol. 21, 513–520 (2006) 1 2
http://www.DataMiningGrid.org http://www.chemomentum.org/
Grid Computing Solutions for Distributed Repositories of Protein Folding
79
3. Finkelstein, A., Gryce, C., Lewis-Bowen, J.: Relating Requirements and Architectures: A Study of Data-Grids. J. Grid Comput. 2, 207–222 (2004) 4. Laure, E., Stockinger, H., Stockinger, K.: Performance Engineering in Data Grids. Concurrency - Practice and Experience 17, 171–191 (2005) 5. Stankovski, V., Swain, M., Kravtsov, V., et al.: Grid-Enabling Data Mining Applications with DataMiningGrid: An Architectural Perspective. Future Gener. Comput. Syst. 24, 259–279 (2008) 6. Swain, M., Hong, N.P.C.: Data Preprocessing using OGSA-DAI. In: Dubitzky, W. (ed.) Data Mining Techniques in Grid Computing Environments, Wiley, Chichester (in press) 7. Antonioletti, M., Atkinson, M., Baxter, R., et al.: The Design and Implementation of Grid Database Services in OGSA-DAI. Concurr. Comput.: Pract. Exper. 17, 357–376 (2005) 8. Litzkow, M., Livny, M.: Experience with the Condor Distributed Batch System. In: Proc. IEEE Workshop on Experimental Distributed Systems, pp. 97–100 (1990) 9. Witten, I.H., Frank, E.: Practical Machine Learning Tools and Techniques, 2nd edn. Morgan Kaufmann, San Francisco (2005) 10. Azevedo, P.J., Silva, C.G., Rodrigues, J.R., Loureiro-Ferreira, N., Brito, R.M.M.: Detection of Hydrophobic Clusters in Molecular Dynamics Protein Unfolding Simulations Using Association Rules. In: Oliveira, J.L., Maojo, V., Mart´ın-S´ anchez, F., Pereira, A.S. (eds.) ISBMDA 2005. LNCS (LNBI), vol. 3745, pp. 329–337. Springer, Heidelberg (2005) 11. Fiser, B., Onan, U., Elsayed, I., Brezany, P., Tjoa, A.: On-Line Analytical Processing on Large Databases Managed by Computational Grids. In: Proc. 15th Int. Workshop on Database and Expert Systems Applications (2004) 12. Congiusta, A., Talia, D., Trunfio, P.: Distributed Data Mining Services Leveraging WSRF. Future Gener. Comput. Syst. 23, 34–41 (2007) 13. Watson, P., Fowler, C.P., Kubicek, C., et al.: Dynamically Deploying Web Services on a Grid using Dynasoar. In: Proc. 9th IEEE Int. Symp. on Object and Component-Oriented Real-Time Distributed Computing (ISORC 2006), Gyeongju, Korea, pp. 151–158. IEEE Computer Society Press, Los Alamitos (2006) 14. Ng, M.H., Johnston, S., Wu, B., et al.: BioSimGrid: Grid-Enabled Biomolecular Simulation Data Storage and Analysis. Future Gener. Comput. Syst. 22, 657–664 (2006)
Provenance Querying for End-Users: A Drug Resistance Case Study Bartosz Bali´s1,2 , Marian Bubak1,2 , Michal Pelczar2 , and Jakub Wach2 1
Institute of Computer Science, AGH, Poland {balis,bubak}@agh.edu.pl,
[email protected] 2 Academic Computer Centre – CYFRONET, Poland
Abstract. We present a provenance model based on ontology representation of execution records of in silico experiments. The ontologies describe the execution of experiments, and the semantics of data and computations used during the execution. This model enables query construction in an end-user oriented manner, i.e. by using terms of the scientific domain familiar to researchers, instead of complex query languages. The presented approach is evaluated on a case study Drug Resistance Application exploited in the ViroLab virtual laboratory. We analyze the query capabilities of the presented provenance model. We also describe the process of ontology-based query construction and evaluation. Keywords: e-Science, Grid, ontology, provenance, ViroLab.
1 Introduction The importance of provenance tracking in e-Science environments has been pointed out many times. However, providing an adequate end-user support for provenance querying is also an important challenge. It has been recognized that the need for provenance queries goes beyond the lineage of a single data item and searching or mining over many provenance records might be useful [8] [12]. However, there is a technical and conceptual barrier preventing or making it difficult for researchers or specialists who are the end users of e-Science environments, to construct complex queries using the query languages such as XQuery, SQL or SPARQL, or even dedicated APIs built on top of those languages or particular data models. Therefore, there is a need for provenance query methodology which allow end-users to construct powerful queries in an easy way. The goal of this work is to present a provenance model which enables complex queries over many provenance records. In addition, the model should support end-user oriented querying in order to be usable by non-IT experts. Inspired by the vision of a future e-Science infrastructure, which brings together people, computing infrastructures, data and instruments, and in which semantics and knowledge services are of paramount importance [9] [5], we propose a provenance model based on ontologies which model the execution of scientific workflows. We argue that ontology models describing the execution of experiments (including provenance) are a convenient inter-lingua for: (1) end-users who use ontologies as a query language, (2) query tools using them to represent and evaluate queries, and provenance repository in which the ontologies serve as the data model. M. Bubak et al. (Eds.): ICCS 2008, Part III, LNCS 5103, pp. 80–89, 2008. c Springer-Verlag Berlin Heidelberg 2008
Provenance Querying for End-Users: A Drug Resistance Case Study
81
Most existing approaches concentrate on a provenance model sufficient for correct computation of and querying for derivation paths of selected data items [4] [13] [10]. Some approaches introduce simple provenance models that abstract from any computation model, e.g. the Read – Write – State-reset model [4], and the p-assertions model [6]. It has been pointed out that those low-level models limit the provenance query capabilities [13]. A complex RDF and ontology-based provenance model is introduced in myGrid/Taverna [15]. This model has been shown to support complex provenance queries [14]. However, the aspect of query construction in an end-user-friendly manner is not explored in the mentioned works. The approach to provenance tracking and querying presented in this article is evaluated in the context of the ViroLab Project1 [11] which provides a virtual laboratory for conducting in silico experiments related to diagnosis of infectious diseases, especially the HIV virus2 [7]. The remainder of this paper is structured as follows. Section 2 describes the provenance model. Section 3 presents the case study Drug Resistance Workflow. In Section 4, query capabilities of the presented provenance model are investigated. Section 5 introduces the ontology-based provenance query methodology oriented towards end-users. Finally, Section 6 summarizes the current achievements and discusses future work.
2 Provenance Model Our provenance model is based on the concept of Experiment Information, an ontologybased record of experiment execution. The base for this record is an ontology describing in silico experiments in which the workflow model is used as the computation model. The execution stages of the experiment and the data items used in the workflow are linked to domain ontologies of applications and data in order to enhance the semantic description of experiment data and computations. Fig. 1 presents part of the ontology tree in which it is shown how the generic concepts describing the experiment execution are connected do domain ontologies concepts. Provenance tracking is based on monitoring of the execution of a workflow. The creation of an ontology-based record of the experiment execution is done as a process of translation from low-level monitoring data composed of monitoring events into highlevel Experiment Information. This process is depicted in Fig. 2. A workflow enactment engine executes a workflow according to some plan. Monitoring events generated by the instrumentation come from different distributed sources, among others, the workflow enactment engine and the workflow activities. A monitoring system collects and correlates the monitoring events, and passess them to a Semantic Aggregator component which aggregates and translates the monitoring data into an ontology representation, according to an ontology Experiment Information model. The ontology individuals are published into the provenance tracking system (PROToS) [2] and stored in a permantent Experiment Information Store. The process of monitoring, event correlation, aggregation and translation to ontologies is described in detail in [1]. 1 2
ViroLab Project: www.virolab.org ViroLab virtual laboratory: virolab.cyfronet.pl
82
B. Bali´s et al.
GridOperationInvocation -name -comment
generatedEvent
1
operationOutput
1
subClassOf
1operationInput
ExecutionStage DataAccessCall
* ViroLabEvent
*
subClassOf
ontologyType
-source -database -query
1
*
Experiment
subClassOf
1
hasStage
-id -ownerLogin -version -sourceFile
ViroLabDataEntity 1
*
outputData
subClassOf
DRSEvent
*
inputData
1
* *
NewRuleSetVersion
subClassOf
-addedRuleSet
subClassOf
subClassOf
subClassOf
subClassOf
* Ruleset
NewDrugRanking -executedBy -dateOfBloodSample -patientName -testedNS
*
addedRuleSet
VirusAminoacidSequence
VirusNucelotideSequence
Patient
* *
usedRuleSet
Concepts from Upper ontology
1
*
derivedFrom
Concepts from DRS domain ontology
*
1
gatheredFrom
Concepts from data ontology
Fig. 1. Generic experiment ontology and related domain ontologies
3 Drug Resistance Workflow The workflow which is used to illustrate the capabilities of the presented provenance model is the Drug Ranking System (DRS) application exploited in the ViroLab project. The goal of this application is to determine best drug combinations for a particular HIV virus taken from the blood sample of a patient. In the simplest DRS scenario, the inputs for an experiment are a list of mutations for a given gene of an HIV virus, and the name of a ruleset (chosen out of a few available) to be used to compute drug rankings. A drug ranking tool is executed to compute the drug rankings which are returned as the experiment’s results. We will consider an extended Drug Ranking scenario which contains the following stages: Experiment Input: HIV virus isolate nucleotide sequence Stage 1. Align input nucleotide sequence. Result: genes responsible for particular HIV proteins.
Provenance Querying for End-Users: A Drug Resistance Case Study
83
Experiment Information model Workflow Service
hasStage Is-a Stage
Experiment Data
Construct Query
hasInputhasOutput Input
Output
Query
QUaTRO Data Access Service
PROToS
Query Data
Query Provenance
Store
Experiment Information Store
Store Information
Semantic Aggregator Workflow plan
5. Translation 4. Aggregation
Events
Workflow Enactment Engine
Monitoring System
1. Generation Events
3. Correlation 2. Collection
Computing Resource A
Events
1. Generation
Events
Workflow Activity
Events
Computing Resource C Computing Resource B 1. Generation 1. Generation
Workflow Activity
Workflow Activity
Fig. 2. Provenance tracking and querying in ViroLab
Stage 2. Compare obtained sequences to reference strains in order to determine mutations. Stage 3. Apply selected rulestes to mutations to determin drug rankings. In the course of provenance tracking of this simple scenario, multiple events are generated, collected and aggregated into the ontology representation of the experiment’s execution. The events include those related to generic experiment enactment (experiment started/ended, operation started/ended, etc.). In addition, domain-specific events are generated to enhance the generic information about experiment execution with semantics related to the particular domain. For example, the three steps of the described scenario will generate respective domain events – ‘Sequence Alignment’, ‘Computation of Mutations’ and ‘New Drug Ranking’. In consequence, appropriate information will be created to denote that the invoked operations were in fact sequence alignments, mutation computations, or drug ranking computations. Also, the input data items will be identified as a nucleotide sequence, a protein sequence, or a mutation list. Those
84
B. Bali´s et al.
semantic enhancements are achieved by linking generic ontology individuals (e.g. ‘Operation Invocation’) to domain ontology individuals (e.g. ‘New Drug Ranking’).
4 Query Capabilities of the Provenance Model In [8], a number of challenging provenance questions have been formulated. Following were a few articles that attempted to answer those questions on the grounds of several provenance models, e.g. [10] [14]. In this section, we shall define a similar set of questions for our example DRS workflow and demonstrate how they can be answered in our provenance model. The questions are as follows: Q1 Find the process that led to a particular drug ranking. Q2 Find all operations performed after the alignment stage that led to a particular drug ranking. Q3 Find operations that led to a particular drug ranking and were performed as 1st and 2nd ones. Q4 Find all alignment operations performed on 10.10.2007 which operated on a given nucleotide sequence. Question Q1 is a basic provenance question which returns a derivation path for a given data result. XQuery implementations of those queries over our provenance model are shown below. Q1: declare function local:variable-proces($varId as xs:string) as list { for $goi in //GridOperationInvocation $dal in //DataAccessLoad where $goi//outData contains $varId return { for $input in $goi//inData return local:variable-proces($input) } $goi where $dal//variableId eq $varId return local:dataEntity-process($dal//dasId) $dal }; declare function local:dataEntity-proces($dasId as xs:string) as element { for $das in //DataAccessSave where $das//dasId eq $dasId return <process>
Provenance Querying for End-Users: A Drug Resistance Case Study
85
local:variable-proces($das//variableId) $das }; <provenance> local:dataEntity-proces({dasId as passed})
Q2: <provenance> for $goi in //GridOperationInvocation, $exp in //Experiment where $exp/outData@[name()=’rdf:resource’ and . eq {drug ranking id}] and $exp/stageContext/@rdf:resource = $goi/@rdf:Resource and $goi/stageNumber > 1 return $goi
Q3: <provenance> for $goi in //GridOperationInvocation, $exp in //Experiment where $exp/outData@[name() = ’rdf:resource’ and . eq {drug ranking id}] and $exp/stageContext/@rdf:resource = $goi/@rdf:Resource and $goi/stageNumber in {1, 2} return $goi
Q4: <provenance> for $goi in //GridOperationInvocation, $exp in //Experiment where $exp/time eq ’10.10.2007’ and $goi/inData@[name() = ’vl-data-protos:dasId’ and . eq {nucleotide sequence id}] and $exp/stageContext/@rdf:resource = $goi/@rdf:Resource and $goi/stageNumber = 1 return $goi
5 Ontology-Based Query Construction On top of the provenance tracking system we have built QUery TRanslation tOols (QUaTRO, Fig. 2), which enable end-user oriented approach to querying both
86
B. Bali´s et al.
repositories of provenance (through PROToS), and experiment data (through external Data Access Service). Both query construction in QUaTRO and provenance representation in PROToS are based on the ontology model of Experiment Information.
John Doe
//*[ local - name() eq ' NewDrugRanking' and ( ( child ::*[ name() = ' executedBy ' and . eq ' John Doe ' ]))]
executedBy
NewDrugRa nking
dateOfBloodSample
2007-06-28 //*[ local - name() eq ' NewDrugRanking' and ( child ::*[ name() = ' usedRuleSet ' and ( @*[ name()= ' rdf : resource ' and ((. eq ' http :// www . virolab . org / onto / drs protos / HIVDB_4_2_7' )) ]) ])]
//*[ local - name() eq ' NewDrugRanking' and ( ( child ::*[ name() = ' dateOfBloodSample ' and . eq ' 2007 - 06- 28' ]))]
usedRuleSet
HIVDB
SELECT id FROM rulesets WHERE name = ‘HIVDB’
4.2.8
SELECT id FROM rulesets WHERE version = ‘ 4. 2. 8’
name
RulSet version
//*[
local - name() eq ' RuleSet ' and ( ( child ::*[ name() = ' vl - data protos : dasId ' and . eq ' cyfronet _mysql : test : id : 2' ]))]
Fig. 3. Sample query tree and its evaluation
QUaTRO provides an easy-to-use graphical user interface. Query construction in QUaTRO amounts to building a query tree which begins with selecting a starting concept which determines the area of interest (for example ‘New Drug Ranking’, ‘Experiment’, ‘Nucleotide Sequence’, ‘Ruleset’). The query form automatically expands and allows to follow properties of the starting concept which can lead to (1) other concepts (in which case the tree can be further expanded), (2) literal values, or (3) database mappings, both (2) and (3) becoming query tree leaves. When the query tree construction is completed, the tree is analyzed in a bottom-up fashion, starting from its leaves and following the edges up to the tree root. Subqueries represented in particular subtrees are evaluated and merged in upper nodes, if feasible. In principle, some subtrees might generate queries to relational databases of experiment data, while others – XQuery queries to the provenance repository. This approach enables queries such as Select all experiments of type ‘Drug ranking’ whose results contained recommendation for ‘Drug X’. The provenance repository allows to select all experiments of type ‘Drug ranking’ which resulted in some drug recommendations. However, the actual results containing detailed descriptions of what drugs were recommended, are not part of provenance, but of actual experiment data which is stored in a database. Only a combined request to provenance repository and data repository will allow to construct queries of this kind. Let us consider the following example provenance query: Select all computations of drug rankings performed by ‘John Doe’ for blood samples taken on Jun-28-2007, and in which rule set ‘HIVDB’ in version 4.2.8 was used. The constructed query tree is shown in Fig. 3, and the corresponding QUaTRO tool web form is presented in
Provenance Querying for End-Users: A Drug Resistance Case Study
87
Fig. 4. Query tree nodes denote either concepts (N ewDrugRanking, RuleSet), or literals (JohnDoe, 2007 − 06 − 28, HIV DB, 4.2.8). The tree edges are one of the following: – Object properties which link to another concept (usedRuleSet); – Datatype properties which link to a literal of a given datatype (executedBy, dateOf BloodSample); – Database properties which denote that a literal they link to is actually stored in a database (e.g. in table T , column C) (name, version). The query is evaluated as shown in Fig. 3. For database values, appropriate SQL queries are constructed. In this case, they return the IDs of rule sets which are compared to IDs stored in the provenance repository (as a property of the RuleSet individuals). This allows us to pick exactly those RuleSet individuals which satisfy the given criteria. Other subtrees are evaluated as XQuery requests to provenance repository and merged in upper-level nodes to minimize the total number of requests.
Fig. 4. Query construction in QUaTRO GUI
6 Conclusion and Future Work We have presented an approach to tracking and querying provenance in which end-users are enabled to construct complex queries in a simple way. Ontologies as a model for provenance proved to be an adequate inter-lingua between: (1) end users who use ontologies as a query language while interacting with a graphical user interface; (2) query tools using the ontologies to represent and evaluate queries; (3) provenance repository in which the ontologies serve as the data model. A unique feature of our approach is the support for subrequests to databases within a query tree. This enables even more detailed queries in which the structure of data items (not only provenance) is explored [3]. As a matter of fact, QUaTRO tools actually can be used to construct pure SQL-based queries thanks to mappings in the data ontology. This feature is also very useful, since the domain researchers often need to build complex queries to extract interesting input data for in silico experiments. Currently, prototypes of PROToS and QUaTRO tools are implemented. They allow to record provenance and to construct queries in the described ‘wizard-based’ manner, starting from an ontology concept and following its properties to build the query tree.
88
B. Bali´s et al.
Future work includes the implementation of distributed architecture of PROToS in order to ensure efficient querying. Most importantly, however, we plan several enhancements related to querying capabilities: – We plan to extend our ontology with reverse relationships. This would allow to issue queries not only in the one-to-many but also in the many-to-one direction. For example, currently one can only query about Experiment which has ExecutionStage, but cannot query directly about ExecutionStages which are part of Experiment. – Additional operators need to be added to QUaTRO, for example the logical or, and the in operator denoting that an attribute may have one value from a set thereof. – Currently, an attribute can be compared only to literal values, but not to the evaluated values of other attributes. We plan to add this enhancement by allowing to explicitly create subqueries within a query, so that attributes could be compared against the result of the evaluated subquery (provided that data types would match). Acknowledgments. This work was supported by EU project Virolab IST-027446 with the related Polish grant SPUB-M and by the Foundation for Polish Science.
References 1. Balis, B., Bubak, M., Pelczar, M.: From Monitoring Data to Experiment Information – Monitoring of Grid Scientific Workflows. In: Fox, G., Chiu, K., Buyya, R. (eds.) Third IEEE International Conference on e-Science and Grid Computing, e-Science 2007, Bangalore, India, December 10-13, 2007, pp. 187–194. IEEE Computer Society, Los Alamitos (2007) 2. Balis, B., Bubak, M., Wach, J.: Provenance Tracking in the Virolab Virtual Laboratory. In: PPAM 2007. LNCS, Springer, Gdansk, Poland (in Print, 2008) 3. Balis, B., Bubak, M., Wach, J.: User-Oriented Querying over Repositories of Data and Provenance. In: Fox, G., Chiu, K., Buyya, R. (eds.) Third IEEE International Conference on eScience and Grid Computing, e-Science 2007, Bangalore, India, December 10-13, 2007, pp. 77–84. IEEE Computer Society, Los Alamitos (2007) 4. Bowers, S., McPhillips, T.M., Lud¨ascher, B., Cohen, S., Davidson, S.B.: A Model for UserOriented Data Provenance in Pipelined Scientific Workflows. In: Moreau, L., Foster, I. (eds.) IPAW 2006. LNCS, vol. 4145, pp. 133–147. Springer, Heidelberg (2006) 5. Goble, C., Roure, D.D., Shadbolt, N.R., Fernandes, A.A.A.: Enhancing Services and Applications with Knowledge and Semantics. In: Foster, I., Kesselman, C. (eds.) The Grid 2: Blueprint for a New Computing Infrastructure, ch. 23, pp. 432–458. Morgan Kaufmann Publishers, San Francisco (2004) 6. Groth, P., Jiang, S., Miles, S., Munroe, S., Tan, V., Tsasakou, S., Moreau, L.: An Architecture for Provenance Systems, University of Southampton, Tech. Rep. (2006) 7. Gubala, T., Balis, B., Malawski, M., Kasztelnik, M., Nowakowski, P., Assel, M., Harezlak, D., Bartynski, T., Kocot, J., Ciepiela, E., Krol, D., Wach, J., Pelczar, M., Funika, W., Bubak, M.: ViroLab Virtual Laboratory. In: Proc. Cracow Grid Workshop 2007. ACC CYFRONET AGH (2008) 8. Moreau, L., et al.: The first provenance challenge. Concurrency and Computation: Practice and Experience 20(5), 409–418 (2007) 9. De Roure, D., Jennings, N., Shadbolt, N.: The Semantic Grid: A future e-Science infrastructure. In: Berman, F., Fox, G., Hey, A.J.G. (eds.) Grid Computing – Making the Global Infrastructure a Reality, pp. 437–470. John Wiley and Sons, Chichester (2003)
Provenance Querying for End-Users: A Drug Resistance Case Study
89
10. Simmhan, Y.L., Plale, B., Gannon, D.: Query capabilities of the Karma provenance framework. Concurrency and Computation: Practice and Experience 20(5), 441–451 (2007) 11. Sloot, P.M., Tirado-Ramos, A., Altintas, I., Bubak, M., Boucher, C.: From Molecule to Man: Decision Support in Individualized E-Health. Computer 39(11), 40–46 (2006) 12. Stankovski, V., Swain, M., Kravtsov, V., Niessen, T., Wegener, D., Kindermann, J., Dubitzky, W.: Grid-enabling data mining applications with DataMiningGrid: An architectural perspective. Future Generation Computer Systems 24(4), 259–279 (2008) 13. Zhao, Y., Wilde, M., Foster, I.T.: Applying the virtual data provenance model. In: Moreau, L., Foster, I. (eds.) IPAW 2006. LNCS, vol. 4145, pp. 148–161. Springer, Heidelberg (2006) 14. Zhao, J., Goble, C., Stevens, R., Turi, D.: Mining Taverna’s Semantic Web of Provenance. Concurrency and Computation: Practice and Experience 20(5), 463–472 (2007) 15. Zhao, J., Wroe, C., Goble, C.A., Stevens, R., Quan, D., Greenwood, R.M.: Using Semantic Web Technologies for Representing E-science Provenance. In: McIlraith, S.A., Plexousakis, D., van Harmelen, F. (eds.) ISWC 2004. LNCS, vol. 3298, pp. 92–106. Springer, Heidelberg (2004)
Integrating and Accessing Medical Data Resources within the ViroLab Virtual Laboratory Matthias Assel1 , Piotr Nowakowski2, and Marian Bubak2,3 1 2
3
High Performance Computing Center, University of Stuttgart, D-70550, Germany Academic Computer Centre CYFRONET AGH, ul. Nawojki 11, 30-950 Krak´ ow, Poland Institute of Computer Science, AGH, al. Mickiewicza 30, 30-059, Krak´ ow, Poland
[email protected],
[email protected],
[email protected]
Abstract. This paper presents the data access solutions which have been developed in the ViroLab Virtual Laboratory infrastructure to enable medical researchers and practitioners to conduct experiments in the area of HIV treatment. Such experiments require access to a number of geographically distributed data sets (residing at various hospitals) with heavy focus on integration and security issues. Scientists conducting virtual experiments need to be able to manipulate such distributed data in a consistent and secure manner. We describe the main components of the Virtual Laboratory framework being devoted to data access and explain how data is processed in the presented environment. Keywords: The Grid, Data access, Virtual laboratories, Data integration, OGSA-DAI, Medical research
1
Introduction and Motivation
The ViroLab Virtual Laboratory is an integrated system of tools for accessing and integrating resources, whose main purpose is to facilitate medical research and treatment in the HIV virology domain as well as other types of research in the general field of medical sciences. The research is carried out in a collaborative working environment using state-of-the-art Grid computing technologies and standards [19] and consisting of distributed computing and data resources deployed at various networked sites. As the complexity of interfacing such resources often presents a steep learning curve for application developers, the main goal of the Virtual Laboratory (VL) is to present a powerful and flexible development environment for virtual experiment developers while preserving ease of use and reusability of the proposed solution, thus allowing transparent and secure access to corresponding underlying infrastructures. A detailed description of the ViroLab Virtual Laboratory design is outside the scope of this paper, but can be found in [21] and [22]. In this paper, we focus on aspects related to data retrieval, integration,, and manipulation in the VL environment. M. Bubak et al. (Eds.): ICCS 2008, Part III, LNCS 5103, pp. 90–99, 2008. c Springer-Verlag Berlin Heidelberg 2008
Integrating and Accessing Medical Data Resources
91
As one can expect from a virtual laboratory for research and treatment in the area of medical sciences, the system must provide access to a range of medical data including genetic, treatment, and drug information. This data, used to conduct experiments in viral drug resistance interpretation and selecting optimal treatment strategies, comes from various hospitals and medical centers being partners in the ViroLab project and is secured against unauthorized access. From the point of view of experiment developers and users, all data records describing HIV subtypes and mutations are equally valuable and should be treated in an analogous manner. However, a problem emerges with achieving a uniform representation of such data (see next section for details). It is therefore the task of the data access component(s) of the ViroLab Virtual Laboratory to integrate data derived from various sources and to enable experiment developers to manipulate this data in a consistent, efficient and straightforward way. Due to the sensitivity and confidentiality of data shared within the virtual laboratory, a very critical issue for developing services that allow access to distributed medical databases concerns the overall security including access control to certain resources (who is able to access which information set) as well as data encryption and integrity of relevant data sets processed by the data access infrastructure. ViroLab meets this important issue by introducing a highly dynamic and flexible environment that guarantees security on several levels using established security principles and technologies as described in [2], to protect the confidential information and to keep the patients privacy. The remainder of this paper is structured as follows: Section 2 contains a description of related work and parallel projects where data access issues are covered. Sections 3 and 4 cover the integration and aggregation of sensitive medical data in the ViroLab project, while section 5 explains how such data can be manipulated by developers of experiments in the presented Virtual Laboratory. Section 6 presents areas of application of the presented technologies and section 7 contains conclusions and closing remarks.
2
Related Work
Data access in the Grid environments has been a subject of study and research for quite some time. Early solutions, such as those employed in batch Grid systems (for instance [16]) relied on replicating data contained in custom-tailored data repositories which were managed by Grid middleware. Prior to performing any calculations, data had to be fetched and staged by a specialized middleware component. Furthermore, when submitting a Grid job, the developer had to specify in advance which data elements (represented by files) were required for the computational task to proceed. Naturally, this was a limiting solution in that it took no notice of structured data storage technologies (such as databases) and did not provide for altering the available input data pool once the job was submitted for processing. Moreover, results had to be collected following the execution of the job and could not typically be stored on the fly as the job progressed. These constraints gave rise to a number of projects aiming at
92
M. Assel, P. Nowakowski, and M. Bubak
standardization and increased flexibility of data access in Grids, the most important of them being OGSA-DAI [1]. The aim of this project is to develop a middleware system to assist with access and integration of data from separate sources via the Grid. The OGSA-DAI Toolkit supports the smooth exposure of various types of data sources such as relational or XML databases on to grids, and provides easy access to them through common Web Service interfaces. OGSADAI is successfully adopted in several research projects such as SIMDAT [20] and BeINGrid [17], and more. We intend to follow up on the achievements of the aforementioned technologies and further adapt them to the needs of medical researchers in the ViroLab environment. It should be noted that a number of other Grid research initiatives exist, which deal with similar data management issues. Of note is the EUResist project [15], which aims at developing a European integrated system for clinical management of antiretroviral drug resistance. Peer-to-peer data storage solutions are being investigated in specific contexts, such as the the SIGMCC framework [8] or GREDIA [6]. Further discussion on data access and integration solutions applied in medical Grids can be found in both [14] and [7] while similar cluster solutions are discussed in [10]. However, while such technologies are aimed at a narrow group of applications, the solution developed in ViroLab is more generic in nature and allows experiment developers to securely access integrated medical data sets as well as ad-hoc databases used for the purposes of specific experiments instead of being focused on a single type of application or use case.
3
Integration of Heterogeneous (Bio)Medical Data Resources into the Laboratory Infrastructure
Accessing a local database is one of the most common and well-known procedures today but dealing with multiple and distributed systems simultaneously still implies lots of integrational work and results quite often in a real challenge for both administrators and developers. Since descriptions of medical symptoms and their diagnosis vary greatly over different countries, as well as that they may vary in their actual details such as additional circumstances to be considered, e.g. for a pregnant woman vs. for a child etc., elegant and efficient workflows need to be defined in order to integrate those heterogeneous data resources. These inconsistencies together with the sensibility and confidentiality of the information [4] shared make this task not only important but in fact a difficult endeavour. The approach chosen within ViroLab based on the development of a middleware system containing a set of virtualization services that hides the distributed and heterogeneous data resources and their internals from the users and guarantees data access in a transparent, consistent and resource-independent way. To facilitate information exchange among participants and to ease the storage of (bio)medical data sets, particularly in the field of HIV analysis and treatment, the ViroLab team members decided to use and set up a specifically developed HIV database management system the RegaDB HIV Data and Analysis Management Environment [12] developed by the Rega Institute of the Katholieke
Integrating and Accessing Medical Data Resources
93
Universiteit Leuven either at each data provider site or at different dedicated locations the so-called collaborative (proxy) databases. RegaDB provides a kind of data storage system including some software tools, which may be installed and managed locally, to store clinical data related to HIV treatment. It aims to support clinicians and researchers in their daily work by delivering a free and open source software solution. For researchers the objective is to offer several tools for HIV sequence analysis and to enable and disburden collaborations between researchers of different hospitals and institutions. Clinicians benefit from this system through the visualization of genetic data, relevant drugs, and algorithms in a well arranged form and the automatic generation of drug resistance interpretation reports. Following the described approaches (having a unified data access point) may alleviate integrational difficulties and ensure beneficial properties for both data providers and medical experts.
Fig. 1. ViroLab data integration architecture
As depicted in Fig. 1, every data provider can either host a collaborative RegaDB installation within their trusted region, the so-called Demilitarized Zone (DMZ), outside their institutional firewall(s) or upload data onto one of the centrally managed collaborative RegaDB proxies installed at some trusted third parties. Direct external access into the hospitals security regions is not required anymore and the existing database system can still be used independently from sharing any data within the virtual laboratory. Additionally, a hospital can also set up a private RegaDB for its daily purposes and internal data management. To actually contribute data to the virtual environment, the established database schemes need to be converted into the RegaDB schema before data can be stored within any of the RegaDB installations. The migration is done by exporting
94
M. Assel, P. Nowakowski, and M. Bubak
data from the original database and converting that data extract through a custom script into the latest schema. This procedure can be conducted repeatedly over time at the discretion of the corresponding database administrator(s) and occurs within each hospital. Data anonymization can also occur during that data conversion or alternatively before transferring data from a private RegaDB onto a collaborative one.
4
Exposing the Aggregated Data Sets
Once the integration of heterogeneous data resources has been realized, the queried data sets need to be somehow aggregated and securely published for making them accessible within different applications and/or systems. As mentioned earlier, a particular set of services is required for dealing with multiple resources simultaneously and for ensuring transparent access to corresponding data storages. This set of services, the so-called Data Access Services (DAS), has been designed and implemented according to the specific needs and requirements for biomedical data and confidential information [4] shared among the laboratory users. Basically, for supporting a wide range of end-user applications and allowing a smooth interaction with several virtual laboratory runtime components, the services capabilities implement standard Web Service interfaces that can be independently used of the underlying infrastructure/technologies and that can be easily extended and modified due to the application developers needs. To provide a certain level of flexibility and reliability, DAS has been separated into stand-alone containers, each serving a specific purpose in the overall services functionality. For exposing and querying single or federated databases, the data handling subsystem is responsible for coordinating all data activities including resource identification, database queries, data consultation and transformation, and finally result message preparation and delivery [3]. Observing data confidentiality and ownership but also guaranteeing a secure message transfer, the security handling module takes existing security standards provided amongst others by the Globus Toolkit [13] or Shibboleth [2], and extends those mechanisms with own highly sophisticated features to meet the requirements for sharing single data sets containing confidential patients information. Principally, additional and stronger authorization mechanisms shall be exploited in order to limit, deny or permit access to different resources in a dynamic and flexible way. Attributes of users including their organization, department, role, etc. are used to administer access rights to resources and services. To explain the complex interplay of the major DAS subsystems (data and security handling) we briefly demonstrate a common use case how one can submit a distributed data query to all available data resources concurrently and how individual results are processed before users finally receive the consolidated output. Typically, doctors want to use the virtual environment for requesting patient information including genetic data such as nucleotide sequences or mutations in order to predict any possible drug resistance for their according case. They simply want to retrieve all relevant information without requiring any specific expertise in computer science. Therefore,
Integrating and Accessing Medical Data Resources
95
the way to get to the data must be kept simple and transparent for them but should be as self-explaining as possible. The capability provided by DAS for submitting such queries requires a standard SQL query as input and then automatically performs the following actions: checks which resources are available; requests data resource information such as database type, keywords, etc. of each available resource and compares the resources keywords (pre-defined by resource owner like patients, mutations, sequences, etc.) to the table names stated in the query. If corresponding matches are found, each resource is sequentially queried using the given statement. Finally, the results are merged and the resource ID is added to each new data row as an additional primary key to uniquely identify the origin of each single data set.
Fig. 2. A typical data access use case within the ViroLab scenario
In Fig. 2, the above-mentioned use case together with the corresponding actions is highlighted again. Each single step - starting with the users request up to the response sent back by the DAS - is depicted within this chain by one specific block. The resource identification, the pure data access, and finally the application-dependent transformation are handled by the data handling module whereas all security operations are carried out by the security handling module in cooperation with the entire security framework deployed within the virtual laboratory. How a doctor can really get to the data and how the DAS is interfaced from other laboratory components in order to interact and in particularly send such queries, is explained in the next section. [11]
96
5
M. Assel, P. Nowakowski, and M. Bubak
Interfacing and Manipulating Medical Data in the Virtual Laboratory
The Data Access Services are an integral part of the ViroLab Virtual Laboratory [9], but it cannot be directly interfaced by the ViroLab user layer. In fact, the intricacies associated with the invocation of complex services, manipulating security credentials, submitting queries and processing the received replies would add undue complexity to the VL scripting language, which is designed to be as simple as possible and contain little to no syntax involved with the actual interoperation with the underlying services. Hence, a separate module of the ViroLab runtime system, called the Data Access Client (DAC), is implemented. The DAC has several important functions: carrying out all communications with the Data Access Services, including user authorization, submission of queries and importing results into the context of the ViroLab experiment scripts; presenting data to experiment developers in a way which can be easily manipulated in the experiment host language [18]; interfacing with external “ad hoc” data sources, which are not aggregated under the Data Access Services (for instance, scratchbook databases and P2P storage frameworks), and finally providing a data manipulation layer tool for the submission and storage of ViroLab experiment results. The Data Access Client is implemented as a JRuby library, which is automatically imported into each experiment script and then, in turn, interfaces with the underlying services such as the Data Access Services. In addition, the interface of the Data Access Client is also exposed directly by the GridSpace Engine (the runtime component of the ViroLab Virtual Library), where it can be utilized by other, external tools which are part of the ViroLab Virtual Laboratory (such as the provenance tracking service). The basic tenet of the Data Access Client is simplicity of use. Therefore, the API offered by the client to scripting developers is as simple as possible. In order to initiate communication with a data source, all the developer has to do is to instantiate an object of the class DACConnector with the proper arguments. It is only necessary to specify the type of data source and the address (URL) at which the source is located. If there are multiple sources deployed at a given address, it is necessary to select one by providing its schema name. Fig. 3 presents interaction between the experiment developer and the data access client. Once a data source object is instantiated, the user can use it to import data from the data source, manipulate this data and write data back to the source, if the source supports this functionality. Queries can be formulated in SQL, for standalone data sources and databases aggregated under DAS. Work on integrating XQuery for XML-based data sources is ongoing. The API of the DAC, along with the GSEngine itself, is described in [9]. Thus, the Data Access Client is fully integrated with the JRuby API presented to experiment developers. As data coming from hospital sources is typically secured against unauthorized access, the Data Access Client must support the authentication methods in use by the Data Access Services (conforming to the overall ViroLab policy on data handling). Since authentication and authorization security in ViroLab
Integrating and Accessing Medical Data Resources
97
Fig. 3. Interfacing external data resources via DAC
is provided by the Shibboleth attribute-based framework, DAC must authorize itself with DAS prior to retrieval of actual data. In this respect, the DAC relies on the GridSpace Engine (the runtime component of the Virtual Laboratory) to acquire the security handle of the current user, then presents this handle to the Data Access Services so that proper authorization can take place. This process is entirely transparent from the point of view of the experiment user and it does not require the experiment developer to insert additional security-related code in the experiment script.
6
Results
At present, the ViroLab Virtual Laboratory is being applied to a number of applications involving research on the HIV virus. A list of experiments being conducted with the use of the presented solutions can be found at [22]. A representative application in this scope is the “From Genotype to Drug Resistance” framework. This application starts with aggregated data representing viral genotype, then matches this genotype to a given set of rules regarding the susceptibility of the virus to various drugs. In the end, this application is able to determine the most effective course of treatment for a given virus mutation and recommend drugs to be administered to a given patient. In order to ascertain viral susceptibility to various drugs, this application relies on the presented data access subsystem to interface with participating hospitals, securely collect viral genotype data and present it to experiment developers in a uniform manner,
98
M. Assel, P. Nowakowski, and M. Bubak
using a common schema. This process is further described in [12] and is now being successfully applied in the ViroLab project [21].
7
Summary and Future Work
The presented data access solutions form an integral part of the ViroLab Virtual Laboratory and enable medical researchers to conduct studies in the field of viral diseases treatment as well as other associated areas of medical science. Current work on the Data Access Client focuses on extending its functionality to provide a backend for the submission, storage and retrieval of VL experiment results. This requires interfacing with WebDAV data storage repositories, as well as with the ProToS Provenance Tracking System [5] which will be used to store metadata describing such results as susceptibility of the HIV virus to various forms of treatment. Once complete, this extension will provide a layer of persistence to all data generated with the use of the ViroLab Virtual Laboratory. We are also conducting research into a potential uniform data schema for all types of data sources used in the ViroLab Virtual Laboratory. Future developments planned for the Data Access Services will mainly enhance reliability and scalability of the individual services capabilities as well as increase the data submission performance through processing queries in parallel instead of submitting requests one after another. Finally, facilitating the management of access control policies, the corresponding capabilities of the security handling unit will be integrated with a nice and user-friendly graphical user interface allowing the fast and dynamic generation, change, and upload of access control policies for certain data resources in order to provide more flexibility in administering distributed resources within a collaborative working environment. Acknowledgements: This work is supported by the EU project ViroLab IST027446 and the related Polish SPUB-M grant, as well as by the EU IST CoreGrid project.
References 1. Antonioletti, M., Atkinson, M.P., Baxter, R., Borley, A., Chue Hong, N.P., Collins, B., Hardman, N., Hume, A., Knox, A., Jackson, M., Krause, A., Laws, S., Magowan, J., Paton, N.W., Pearson, D., Sugden, T., Watson, P., Westhead, M.: The Design and Implementation of Grid Database Services in OGSA-DAI. Concurrency and Computation: Practice and Experience 17(2-4), 357–376 (2005) 2. Assel, M., Kipp, A.: A Secure Infrastructure for Dynamic Collaborative Working Environments. In: Proceedings of the 2007 International Conference on Grid Computing and Applications (GCA 2007), Las Vegas, USA (June 2007) 3. Assel, M., Krammer, B., Loehden, A.: Data Access and Virtualization within ViroLab. In: Proceedings of the 7th Cracow Grid Workshop 2007, Cracow, Poland (October 2007) 4. Assel, M., Krammer, B., Loehden, A.: Management and Access of Biomedical Data in a Grid Environment. In: Proceedings of the 6th Cracow Grid Workshop 2006, Cracow, Poland, October 2006, pp. 263–270 (2006)
Integrating and Accessing Medical Data Resources
99
5. Balis, B., Bubak, M., Pelczar, M., Wach, J.: Provenance Tracking and Querying in ViroLab. In: Proceedings of Cracow Grid Workshop 2007, Krakow, Poland (December 2007) 6. Bubak, M., Harezlak, D., Nowakowski, P., Gubala, T., Malawski, M.: Appea: A Platform for Development and Execution of Grid Applications e-Challenges Expanding the Knowledge Economy. IOS Press, Amsterdam (2007) ISBN 978-158603-801-4 7. Cannataro, M., Guzzi, P.H., Mazza, T., Tradigo, G., Veltri, P.: Using ontologies for preprocessing and mining spectra data on the Grid. Future Generation Computer Systems 23(1), 55–60 (2007) 8. Cannataro, M., Talia, D., Tradigo, G., Trunfio, P., Veltri, P.: SIGMCC: A system for sharing meta patient records in a Peer-to-Peer environment. Future Generation Computer Systems 24(3), 222–234 (2008) 9. Ciepiela, E., Kocot, J., Gubala, T., Malawski, M., Kasztelnik, M., Bubak, M.: GridSpace Engine of the Virolab Virtual Laboratory. In: Proceedings of Cracow Grid Workshop 2007, Krakow, Poland (December 2007) 10. Frattolillo, F.: Supporting Data Management on Cluster Grids. Future Generation Computer Systems 24(2), 166–176 (2008) 11. Gubala, T., Balis, B., Malawski, M., Kasztelnik, M., Nowakowski, P., Assel, M., Harezlak, D., Bartynski, T., Kocot, J., Ciepiela, E., Krol, D., Wach, J., Pelczar, M., Funika, W., Bubak, M.: ViroLab Virtual Laboratory. In: Proceedings of Cracow Grid Workshop 2007, Krakow, Poland (December 2007) 12. Libin, P., Deforche, K., Van Laethem, K., Camacho, R., Vandamme, A.-M.: RegaDB: An Open Source. In: Community-Driven HIV Data and Analysis Management Environment Fifth European HIV Drug Resistance Workshop, Cascais, Portugal, March 2007, vol. 2007-2, published in Reviews in Antiretroviral Therapy (2007) 13. Foster, I., Kesselman, C., Nick, J., Tuecke, S.: The Physiology of the Grid: An Open Grid Services Architecture for Distributed Systems Integration. Globus Project (2002), http://www.globus.org/research/papers/ogsa.pdf 14. Marovic, B., Jovanovic, Z.: Web-based grid-enabled interaction with 3D medical data. Future Generation Computer Systems 22(4), 385–392 (2006) 15. Zazzi, M., et al.: EuResist: exploration of multiple modeling techniques for prediction of response to treatment. In: Proceedings of the 5th European HIV Drug Resistance Workshop, European AIDS Clinical Society (2007) 16. Enabling Grids for E-sciencE, http://public.eu-egee.org/ 17. Gridipedia: The European Grid Marketplace, http://www.gridipedia.eu/ 18. JRuby: A reimplementation of the Ruby language in pure Java, http://jruby.codehaus.org/ 19. The Open Grid Forum, http://www.gridforum.org/ 20. The SIMDAT project, http://www.scai.fraunhofer.de/ 21. The ViroLab Project Website, http://www.virolab.org/ 22. The ViroLab Virtual Laboratory Web Portal, http://virolab.cyfronet.pl/
Optimisation of Asymmetric Mutational Pressure and Selection Pressure Around the Universal Genetic Code Pawel Mackiewicz, Przemyslaw Biecek, Dorota Mackiewicz, Joanna Kiraga, Krystian Baczkowski, Maciej Sobczynski, and Stanislaw Cebrat Department of Genomics, Faculty of Biotechnology, University of Wrocaw, ul. Przybyszewskiego 63/77, 51-148 Wrocaw, Poland
[email protected] http://www.smorfland.uni.wroc.pl/
Abstract. One of hypotheses explaining the origin of the genetic code assumes that its evolution has minimised the deleterious effects of mutations in coded proteins. To estimate the level of such optimization, we calculated optimal codes for genes located on differently replicating DNA strands separately assuming the rate of amino acid substitutions in proteins as a measure of code’s susceptibility to errors. The optimal code for genes located on one DNA strand was simultaneously worse than the universal code for the genes located on the other strand. Furthermore, we generated 20 million random codes of which only 23 were better than the universal one for genes located on both strands simultaneously while about two orders of magnitude more codes were better for each of the two strands separately. The result indicates that the existing universal code, the mutational pressure, the codon and amino acid compositions are highly optimised for the both differently replicating DNA strands. Keywords: genetic code, error minimization, adaptation, asymmetric mutational pressure, amino acid usage, leading strand, lagging strand.
1
Introduction
There are three main groups of hypotheses trying to explain the origin and evolution of the genetic code: chemical, historical and adaptive (see for review [1,2,3]). The first one assumes some structural and physicochemical relationships and interactions between stretches of RNA (codons, anticodons, reversed codons, codon-anticodon double helices etc.) and coded amino acids [4,5,6]. So far, a wellconfirmed relationship has been found for seven of eight amino acids (see for review: [7]). The second hypothesis states that codons in the simpler, ancestral genetic code coded for only a small subset of amino acids and later, along with the evolution of biochemical organization of primary cells, newly synthesised amino acids took over the codons from the amino acids to which they were related in biosynthetic pathways [8,9,10,11,12]. The third group of hypotheses assumes that the codon assignments could initially vary and it was the selection pressure M. Bubak et al. (Eds.): ICCS 2008, Part III, LNCS 5103, pp. 100–109, 2008. c Springer-Verlag Berlin Heidelberg 2008
Optimisation of Asymmetric Mutational Pressure
101
which optimized the code to reduce harmful effects of mutations occurring during replication and transcription (lethal-mutation hypothesis) and to minimize errors during translation process (translational-error hypothesis), [6,13,14,15,16,17,18]; see for review: [19]. Primordial organisms whose code reduced the deleterious effects of errors won eventually the competition and survived. During further evolution connected with the increase of genome size, the genetic code was frozen [20] and it was not possible to re-interpret the meaning of any codon because the whole complex translational machinery was already adapted to the code and every such change would have catastrophic consequences for the organisms. Nevertheless, some optimization took place already in the first stages of the genetic code evolution, probably before ,,freezing”. One optimization results directly from the simple structural relationships between nucleotides in the double helix - one large and one small nucleotide fit better to form a pair. Thus, transitions which happen with much higher frequency than transversions have much less deleterious mutational effect than transversions. Actually, it was shown that the genetic code is well adapted to the transition/transversion bias [16]. Assuming the adaptive hypothesis of the genetic code evolution we expect that if the genetic code was ,,frozen” at an early stage of evolution when genomes were relatively small, it is the code itself that imposes further restrictions on the mutational pressure, amino acid and codon usage, and the translational machinery in order to minimize the deleterious effects of mutations. Thus, the mutational pressure cannot be completely random, as one could claim, but it is highly biased and it cooperates with the selection pressure on amino acid and codon usage to minimise the harmful effects of nucleotide substitutions. One of the premises is that the most ,,mutable” codons in the genome correspond to the least-represented amino acids [21,22]. Monte Carlo simulations showed that changing of parameters of any of the three counterparts of the coding functions: relative nucleotide substitution rates in the mutational pressure, the way the genetic code is degenerated or the amino acid composition of proteomes increases the deleterious effects of mutations in studied genomes [23]. However, it is not simply to optimise the mutational pressure. The mutational pressures acting on the differently replicating (leading or lagging) DNA strands show different patterns of nucleotide substitutions and leads to the strong bias (asymmetry) in nucleotide composition between the two DNA strands observed in almost all bacterial chromosomes [24,25,26,27,28,29] and long regions of eukaryotic chromosomes [30,31,32]. Therefore, genes are subjected to different mutational pressures depending on their location on the differently replicating DNA strands, which affects their codon usage and amino acid composition of coded proteins [33,34,35,36]. Although several simulation studies about the optimization of the genetic code were carried out [14,15,16,17,18], none of them considered the real and global genomic aspect of this optimization, i.e. the real mutational pressure, gene content, codon and amino acid usage. Zhu et al. [37] found that the universal genetic code appears to be less optimised for error minimization when specific codon
102
P. Mackiewicz et al.
usage for particular species was considered. However, the authors applied the same and simple mutation pattern for all species in this analysis, which do not fit to the specific codon usage and they concluded that the specific mutation pattern should be taken into account. In this paper we considered the optimization of the genetic code in the context of the two different mutational pressures specific for the leading and lagging DNA strands acting on the asymmetric genome of Borrelia burgdorferi. This genome shows the strongest asymmetry between the leading and lagging strands detected so far [33,34,38] thus, it is suitable for such studies.
2
Materials and Methods
All our analyses were performed on the B. burgdorferi genome [39] whose sequence and annotations were downloaded from GenBank [40]. Based on these data we calculated the content of codons, amino acids and codon usage for 564 leading strand genes and 286 lagging strand genes. The mutational pressure characteristic for this genome was found by Kowalczuk et al. [41]. The pressure was described by the nucleotide substitution matrices (Mn ) as follows: ⎡ ⎤ 1 − pRA pRAC pRAG pRAT ⎢ pRCA ⎥ 1 − pRC pRCG pRCT ⎥ Mn = ⎢ ⎣ pRGA ⎦ pRGC 1 − pRG pRGT pRT A pRT C pRT G 1 − pRT where: p is the overall mutation rate; Rij for i, j = A, C, G, T and i = j is the relative rate of substitution of the nucleotide i by the nucleotide j; Ri (in the diagonal) for i = A, C, G, T represents the relative substitution rate of nucleotide i by any of the other three nucleotides. Ri = Rij i=j
and RA + RC + RG + RT = 1. For p = 1 the matrix describing the leading strand mutational pressure is: ⎡ ⎤ 0.808 0.023 0.067 0.103 ⎢ 0.070 0.621 0.047 0.261 ⎥ ⎥ Mnleading = ⎢ ⎣ 0.164 0.015 0.706 0.116 ⎦ 0.065 0.035 0.035 0.865 The matrix represents the most probable pure mutational pressure associated with replication acting on the leading strand. Because DNA strands are complementary, the mutational pressure acting on the lagging strand is a kind of the mirror reflection of the pressure exerted on the leading strand, e.g. RGA for the leading strand corresponds to RCT for the lagging strand etc. In our analyses we have assumed p = 10−8 which approximately corresponds to the observed number of substitutions in a bacterial genome per nucleotide per generation [42].
Optimisation of Asymmetric Mutational Pressure
103
The codon substitution matrix (Mc ) containing relative rate of substitutions of one codon by another one was derived from the nucleotide substitution matrix (Mn ). The Mc is the Kronecker product of three Mn matrices: Mc = Mn ⊗ Mn ⊗ Mn . For example, the substitution rate of codon GCA to codon CTA c 2 equals RGCA→CT A = p RGC RCT (1 − pRA ). In the Mc each row contains the substitution rates for one of 64 codons to another one: ⎡ ⎤ c c c c RAAA→AAC RAAA→AAG ... RAAA→T RAAA→AAA TT c c c c ⎢ RAAC→AAA ⎥ RAAC→AAC RAAC→AAG ... RAAC→T TT ⎥ ⎢ c c c c ⎢ RAAT ⎥ R R ... R →AAA AAT →AAC AAT →AAG AAT →T T T ⎥ Mc = ⎢ ⎢ .. ⎥ .. .. . . .. .. ⎣ . ⎦ . . RTc T T →AAC RTc T T →AAG ... RTc T T →T T T RTc T T →AAA c where: Rn→m for indices of codons n, m ∈ {1..64} represents the relative rate of substitution of codon n by codon m. Each row of Mc was multiplied by the codon usage of a given codon Un (i.e. relative frequency of a codon among other synonymous codons coding the same amino acid or stop codon) giving the Mu matrix: ⎡ ⎤ c c c UAAA RAAA→AAA UAAA RAAA→AAC ... UAAA RAAA→T TT c c c ⎢ UAAC RAAC→AAA ⎥ UAAC RAAC→AAC ... UAAC RAAC→T TT ⎥ ⎢ c c c ⎢ UAAT RAAT UAAT RAAT →AAC ... UAAT RAAT →T T T ⎥ →AAA Mu = ⎢ ⎥ ⎢ .. ⎥ .. .. .. ⎣ . ⎦ . . .
UT T T RTc T T →AAA
UT T T RTc T T →AAC
UT T T RTc T T →T T T
...
where: Un stands for codon usage of codon n, where n ∈ {1..64}. To obtain the amino acid substitution matrix (Ma ) containing relative rates of substitutions of one amino acid or stop by another, the respective elements of Mu matrix were summed up, which gives the matrix of amino acids (and stops) substitution: ⎡ ⎢ ⎢ ⎢ Ma = ⎢ ⎢ ⎣
a RAla→Ala a RArg→Ala a RAsn→Ala .. . RVa al→Ala
a RAla→Arg a RArg→Arg a RAsn→Arg .. . RVa al→Arg
a RAla→Asn a RArg→Asn a RAsn→Asn .. . RVa al→Asn
... ... ... .. ...
.
a RAla→V al a RArg→V al a RAsn→V al .. . RVa al→V al
⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦
a where: Rp→q for p, q ∈ {1..21} represents the relative rate of substitution of amino acid (or stop) p by amino acid q. The sum of each row of Ma gives the rate of substitution of amino acid p (or stop) p to another: a Rp→q . Rpa = q=p
Such calculations were carried out for the leading strand data and for the lagging strand data separately.
104
3
P. Mackiewicz et al.
Results and Discussion
In order to estimate how the genetic code and the mutational pressures are optimized for differently replicating strands, we considered the number of substituted amino acids (and stops). Therefore we multiplied each rate of substitution of a given amino acid Rpa by the number Ap of this amino acid in the coded proteins and summed the products: SA =
21
(Ap Rpa ).
p=1
In our consideration we applied the number of substituted amino acids instead of fraction because we wanted to analyse the genetic code optimization in the context of the whole genome including the bias between the numbers of the leading and lagging strand genes. For constant Rpa and Ap , SA reaches the minia a > Rp+N i.e. when mum if Ap < Ap+1 < Ap+N and simultaneously if Rpa > Rp+1 Ap and SA are negatively correlated. In other words the total cost of mutations is lower if the rate of mutation is higher for the less frequent residues than for the more frequent ones. Interestingly, Ap and SA calculated for the real genome data show statistically significant negative correlation (Fig. 1) that suggests a tendency to minimization of amino acid substitutions in the real genome. B
8.E-09
r = -0.705; p=0.0005
1.E-08
r = -0.720; p=0.0003
9.E-09 a p
7.E-09
substitution rate R
substitution rate R
a p
A
6.E-09
5.E-09
4.E-09
8.E-09 7.E-09 6.E-09 5.E-09 4.E-09
3.E-09
3.E-09 0
5000
10000
15000
number of amino acid A p
20000
0
3000
6000
9000
12000
number of amino acid A p
Fig. 1. Correlation between substitution rates Rpa and the number of amino acids Ap for the leading strand (A) and for the lagging strand (B) data
However, it is possible to find such ascription of amino acids to codons (i.e. to elaborate a new genetic code) which is better optimized