MOUNTAIN VIEW, CA January 15 -18,...

199
Developing the Next Generation of MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University of Texas at El Paso Florida International University at Miami New Mexico State University Texas A & M University at Corpus Christi California State University at Dominguez Hills University of Houston - Downtown University of Puerto Rico at Mayaguez HISPANICS IN COMPUTING COMPUTING ALLIANCE OF HISPANIC-SERVING INSTITUTIONS RETAINING ADVANCING RECRUITING PROCEEDINGS CAHSI is funded by NSF Grant #CNS-0540592

Transcript of MOUNTAIN VIEW, CA January 15 -18,...

Page 1: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Developing the Next Generation of

MOUNTAIN V IEW, CAJanuary 15 -18, 2009

Leaders Through Mentoring

University of Texas at El Paso

Florida International University at MiamiNew Mexico State University

Texas A & M University at Corpus Christi

California State University at Dominguez Hills

University of Houston - DowntownUniversity of Puerto Rico at Mayaguez

HISPANICS IN COMPUTING

COMPUTING ALLIANCE OF HISPANIC-SERVING INSTITUTIONS

RETAINING ADVANCINGRECRUITING

PROCEEDINGS

CAHSI is funded by NSF Grant #CNS-0540592

Page 2: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Table of Contents  

 

 

AGENDA ................................................................................................................. ii

SPEAKER BIOS .................................................................................................... vi

STUDENT PANELS ............................................................................................... x

DEVELOPMENT WORKSHOPS ..................................................................... xiii

LIST OF SHORT PAPERS ................................................................................. xv

SHORT PAPERS .............................................................................................. 1-181 Posters available online at: http://cahsi.org/StudentPosterSessions/ThirdAnnualMeeting

Page 3: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Developing the Next Generation of Leaders Through Mentoring

ii

6:00a – 9:00a Continental Breakfast at the Sofitel Hotel Sofitel, VerandaRoom

8:00a – 12:00p All Hands Meeting Sofitel, ChampagneRoom 2

Board of Advisors Meeting (Closed meeting)

1:30p – 4:00p Workshop One: Applying to Graduate School and Scholarships Speakers: Michele Lezama, Executive Director of The National GEM Consortium

Jacqueline Thomas, National Recruiter for the National GEM Consortium

Paco Flores, Program Coordinator for Promotion and Outreach at the Hispanic Scholarship Fund

Sofitel, ChampagneRooms 1 and 3

4:30p Bus (A) Departs from the Sofitel Hotel to Google Headquarters

5:00p Bus (B) Departs from the Sofitel Hotel to Google Headquarters

6:00p – 9:00p Student Poster Session and Reception: Welcome: Alan Eustace, Google Senior Vice President,

Engineering and Research

Google

9:00p Bus (A) Departs from Google Headquarters to the Sofitel Hotel

9:30p Bus (B) Departs from Google Headquarters to the Sofitel Hotel

1:00p - 4:00p

1:30p - 4:00p

Thursday, January 15 Student Workshop and Poster Sessions Location

Sponsored by:

M o u n t a i n V i e w , C A

CAHSI 2009 ANNUAL MEETINGCOMPUTING ALLIANCE OF HISPANIC SERVING INSTITUTIONS

Page 4: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Developing the Next Generation of Leaders Through Mentoring

iii

6:00a – 8:30a Continental Breakfast at the Sofitel Hotel Sofitel,

Veranda Room 8:00a Bus (A) Departs from the Sofitel Hotel to Google

Headquarters

8:30a Bus (B) Departs from the Sofitel Hotel to the Google Headquarters

9:00a – 9:30a

Introduction and Overview of CAHSI:

Ann Q. Gates, PI CAHSI

Google

9:30a – 10:00a Welcome: Juan Vargas, University Relations Manager at Google; Professor, Computer Science and Engineering, University of South Carolina

10:00a – 11:00a Keynote Address: Dan Atkins, Kellog Professor Community Information, University of Michigan, Past Director of the Office of Cyberinfrastructure, National Science Foundation

11:00a – 11:15a

Break

11:15a – 12:45a Panel: Mentoring Lessons Shared Panelists: Katy Dickinson, Director and CTO, Sun

Microsystems Dilma da Silva, Researcher, IBM T.J. Watson Research Center Gaby Aguilera, Software Engineer, Google Amie Aldana, Director of Programs and Partnerships, MentorNet

12:45p – 1:15p Session: Active Mentoring Part One Luis Martinez, Scripps Research Institute, Florida

1:15p – 3:00p

Lunch Google Tour (Hispanic Googlers)

Google Cafeteria

3:00p – 4:00p Session: Active Mentoring Part Two Luis Martinez, Scripps Research Institute, Florida

Open Forum Discussion: Expanding CAHSI Collaborations Moderator: John Fernandez, Co-PI CAHSI

Student Panel One: Challenges that Female Students Face in the Computing Undergraduate Studies

5:15p Bus (A) Departs from Google to the Sofitel Hotel 5:45p Bus (B) Departs from Google to the Sofitel Hotel

Friday, January 16 CAHSI Annual Meeting Location

Sponsored by:

M o u n t a i n V i e w , C A

CAHSI 2009 ANNUAL MEETINGCOMPUTING ALLIANCE OF HISPANIC SERVING INSTITUTIONS

4:00p - 5:00p

4:00p - 5:00p

Page 5: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Developing the Next Generation of Leaders Through Mentoring

iv

1:15p – 2:15p Lunch Cafeteria

2:15p – 3:45p Workshop Five: Industry and Academic Research: Are They Different Beasts? Presenter: Sandra Ramos Thuel, Alcatel Lucent Target Audience: Students and Faculty

Google

3:45p – 4:00p Break

4:00p – 5:15p Workshop Five: Industry and Academic Research: Are They Different Beasts? (Cont.)

5:15p Bus (A) Departs from Google Headquarters to the Sofitel Hotel

5:45p Bus (B) Departs from Google Headquarters to the Sofitel Hotel

6:00a – 7:30a Continental Breakfast Sofitel, Veranda Room

7:00a Bus (A) Departs from the Sofitel Hotel to Google Headquarters

7:30a Bus (B) Departs from the Sofitel Hotel to Google Headquarters

Student Panel Two: Reshaping the Image of ComputingTarget Audience: Undergraduate Students

Google

Workshop Two: Algorithm Partitioning for Distributed Hardware ArchitecturesPresenter: Rafael Arce, UPR Río PiedrasTarget Audience: Graduate Students and Faculty

Google

9:30a – 9:45a

11:00a – 11:15a

Break

Break

Workshop Two: Algorithm Partitioning for Distributed Hardware Architectures (Continued)

Google

Workshop Three: Becoming a CAHSI AdvocatePresenters: Ann Q. Gates, CAHSI

Luis Martinez, Scripps Research InstituteTarget Audience: Undergraduate Students, Student

Advocates, and Faculty Advocates

Google

11:15a – 1:15p Workshop Four: Selling Yourself and Your IdeasPresenters: Cecilia Aragon, Lawrence Berkeley Nat’l Lab Dilma da Silva, IBM T.J. Watson Research Gilda Garreton, Sun Microsystems Nayda Santiago, UPR Mayaguez (CAHSI)Target Audience: Students and Faculty

9:45a - 11:00a

1:30p - 4:00p

8:00a - 9:30a

8:00a - 9:30a

9:45a - 11:00a

Saturday, January 17 Development Workshops Location

Sponsored by:

M o u n t a i n V i e w , C A

CAHSI 2009 ANNUAL MEETINGCOMPUTING ALLIANCE OF HISPANIC SERVING INSTITUTIONS

Page 6: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Developing the Next Generation of Leaders Through Mentoring

v

6:00a – 7:30a Continental Breakfast at the Sofitel Hotel Sofitel,

Veranda Room 7:30a Bus departs from the Sofitel Hotel to Google Headquarters

8:00a – 9:00a Student Panel Three: Build Bridges and Wire up Your Career

Google

9:00a – 10:00a Student Panel Four: Creativity meets no bounds: Defeating the Myth of the Cave

10:00a – 10:15a

Break

10:15a – 11:45a Workshop Six: Data Management Techniques in Cyberspace Presenter: Manuel Rodriguez, UPR Mayaguez Target Audience: Students and Faculty

11:45a – 12:00p

Break

12:00p – 1:15p Workshop Six: Data Management Techniques in Cyberspace (Continued)

1:15p Lunch Transportation will be available to SFO airport

Sunday, January 18 Development Workshops Location

Sponsored by:

M o u n t a i n V i e w , C A

CAHSI 2009 ANNUAL MEETINGCOMPUTING ALLIANCE OF HISPANIC SERVING INSTITUTIONS

Page 7: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

vi

Speaker Bios

GABY AGUILERA joined Google in 2005 after receiving a Masters in Computer Science from UTEP. While at Google, Gaby has participated in several scholarship committees to recognize women and minorities in engineering and represented Google at the Grace Hopper conference for women in computing. She has contributed to a variety of products at Google and currently works on testing the video infrastructure. Gaby enjoys learning about the interaction between technology, education and society. In her off time, she enjoys teaching and organizing English classes for migrant workers. Gaby has received her BS from the University of Portland and her MS from the University of Texas at El Paso.

AMIE ALDANA is the Assistant Director of Programs and Partnerships at MentorNet, the E-Mentoring Network for Diversity in Engineering and Science. She is responsible for directly supporting the participants in the One-on-One Mentoring Program as well as working in collaboration with MentorNet’s numerous sponsors and partners. As a chemistry major who later turned towards the social sciences, she understands on a first hand basis the leaky STEM pipeline and the importance of mentoring throughout postsecondary education. She became actively involved with social justice and diversity issues as an undergraduate at Pomona College while serving as an intern at the Asian American Resource Center and as a mentor in the Asian

American Mentoring Program. She is especially interested in mentoring and equity issues in the workforce.

DR. CECILIA ARAGON is a Staff Scientist in the Computational Research Division at Lawrence Berkeley National Laboratory. Her research involves developing collaborative visual interfaces to foster scientific insight, and her research areas encompass visualization, image processing, visual analytics, and human-computer interaction. Born in the U.S. of immigrant parents, Aragon received her Ph.D. in computer science from the University of California, Berkeley and her B.S. in mathematics from the California Institute of Technology. Prior to holding her current appointment, she was a computer scientist at NASA Ames Research Center for nine years, and before that, the founder and CEO of a small aviation company, an air show and test pilot, aerobatic champion, and medalist at the World Aerobatic Championships, the Olympics

of aviation. She is the only Latina ever to win a spot on the United States Aerobatic Team. She has over 20 years of experience in the computing field, and has held positions in industry, academia, and government. She is the author of numerous publications in peer-reviewed conferences and jouroanls, and has received numerous awards for her work. Aragon is active in supporting diversity in computing. She is a founding member of Latinas in Computing and a board member of the Computing Research Association’s Committee on the Status of Women in Computing Research (CRA-W).

DR. RAFAEL A. ARCE-NAZARIO received the B.S. degree in Computer Engineering from the University of Puerto Rico – Mayagüez (UPRM), in 1992, the M.Sc. degree in Electrical Engineering from the University Wisconsin - Madison, in 1993, and the Ph.D. degree in Computing and Information Science and Engineering from UPRM, in 2008. He is assistant professor in the Department of Computer Science, University of Puerto Rico – Río Piedras. His research interests include electronic design automation, design and implementation of algorithms, and reconfigurable computing.

DR. DANIEL E. ATKINS is a Professor in the School of Information and in the Department of Electrical and Computer Engineering at the University of Michigan (UM), Ann Arbor. Beginning September 2008 he will become the W. K. Kellogg Professor of Community Informatics. Effective September 1, 2008, he also accepted a part-time position at the Associate Vice-President for Research Cyberinfrastructure at the University of Michigan. From June 2006 to June 2008 he was on leave from the university to serve at the National Science Foundation as the inaugural Director of the Office of Cyberinfrastructure (http://nsf.gov/oci/). He was the 2008 winner of the Paul Evan Peters Award from the Coalition of Networked Information, Association of Research

Page 8: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

vii

Libraries, and EDUCAUSE. The award recognizes notable, lasting achievements in the creation and innovative use of information resources and services that advance scholarship and intellectual productivity through communication networks. Previous award recipients include Paul Ginsparg (2006), Brewster Kahle (2004), Vinton Cerf (2002), and Tim Berners-Lee (2000).

DR. DILMA DA SILVA is a researcher at the IBM T. J. Watson Research Center, in NY. She manages the Advanced Operating Systems group. She received her PhD in Computer Science from Georgia Tech in 1997. Prior to joining IBM, she was an Assistant Professor at University of Sao Paulo, Brazil. Her research in operating systems addresses the need for scalable and customizable system software. She has also worked in parallel computing, mobile computing, and software engineering. Outside work, some of her passions are reading novels, knitting, and traveling. More information can be found at www.research.ibm.com/people/d/dilma. KATY DICKINSON is the Director, Business Process Architecture, for Sun Microsystems' Chief Technologist's Office (CTO). Her specialty is acting as a change agent to resolve persistent and complex organizational problems. Katy has worked for Sun since 1984 in Engineering, Marketing, Quality, Operations, Legal, and Sun Labs. Katy has managed SEED, Sun's worldwide Engineering mentoring program, since 2001. 1992-2004 she was a lecturer and reviewer for the University of California at Berkeley's Engineering-110 ("Venture Design: The Start-up Company") class. She was graduated from U.C. Berkeley with a BA in English with high honors and distinction. Katy is the mother of two teenagers, a boy in High School and a girl at Carnegie Mellon University.

DR. ALAN EUSTACE is one of Google's senior vice presidents of engineering. He joined Google in the summer of 2002. Prior to Google, Alan spent 15 years at Digital/Compaq/HP's Western Research Laboratory where he worked on a variety of chip design and architecture projects, including the MicroTitan Floating Point unit, BIPS – the fastest microprocessor of its era. Alan also worked with Amitabh Srivastava on ATOM, a binary code instrumentation system that forms the basis for a wide variety of program analysis and computer architecture analysis tools. In addition to directing Google's engineering efforts, Alan is actively involved in a number of Google's community-related activities such as The Second Harvest Food Bank and the Anita

Borg Scholarship Fund. Alan is an author of 9 publications and holds 10 patents. He earned a Ph.D. in computer science from the University of Central Florida.

DR. JOHN D. FERNANDEZ is Associate Professor of Computer Science, Executive Member of the NSF BPC Computing Alliance of Hispanic Serving Institutions, TAMUCC Director of Computer Science Recruiting, PI of the NSF MII grant and PI or SP on other state and federal grants. He is a Board Member of the Corpus Christi Digital Community Development Corporation. Dr. Fernandez has a Ph.D. from Texas A&M University and an M.S. from West Virginia University. He completed his B.A. in mathematics at Texas A&M –Kingsville. Dr. Fernandez is a native South Texan who spent 20 years in the U.S. Air Force, finishing his career at the Pentagon while serving as the Assistant for Computer Science to Dr. David S. C. Chu, Assistant Secretary of Defense for Program

Analysis and Evaluation. Dr. Fernandez held several executive positions in industry, including serving as CEO of Operational Technologies Corporation, an engineering consulting firm with government and business contracts.

PACO FLORES is the Program Coordinator for Promotion and Outreach at the Hispanic Scholarship Fund (HSF). In this role, he speaks to students and administrators in individual and mass communications to ensure that Latinos around the country are aware of the opportunities provided by the Hispanic Scholarship Fund and the Gates Millennium Scholars (GMS) Program. Paco also heads a Gates initiative geared towards increasing the college enrollment rate of minority male students. Paco graduated from the University of California, Santa Barbara with in Psychology and History. Born and raised in California, he lives and works in San Francisco.

Page 9: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

viii

DR. GILDA GARRETON is a researcher at Sun Microsystems Laboratories and her main researchgilda-garreton1.jpg focuses on VLSI CAD algorithms. She received her B.A. and Engineering degree from the Catholic University of Chile (PUC) and her Ph.D. from the Swiss Institute of Technology, Zurich (ETHZ). She joined Sun Microsystems Laboratories in 2004 and previously worked at universities and in the financial industry in Chile and Switzerland. Gilda is a mentor at Sun and MentorNet and she co-founded in 2006 the community Latinas in Computing (LiC) whose main goal is to promote leadership and professional development among Latinas in the field. During her free time, she enjoys family time and volunteer work. Apart from being part

of technology committee at her son's primary school, she is a member of Engineers Without Borders US, chapter Sun where she leads a project that will provide wireless access to a remote location in Panama.

DR. ANN QUIROZ GATES is the Associate Vice President of Research and Sponsored Projects at the University of Texas at El Paso and past chair of the Computer Science Department. Her research areas are software property elicitation and specification, and workflow-driven ontologies. Gates directs the NSF-funded Cyber-ShARE Center that focuses on developing and sharing resources through cyber-infrastructure to advance research and education in science. She is a member of the NSF Advisory Committee for Cyberinfrastructure, and she serves on the Board of Governors of IEEE-Computer Society. Gates leads the Computing Alliance for Hispanic-Serving Institutions (CAHSI), an NSF-funded consortium that is focused on the

recruitment, retention, and advancement of Hispanics in computing and is a founding faculty member of the National Center for Women in Information Technology (NCWIT).

MICHELE LEZAMA is currently the Executive Director of The National GEM Consortium, a 501c(3) organization, founded at the University of Notre Dame, dedicated to increasing the number of under-represented individuals who pursue and receive a masters or PhD in engineering or science by providing full fellowships and holding informational programming on the application and graduate school experience. Under Lezama's leadership, NSBE received the 2003 Presidential Award for Excellence in Science, Mathematics and Engineering Mentoring awarded by the White House's Office of Science and Technology. Lezama was involved in a number of exciting technical and financial projects during her media career, specifically the creation of on-line scheduling for on-air programs and commercials, the build-out of the

technical studio for CBS' Late Night with David Letterman, and multi-plexing of the HBO and Cinemax brands.

DR. LUIS MARTINEZ brings a unique blend of innovative research, teaching, and community outreach experience focused on student centered development of conceptual understanding, where students learn the underlying concepts, practice, and process of chemistry by taking an active role in their own learning-both in the laboratory as active researchers and in the classroom as active learners. Prior to his appointment as a Senior Scientist at the Scripps Research Institute-Florida where we co-mentors graduate students and postdoctoral fellows, Dr. Martinez was a professor at UTEP where he mentored over 30 students in research, many of them going on to pursue their Ph.D.s world-class graduate programs such as the University of

California Berkeley, UCLA, UT-Austin, and the Max Plank Institute, Dortmund Germany. Dr. Martinez received a B.S. degree with Honors in Chemistry from Trinity University in San Antonio, TX and a A.M. and Ph.D. in Chemistry from Harvard University. He was a Ford Foundation Fellow, a former Fellow of the Miller Institute for Basic Research in Science at UC-Berkeley and a Research Corporation Cottrell College Science Awardee.

DR. SANDRA RAMOS-THUEL received a B.S. degree in Computer Engineering from the University of Puerto Rico at Mayaguez, in 1986, and M.S. and Ph.D. degrees in Electrical and Computer Engineering from Carnegie Mellon University, Pittsburgh, in 1988 and 1993 respectively. Since 1993 she has been a Member of Technical Staff at Bell Laboratories, in Holmdel, New Jersey, having been part of AT&T, Lucent Technologies and now part of the merged Alcatel-Lucent. Her main research interests are mobility management, broadband wireless voice and data networking protocols, architectures, advanced routing and router architectures, quality of service, scheduling and resource management. Her early research work

on real-time systems is now in routine use for building avionic control systems at Honeywell. She is a communications industry veteran, with extensive experience in many data and voice networking technologies. She

Page 10: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

ix

has published her work in books and leading conferences in the areas of mobile communication and real-time computing and is the co-inventor of various patents on networking technology. She has served leading IEEE conferences via program committee and chairing roles.

DR. MANUEL RODRIGUEZ received the B.S. degree in Mathematics from the University of Puerto Rico – Río Piedras, in 1994, the M.S. degree in Computer Science from the University of Maryland - College Park, in 1996, and the Ph.D. degree in Computer Science from the University of Maryland – College Park, in 2001. He is an assistant professor in the Electrical and Computer Engineering Department of the University of Puerto Rico – Mayaguez. His research interests are focused on Distributed Database Management Systems. Particularly, He is focusing his current work in the areas of Database Middleware Systems and Web Services for Wide-Area Environments

DR. NAYDA G. SANTIAGO is an Associate Professor in the Electrical and Computer Engineering Department, University of Puerto Rico, Mayaguez Campus. Her main areas of interest are Performance Evaluation, Parallel Processing, and High Performance Computing Systems. She is currently collaborating with two NSF Engineering Research Centers: WIMS and CenSSIS. For the Wireless Integrated Microsystems (WIMS) Center, she is developing software for integrating subsystems developed for their cochlear implant test bed and their microgas chromatograph test bed, taking into consideration low power requirements. For the Center for Subsurface Imaging (CenSSIS), she is working on porting hyperspectral imaging algorithms to hardware, specifically to FPGA and DSP platforms. She is also working in analyzing

performance of visualization systems for terrain modeling under the Wide-Area Large-Scale Information Processing grant. She has been involved in undergraduate research since 2003. Dr. Santiago is member of the IEEE, ACM, ASEE, CIAPR, and is a licensed engineer in Puerto Rico.

JACQUELINE THOMAS, a native of the Republic of Panama, earned a degree in Psychology at Long Island University in New York. She has worked for the Mexican American Legal Defense and Educational Fund and the Latin American Association. Ms. Thomas founded the IR Group, a Marketing and PR firm targeting the growing Latino Georgia community. She returned to the non-profit arena to work on a three-year program for the Hispanic Scholarship Fund. She joined GEM as a national recruiter focusing on developing graduate level opportunities for the Latino community in engineering and science. She has presented at the National SHPE conference, SACNAS, NAMEPA and The NSBE national conference.

DR. JUAN E. VARGAS is University Relations Manager at Google. He was a Sr. Academic Relations Manager for Microsoft from May 2004 to September 2007. He is also a Professor of Computer Science & Engineering at the University of South Carolina, teaching data mining, Bayesian networks, embedded and distributed systems, data structures & algorithms, programming languages, and operating systems. Dr. Vargas research interests include data mining, embedded systems, sensor networks, distributed systems and biomedical engineering. His research is published in more than 60 articles, several book chapters, and many conferences. Dr. Vargas has a PhD from Vanderbilt University, MS from CINVESTAV-IPN, BSEE from the University of Texas at El Paso.

Page 11: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

x

Student Panels CHALLENGES THAT FEMALE STUDENTS FACE IN COMPUTING UNDERGRADUATE STUDIES Date: Friday, January 16 Time: 4:00– 5:00 Target audience: Graduate Students and Faculty In modern society careers are still being stereotyped by gender. In computing and engineering females are a minority, which causes them to face many challenges while advancing in their studies and careers. These challenges take place in classrooms, in group projects, internships, family, and in their everyday life. Some of them are: being the only female in a classroom, lack of role models in the field, balancing family life, workload, and dealing with the underestimation of the women capabilities. The panelists will present solutions and ways to cope with these challenges that will be based on our own experience as students. Adriana will present the problem from the perspective of a married woman, president of an association, and student. Yajaira will give an insight of this problem based on her internship experiences. Joralis will view the problem from a computing student perspective. Cristina will present a literature review of the gender issues in computing. The panelists will ask the audience to share their experiences. The panel will end with an open discussion about ways to cope with the problems female faced as students.

YAJAIRA GONZÁLEZ-GONZÁLEZ is a senior student of computer engineering at the University of Puerto Rico - Mayagüez. She is currently working on a research project titled “Implementation of the Abundance Estimation Algorithm using NVDIA, CUDA”. Her areas of interest include Artificial Intelligence, Machine Learning, and Neural Cognition. She plans to continue graduate studies towards a Ph.D.

ADRIANA MELÉNDEZ-BAGUÉ is a junior student majoring in electrical engineering at the University of Puerto Rico - Mayagüez. She is currently working on a research project about analog rank order filters to reduce computational hyperspectral imaging. She plans to pursue graduate studies in aerospace engineering.

JORALIS SÁNCHEZ-SOLÁ is a junior student of computer engineering at the University of Puerto Rico - Mayagüez. She is currently working on a research project titled “Implementation of the Abundance Estimation Algorithm using NVDIA, CUDA”. She plans to graduate in 2010 and continue graduate level studies towards a Ph.D. in her field.

CRISTINA VIGIL-LÓPEZ is a senior student majoring in electrical engineering at the University of Puerto Rico - Mayagüez. She is currently working on a research

with the Collaborative Adapting Sensing of the Atmosphere Project (CASA). Her area of concentration is applied electromagnetic. She plans to graduate in 2009 and attend graduate school for renewable energy.

RESHAPE THE IMAGE OF COMPUTING Date: Saturday, January 17 Time: 8:00 – 9:30 Target audience: Undergraduate Students In the last few years, incoming freshman have decreased in numbers for computer-related degrees, having a negative impact on society. For one, there is a loss of representation in an area that affects almost all members of society today. Second, how a community perceives the use and application of computers will affect how future generations of the community receive, leverage and disseminate the same information. The New Image of Computing project (http://www.imageofcomputing.com/)is an NSF-funded project that is focused on innovating the image of

Page 12: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

xi

computing to attract middle to high school Hispanic girls to computing. CAHSI is in a unique position to contribute to this project. This session will focus on commenting and critiquing the preliminary documentation that has been created for the Image of Computing project. The facilitators will engage the audience in sharing their perspectives and making suggestions on what types of changes or interventions might have helped them see a more attractive area of study. The results of the discussions will be provided to the New Image of Computing project.

AÍDA GÁNDARA is a PhD student from UTEP. Prior to returning to school to pursue a PhD, Ms. Gándara worked in industry for companies in El Paso and Palo Alto in the areas of configuration and network management and data analysis while teaching various courses in the UTEP CS Department.

SRIDURGA SHILPA GANAPATHINEEDI is a graduate international student from New Mexico State University majoring in Computer Science. She completed her Bachelor’s degree in computer science from Jawaharlal Nehru Technological University, India. Her research interests include Game Design and Semantic Web.

BUILD BRIDGES AND WIRE UP YOUR CAREER Date: Sunday, January 18 Time: 8:00 – 9:00 Target audience: Undergraduate Students It is not enough to have a degree and good grades to stand out in whatever we love to do. Success is achieved by finding the right opportunities or answers. However, chances do not show up by themselves. We need to be proactive and build bridges to prospects on our own, or better yet, through our network! In this panel, both undergraduate and graduate students will offer their insight in how networking has benefited them in saving time on class projects, and even in their Ph.D. research, and improving their writing and social skills. Also, the panelists will offer some ideas on how to find networking opportunities in your own school through student organizations, and outside in research and career conferences. They will also share some tips on how to make the most of a networking situation, how to start a conversation, and more importantly, how to maintain it. To keep your network strong, becoming a connection for your peers or colleagues and reciprocating favors is key.

MARIEL CHAPA is the General Coordinator of the MenTe student group. She comes from Mexico and is currently pursuing an undergraduate degree in Computer Science and Technology at Monterrey Institute of Technology. She has been part of several student associations such as SICSTI, the biggest informatics symposium organized by students in Latin America.

ALICIA CHONG is President of the MenTe student group. She is from Costa Rica and is now pursuing an undergraduate degree in Electronic and Computer Engineering at Monterrey Institute of Technology and Higher Education in Mexico. She has participated with diverse organizations that promote cultural diversity, equality and leadership such as CISV and Habitat for Humanity.

ROSA ENCISO is a fifth year Ph.D. student in Computer Science. She was granted Candidacy status in Summer 2007. Her advisor is Dr. Ronald D. Dutton. She is currently working on her dissertation on the Parameterized Complexity of Alliances and Secure Sets. She is also the President of our Women in EECS/IEEE-WIE group.

JOCELYN SIMMONDS received her B.Sc. from the University of Chile in 2003 and her M.Sc. from the Free University of Brussels in 2003. She also has a degree in Computer Engineering from the University of Chile (2005). She is currently working toward her Ph.D., under the supervision of Marsha Chechik. Her research interests are in software testing and automated verification.

Page 13: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

xii

CYNTHIA TREVIÑO is the ACM-W Coordinator of the MenTe student group. She comes from Mexico and is currently pursuing an undergraduate degree in Computer Science and Technology at Monterrey Institute of Technology, where she is also enrolled on the Advanced Learning Program for High Achievement. Her areas of interest include Computer Graphics and Artificial Intelligence.

CREATIVITY MEETS NO BOUNDS: DEFEATING THE MYTH OF THE CAVE Date: Sunday, January 18 Time: 9:00– 10:00 Target audience: Undergraduate Students Since humanity started roaming the earth, standards have been created for all activity. As effective as these molds may be they create the same results. So what did we do? Break the mold. In our world, dividing by zero is possible. Formality has met its match. Our discussions and brainstorming sessions happen amidst iPhone lightsaber fights, all the while making fun of each other and just keeping it as active as possible utilizing proved and unproved methods. All ideas, from the realistic to the unreal, from the conceivable to the incomprehensible are welcome without a judging eye. Not only are our personalities varied, but our knowledge even more so; we come from all over the Electrical and Computer Engineering department into a melting pot that produces a diverse array of ideas that reflect out dreams. At the end we filter out ideas "Survivor" style where through debates we choose what ideas stay, and which go to the recycle bin, so we can finally move from dreams to reality. Learn how to replicate our experience with Damian talking about creative activities, Rogelio talking about how to keep things in order and Ramon discusses how to make the right decisions.

ROGELIO E. CARDONA was born in 1987 in Santurce, Puerto Rico. He obtained his High School Diploma from the American Military Academy, in Guaynabo Puerto Rico (2005), and is currently studying Computer Engineering with an emphasis in Software at the University of Puerto Rico, Mayagüez Campus.

RAMÓN J. GONZÁLEZ TORRES was born in Santurce, Puerto Rico. He studied in San Antonio from where he graduated in 2004. He is currently a Computer Engineering student with emphasis in Software at the University of Puerto Rico, Mayagüez Campus.

DAMIÁN A. TORRES OLIVERAS was born in Ponce, Puerto Rico in October 17, 1987. He studied in Ponce High School and graduated to then start his career in Computer Engineering at the University of Puerto Rico, Mayagüez. Currently, he is in the senior year and is representing the university as an athlete in the Varsity Softball Team. His mayor interests are in Software Development, Networking and Data Visualization.

Page 14: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

xiii

Development Workshops

APPLYING TO GRADUATE SCHOOL AND SCHOLARSHIPS Date: Thursday, January 15 Time: 1:30p – 4:00p Target audience: Undergraduate and graduate students Speakers: Michele Lezama and Jacqueline Thomas, National GEM Consortium Paco Flores, Hispanic Scholarship Fund The National GEM Consortium and the Hispanic Scholarship Fund are sponsoring a workshop designed to excite and encourage promising undergraduate engineering and science students to consider master and PhD technical research programs. The workshop will encourage students’ consideration of graduate engineering school by delivering vital information on the importance of research and innovation, the process of choosing a graduate program and preparing an application. The workshop will end with a discussion of applying for scholarships through the GEM Consortium and the Hispanic Scholarship Fund.

ALGORITHM PARTITIONING FOR DISTRIBUTED HARDWARE ARCHITECTURES Date: Saturday, January 17 Time: 8:00a – 11:00a Target audience: Graduate Students and Faculty Speaker: Dr. Rafael Arce-Nazario, University of Puerto Rico at Río Piedras Tools and methodologies that assist in mapping to distributed architectures are of paramount importance in helping programmers and scientists take full advantage of the available hardware technology. This workshop will present methods and tools for mapping algorithms to distributed hardware architectures such as the evolving multicore systems. The workshop will address issues such as the development of objective functions for partitioning optimization and performance estimation and the design of heuristics for algebraic-level exploration.

BECOMING A CAHSI ADVOCATE Date: Saturday, January 17 Time: 9:45a – 11:00a Target audience: Undergraduate students, student advocates, and faculty advocates Speakers: Dr. Ann Gates, University of Texas at El Paso Dr. Luis Martinez, Scripps Research Institute, Florida Make an impact by becoming a CAHSI advocate! This interactive workshop will prepare students and faculty in becoming an advocate. Student advocates work with students at their home institutions by encouraging and facilitating student participation in REU opportunities, seminars, workshops, and internships. Working with faculty, they involve students in activities that assist them in preparing competitive applications to local and external programs and scholarships. The role of faculty advocates is to promote Hispanic faculty and young professionals into leadership roles. This includes award nominations and making recommendations for key committee positions, panels, and other positions that build leadership.

Page 15: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

xiv

SELLING YOURSELF AND YOUR IDEAS Date: Saturday, January 17 Time: 11:15a – 1:15p Target audience: Students and Faculty Speakers: Dr. Cecilia Aragón, Lawrence Berkeley National Laboratory Dr. Dilma da Silva, IBM T.J. Watson Research Center Dr. Gilda Garreton, Sun Microsystems Dr. Nayda Santiago, University of Puerto Rico at Mayaguez

A panel of researchers and program managers from academia, government, and industry will discuss what works and what does not work in obtaining funding for research. Panelists will represent the three perspectives on funding: • Industry: patents, white papers, internal funding; the "patent vs. publish vs. trade secret" decision • Government: proposals, living on soft money, publications • Academic: proposals (research, education, equipment)

INDUSTRY AND ACADEMIC RESEARCH: ARE THEY DIFFERENT BEASTS? Date: Saturday, January 17 Time: 2:15p – 5:15p Target audience: Students and Faculty Speaker: Dr. Sandra Ramos Thuel, Alcatel-Lucent This workshop will deal with the nature of the research challenges that a particular doctoral student will face in industry and the type of skills that might be useful to address these challenges. The speaker will draw upon her broad experience in the communications industry to discuss how necessary it is to have a flexible but well defined research vision, with associated mission and objectives, as well as the importance of utilizing effective means to market this vision to industry, academia, or government. Contrasting perspectives on career success in industry versus academic research will be presented, shedding light on key issues impacting both research career paths.

DATA MANAGEMENT TECHNIQUES IN CYBERSPACE Date: Sunday, January 18 Time: 10:15a – 1:15p Target audience: Graduate Students and Computer Science Faculty Speaker: Dr. Manuel Rodriguez, University of Puerto Rico at Mayaguez The Internet has become a valuable tool for scientists and engineers to publish data collections produced as part of their research projects. Nowadays, we can find several terabytes of data from Biological experiments, Geospatial instruments, atmospheric observations, and so on. These data collections are often replicated to increase their availability and reliability. Likewise, there are many software tools and computing environments necessary to process and analyze these data in order to generate new knowledge. Many of these computing resources are replicated as well, although this replication might be more in terms of functionality rather than exact computational software and hardware. This workshop introduces participants to data management techniques and the types of challenges that are often encountered in cyberspace.

Page 16: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

xv

List of Short Papers Title

Page

1. Method of Incorporating Data Mining with Snort and Iptables (Johnly Tomelden)

1

2. Integration of Dipole Model and Current Density Reconstruction towards 3-D Source Localization using EEG and MRI (Gabriel Lizarraga, et al.)

4

3. Classification of Typical and Atypical Language Network Activations Using Nonlinear Decision Functions (Magno R. Guillen, et al.)

8

4. Detecting Seizures Using Gamma-Range Power Measurements and Nonlinear Decision Functions (Maria Tito, et al.)

13

5. Detecting Electrodes Leading to Seizure from Subdural EEG using Spectral Phase Analysis towards Seizure Prediction (Melvin Ayala, et al.)

18

6. Coherence Analysis of Subdural EEG towards the Delineation of Electrodes that Initiates Epileptic Seizures (Mercedes Cabrerizo, et al.)

22

7. Illumination Invariant Face Detection with Time-Dependent Intrinsic Images under Near-IR lighting (Mouncef Lahlou, et al.)

26

8. Thermal Infrared Imaging for the Detection of Temperature Increase on the Head Surface Due to Motor Activity (Ana M. Guzman, et al.)

30

9. Resolving Malicious Patterns in Network Traffic using Data Mining Techniques (Joel Ortiz)

34

10. CSRL See5 Transformation: Using PHP for Data Transformation Between SNORT® IDS Databases and See5 Flat Files (Eric Flior)

38

11. Using Alice to Quickly Prototype Video Game Mechanics and Ideas (Daniel Jaramillo)

40

12. Quantization of Multivariate Continuous Random Variables by Sequential Dynamic Programming (Samuel Palmer, et al.)

43

13. Gaming Mechanics in Alice (Sridurga Shilpa Ganapathineedi) 47

14. Characterization of local protein structure geometry from the Protein Data Bank - A senior project in bioinformatics (Joseph Santini)

49

15. A Survey of Underwater Wireless Sensor Networks (Bo Dong) 52

16. Underwater Robotics (Diego Rojas Bandini and Dugan Um) 56

17. Improving Web Search Results with a Natural Language Filter (Liem Luong) 58

18. Creating a Windows or Xbox 360 Video Game Using C# and Microsoft XNA Game Studio (Reuben Rodriguez)

62

19. Obtaining the Most Reliable Path in a Complex Network of Nodes (Melinda Chin, et al.)

65

20. Combining Phones, Syllable and Phonological Features in Speech Recognition Using Neural Networks (Arturo Geigel)

67

Page 17: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

xvi

List of Short Papers (continued) Title

Page

21. Tipping Point Evaluation of a Network Intrusion Detection System (NIDS) for Peer-to-Peer Networks (Adam Magana, et al.)

71

22. A Crash Recovery Mechanism for the NetTraveler Database Middleware System (Osvaldo Ferrero)

74

23. Runtime Assertion Checking Support for JML on Eclipse Platform (Amritam Sarcar)

79

24. Gait Analysis Using Optimization and Constraint Programming (Essau Ramirez)

83

25. Survey of Wireless Sensor Network Security (Matthew Vella) 86

26. Autonomic Ranking of Data Sources and Query Processing Sites using Ant Colony Theory (Eliana Valenzuela-Andrade)

89

27. A Protocol Offload Framework Applied to a TCP Offload Engine and Web Traffic (Juan M. Solá-Sloan)

94

28. Detecting Objects in Images Using Asymmetric Haar Features (Geovany A. Ramirez)

98

29. Prospec 2.0: A Tool for Generating and Validating Formal Specifications (Jesus Nevarez, et al.)

103

30. Utility Functions for Efficient Geocast Information Sharing (Fernando J. Maymí)

107

31. Semi-Supervised Clustering of Text Documents Using EM Algorithm with Multinomial Naive Bayes (Roxana Aparicio)

112

32. Modeling Teeth for Facial Animation (Sarah Spofford) 116

33. Towards a Fast, Practical Alternative to Joint Inversion of Multiple Datasets: Model Fusion (Omar Ochoa)

118

34. Formally Specifying and Validating Data Assurance Properties for Real Time Data Processing Applications (Irbis Gallegos)

120

35. Implementation of the Abundance Estimation Algorithms Using NVIDIA, CUDA (Yajaira González, et al.)

124

36. Communicating High-level Programs with FPGA-based Acceleration Hardware (Arnaldo Cruz)

127

37. The Center for Science, Technology, Ethics, and Policy (Christian Servin) 132

38. Enhancing Workflow-Driven Ontologies: A Meta Model to Create Conceptual Workflows at Multiple Abstraction Levels (Leonardo Salayandía and Aída Gándara)

135

39. A Cross-platform Analysis of Implementation Costs of DSP Algorithms (Víctor Montaño)

138

Page 18: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

xvii

List of Short Papers (continued) Title

Page

40. Probe-It! Visualization Improvements (Hugo D. Porras and Nicholas Del Rio) 143

41. Scheduling Master-worker Divisible Tasks (Luis de la Torre) 147

42. An O(2klogkn) Algorithm for Defensive Alliances (Rosa I. Enciso) 150

43. Automata Signal Analysis and Convolution Image Algebra for an Entropy-based Change Detection Modeling Framework (Marie Lluberes)

154

44. Sensor Array Beamforming Algorithms for Bioacoustics Signal Analysis (Abigail Fuentes)

158

45. Analysis of Environmental Data in Data Centers (Lola Bautista) 162

46. Gridjobs - A Personal High Throughput Computing Platform (John Sanabria) 166

47. Instrumentation Support Testbed for Bioacoustics Signal Processing (Hector Santiago)

171

48. System Level Design Approach to Signal Processing Algorithms (Inerys Otero) 175

49. Electronic Learning Agent System (Jonathan Keele) 179

Page 19: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

1

Method of Incorporating Data Mining with Snort and Iptables

Johnly Tomelden

California State University Dominguez Hills Computer Science Department

1000 E Victoria St -NSM-A132, Carson, CA 90747, USA

Emails: [email protected]

Abstract Cyber threats are on the rise in 2008 and the US government has taken actions again the malicious activity occurring on the Internet, reported by Ben Bain at FCW.com [8]. At California State University Dominguez Hills, the Computer Science Department has created Computer Security Research Lab (CSRL) to find ways in improving Computer and Network Security. CSRL, funded by NSF Grant CNS-0540592, Center of Excellence in Computational Science, and National Geospatial-Intelligence Agency, has researched the tools involved in network security, such as Snort for intrusion detection system and Iptables for firewall [1,4,7]. The lab is formulating ways in incorporating the existing tools into an automated system that will improve security. The result is an attempt to combine data mining with the intrusion detection system to create firewall rules that will adapt to occurring existing attacks and to occurring new undiscovered attacks. CSRL is attempting to use data mining to find patterns in reported attacks from Snort and find patterns in packets that may lead to an effective firewall. Also in finding patterns, CSRL hopes to reduce the false-positives and false-negatives exhibited by Snort and improve network security [7]. To create such a system involves planning which will be presented in this paper. The system overall will involve the incorporation of the various tools See5, Snort, and Iptables. Besides the existing tools, CSRL will need to develop tools that will let the different tools work with each other. 1. Introduction Computer Security Research Lab (CSRL) at California State University Dominguez Hills was created to research computer and network security. Funded by NSF Grant CNS-0540592, Center of Excellence in Computational Science, and National Geospatial-Intelligence Agency, the lab has students researching ways to improve network security. With all the old and the Cyber attacks and malicious activities

going around the Internet, the lab has formulated a plan that may improve against any undiscovered or existing attacks. The plan is a system that will use data mining on detected alerts to find patterns that may lead to better improved firewall rules. The system, we call JACED, will work by incorporating various tools to work together in automation in finding patterns and creating the firewall rules. The System will work by following the steps of first collecting data, then converting and formatting the data, third mining the data, and last is formatting the results into a firewall. This system will be approached and studied in stages. Looking at the various components involved in the JACED system. The system will be composed of several available software. The software for detecting attacks is Snort [6]. The software for preventing the attacks, the firewall, will be Iptables [2]. Iptables comes with almost all Linux based operating system [7]. The software for data mining for patterns is See5 [6]. Besides the available software, tools for connecting the Snort, the See5, and the Iptables will need to be developed. The additional tools will transform the data from the software to software for use. JACED consists of different components. CSRL has already setup honey pot networks for attracting traffic and the sensors for collecting data. JACED is a system and a plan that will bring the tools together through steps. This paper will discuss the different steps involved in JACED, the process in which CSRL has chosen to take Snort alerts and process them into firewall rules. 2. JACED Approach 2.1 Snort and alert conversion The JACED system will be analyzing Snort data stored in a MySQL database. Snort is a popular Intrusion Detection System that works off of rules, which will determine malicious activity [4]. Snort will be the primary source of data collection. The problem is that the next software used for data mining cannot read

Page 20: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

2

stored snort data. The data mining software cannot read from MySQL and needs a specific file scheme. Before any data mining pattern can be found the conversion of the data will needs to be done. This was one major component of the JACED system that the CSRL members are developing. This component is a conversion script that will convert Snort alert data into a format which can be data mined. The Snort schema sorts the snort alerts into various tables in a database [4]. A tool is needed that can take all the data and put it into a file in a proper format. The tool also needs to take consideration of special conditions that is needed in the conversion, such as sorting or applying a special characters, words, or terms. Once this task is completed the data mining can proceed. 2.2 Data mining Data mining is the essential part to the whole system. Data mining will look for patterns in the data gathered by Snort. After the previous part converts the data into a format that can be data mined, it's the job of a data mining tool to do the pattern searching [9]. The data mining will be done with See5. See5 is a commercial data mining tool used to find patterns input data of a given classifier found in the input data. The classifier is an attribute in the input data. See5 will analyze data and generate output of the patterns for the given classifications [6]. The classified results are what CSRL is looking for. The output data will be used to generate firewall rules. Researching on refining the input is needed to have See5 run properly and give usable results. Going through the Snort data and looking at See5 results will present some questions of the input data. As preliminary runs are generated with the system, refinement in the alert conversion and the input data will need to be done. At the moment, the CSRL team is researching, gathering data, and analyzing the See5 results. 2.3 Data mining result A major step in this system is to understand the See5 result and finding out ways to convert the See5 results. The See5 results give either a rule set of if-then rules or a decision tree [9]. These results hold key patterns that classify a packet into malicious or regular traffic. Converting those into firewall usable rules requires research in both the reading of the results and applying it to the firewall. The results given are patterns found and represented in conditions which are associated with a classifier [6]. The classifier in See5 is set in the input. The classifier currently used is a classification of whether the alert is malicious or not

based on the classification Snort gives to the alert. The given conditions for each classification can be matched with the properties of a packet. The conditions are internet traffic information such as the time to live value, length of the packet, or packet source IP Address. The next phase will be taking the results and converting it into Iptables firewall rules. 2.4 Generating iptables rules The last component in the JACED system is to generate and implement the firewall rules. A tool to convert the See5 result set into firewall rules will be developed by CSRL. Since the result set is a set of conditions for classifying a packet, the conditions would need to be converted into the rules for Iptables. Iptables is a readily available firewall and is flexible in use. Creating firewall rules from the data mining results is possible with Iptables. Iptables is a rule based system in which matching key properties of a packet will determine if the packet will be stopped or the packet will go through [2]. Using a decision tree result from See5, the leaf would indicate a classification and the path from the root to the leaf would contain the conditions necessary for the matching that will be used in Iptables. Examples of the conditions given in a decision tree classification from the root to a leaf are the following: ip_flags <= 0, ip_len > 357, and tcp_sport <= 46209. If a packet possesses the condition it would be classified as a malicious activity. The resulting rule for the firewall would then be “iptables -p tcp -destination-port 0:46209 -m length –length 357:65535 –j REJECT”. This is done for all leaves of the decision tree with the classification of malicious traffic. After this has been done, research on how the system performs and the result will be researched and used to improve the JACED system. 3. Results and the Future

The result is a system that can analyze the data in

the Snort records and output firewall rules. Patterns found in classifying malicious and normal traffic are used to predict which packet is good or bad. CSRL is still developing and researching a method of incorporating data mining in network computer security.

The CSRL lab has accomplished conversions of the Snort alerts in the MySQL database into See5 input data. In working towards an automated system, scripts were developed to do the conversion. More scripts to run the data through the various components will be created in future work of the system.

Page 21: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

3

The output data was analyzed and is used in refining the input data. The first runs of mining the snort data with See5 presented result sets that needed changes. Changes were made, such as splitting the protocols into separate inputs to be data mined to create better result sets. The purpose of dividing the input data was to isolate the possible fields of each protocol for each protocol. Further research and changes will be made as more data is collected from this approach.

Current See5 results sets have been converted into firewall rules. Data collected by Snort in 2008 has been data mined and has been converted into Iptables rules. To analyze the effectiveness of the data mining, changes were made to the network setup. The data would pass through one primary sensor before going into the honey pot, but to analyze how the generated Iptables rules affect traffic a secondary sensor will be inserted. The rules have been implemented on a secondary sensor on the networks running in CSRL. Traffic being recorded by both sensors is currently being analyzed and fixed.

Future work of the system includes the tools required to convert the See5 data mining results into Iptables rules, to automate the process so the system can analyze and generate rules, and to analyze the results even further and make refinements. 4. Conclusions In conclusion, the JACED system and the approach in data mining in network security analysis have been created by CSRL to improve network security. There will be further research on each individual step's improvements and on how effective the generated firewall rules are. Analyzing the traffic through intrusion detection system classification, running it through a data mining system, and generating live firewall rules is possible.

Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. Andreasson, Oskar. Iptables Tutorial 1.2.2.

http://iptables-tutorial.frozentux.net/iptables-tutorial.html. 2006.

2. Rash, Michael. Linux Firewalls, 1st Edition. No Starch 2007.

3. Stearns, William. Iptables U32 Match Tutorial. http://www.stearns.org/doc/iptables-u32.v0.1.8.pdf. 2003.

4. Snort. http://www.snort.org. 5. Netfilter Core Team. Iptables.

http://www.netfilter.org/index.html. 2008. 6. Rule Quest. See5: An Informal Tutorial.

http://www.rulequest.com/see5-win.html. 2006. 7. Bejtlich, Richard. The Tao of Network Security

Monitoring. Addison-Wesley 2005. 8. Bain, Ben. Cyber threats on the rise, FBI official

says. http://www.fcw.com/online/news/154083-1.html. 2008.

9. Rule Quest. Data Mining Tools See5 and C5.0. http://www.rulequest.com/see5-info.html. 2007.

10. The Honeynet project. Know Your Enemy: Learning About Security Threats. Addison-Wesley 2004.

11. Thornton C.J. Techniques in Computational Learning An Introduction. [Padstow Ltd, Padstow, Cornwall. 1992]

12. Peterson, L Larry. Davie, S Bruce. Computer Networks: A systems Approach, [Morgan Kaufmann Publisher. San Francisco, CA. 2003]

13. Grimes A, Roger, Honeypots for Window, [Springer-Verlag New Yourk, Inc. New York, NY 10013 2005]

Page 22: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

4

Integration of Dipole Model and Current Density Reconstruction towards 3-D Source Localization

using EEG and MRI

Gabriel Lizarraga, Malek Adjouadi, Mercedes Cabrerizo, Melvin Ayala, Maria Tito

Center for Advance Technology and Education

Department of Electrical & Computer Engineering Florida International University,

Miami FL 33174, USA Emails: [email protected], [email protected], [email protected],

[email protected], [email protected],

Abstract This study adapted the curry program and assessed the relationship of the 3-D spike sources to focal lesions evident on the patient’s clinical history. Dipole and current density reconstruction (CDR) simulations were performed using realistic head models and using the boundary element method (BEM). This represents an initial step in determining the merit of this technique in the pre-surgical evaluation of children. 1. Introduction 3-D source localization integrating EEG and MRI modalities can serve as a powerful tool for determining accurately the 3-D location of an epileptogenic event. In order to estimate the location of such an event, one must first correctly model the dipoles, as well as the volume conductor in which the resulting currents flow. Seizures often arise from extra-temporal sites and are related to a malformed pathologic substrate that is more extensive than the lesion evident on MRI scans. Pre-surgical evaluation is therefore more difficult than in adults and relies heavily on EEG data including interictal spike discharges. The spikes recorded on the scalp can be processed using specialized software (such as CURRY) to define their source in 3-D that can then be superimposed on the patient’s MRI scan to further facilitate surgical planning. A detailed overview of the different source reconstruction methods can be found in [1]. While source reconstruction methods have been used successfully in adults being evaluated mainly for temporal lobe epilepsy, their applications have been limited in the pediatric population.

Dipole models that converge with other localizing information such as the CDR serve as an effective tool in determining if a patient can go to surgery directly without invasive EEG monitoring. Dipole algorithms require a priori knowledge of the number of active sources. They rely on the assumption that synchronously activated cortical areas are well represented by their centers of mass. Therefore, the need for the development of source models such as the current density reconstruction has been growing. The results of a CDR method represent more realistically active brain regions. They provide extra information needed of the source such as extension and number of higher activated areas in the brain. In addition, prior knowledge of the number of sources is no longer required under CDR-based methods.

The integration of dipole and CDR models will thus provide accurate 3D localization of brain lesions and tumors in 3-D structures. These results will consequently enhance the data (image, signal) interpretation, diagnosis, and validation of previous results, which are especially welcome in safety critical procedures. Current efforts are yielding very good results.

2. Methods 2.1 Participants Ten children with medically refractory partial seizures undergoing pre-surgical evaluation have been analyzed in this study. The EEG data was recorded using XLTEK Neuroworks Ver.3.0.5 (by Excel Tech Ltd. Ontario, Canada). The standard international 10-20 system with four extra temporal electrodes was used. Sampling frequency of 500Hz with 0.1-70 Hz bandpass filter settings and 12 bits A/D conversion were used to

Page 23: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

5

obtain the digital EEG recordings. MRI images were created using the Signa Horizon LX 1.5 Tesla MRI scanner (manufactured by General Electric, Medical Systems, Wisconsin, USA). High resolution T1 weighted spoiled GRASS (Gradient Recalled Acquisition in the Steady State) images were obtained.

2.2 Implementation steps To identify the location of the epileptic sources, a source localization program was developed using the NeuroScan software CURRY V.5.0. Input data in this study were EEG signals and MRI brain images of epileptic patients.

The first step in the localization procedure involved identifying the pertinent time intervals in the overall EEG recordings in which the interictal spikes occurred. The physicians performed this task by visual inspection of the recorded data. These portions of EEG data were of 4-8 seconds of duration and during the spike interval the source localization analysis was performed using the CURRY based program.

In the preprocessing step, DC and high frequency components were removed from the data using a 0.1-30 Hz band-pass filter. To reduce the configuration space and to extract the dominant EEG patterns, the EEG data is first decomposed into signal and noise subspaces using Principal Component Analysis (PCA) decomposition. This allows us to remove the noise subspace. After PCA, we apply Independent Component Analysis (ICA) on the signal subspace. The ICA algorithm localizes multiple dipoles independent of one to another. In this way the complexity of the search is reduced and the likelihood of obtaining a correct solution is increased. The PCA/ICA decomposition methods were applied and the first two or three largest principal components values were retained to account for the useful EEG epileptic signal information.

MRI brain scans were used to construct realistic subject dependant head models. The model derived was a Boundary Element Model (BEM) consisting of three compartments. The compartments used were skin, skull and brain tissue. These were obtained by segmentation of the MRI images and they were assigned the following conductivities: 0.33, 0.0042 and 0.33 S/m respectively.

Another implementation tool that NeuroScan provides is the Digitizer module. This module of the system allows the localization in 3D of the position of the scalp electrodes. After obtaining the real coordinates of the electrodes though a digital pen that is applied to the

patients, the electrode positions were inputted to the CURRY software for co registration with the MRI. For each patient, a subject-dependant electrode placement was established. By digitizing in three-dimensional space, the scalp electrodes and the head landmarks (nasion, pre-auricular points, and inion), the EEG fields can be co-registered with a 3D MRI and a visual representation of the electrodes and the 3D MRI reconstruction of the patient’s head can be depicted for clinical interpretation. The method applied for source localization integrated the rotating dipole solution and a CDR-based method available within the CURRY software. A rotating dipole can depict the location of a given source accurately and CDR can provide the extent of that given source, thus defining fully the source of the event. The time interval during which the source localization was performed was a 200 ms maximum time range, which is a typical duration of an epileptic spike [2]. The most important subdivided interval that was analyzed was the upswing phase of the spike. This seems to be the most important section of an interictal spike since it is related to the initial seizure onset. The results obtained by implementing the dipole method is the calculated location of the dipole in the form of a point ),,( qcqcqcqc zyxr = in Cartesian coordinates and the strength of the dipole moment at the selected time interval [3]. In this study the CDR method, which is a distributed source model, calculates the amplitude of a large set of dipoles. No assumptions on the number of dipoles in the brain are considered. The number of calculated dipoles is always much larger than the number of electrodes used on the EEG. The mathematical interpretation of this method involves the following matrices: (1) a lead field matrix A, which relates the sources to the actual potential measured on the electrodes; (2) M, which is the actual matrix containing the measured potentials at a certain time point on the EEG; (3) and I, which is the matrix containing the estimated contributions of the source amplitudes.

(1)

The solution consists of finding a unique configuration of I, which solves Equation1. However, as there are an infinite number of solutions, some assumptions must be made in order to obtain a more realistic solution for the specific problem at hand.

Page 24: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

6

In our studies we used the sLORETA method. sLORETA does not require spatial smoothness before a solution is sought. Instead, the variance of the estimated current is used. The sLORETA method is fast in terms of processing time while it still yields high localization accuracy [4]. 3. Results The source localization analysis was performed during the 200ms interval in which the spike occurred. This interval analysis allowed us to track the propagation of the source of epileptic activity from the onset of the spike to the generation of the slow wave representing the ending of the spike. Since the whole spike duration is divided into one or two intervals, the analysis yields one or two source locations per interval [5, 6].

It is important to note that the 10 participating patients underwent successful surgical interventions and our results did confirm the clinical findings. The results for one given patient are illustrated in the Figure 1.

(a) Interictal spike in EEG as identified by the

medical doctors.

b) Rotating dipole solution.

(c) CDR solution.

Figure. 1 Source Localization Integrating EEG and MRI

Quantitative EEG morphology showed the source located in the left frontal and temporal lobe, with an orientation suggesting left frontal and temporal. These findings suggest that the center of interictal epileptogenic activity is situated in the left region of the brain. A thorough analysis was performed with the CDR method and the results show that there is also an indication of frontal and temporal activity in the left side.

Page 25: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

7

5. Conclusion This preliminary study was aimed at localizing cortical generators of interictal epileptiform activity in patients by means of dipole and CDR analysis.

The likelihood of the success of surgery is increased when all test results point to a single epileptogenic focus. At the same time these localization techniques can help direct the placement of intracranial electrodes in case it is inevitably needed. Also, the characterization of spike propagation afforded by these methods is considerably better than that obtained by the traditional visual inspection of EEG traces.

The full process integrated the Principal Component Analysis (PCA) and the Independent Component Analysis (ICA) methods in the analysis of EEG data, using the multimodal neuro-imaging software named CURRY to optimize the accuracy of the 3-D localization results. The reconstructed 3-D sources correlated well with MRI lesions and complemented visual analyses of scalp EEG data. The superimposed images facilitated placement of intracranial electrodes for further defining the epileptogenic region and led to successful surgical interventions. The results of the dipole and CDR methods showed that the calculated 3-D sources were closest to the lesions. Interval analyses using rotating dipole and CDR models provide a powerful tool for studying spikes propagation and have important patho-physiological implications.

The results are most encouraging, considering that the 3-D sources were computed using only 23 electrodes. The use of closely spaced electrode array and averaging of multiple spikes in each subject will likely enhance the precision of 3-D localization. The results of this integrated technique will benefit from another research endeavor that considers including diffusion tensor imaging (DTI) to the current source localization of the

EEG-MRI integrated platform. This constitutes our next research step. A more inclusive analysis involving a higher number of patients, as they become available, will provide even more credence to these findings. Acknowledgment The authors appreciate the support provided by the National Science Foundation under grants CNS-0540592, HRD-0317692, CNS-0426125, CNS-0520811, and IIS-0308155. The authors are also thankful for the clinical support provided through the Ware Foundation and the joint Neuro-Engineering Program with Miami Children’s Hospital.

References 1. Baillet S., Mosher J.C. and Leahy R.M.

Electromagnetic Brain Mapping, IEEE Sig. Proc. Mag., November 2001, Vol. 18, No. 6: 14 –30.

2. Chen J.J., Yeh J. and Tsa J., Initial Estimation Methods For Dipole Modeling In Localization of Epileptogenic Focus, Med. Eng. & Phys. 20 ,1998: 11-20.

3. Ebersole J.S., Noninvasive Localization of Epileptogenic Foci by EEG Source Modeling, Epilepsia, 41(Suppl. 3), 2000: 24-33.

4. Ermer J. J., Mosher J.C., Leahy R. M. and Baillet S., Rapidly recomputable EEG forward models for realistic head shapes, Phys. Med. and Biol. Mag. 46, 2001: 1265-1281.

5. Merlet I. and Gotman J., “Reliability of Dipole Models of Epileptic Spikes”, Clin. Neurophysiol., Vol. 110 (6), 1999: 1013-28.

6. Mosher J.C. and Leahy R.M., Recursive MUSIC: A framework for EEG and MEG Source Localization, IEEE Trans. Biomed. Eng., Vol. 45, No. 11, November 1998: 1342-1354.

Page 26: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

8

Classification of Typical and Atypical Language Network Activations Using Nonlinear Decision Functions

Magno R. Guillen1, Malek Adjouadi1, Mohammed Goryawala1, William Gaillard2

1Center for Advanced Technology and Education, ECE, FIU

10555 W. Flagler Street, Miami Fl 33174 2Children's National Medical Center, Washington, DC, USA Emails: [email protected], [email protected],

[email protected], [email protected]

Abstract This paper presents an effort to highlight the merit of Non-linear decision functions (NDF) as a machine learning approach to provide an automatic tool to identify typical/atypical brain activation maps for language related tasks. Raw 4D fMRI datasets were analyzed and their corresponding active voxels and lateralization index were computed. A population of healthy control (HC) and localization-related epilepsy (LRE) subjects were analyzed under the basis of 6 features measured. The best performance metrics obtained in these experiments were: a sensitivity of 70.5%, a specificity of 97.8%, an accuracy of 80.6 and a precision which exceeds 98%. 1. Introduction Individuals with brain pathologies, such as lesion, tumor or localization-related epilepsy (LRE), have a high probability that the functional activation of the brain is affected. Researchers have found that “typical“ brain activation is that such as the left brain hemisphere activation is dominant [1]. Moreover, epilepsy is a common childhood problem, epilepsy’s incidence rate is approximately 1 in 1,502 or 0.07%, which means that almost 200,000 people will be diagnosed with epilepsy every year in the USA [2]. According to Centers for Disease Control and Prevention, epilepsy’s treatment options include focal resections of abnormal brain tissue when the epileptogenic region can be accurately defined [3]; when the affected brain areas are located on the left hemisphere, due to the brain plasticity characteristics, these individuals may develop what is called “atypical” behavior in their brain activation [4]. To identify brain laterality, the subject undergoes an fMRI test. The resulting 4-D dataset (3D spatial information plus time series) is processed. Based on

statistical and image analyses, a brain activation map is generated. In this study, the subjects were asked to perform an auditory description decision task (ADDT), which is relevant for brain language network areas. There are several tools to obtain the activation map out of the raw 4D-datasets obtained using the blood-oxygen-level dependent principle (BOLD) [5]. The most commonly used tools are Statistical Parametric Map (SPM) [6, 7] and fMRI Software Library (FSL) [8, 9]. These tools allow the post-processing of the raw datasets to obtain the final brain activation maps which will be the source for the classification of typical or atypical language activation. The typical/atypical brain activation is defined based on the asymmetry of the brain activation. There are two typical procedures to identify the asymmetry of the brain activation. The first procedure requires a radiologist or a neurologist to view the activation maps and to provide assessment related to the intensity and location of the activation observed. This procedure is highly subjective and depends on the experience of the rater and generally is based on the peak maxima of intensity observed. The second procedure requires the computation of the activated voxel from the activation map, which renders an objective mechanism for deciding on the typical or atypical nature of the activation map based on a quantitative measure. This paper present a novel application of a supervised learning machine paradigm called Nonlinear Decision Functions (NDF) [10].

Page 27: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

9

Methods 2.1. Data Collection and Processing

A total of 114 fMRI datasets from 5 different hospitals were analyzed, with 11 null datasets (No activation found), 64 healthy control (HC) datasets, and 39 localization-related epilepsy (LRE) datasets. Table 1 summarized source institution, scanner and dataset characteristics for the subjects. Each subject was asked to perform an ADDT test. Control subjects were required to be free of any current or past neurological or psychiatric disease. Procedures followed local institutional review board requirements. The FSL platform was used to perform pre and post-processing required to obtaining the images with the resulting activation patterns. The operations performed on the datasets were:

Table 1. Summary on Subjects Used in the Study

1. Pre-processing where the following steps are considered: (a) Motion correction aligns all images in time series; (b) Translations and rotations assume rigid body registration; and (c) Filtering and smoothing.

2. Statistical model planning for ADDT.

3. Statistical mapping generation.

4. Rendering results co-registered to native and standard spaces.

5. Extracting the voxel count and intensities from both brain hemispheres for each dataset and for ROI in Broca’s and Wernicke’s areas. WFU PickAtlas was used to obtain the masks for the ROI.

6. Computing LI based on volumetric voxel counting and intensity summation.

7. Labeling of subject was done by visual inspection from experts using the rating tool provided.

8. Appling the multidimensional-nonlinear decision functions.

All images used to calculate the LIs were Z-score (Gaussianised T/F) based statistic images [8], which were thresholded using clusters determined by Z>2.3 and a cluster corrected significance threshold of P=0.05 and registered to a standard brain MNI152 with voxel volume of 27 mm3. In the classification process, a positive outcome (decision function is positive) means that the activation patterns of the subject is viewed as belonging to atypical language behavior, and a negative outcome (decision function is negative) means that the activation patterns of the subject is viewed as belonging to typical language behavior. In order to assess the performance of his classification process the following terminology and measures are used:

True positive (TP): Atypical language data point correctly classified as atypical.

False positive (FP): typical language data point wrongly identified as atypical. It is also known as Error Type I, error of rejecting a null hypothesis when it is actually true.

True negative (TN): typical language data point correctly identified as typical language.

False negative (FN): Atypical language data point wrongly identified as typical language. It is also known as Error Type I, the error of accepting a null hypothesis when it is actually false.

The measures of performance used for the classification process are sensitivity (

Se), specificity (

Sp ), precision (Pr) and Accuracy (

Ac ), and are defined as follows:

Se =TP

TP + FN (1)

Sp =TN

TN + FP (2)

Pr =TP

TP + FP (3)

Ac =TP + TN

TP + FP + TN + FN (4)

In this study, the “gold standard” used was the expert clinical rating. The tool used for the assessment of the clinical rating has been described in previous publication already accepted for publication [11]. 2.2. Determining the Classification Rules The following measurements were taken into consideration: 1. Extent of the activation in each brain hemisphere, that is the counting of active voxel for each

Page 28: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

10

brain hemisphere (left voxel counting, right voxel counting), 2.Values of intensities recorded for the active voxel in each brain hemisphere (left intensity summation, right intensity summation), 3.Brodmann area localization (index relative to the brain regions where the activation was recorded), 4.Computed lateralization index (LI), 5.Average intensity per brain hemisphere, (factor calculated by the division of the intensity summation by the number of voxel found in each brain hemisphere), and 6.Total number of clusters identified after the brain activation A subset of the HC and LRE subjects were used for training purposes. To address this problem and begin its implementation steps, each nonlinear decision function is obtained from the training data using the gradient descent method. The problem of classification is therefore one that is reduced to identify the boundary

F r ( X )= 0 , which defines the decision

function itself, in order to partition the pattern space into different classes. Vector

X is the pattern with up to

n dimensions that needs to be classified. In the case treated here, the classification rules are as follows: - If

F r ( X )> 0, X∈ the class of atypical language

activation - If

F r ( X )< 0, X∈ the class of typical language

activation - If

F r ( X )= 0 , indeterminate type condition

The following general recursive formula as expressed in Eq. (5) allows for deriving any nonlinear decision function with any number of dimension (n) and with any degree of complexity (r):

(5)

where

F0 ( X ) = Wn+1 , which defines the last element of

the augmented weight vector. In this equation

XP1,XP1

,....XPrdefines the multidimensional space, and

Wk the associated weight for the kth element. To obtain the optimal weights of this function, a cost function C was established as the sum of the square errors between the decision function output and the targets of the predefined two groups of subjects:

C = F rp ( X )−Tp( ) 2

p=1

N

∑ (6)

where p serves as the index for the data points, with each data point is represented by its dimensions X1 , X2 , X3, ….etc. N is the number of data points being investigated;

Tp is the target for point p (-1 or +1), and

F rp ( X ) is the resulting value of the decision function

with degree of complexity (r) evaluated at point p. The optimal weights, which define the ultimate nonlinear decision function, are those that yield a minimal value for the cost function given by Eq. (6). The minimization of the cost function for all data points is achieved by setting the partial derivatives of this cost function with respect to all the weights to zero. 3. Experiment Results The results that are presented in this section include experiments performed on the basis of applying nonlinear decision functions to the parameters or features obtained from each subject, so the classification operation is performed in a multidimensional decision space. The main purpose of these experiments is to identify a combination of parameters (dimensions) that define a space where the two different classes of activation maps representing language network might be separable. All the experiments were conducted using a complexity degree equal to the number of dimensions being analyzed. Once the Classifier is trained, the remaining dataset were consequently used to test the performance of the classification process. The performance obtained is summarized in Error! Reference source not found.. Error! Reference source not found. and Error! Reference source not found. show plots of the decision function obtained during testing the classifier. Note that the NDF is displayed as the iso-surface separating the point clusters. The values of intensities of activation by their own do not provide sufficient discrimination information, only when they are combined does the performance of the identification process become acceptable. The experiments showed a compromise between sensitivity and specificity in the performance of the algorithm. In these experiments, the best results were obtained considering left and right values of intensities of activation plus the Brodmann area. The performance obtained in this case resulted in the following measures: a sensitivity of 70.5%, a specificity of 97.8%, an accuracy of 80.6 and a precision which exceeds 98%.

Page 29: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

11

Figure 1. Plot of NDF Based on Summation of Activation Intensities on Left and Right Hemispheres, and the Associated Brodmann Area

Figure 2. Separation Results Based on Activation Extent (Voxel Counting) on Left and Right Hemispheres, and the Number of Clusters Found after fMRI Dataset Post-Processing.

4. Conclusions This paper demonstrates the feasibility of using nonlinear decision functions to classify typical from atypical type brain activation maps where subjects were asked to perform language related tasks. Different features were investigated in a series of experiments that have shown that the combination of intensities and voxel counting measurement provide the best classification performance. Through the nonlinear decision functions it became possible to analyze the datasets under different dimensions and with different degrees of complexity in terms of nonlinearity. In so doing, a user can assess the different performances and determine those dimensions that were most significant in the classification process.

Acceptable sensitivity, specificity, and accuracy results were achieved when the classification process relied on 4 dimensions (active voxel counting and voxel intensities summation for each brain hemisphere). Future efforts will be directed towards extending the population under analysis as more data is collected in the repository. It is also feasible to use the principal component analysis to establish a multivariable analysis and assess incidence of dimensions such as age, maxima peaks of activation, number of activation clusters found.

Table 2. Results of Experiments on Nonlinear Decision Functions

Page 30: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

12

Acknowledgements

The authors appreciate the support provided by the National Science Foundation under grants CNS-0540592, HRD-0833093, CNS-0426125, CNS-0520811, and IIS-0308155. The authors are also thankful for the clinical support provided through the Ware Foundation, the joint Neuro-Engineering Program with Miami Children’s Hospital, and the American Epilepsy Society.

References 1. Hermann, B., et al., “The Neurodevelopmental

Impact of Childhood-onset Temporal Lobe Epilepsy on Brain Structure and Function,” Epilepsia, vol. 43, no. 9, (2002), pp. 10.

2. “Epilepsy Foundation of America ” (2008); http://www.epilepsyfoundation.org/about/statistics.cfm.

3. ,CDC Releases New Data on Epilepsy from Multiple States, The Centers for Disease Control and Prevention, (2008).

4. Gaillard, W.D., et al., “Atypical language in lesional and nonlesional complex partial epilepsy,” Neurology, vol. 69, no. 18, (2007), pp. 1761-1771.

5. Ogawa, S., et al., “Brain magnetic resonance imaging with contrast dependent on blood oxygenation,” Proc Natl Acad Sci U S A, vol. 87, no. 24, (1990), pp. 9868-9872.

6. Friston, K.J., et al., “Analysis of functional MRI time-series,” Human Brain Mapping, (1994), pp. 153-171.

7. SPM, “Statistical Parametric Mapping developed by Department of Imaging Neuroscience (UCL),” (2006); http://www.fil.ion.ucl.ac.uk/spm/sitemap.html.

8. Woolrich, M.W., et al., “Temporal autocorrelation in univariate linear modeling of FMRI data,” Neuroimage, vol. 14, no. 6, (2001), pp. 1370-1386.

9. FSL, “fMRIB Software Toolbox,” (2005); www.fmrib.ox.ac.uk/fsl.

10. Tou J.T., Gonzalez, R.C., Pattern Recognition Principles, Addison-Wesley, (1977), pp. 377.

11. Guillen, M.R., et al., “A Knowledge-Based Database System for Visual Rating of fMRI Activation Pattern for Brain Language Network,” accepted paper for proceedings of "Tapia Conference diversity in computing"-2009 (Portland Oregon, April 2009)

Page 31: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

13

Detecting Seizures Using Gamma-Range Power Measurements and Nonlinear Decision Functions

Maria Tito, Malek Adjouadi, Mercedes Cabrerizo,

Melvin Ayala, and Gabriel Lizarraga

Center for Advanced Technology and Education Department of Electrical and Computer Engineering

Florida International University Miami Fl 33174, USA

Emails: [email protected], [email protected], [email protected], [email protected], [email protected]

Abstract This study evaluates the sensitivity, specificity and accuracy of seizure detection using gamma frequencies, and draws conclusions regarding the formulation of generalized seizure detectors using nonlinear decision functions. 1. Introduction Epilepsy is a common problem, affecting 3 million people in the United States. According to Centers for Disease Control and Prevention, one out of 100 adults has active epilepsy; approximately 20 percent of these individuals continue to have seizures despite sufficient medical treatment. Treatment options in this intractable patient group are limited and include focal resections of abnormal brain tissue when the epileptogenic region can be accurately defined; a task that may require intracranial EEG recordings of seizures to define their onset and region of involvement. More recently, an alternative treatment option has evolved where chronic intracranial implants apply electrical stimuli directly to the brain surface with the ultimate aim of preventing or aborting seizures. The implants continuously record the EEG activity and apply the stimuli when seizures are detected or are presumed to be imminent. In this study, we explore the role of the gamma band in developing a reliable seizure detection system for EEG recorded intracranially. There are various linear and nonlinear methods for analyzing data [1, 3, 5 ,6, 7, and 8]; we present a method based on aggregating the power in the 36-44 Hz frequency range and analyzing its behavior in time, looking for patterns indicative of seizure evolution. The performance was evaluated by means of the Receiver Operating Characteristics (ROC) terminology [9].

2. Methods 2.1. Data collection Our data was obtained retrospectively from a significant sample of 14 patients who underwent surgery with subdural recording. The age of the subjects varied from 3 to 17 years. The number and configuration of subdural electrodes differed between subjects. Grid, strip, and depth electrodes were used, with a total number of contacts varying between 20 and 88. Subdural EEG data was recorded at Miami’s Children Hospital (MCH) using XLTEK Neuroworks Ver.3.0.5, equipment manufactured by Excel Tech Ltd. Ontario, Canada. The data was collected at 500 Hz sampling frequency and filtered to remove the DC component. 2.2. Data analysis 2.2.1. Data preprocessing For all patients, the length of the files was approximately 10 minutes. Out of the total 157 files considered, 35 (21 interictal and 14 ictal) iEEG data files or 22% were used initially in a training phase to ascertain the reliability of the Gamma power in the seizure detection process. The remaining 122 iEEG data files or 78% were then used in the testing phase to assess the merits in selecting Gamma power as means to detect a seizure 2.2.2. Extracting the power of gamma frequency The gamma frequency power of each electrode was calculated from the EEG data using one-second windows. Due to the high volume of information contained in the pre-filtered iEEG data files, two key preprocessing steps were performed in order to (1)

Page 32: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

14

reduce the data to be analyzed consequently reducing the computational requirements as well, and (2) seek a transformation of the raw iEEG data in order to enhance the accuracy, specificity and sensitivity of the seizure detection algorithm. The power Pg of the gamma frequency spectrum was computed as given in (1):

(1)

where

Pg is the power on the frequency band,

F (w) is the magnitude of the complex th Fourier coefficient and

bstart and

bend are its starting and ending frequencies in the 36 to 44 Hz band. 2.2.3. Aggregating EEG Features As stated earlier, 35 files were randomly assigned for use in the so-called training phase, and the remaining 122 files were used for testing. If the file contained a seizure, it was considered to be an “ictal” file. Otherwise, it was considered to be “interictal”. It is worthy to note that even though a file was classified as “ictal”, the files usually lasted longer than an individual seizure. Therefore, “ictal” files include some interictal data, which nonetheless the classifier needed to handle correctly. Patients (1-7) were those selected for the training phase, and patients (8-14) were those used in the testing phase in order to validate the classifier’s ability to perform well on an inter-patient level. In order to handle the variable number of electrodes used from patient to patient, we averaged the power in the gamma frequency range across all electrodes. This value, which is referred to as the inter-electrode mean, was used as the classifier. Figure 1 illustrates the contributions of individual electrodes to the behavior of gamma frequency for every single electrode used for a particular patient, and the results obtained using the inter-electrode mean signal

Sµ for an arbitrary section of EEG. Our use of the inter-electrode mean is a result of the experimental studies [2 and 4] that reveal that electrodes tend to interlock in behavior at the onset moment of a seizure.

Figure 1: Top figure shows the behavior of the

Gamma power for each of the 48 electrodes used for patient 5, and the bottom figure displays its

respective inter-electrode mean signal

2.3. Determining the Detection Rules 2.3.1. General Approach A threshold must be established before the inter-electrode mean of the power in the gamma-frequency band can be used to detect a seizure. If the threshold was crossed at any point during a file, then the entire file is classified as a possible “seizure” file. If the threshold was never crossed, then it was classified as a “non-seizure” file. A general statistical threshold was established for the power of the gamma frequency that will work across all patients independently of its magnitude. The variable threshold was then defined by the average of inter-electrode mean plus one standard deviation of inter-electrode mean signal

( Sµ +σ ) . In terms of the proposed classifier, any point in time which exceeded the threshold was considered a point belonging to a potential seizure. The next stage of the algorithm is to determine additional means to declare when such potential seizure can be declared an actual seizure. 2.3.2. Nonlinear decision functions At this stage of the investigation, two measurements were taken into consideration. The first measurement is the duration in time in which

Sµ was consistently above the threshold and the second measurement is found to be the maximum value in that interval of that crosses the threshold.

Page 33: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

15

With these two measurements in place, a table was constructed to train the seizure detector. The table contains as many records as data files were used in the training, whereas each record contains three values: the two aforementioned measurements and also a target (+1 for seizure file and -1 for non-seizure file. Nonlinear decision functions were derived using the training data. All points on the decision function curve itself are considered of an undetermined class, since the decision function is zero for those points. The x-axis represents the duration, while the y-axis represents the maximum of

Sµ . If the 2-D space is chosen appropriately, which was the most challenging part of the problem, patterns of the same class will tend to cluster together and the nonlinear decision functions will yield optimal results. To address this problem and begin its implementation steps, a nonlinear decision function is obtained from the training data using the gradient descent method. The problem of classification is therefore one that is reduced to identify the boundary

D( X )= 0 , which defines the

decision function itself, in order to partition the pattern space into different classes. Vector

X is the pattern with

up to n dimensions that needs to be classified. In the case treated here, the classification rules are as follows: - If

D( X )> 0, X∈ the class of seizure files

- If

D( X )< 0, X∈ the class of non- seizure files

- If

D( X )= 0 , indeterminate condition

The general recursive formula as expressed in (2) allows for deriving any nonlinear decision function with any number of dimension (n) and with any degree of complexity (r) and is structured as follows:

Dr ( X ) = ... WP1 ...Pr

XP1...XPr

+ Dr−1

Pr = Pr−1

n

∑P2= P1

n

∑P1=1

n

= 0

(2) The way the proposed classification process was set up resulted in decision functions that are second-order polynomials with two variables X1 and X2 which define the two dimensions of the decision plane. Thus, for the problem at hand, Equation (2) with n=2 and r=2, reduces to Equation (3):

D2 ( X ) = W11X1

2 + W12X1X2 + W22X22 +

W1X1 +W2X2 + W3 = 0 (3)

where

W11,W12,W22,W1,W2, and

W3 are the associated weights. To obtain the optimal weights of this function, a cost function C was established as the sum of the square errors between the decision function output and the targets. With all the weights determined, the decision functions expressed through Equation (3) can now be established. Since the training files constitute a relative small percentage of the total number of data files, training was set to stop when classification accuracy of all patterns no longer improved with subsequent iterations. No cross-validation was performed to better evaluate the merits of the nonlinear decision functions. There are essentially two conditions that need to be satisfied for a file to be declared as containing a seizure: (a) crossing the set statistical threshold, which is the main critical condition that needs to be met first, and then (b) yielding a positive value for the decision function to properly classify those files that have a seizure as such. 3. Results Once the detector was trained, the remaining data were consequently used to test the accuracy of the classification process. Figure 2 shows plots of the decision function and the training and testing points used to create and test the detector. In these figures, each point represents a file that meets the first requirement needed for a file to contain a seizure. In the result plots, positive and negative signs denote ictal and interictal files, respectively. The x-axis represents the first measurement (duration or X1 of Equation 3); duration is scaled by a factor of 1000 and the y-axis represents the second measurement (maximum of

Sµ or X2 of Equation 3); it represents the maximum value in the interval that crosses the threshold. The plots show a remarkable separation of seizure and non-seizure data files.

Page 34: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

16

(a)

(b)

Figure 2: Training and testing points and plot of the decision function (a) training data, (b) testing data

The confusion matrix that was obtained is displayed in Table 1 with its corresponding accuracy, specificity and sensitivity values. This table reports the number of True Negatives (TN), False Positives (FP), False Negatives (FN), and True Positives (TP).

Table 1. Results obtained after testing on the 122 files across all patients

TN FP FN TP Acc. Sens. Spec.

93 2 3 24 0.959 0.889 0.979

As it can be observed from Table 1, the total amount of false detections (FN and FP) is somehow small and the TP value is rather high. Also accuracy is 96%. Based on the inter-patient nature of this procedure, the results can be considered as highly significant. 4. Conclusions Our study demonstrates the feasibility of detecting seizures on intracranial EEG using an automated detection algorithm. We have shown that the power measurement in the gamma range from 36 to 44 Hz has sufficient information to discriminate seizures with 89 % sensitivity and 98 % specificity. The two most discriminating features of the measurement were: (1) The time where the inter-electrode mean

Sµ is

above

Sµ +σ , and (2) The maximum value of

Sµ in that specific interval. Of particular value is the generalized nature of the algorithm, and its feasibility in the absence of patient-specific training data. This feature is demonstrated most clearly by the test characteristics in patients who were not part of the training data. In general it is worth mentioning that although only 22% of the files were used for creating the detector, high sensitivity, specificity, and accuracy results were achieved. It is also interesting to note that no cross-validation was performed during detector training; yet, good testing results were obtained. Acknowledgment The authors appreciate the support provided by the National Science Foundation under grants CNS-0540592, HRD- 0833093, CNS-0426125, CNS-0520811, and IIS-0308155. The authors are also thankful for the clinical support provided through the Ware Foundation and the joint Neuro-Engineering Program with Miami Children’s Hospital. References 1. Adjouadi, M., Cabrerizo, M., Ayala, M., Sanchez,

D., Jayakar, P., Yaylali, I., and Barreto, A., “Interictal spike detection using the Walsh transform”, IEEE Transactions on Biomedical Engineering, vol.51, No.5, pp.868-873, May 2004.

2. Albano, A.M., Cellucci, C.J., Harner, R.N., and Rapp, P.E., “Optimization of embedding parameters for prediction of seizure onset with mutual information”, in: MEES, A. I. (Ed.): “Nonlinear dynamics and statistics: Proceedings of

Page 35: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

17

an Issac Newton Institute” (Birkhauser, Boston), pp. 435–451, 2000.

3. Bezerianos, A., Tong, S. and Thakor, N., “Time-dependent entropy estimation of EEG rhythm changes following brain ischemia”, Annals of Biomedical Engineering, vol. 31, pp.221-232, 2003.

4. Cabrerizo, M., Adjouadi, M., Ayala, M., and Tito, M.T., “Pattern extraction in interictal EEG recordings towards detection of electrodes leading to seizures”, Biomedical Sciences Instrumentation, 42 (ISA Vol. 464) pp.243-248, 2006.

5. Chander, R., Urrestarrazu, E., and Gotman, J., “Automatic detection of high frequency oscillations in human intracerebral EEGs”, Epilepsia, 47:4:37-37, 2006.

6. Gabor, A.J., “Seizure detection using a self-organizing neural network: validation and comparison with other detection strategies”, Electroencephalography and Clinical Neurophysiology, vol. 107, Number 1, pp. 27-32(6), July 1998 ,

7. Gotman, J, “Automatic detection of seizures and spikes”, J Clin Neurophysiol, vol. 16, pp. 130-40, 1999.

8. Iasemidis, L.D., Barreto, A., Gilmore, R.L., Uthman, B.M., Roper, S.A. and Sackellares, J.C., “Spatiotemporal evolution of dynamical measures precedes onset of mesial temporal lobe seizures”, Epilepsia, vol. 35, pp. 133-134, 1994.

9. Kohavi, R., and Provost, F., “Glossary of terms”, Machine Learning, 30, pp. 271-274, 1998.

Page 36: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

18

Detecting Electrodes Leading to Seizure from Subdural EEG using Spectral Phase Analysis towards Seizure

Prediction

Melvin Ayala, Malek Adjouadi, Mercedes Cabrerizo, María Tito, Gabriel Lizárraga

Center for Advanced Technology and Education

Department of Electrical & Computer Engineering Florida International University,

Miami FL 33174, USA

Emails: [email protected], [email protected], [email protected], [email protected], [email protected]

Abstract This paper presents preliminary findings on phase information extracted from the spectrum of subdural EEG files prior to seizure onset. EEG data files of 300 seconds of duration from eight children with medical refractory partial seizures that underwent pre-surgical evaluation were divided in consecutive time windows to extract the phase of the spectrum. The analysis revealed that the phase of most electrodes leading to seizure shows a positive trend in the second half of the spectrum, whereas this trend could not be seen in any of the electrodes not leading to seizure. 1. Introduction Seizures are a malformed pathologic substrate that is more extensive than the lesion evident on MRI scans [8]. Pre-surgical evaluation is therefore more difficult than in adults and relies heavily on EEG data including interictal spike discharges. The EEG interictal data recorded inside the brain can be processed to define similar patterns evident in those electrodes that lead to a given seizure to further facilitate surgical planning [5]. The EEG of epileptic subjects can be divided into two main categories, interictal and ictal. The interictal EEG is the EEG taken when the patient is not having seizures or in between seizures [8]. Interictal activity is considered to be abnormal if it can occur in a patient with epilepsy in the absence of an actual seizure. The ictal EEG activity on the other hand is when the actual seizure occurs. To date, much research has been done to study the behavior of interictal EEG data and classify electrodes [2, 3, 1, 10, 11].

This study proves that electrodes leading to an epileptic seizure can be detected by using the phase of the spectrum of ictal and interictal EEG files.

The main objectives of this study are as follows: (1) to compute the spectrum of EEG recordings, electrode by electrode; (2) to establish mathematical derivations that provide not only quantitative measures, but also locate the focus of an ictal activity;(3) to identify and formulate the patterns in EEG recordings that are inherent to those electrodes that lead to a seizure; (4) to correlate the clinical features with the EEG findings in order to determine whether the patient has a consistent source of ictal activity, which is coming from the location concerning the group of channels that present interictal activity; (5) to classify and to group those EEG channels that are known in advance to lead to seizures in order to extract similarities in their behavior, so as to find common behavioral patterns. Research work done in the last decade evidences the growing interest of the medical and scientific community to predict seizures [6, 9]. To this end, researchers are working on characterizing the differences between the interictal to the ictal state using different signal processing techniques [7, 4]. Despite all efforts, there is no evidence of an algorithm that would accurately predict a seizure. The novelty of this method is that it uses a new feature for electrode characterization, namely the spectral phase, and that this feature can improve the performance of the electrode characterization technique to better understand the transition from the interictal to the ictal state.

Page 37: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

19

2. Methods 2.1 Participants This research project analyzed data from eight children with medical refractory partial seizures that underwent pre-surgical evaluation. The EEG data was recorded using XLTEK Neuroworks Ver.3.0.5 (equipment manufactured by Excel Tech Ltd. Ontario, Canada), sampled at a frequency of 500Hz with 0.1-70 Hz bandpass filter settings. Additionally, 12 bits A/D conversion was used to obtain the digital EEG recordings. 2.2 Implementation steps To classify those electrodes that lead to an epileptic seizure, a computer program was developed to compute the spectrum of the EEG recordings for each channel. Input data in this study was subdural EEG segments of 300 seconds of duration of epileptic patients. For each spectral file, the phase was computed as the arctan between the real and the imaginary part of the complex Fourier coefficients. After plotting the phase of each window for each channel, an interesting behavior was observed in the electrodes leading to seizure. For those electrodes, a narrowing of the phase plot was observed in the last 4th of the frequency spectrum for most of the windows. Therefore, the classification algorithm consisted on developing a pattern extraction procedure to recognize that narrowing of the phase plot for that particular frequency range. The steps were as follows: (1) Preparation and normalization of ictal EEG files, (2) Computation of the frequency spectrum of the EEG recordings, (3) Extraction of the phase from the spectrum, (4) Extraction of a feature in the phase domain to measure the plot narrowing in time.

In step (1), the ictal EEG files were cut such that all of them extend only over the last 5 minutes immediately before the seizure. We had the precaution to remove the seizure part from the file, so as to avoid misleading patterns to would bias the analysis.

In step (2), the spectral files were computed piecewise for every window and consolidated as a whole file, so as to add some time resolution to the analysis. By doing this, frequency components can be related to a specific window in time, which allows looking for temporal changes in the spectrum as the seizure time approaches. We used successive epochs or non-overlapping windows of 8 seconds for all the recorded subdural EEG data. The reason for the 8 second window size was to allow extracting more information in the

frequency domain than it would be the case if shorter windows were used.

Step (3) corresponds with extracting the phase from all spectral files. In step (4), to extract the features to be used as training patterns, a simple feature was to be defined that would be able to recognize the aforementioned phase plot narrowing. For simplification purposes, the standard deviation (STD) in the last 4th portion of the phase plot was used as feature. From a visual inspection at the phase plots can be concluded that the standard deviation is a good candidate to measure the extent of the plot narrowing.

To account for the fact that not all windows presented the phase plot narrowing, the STD of all windows was computed and plotted along the time axis, such that the area under the plot could be used as a measure to classify the electrodes into leading and not leading to seizure. 3. Results The plot in Fig. 1 shows how the phase plot narrows for window #15 (3 minutes before onset of seizure 1) for electrode #2, which leads to seizure. The narrowing is very pronounced in the last half of the frequency band. For comparison purposes, Fig. 2 shows the same plot for an electrode that does not lead to seizure (electrode #1) at the same time window. This behavior could be observed in most of the electrodes leading to seizure, whereas the narrowing does not always begin in the second half. Some electrodes presented a narrowing in the last 4th portion of the spectrum.

Figure 1. Phase Plot from Window #15 (3 Minutes before Seizure) of Electrode 2

Figure 2. Phase Plot from Window #15 (3 Minutes before Seizure) of Electrode 1

Page 38: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

20

Since not all windows of the electrodes leading to seizure presented the phase narrowing, the STD of the last 4th portion of the phase plot was plotted for each window, as it is shown in Fig. 3 for a specific seizure file. On the left, the plot of the phase STD of the electrodes leading to seizure (2, 3, 5, 10, 18, 20) is visualized. The right panel shows the corresponding plots for some of the electrodes not leading to seizure (1, 4, 6, 7, 8, 9). A comparison of the two column plots clearly shows that the area under the plot is higher for the right column than for the left column plots. This fact was also observed in the remaining 4 seizure files from the same patient.

Key findings can be affirmed as follows: (1) it was found that for most windows, the phase plot narrowing is only present in the electrodes leading to seizure,

whereas this can not be stated for those electrodes not leading to seizure.

4. Conclusions The contribution of our study is to understand better the characteristics of the different interictal epileptiform activities. In all electrodes analyzed, it could be proved that the phase plot narrowing in time is only possible if the electrode leads to seizure, whereas no plot narrowing was observed for the remaining electrodes. These findings allow for a better understanding of the dynamics of the brain in terms of how spectral analysis can be used to detect and ultimately predict epileptic seizures.

Figure 3. Plot of the STD of phase values in the last 4th portion of the frequency range for seizure file #1.

Page 39: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

21

Acknowledgements The authors appreciate the support provided by the National Science Foundation under grants CNS-0540592, HRD-0317692, CNS-0426125, CNS-0520811, and IIS-0308155. The authors are also thankful for the clinical support provided through the Ware Foundation and the joint Neuro-Engineering Program with Miami Children’s Hospital. References 1. Ayala, M., Adjouadi, M., Yaylali, I., and Jayakar,

P., “An optimization approach to recognition of epileptogenic data using neural networks with simplified input layers”, Biomed. Sciences Instrumentation, Vol. 40, 2004, 181-186.

2. Adjouadi, M., Cabrerizo, M., Ayala, M. Sanchez, D., Jayakar, P., Yaylali, I., and Barreto, A., “A new approach to the analysis of epileptogenic data using statistically independent operators”, Journal of Clinical Neurophysiology, Vol. 22(1), January/February 2005, 53-64.

3. Adjouadi, M., Sanchez, D., Cabrerizo, M., Ayala, M., Jayakar, P., Yaylali, I., and Barreto, A., “Interictal spike detection using the walsh transform”, IEEE Transactions on Biomedical Engineering, Vol. 51, No. 5, May 2004, 868-873.

4. Cabrerizo, M., Adjouadi, M., Ayala, M., and Tito, M., “Pattern extraction in interictal EEG recordings towards detection of electrodes leading to seizures,” Biomedical Sciences Instrumentation, 42 (ISA Vol. 464) pp.243-248 (2006).

5. Gevins, A.S. and Remond, A., “Methods of analysis of brain electrical and magnetic signals”, Handbook of Electroencephalography and Clinical Nneurophysiology (Elsevier: Amsterdam, 1987).

6. L. Isaemidis et al., "Automated Seizure Prediction Paradigm", Epilepsia, vol. 39, pp. 56, 1998.

7. Iasemidis, L. et al., "Epileptogenic Focus Localization by Dynamical Analysis of Interictal Periods of EEG in Patients with Temporal Lobe Epilepsy", Epilepsia, vol. 38, suppl. 8, pp. 213, 1997.

8. Martini, F.H., “Fundamentals of anatomy & physiology”, Fifth edition, New Jersey 07458, Prentice Hall, 2001.

9. J. Sackellares et al., "Epileptic Seizures as Neural Resetting Mechanisms", Epilepsia, vol. 38, Sup. 3, 1997.

10. Soong, A.C.K, and Koles, Z.J., “Principal-Component localization of the sources of the background EEG”, Biomedical Engineering, IEEE Transactions, 42(1), 1995, 59-67.

11. Zhukov, L., Weinstein, D., and Johnson, C., “Independent component analysis for EEG source localization”, IEEE Engineering in Medicine and Biology Magazine, 19(3), 2000, 87-96.

Page 40: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

22

Coherence Analysis of Subdural EEG towards the Delineation of Electrodes that Initiates Epileptic Seizures

Mercedes Cabrerizo, Malek Adjouadi, Melvin Ayala,

Maria Tito, Gabriel Lizarraga

Center for Advance Technology and Education Department of Electrical & Computer Engineering

Florida International University, Miami FL 33174, USA

Emails: [email protected], [email protected], [email protected], [email protected], [email protected]

Abstract In the medical field, neurologists are very interested in the estimate of EEG coherence between EEG's recorded at different channels because it gives an indication of how an ictal state spreads from a local area of the brain to other regions. In this research study, coherence analysis was used to evaluate EEG changes before, during, and after an epileptic seizure. The results indicated significant coherence changes before and during an ictal state. Although presently, we do not predict the upcoming of a seizure, we successfully demonstrated significant changes in EEG coherence in selected frequency bands and electrode locations. 1. Introduction A major challenge in the epilepsy field is the localization of sources in the brain responsible for eliciting new knowledge on the EEG signals (tumor, lesion, epileptogenic focus). It is assumed that whenever an epileptic seizure happens, the cortical areas inside the brain involved tend to be synchronized or unsynchronized within certain frequency bands [4].

The EEG coherence measures the degree of correlation between signals in the frequency domain. The coherence itself yields information about inter-relationships or interdependencies between cortex areas and the flow of electrical potentials and information between these areas. Cortical interactions can be obtained from the frequency domain.

Through our results we can demonstrate significant differences of coherence behavior for those electrodes that initiate a seizure and those that do not [7, 3, and 5]. Further studies exploring the imaginary and the real

part of the Fourier coefficients will also be explored in this study. Coherence analyses that converge with other localizing information serve as a powerful tool in the success of an operation. These results will enhance the EEG signal interpretation, diagnosis, and validation of previous results, which are especially welcome in safety critical procedures.

2. Methods 2.1 Participants The patients analyzed in this study were selected by taking 8 sequential patients admitted for Stage 1 surgery. The EEG data was recorded using XLTEK Neuroworks Ver.3.0.5 (by Excel Tech Ltd. Ontario, Canada). The number of subdural strips and/or grid electrodes that were implanted varied for each patient depending on the nature of diagnosis. Consequently, each patient had a different number of recording electrodes and thus a different number of iEEG files that needed to be analyzed. Furthermore, the iEEG had different recording time lengths and different seizure outcomes. Up to 120 subdural electrodes were implanted on the surface of the cerebral cortex of each patient to record seizure activity. Intracranial recordings of the eight patients were performed by using subdural strips or grid electrodes. In some cases, 4 contact depth electrodes were implanted. Sampling frequency of 500Hz and 12 bits A/D conversion were used to obtain the digital EEG recordings.

2.2 Implementation steps The coherency between EEG channels at a given frequency range (30 to 60 HZ) was calculated. The following formula was used to calculate the coherence.

Page 41: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

23

is the coherence value of the two electrodes in the given frequency range (30-60 Hz). and are the

two EEG channels analyzed. and are the power spectrum of the two EEG signals corresponding to the two electrodes. Using the Fast Fourier Transform (FFT), the coherence was computed and plotted for each possible pairs of loci in the grids implanted. Magnitude-squared coherence values of each pair of electrodes, in epochs of 8 s were computed for frequencies within the boundaries of 30 to 60 Hz and. As illustrated in Figure 1 for this specific patient we have 20 electrodes implanted and coherence was calculated for each possible combination.

Figure 1. Subdural EEG Signal at the Time of

Seizure

The results are displayed in a square matrix (see Figure 4). The diagonal elements of the matrix are equal to one, representing the correlation of each channel with itself, whereas all the other terms are complex numbers. The full complex information is thereby distinguished from its magnitude. Each value in the complex coherency matrix can be expressed using either a polar (modulus and phase) or a Cartesian (real and imaginary

parts) representation. In this study the Cartesian representation was used [6]. 3. Results As a patient goes from the pre-ictal to the post-ictal state, changes in the electrical activity of the brain are reflected in changes in the estimated spectral power [8]. The Coherence analysis helps us to examine in the EEG relationships and interdependencies between the signals recorded at different electrode sites [1]. In this study coherence was performed using non overlapping windows of 8 seconds during 10 minutes before an ictal state [2]. This window analysis allowed us to track the propagation of the source of epileptic activity during 10 minutes before the seizure to the generation of the seizure itself in order to capture the differences in behavior of the electrodes that initiate the seizure from the electrodes that do not. Figure 2 shows the average coherence of each electrode and its neighbors for two seizures as illustrative examples. The x-axis represents the number of windows and the y-axis represents the magnitude of the average coherence. The onset of the seizure is approximately at window 39. It can be observed that there is a decrement in coherence at the time of the seizure. In other words, at the time of a seizure, neurons tend to be unsynchronized. There is no correlated connection between the signals coming from different EEG channels. Further analyzes was performed with the coherence. The magnitude of the complex coherence was now replaced by the imaginary and real part of complex coherency. Figure 3 depicts the mean coherence of all electrodes. It can be clearly observed that there is a significant similarity in behavior between the two groups of electrodes. The electrodes that have low mean values depicted in the plot are indeed those electrodes that initiate the seizure and those with high values are the ones that are not directly involved in the initiation of the seizure onset. If you refer back to Figure 1, these low mean value electrodes are actually C4, Cz, F4, F8, FP2, FPz, O2, P4, T4, and T6. These electrodes manifest a very low coherence in all of their combinations in the grid.

Page 42: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

24

(a) Seizure1

(b) Seizure 2

Figure 2. Average Coherence 10 Minutes before

a Seizures Onset

(a)

(b)

Figure 3. Real and Imaginary Plots of the Coherency Values in the Real (a) and Imaginary (b)

Components of the Fourier Transform

A more detailed representation is illustrated in Figures 4 and 5. It is evident that prior to and during an ictal state the electrodes that initiate the seizure stay with low coherence (darkest color in the figures).

Figure 4. Average Coherence in Windows 32 to 40

Figure 5. Average Coherence in Windows 32 to 41

5. Conclusions This study evaluated the suitability of the coherence analysis on subdural EEG signals for evaluating EEG signals as to whether they are prone to initiating a seizure or not. To that end, an inter-patient analysis was conducted by implementing the coherence to all patients. This preliminary study evaluated the coherence in 30 to 60 Hz band, 10 minutes before a seizure onset.

Page 43: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

25

The results of the analysis showed that there were significant differences in behavior for those electrodes that initiate a seizure.

Key findings can be summarized as follows: (1) it was found that the coherence behavior in

frequencies from 30 to 60 Hz can be suitable to classify electrodes that initiate the seizure;

(2) at the time of the seizure there is a significant

decrement of the coherence values between frequencies from 30 to 60 Hz;

(3) those electrodes that initiate the seizure keep

their low coherence values during, at least 10 minutes before a seizure onset.

The results of this study will be soon further compared to other frequency ranges that might be related to the seizure focus localization. This constitutes our next research step. A more inclusive analysis involving a higher number of patients, as they become available, will provide more credence to these findings. Acknowledgment The authors appreciate the support provided by the National Science Foundation under grants CNS-0540592, HRD-0317692, CNS-0426125, CNS-0520811, and IIS-0308155. The authors are also thankful for the clinical support provided through the Ware Foundation and the joint Neuro-Engineering Program with Miami Children’s Hospital.

References 1. Cabrerizo, M., Adjouadi, M., Ayala, M., and Tito,

M., “Pattern extraction in interictal EEG recordings towards detection of electrodes leading to seizures,” Biomedical Sciences Instrumentation, 42 (ISA Vol. 464) pp.243-248 (2006).

2. Cabrerizo, M., Tito, M., Ayala, M., Adjouadi, M., Barreto, A., and Jayakar, P., “An analysis of subdural EEG parameters for epileptic seizure evaluation,” CD Proceedings of the 16th International Conference on Computing CIC-2007, Mexico City (2007).

3. Chander, R., Urrestarrazu, E., and Gotman, J., “Automatic detection of high frequency oscillations in human intracerebral EEGs,” Epilepsia, 47:4:37-37 (2006).

4. Ebersole, J.S., “Noninvasive Localization of Epileptogenic Foci by EEG Source Modeling, Epilepsia, 41(Suppl. 3), 2000: 24-33.

5. Frank, G.W. , Lookman, T. , Nerenberg, M.A.H., Essex, C. , Lemieux J., and Blume, W., Chaotic time series analyses of epileptic seizures, Physica D, vol.46, pp.427-438 (1990).

6. Guevara, M.R., Chaos in electrophysiology, concepts and techniques in bioelectric measurements: Is the medium carrying the message?, edited by LeBlanc, A-R, Billette, J., Editions de l'Ecole Polytechnique de Montreal, pp.67-87 (1997).

7. Iasemidis, L.D., Sackellares, J.C., Gilmore, R.L., and Roper, S.N., Automated seizure prediction paradigm, Epilepsia, vol. 39, (1998): pp. 56.

8. Shoeb, A., Edwards, H., Connolly, J., Bourgeois, B., Treves, T., and Guttag, J., Patient-specific seizure onset detection, Proceedings of the 26th Annual International Conference of the IEEE EMBS, San Francisco, CA, USA, September 1-5 (2004).

Page 44: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

26

Illumination Invariant Face Detection with Time-Dependent Intrinsic Images under Near-IR lighting

Mouncef Lahlou, Malek Adjouadi and Armando Barreto

Center for Advanced Technology and Education

Department of Electrical & Computer Engineering Florida International University, Miami FL 33174, USA

Emails: [email protected], [email protected], [email protected]

Abstract Face recognition is broadly used in a variety of law enforcement and security applications. Due to its nonintrusive characteristics, extensive research is performed to optimize the face detection and recognition accuracy. Although most face identification systems are designed to operate indoors, today’s face detection algorithms are still compromised in precision when changes in illumination conditions occur. In this paper, we present a novel solution for achieving illumination invariant face recognition that uses multiple cues to detect and locate faces accurately in near infrared (NIR) imaging systems. First, we recover the reflectance and illumination intrinsic images from the original image using intrinsic images with NIR image acquisition process. Then, we provide a methodology for object segmentation using a graph-based energy minimization technique to extract the bright pupil regions generated from the NIR light. Finally a simplified radial symmetry (RS) transform is applied to accurately localize pupils’ positions. A preliminary study achieved high detection rate accuracy on 23 different subjects. 1. Introduction Face recognition is broadly used in a variety of law enforcement and security applications. Due to its nonintrusive characteristics, extensive research is performed to optimize the face detection and recognition accuracy. Although most face identification systems are designed to operate indoors, today’s face detection algorithms are still compromised in precision when changes in illumination conditions occur. In this paper, we present a novel solution for achieving illumination invariant face recognition that uses multiple cues to detect and locate faces accurately in near infrared (NIR) imaging systems. First, we recover the reflectance and illumination intrinsic images from the original image using intrinsic images with NIR image acquisition process. Then, we provide a

methodology for object segmentation using a graph-based energy minimization technique to extract the bright pupil regions generated from the NIR light. Finally a simplified radial symmetry (RS) transform is applied to accurately localize pupils’ positions.

The performance degradation in the face identification process is due mainly to the subtle face detection processing phase. Consequently, a robust face detection algorithm that overcomes the illumination condition changes will certainly strengthen the face identification process.

More recently, several techniques have been explored to overcome this uncontrolled illumination challenge. In [1], Georghiades et al. showed that casting faces under the same pose using different possible illumination conditions form a convex cone in the image space. This method, an appearance-based method, requires a set of training images to generate a model variation representation, called the illumination cone. Wang et al. [8] developed reflectance estimation methods based on the quotient image concept to model non-light point directions using spherical harmonic bases, and to achieve illumination subtraction without the use of object alignments and shadow assumptions. Ramamoorthi [6] analyzed the low dimensional subspace of face images taken from the same viewpoint under different illumination using the spherical harmonic representation. Other directions have been also investigated to overcome the problem of the illumination changes. The use of a near-infrared (NIR) spectrum instead of the visible band has proven to produce face images of good condition regardless of the visible light variations. Faces were detected using NIR imaging by analyzing their horizontal and vertical projections area [11]. Zhao and Grigat [11] used the specular reflection of active NIR lights on pupils to detect eyes in NIR images. Their system exploits the feature extraction capabilities of the Discrete Cosine Transform (DCT) and uses a support vector machine (SVM) to classify the extracted

Page 45: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

27

features. In [3] Morimoto and Flickner proposed a multiple face detector using the retro-reflectivity of the eyes. Their method makes use of a Near-IR light set to provide bright pupil images, while another setting is used to generated dark pupil images. The difference of the two image classes produces a set of images representing the Near-IR light pupils’ illumination. In this paper, we propose a method to achieve illumination invariant face recognition using multiple cues to detect and locate faces accurately in near infrared (NIR) imaging systems. Our framework will be structured as follows. First, we recover the reflectance and illumination intrinsic images from the original image using intrinsic images with NIR image acquisition process. Then, we provide a methodology for object segmentation using a graph-based energy minimization technique to extract the bright pupil regions generated from the NIR light. Finally a simplified radial symmetry (RS) transform is applied to accurately localize pupils’ positions. 2. Methods 2.1 Intrinsic images derivation A set of images It can be described as a composition of a static reflectance values R and varying of illuminations field Lt as referred in [9]:

It = Lt . R (1) We follow a similar approach to decompose a given set of NIR face images I(x,y,t) into a sequence set of illumination images and a static reflectance image representing the reflectance properties of the face as I(x,y,t) = L(x,y,t) . R(x,y) where L(x,y,t) represents the face incident light and the reflectance R(x,y). In log domain this relationship becomes i(x,y,t) = l(x,y,t) + r(x,y) Where i(,x,y,t) is the input sequence image in the log domain, r(x,y) represents the reflection values of the original image i(x,y,t) in the log-domain, and l(x,y,t) corresponds to the illumination of each image in the sequence in the log-domain.

Both the static constituent of the face i.e. monotonic gray tone of the face image, as well as the dynamic constituent from the illumination variations change with time. Therefore to differ from Weiss’ method [9], this assumes that the object reflectance and illumination have to be independent from each other, we use time-varying intrinsic images as proposed in [4].

Figure 1 (a,b,c) illustrates the resulting image after applying the Intrinsic Images derivation method. The results shown uses two special derivative filters, horizontal and vertical filters, to compute the intensity

gradients of where represents the convolution operator. To derive the time-dependent intrinsic images, the following steps of Algorithm 1 are considered: Algorithm 1 - Time-dependent Intrinsic images derivation Require: image sets be defined as time varying 2-D images, yielding I(x,y,t) Ensure: image sets i(x,y,t) are processed in log-domain Require: derivative filters

Establish: rn(x,y) = median ( )

Require: reversed derivative filters

Compute: g =

Compute: rn =

Ensure: l(x,y,t) = i(x,y,t) – r(x,y)

Ensure: L(x,y,t) = exp(l(x,y,t))

2.2 Pupil localization One of the objectives of using the intrinsic image decomposition is to extract the face illumination values from the original NIR image. A segmentation method based on intensity information is used to facilitate pupils’ localization. Since the pupil’s reflection shape differs from one person to another, an energy minimization method is used to extract the pupils shape from the image face. We utilize the graph cut object segmentation technique to cast the energy-based object in a structure of which the minimum cut corresponds to a globally optimal segmentation of the face.

The graph cut method combines the two major approaches for image segmentation: segmentation based on objects’ gray level intensities and segmentation based on contrast in different regions in the image. For a successful object segmentation, Greig and al. [2] describes the energy formulation E(z) needed to be minimized as:

E(p) = D(p) + γ.C(p) (2)

Where the term D(p) represents the likelihood of the object region present at pixel p, C(p) represents the likelihood background region presence of the pixel p, and γ≥0 is used to control the segmentation boundary for relative region influence.

To construct the graph representing this energy, each pixel is first considered to be a graph node before it is

Page 46: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

28

connected with two other nodes labeling the pixel as being either in the foreground or in the background level. Each pixel is connected to both either the foreground or background nodes with non-negative edge weights dz for the gray-valued pixels and cz representing the contrast between each neighboring pixels p and q, Such that

dx = - ln [P(I(x,y)/D)] (3)

cx = -ln [P(I(x,y)/C)] (4) Finally, each connected pair combination of neighboring pixels (p,q) with non-negative edge weight determined by the boundary discontinuity B(p,q) is determined to find the shortest possible segmentation border that gives the smallest sums along the contrast.

(5)

Where Ip is the gray-value of the pixel p Є (0,1), the variance can represent the noise floor present in the image, and || p – q || is the Euclidean pixel distance for normalizing edges of different length. 2.3 Negative radial symmetry After extracting eye regions using eq.5, a precise pupil localization algorithm is used to locate eye pupils on the eye windows. Local radial symmetry transform is a simple and powerful tool to detect points of interest in an image. Using the pupils’ round shape property, the transform aims to detect pupil’s radial centers using both higher and lower intensities. In order to achieve a better accuracy, we use the negative radial symmetry (NRS) as introduced in [10]. Based on a 3x3 Sobel edge detector, NRS detects the radial symmetrical centers of the pupils with lower intensity. 3. Results The proposed method was tested on the CBSR NIR face dataset [7]. 23 different test image sets were considered with a sequence length of 10 images (640 x 480) for each subject. The image sets feature a variety of illumination, background and face size under real-world conditions which is more challenging than images with uniform illumination. The faces were successfully detected based on eyes localization. The eye location rate achieved was 95.45%. An illustrative example of eye detection results are shown in Figure 1.

4. Conclusion In this paper, an efficient method for detecting faces based on NIR illumination is presented. Eye pairs are localized using the structure of the eye regions. Facial reflectance textures were extracted using the intrinsic image decomposition method to eliminate the illumination variations. Furthermore, a graph-based method is used to segment the eye pupil shape prior to localizing the segmented pupils using an eye variance filter on different eye windows. The method was tested on different subjects achieving a detection rate exceeding 95% accuracy. However subject with extrinsic objects such as eye glasses were not included in this preliminary study.

Figure 1: Results of our face detector algorithm for one subject with 10 face image sequences.

(a) Original image (5th frame based on 10) (b) Resulted Reflectance Image - (c) Resulted Illumination Image, (d) Extraction of pupil location (e) Face detection

result based on pupil position.

Page 47: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

29

Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. Georghiades, A.S., Belhumeur, P.N., and

Kriegman, D.J., “From Few to Many: Illumination Cone models for Face Recognition under Variable Lightning and Pose,” IEEE Trans. PAMI, vol. 23 (6), pp. 643-660, June 2001.

2. Greig, D., Porteous, B., Seheult, A., “Exact Maximum a Posteriori Estimation for Binary Images,” Journal of the Royal Statistical Society, 1989.

3. Li, D.Y., and Liao, W.H., “Facial Feature Detection in Near-Infrared Images,” in Proceedings of the fifth Intl. Conf. on CVPR and Image Processing, pp. 26-30, September 2003.

4. Matsushita, Y., Nishino, K., Ikeuchi, K., and Masao, S., “Illumination Normalization with Time-Dependent Intrinsic Images for Video Surveillance,” in Proceedings of the IEEE International Conference on Computer Vision and Pattern Recognition, 2004.

5. Morimoto, C.H. and Flickner, M., “Real-Time Multiple Face Detection Using Active Illumination,” in Proc. of the 4th International

Conference on Automatic Face and Gesture Recognition, 2000.

6. Ramamoothi, R., “Analytic PCA Construction for Theoretical Analysis of Lighting Variability in Images of a Lambertian Object,” IEEE Trans. on PAMI, vol. 24(10) 10, pp. 1322-1333, Oct. 2002.

7. Stan, Z. L., RuFeng, C., ShengCai, L., and Zhang, L., “Illumination Invariant Face Recognition Using Near-Infrared Images,” in IEEE. Trans. on Pattern Analysis and Machine Intelligence, pp. 627-639, April 2007.

8. Wang, H.T., Li, S.Z., and Wang, Y.S., “Generalized Quotient Image,” in Proceedings of the Computer Vision and Pattern Recognition, pp. 498-505, 2004.

9. Weiss, Y., “Deriving Intrinsic Images From Image Sequences,” in Proceedings of IEEE International Conf. on Computer Vision, pp.68-75, 2001.

10. Xiong, F., Zhang, Y., and Zhang, G., “A Pupil Localization Algorithm Based on Adaptive Gabor Filtering and Negative Radial Symmetry,” in Energy Minimization Methods in Computer Vision and Pattern Recognition, pp. 87-96, 2007.

11. Zhao, S.Y., and Grigat, R.R., “An Automatic Face Recognition System in the Near Infrared Spectrum,” in Proceedings of the International Conference on Machine Learning and Data Mining in Pattern Recognition, pp 437-444, July 2005.

Page 48: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

30

Thermal Infrared Imaging for the Detection of Temperature Increase on the Head Surface

Due to Motor Activity

Ana M. Guzman1, Malek Adjouadi1, Lu Wang1, Armando Barreto2, Naphtali Rishe3

1Center for Advanced Technology and Education

2Digital Signal Processing Laboratory Department of Electrical & Computer Engineering

3School of Computing and Information Sciences Florida International University, Miami FL 33174, USA

Emails: [email protected], [email protected], [email protected], [email protected], [email protected]

Abstract This paper presents preliminary findings using thermal infrared imaging for the detection of temperature increase on the head surface of a human subject due to the performance of simple motor activities. When a person performs a motor task activity a particular area of the brain is activated due to neural activity which is the result of an increase of blood flow to the local vasculature. The experiment presented here consists of the statistical analysis of thermal infrared images captured using a mid-wave infrared camera from FLIR systems. A healthy, bald, male subject participated in this experiment, he was asked to perform finger tapping using his left hand while his right sagittal view was recorded. The subject was asked to perform finger tapping for 30 seconds and to rest for 30 seconds. The thermal infrared video was decomposed into individual frames and these were analyzed using the statistical one-tailed t-test. The preliminary results show that there is a temperature on the head surface in the area of the parietal lobe due to the performance of a motor activity. 1. Introduction Motor task activities cause the activation of different areas of the human brain depending on the task being performed. Different imaging modalities exist for brain activity mapping. These modalities include positron emission tomography, event-related potentials, electro-and magneto encephalography, magnetic resonance imaging, and single-photon emission tomography. These non-invasive brain imaging modalities are used to explore the spatial and temporal organization of the neural systems supporting human behavior.

Thermal Infrared Imaging has many applications in different scientific, engineering, research, and medical areas. Different studies using thermal infrared imaging have been done to detect spontaneous emotional facial expressions [7], skin tumors [2], to recognize faces and facial expressions [5], frustration [4] and other emotions, as well as temperature increase on the ear and cheek after using a cellular phone [6]. The last study [6] is the closest related, statistically, to the experiment presented in this paper. In this paper we explore the idea of using thermal infrared imaging for the detection of temperature changes on the head surface of a human subject due to the performance of a motor activity. To the best of our knowledge no study has yet been done on this specific area of research. 2. Methods 2.1 Participant For the purpose of this study the same subject was used for the entire experiment. The subject is a healthy, 25 years old male. The subject stayed in the laboratory room for 30 minutes before the recording session began in order to allow his body to adapt to the temperature in the room. Such a preliminary study is to include several other volunteers as the merit of the hardware-software integrated experiment is validated. It is of utmost importance to insure that the temperature accuracy of ± 2 °C and ± 2% of reading can be accomplished with the reliable setting of emissivity, temperature and humidity variables.

Page 49: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

31

2.2 Equipment and software The primary equipment used for this study is a thermal infrared camera (Merlin™ InSb MWIR Camera, FLIR Systems). The camera consists of a Stirling-cooled Indium Antimode (InSb) Focal Array Plane (FPA) built on an Indigo Systems ISC9705 Readout Integrated Circuit (ROIC) using indium bump technology. The FPA is a 320 × 256 matrix of detectors that are sensitive in the 1.0µm to 5.4µm range. The standard camera configuration incorporates a cold filter that restricts the camera’s spectral response to the 3.0 µm – 5.0 µm band. The camera has a 25mm lens with a field of view of 22 × 16°.

The thermal sensitivity is 0.025 °C at 30 °C ambient temperature. The absolute temperature measured depends on different factors such as emissivity of the object, ambient temperature, and humidity. Relevant parameters can be changed in the software (ThermaCAM™ Researcher V2.8 SR-1) provided by FLIR Systems. The temperature accuracy is ± 2 °C and ± 2% of reading if all the variables (emissivity, temperature and humidity) are correctly set.

In the ThermaCAM™ software the following values were used for the video recording:

• Emissivity: 1.0; • Distance: 1.5m • Relative humidity: 50%; • Temperature: 20 °C.

The effect on the absolute temperature was tested by choosing different values for these parameters on single images taken before and after the subject performed a few calisthenics exercises to elevate his body temperature. This single image recording session was done in a different day from the video recording session. When the temperature parameter was changed from 20 °C to 25 °C a change in the absolute temperature of about 0.025 °C or less was recorded, this change is equal to the sensitivity of the IR camera. Changing the relative humidity from 50% to 25% and the distance from 1.5m to 1.3m gave the same result. The emissivity value of human skin is 0.97, when this value was changed to 1.0 the absolute temperature changed by about 0.3 °C. However, the rise in the temperature from before and after performing a few calisthenics exercises did not change. Thus, a dependence on the emissivity or any other parameter setting in the camera was avoided.

2.3 Design of the experiment The recording of the thermal infrared video sequence was done in a room with a mean room temperature of 23 °C. During the recording session the room lights were turned off to avoid the recording of any reflections, this was done as an extra precaution. For the purpose of this experiment the subject needs to be baldheaded. The reason for this requirement is that we are interested on the surface temperatures of the parietal lobe which is associated with human motor activities, and hair interferes with the recording of skin surface temperatures. A suitable male subject volunteered for this experiment. The recording of the thermal infrared video sequence was done in one session. The recording lasted 1 min 30 s with a recording frame rate of 60 frames per second. The subject was asked to sit on a chair for 30 minutes prior to the recording session; this was done with the purpose to adapt his body temperature to the temperature in the room. The infrared camera was placed on a tripod. The lights in the room were turned off to avoid reflections on the subject’s head that could influence the temperatures measured by the infrared camera. The subject sat on a stationary chair with a head rest to avoid any head movement. The camera was kept at the same position during the recording. The right sagittal view of the subject’s head was recorded while the subject did 30 seconds of finger tapping using his left hand (ON activity) and 30 seconds at rest (OFF activity) 2.2 Statistical analysis To test the hypothesis of increased surface temperature on the parietal lobe area caused by performing a motor activity a one-tailed t-test was applied to the region of interest shown in Figure1. The alpha value used for this experiment was 0.05. This alpha value is the probability of making a type I error (i.e. rejecting the null hypothesis H0 when it is true) while testing the statistical hypothesis. The testing procedure for this experiment is for a two-sample hypothesis. We have one sample group with ON activity and a second sample group with OFF activity. Their statistical means are represented by µONand µOFF.The null hypothesis is H0 : µON = µOFF and thealternatehypothesis isH1 :µON> µOFF .The criteriafor rejection is given by t0 > tα,n1+n2‐2. The teststatistict0isgivenby(1):

Page 50: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

32

(1)

wheren1=1800andn2=1800arethegroupsamplesizes,inthiscasethesamplesizescorrespondtothenumber of individual video frames in each groupsample.

The statistical analysis was performed using existing statistical functions in MATLAB and user defined scripts to select the region of interest in each individual frame.

Figure 3. Single infrared video frame of subject performing finger tapping, black rectangular area is the region of interest (Parietal lobe) to be analyzed for temperature change during motor task activities.

3. Results Preliminary results in this study show that there is a temperature change on the head surface in the area of the parietal lobe due to the performance of a motor activity.

In Figures 2 and 3 the mean temperature within the region of interest is shown. The image in Figure 4 shows a visual representation of the t-values obtained after applying a one-tail t-test to the data; the dark blue pixels represent the pixels that were found to not have significant change in temperature. As it can be seen from the color bar the pixels in dark blue have a t-value of zero, these pixels correspond to the pixels in which there was not a statistically significant change in temperature.

The dark red pixels correspond to t-values in which the temperature change is statistically significant.

4. Conclusions The presented results show that there is a temperature change on the head surface in the parietal lobe area due to the performance of a motor task activity. Figure 4 shows a visual representation of the t-values obtained after applying a one-tailed t-test, further statistical analysis such as normalization based on statistical Z score will be performed in future work. The implementation of the Z score will take into consideration the temperature values at each pixel location in the selected region of interest in each individual frame. In future work multiple recording sessions will be done in order to offer a stronger validation of the preliminary results presented here.

Figure 4. Visual representation of the mean temperatures during motors task activity,

temperature is in Kelvin scale.

Figure 5. Visual representation of the mean

temperatures at rest, temperature is in Kelvin scale.

Page 51: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

33

Figure 6. Visual representation of the t-values

obtained after applying a one-tail t-test with an alpha=0.05 and degrees of freedom = 3598

Acknowledgements The authors appreciate the support provided by the National Science Foundation under grants CNS-0540592, HRD-0317692, CNS-0426125, CNS-0520811, CNS-0540592 and IIS-0308155.

References 1. Diakides, N. & Bronzino, J., Medical Infrared

Imaging (CRC Press, Taylor and Francis Group, FL, 2008).

2. Mital, M. & Scott, E., “Thermal Detection of Embedded Tumors Using Infrared Imaging,” Journal of Biomechanical Engineering, Vol. 129, February 2007, 33-39

3. Montgomery, M., Runger, G., Hubele, N., Engineering Statistics (Second Edition, John Wiley and Sons, Crawfordsville, 2001)

4. Pavlidis, I., Dowdall, J., et. al., “Interacting with Human Physiology,” Computer Vision and Image Understanding, Vol. 108 (2007), 150-170.

5. Socolinsky, D., Selinger, A., Neuheisel, J., “Face Recognition with Visible and Thermal Infrared Imagery,” Computer Vision and Image Understanding, 91(2003), 72-114.

6. Straume, A., Oftedal,, G., Johnson, A., “Skin Temperature Increase Caused by a Mobile Phone: A Methodological Infrared Camera Study,” Bioelectromagnetics 26(2005), 510-510.

7. Zeng, Z., “Spontaneous Emotional Facial Expression,” Detection, Journal of Multimedia, Vol.1, No. 5, August 2006, 1-8.

Page 52: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

34

Resolving Malicious Patterns in Network Traffic Using Data Mining Techniques

Joel Ortiz

Advisors: Mohsen Beheshti, Kazimierz Kowalski, Jianchao Han

Supported by the National Science Foundation Grant CNS-0540592 and the National Geospatial-Intelligence Agency, Center of Excellence in Computational Science, Army research Office, Computer Science Department at

California State University Dominguez Hills Carson CA 90747, USA

Emails: [email protected]

Abstract Most intrusion detection systems[IDS] depend on the payload and ports in order to distinguish between normal Internet traffic and a potential attack. At California State University Dominguez Hills, the Computer Science Department created the Computer Security Research Lab (CSRL) to study the effects of a data mining algorithm to analyze and block network traffic from a potential attack. The CSRL is funded by NSF Grant CNS-0540592, Center of Excellence in Computational Science, and National Geospatial-Intelligence Agency. The members of the CSRL team include Eric Flior, Obi Madekwe, Damian Alvillar,Luzmaria Martinez, Joel Ortiz, Tychy Anaya, Johnly Tomelden as well as the Faculty advisors. Using a system that includes honey pots, an IDS, and a data mining application, the CSRL will separate the network traffic into two classifications, and study the impact and the analysis of a data mining technique has when a firewall uses these results. 1. Introduction

There are different ways to collect, analyze and finely implement a secure network the CSRL used as many off the shelf applications as where available. Any input or output differences where resolved using php.

A network is needed in order to collect information for analysis and therefore the CSRL created two web servers to act as bait for the collection of network traffic both malicious and benign. This step is needed for the data mining but in order to keep the collected data valid each web server needs to have a similar set up.[10, 11, 12]

The IDS that the CSRL will using is called SNORT©[4] this is an open source network intrusion detection and prevention tool. The rules distributed by the Snort© community will only be used as a means to capture network traffic and separate it without the

preventive option. The CSRL team came up with a few other rules that capture non malicious traffic or normal traffic that the community rules do not. The community rules separate the internet traffic into three protocols: Tcp, Icmp, and Udp. The CSRL team takes these protocols to create one training set for each protocol. Each training set will be evaluated separately from the others in order to create three decision trees.

The data mining application is used is called SEE5 [2]. See5 has an algorithm that is based off the ID3 algorithm [5]. This application is used because it classifies the training set and outputs a decision tree or a rule set.

From collection of the network traffic to the actual analyzes of the training sets, each step has to be taken into consideration how the data is manipulated to keep consistency, and transform the information into something a data mining application can analyze for patterns. After the training sets have been analyzed by the data mining application, the next step is to have the decision tree changed in to iptables rules that can be used as a firewall in order to reject or accept network traffic on a live web server. [1, 11]

2. Methods 2.1 Network setup

The CSRL has set up two web servers with multiple web sites for attackers and normal surfers of the Internet to visit and explore called a honey net. Each server has one sensor attached to it segregating the network traffic by a classification system embedded into the Snort© system that logs each datagram into a database.[12, 13]

The database Management System used by Snort© can be MySQL, PostgreSQL, MS-SQL, and Oracle. The CSRL team set the Snort© system to log network traffic to MySQL an open source database system.

Page 53: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

35

From MySQL, queries can be made to format or transform the data into input for SEE5. [2, 3, 12]

2.2 Data mining

The goal of data mining is to take a large amount of information called a training set, and then have someone to categorize the data in a way that will allow the choosing of attributes. Once the training set is cleaned of undesired attributes the training set can then be mined applying an algorithm to learn if there are any patterns that occur within the training set. This type of data mining is called classification, from the categorizing of the data into types. [11]

In CSRL the training set is created from the logged information from the IDS. The IDS brakes each packet into the protocol and then inserts each part into the corresponding table in each database. The common parts are from the IP as it needs to be associated with the three protocols tcp, icmp, udp. The attributes that are being used are common to all internet traffic protocols up to ipv4 and are on the following table 1. [10, 12]

Table 1. Attributes used in the CSRL for data mining

IP TCP ICMP UDP Source IP

Source Port

Type Source Port

Destination IP

Destination Port

Code Destination Port

version Sequence number

Check sum length

Header Length

Acknowledgement number

Identification Check sum

Type of service

Data offset

Sequence number

Total length

Reserved

Identification Flags Flags Window size Fragment Offset

Check sum

Time to live

Urgent bit

Protocol Checksum

Highlights are attributes that are not currently included

2.3 Decision trees

One form of displaying the information gathered from the data mining software is to display it using a decision tree. The decision tree in our case is a binary tree made from the attributes that we have put in to the data mining application. [11]

The decision tree we use comes from a text tree that is an if then type of statement: icmp_code > 3: 1 (6398) this statement would be interpreted as the attribute icmp_code has to be more then 3 in order to be considered an alert. In order to read this information its best to put it in a graphical form Figure 1. [11]

Figure 1. Decision Tree for ICMP 2.4 SEE5 specifics

SEE5 is a classification data miner that takes as input two files. The first file is the training set that is composed of the raw data from the data collection in this case the Snort© database. The second file contains the format of the training set. [2][5]

The training set file or .data file only contains data separated by commas. With the amount of web traffic that is generated from web servers the CSRL web servers are hit with normal traffic as well as malicious attacks at all times during the day and so generate a large database that needs to be backed up often. [2].

The .name file is a description of the information contained in the training set. Each field in the .data file has to be identified as one of several data types. The CSRL team opted for the use of the constant or continues data type. Having this constraint poses the option of using c4.5 therefore putting continuous or constant as the data type for all the attributes makes it desirable for future application. Continuous data types are numbers that SEE5 can look for when generating patterns that can be random but must be numbers. There are other field data types as well as special cases that are not part of the free version of the free version of SEE5 called c4.5, these special cases where avoided as

Page 54: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

36

much as possible in order to easily be able to change to a different data miner. [2].

The .names file also represents all the attributes that will be considered in the analysis with one attribute called the target attribute represented at the top of the file as well as described in detail in the list of the other attributes. The target attribute can not be a continuous field as SEE5 will use this attribute to create the categories and therefore can not create an infinite number of categories that it would have to create if the field was to be allowed to be continuous. [2] 2.5 Interpreting the SEE5 output

SEE5 outputs a text decision tree and can be changed into a set of rules that are easier to understand with a trade off in an increase in the error rate. The example of the icmp is displayed: [2]

icmp_code > 3: 1 (6398) icmp_code <= 3: :...ip_len > 28: 2 (9516/8) ip_len <= 28: :...icmp_type <= 3: 2 (82)

icmp_type > 3: 1 (40) The decision tree can then be taken and a graphic

decision tree can then be created using any graphing application. The leaves are represented in the text output of the decision tree in parenthesis. Each of the names on the tree are attributes from the .names file and each line has only two options ether more then a value or less or equal to that same value. [2]

While the data collected is large; over 1,000 malicious attacks and normal traffic there is a large balancing problem as well. The early training sets had a problem with “noise” in the data do to forcing the various protocols into one training set. That training set created an entry with all the attributes of all 3 protocols. Then when a datagram was received the protocol if Tcp would fill the attributes for Udp and Icmp with nulls this created noise from all the null information. [2][7][8]

One of the early validation tests was the k-fold test that is part of the SEE5 application as an option. The option is a check box in the user interface of SEE5 called cross-validation and allows the training set to be divided evenly up to 99 times. The way SEE5 performs this operation is by dividing the training set randomly and evenly then taking the first divided set and holding it to test the rules that are created by the other sets compiling the results and then picking up the next set and letting the previous set be used to create the rules. [2][6]

3. Results

Using a partial translation of the decision tree conversion to iptables the results show a significant decrease in the malicious activity as well as an unfortunate increase of false positives.

The CSRL team used a tap on one of the networks in order to test the iptables rules with the firewall. After the firewall a regular network sensor is installed with similar set up as the other network sensors. Four databases where created and later analyzed: FireClean, FireAlert, NormalClean, NormalAlert. Comparing the totals from the clean databases we get a possible number for false positives as any discretion would be the firewall rules blocking normal traffic; wile comparing the Alert databases gives us an idea of how successful the firewall rules are.

The alert databases show that the firewall rules have a high block rate 205 attacks where successfully blocked. Unfortunately on the clean databases there was a difference of 1,194,140 data grams blocked by the firewall rules.

The 10 fold test on each of the protocols shows about the same number of rules and error rates that supports the rules created by SEE5. This shows that the SEE5 rules passed the 10 fold test validation technique. 4. Conclusions

Some of the attributes had no iptables equivalent and therefore some of the rules had to be dropped. The implementation of the sequence in the iptables is still not complete. The actual number of rules that could be implemented was 8 out of 28 possible rules that are currently being planned for later implementation.

Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. Netfilter core team, iptables

[http://www.netfilter.org/index.html, Copyright © 1999-2008]

2. Rule Quest, SEE5: An Informal Tutorial [http://www.rulequest.com/SEE5-win.html, RULEQUEST RESEARCH 1998-2006]

3. MySQL AB, MySQL [http://www.MySQL.com/, 1995-2008]

4. Snort and Sourcefire, Snort [Snort.org ©2005 Sourcefire, Inc., All Rights Reserved]

Page 55: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

37

5. Ross, Peter. rule induction: ross Quinlan's ID3 algorithm [dcs.napier.ac.uk/~peter/vldb/dm/ node11.html, 2000]

6. Bengio, Yoshua. Grandvalet, Yves. No Unbiased Estimator of the Variance of K-Fold Cross-Validation [The Journal of Machine Learning Research Volume 5, MIT Press Cambridge, MA, USA. 2004]

7. Williams, Graham. DATA MINING Desktop

Survival Guide: Unbalanced Classification [http://www.togaware.com/datamining/survivor/Unbalanced_Classification.html © 2004-2008 Togaware Pty Ltd]

8. Linacre J.M. Data Mining and Rasch Measurement

CRISP-DM [http://www.rasch. org/rmt/rmt152f.htm. 2001, 15:2 p. 826-7]

9. netfilter core team. iptables [http://www.

netfilter.org/index.html, Copyright © 1999-2008] 10. Bejtlich, Richard. The Tao of Network Security

Monitoring: Beyond Intrusion Detection. Pearson Education, inc, [2004, Boston, MA]

11. Thornton C.J. Techniques in Computational Learning An Introduction. [Padstow Ltd, Padstow, Cornwall. 1992]

12. Peterson, L Larry. Davie, S Bruce. Computer Networks: A systems Approach, [Morgan Kaufmann Publisher. San Francisco, CA. 2003]

13. Grimes A, Roger, Honeypots for Window, [Springer-Verlag New Yourk, Inc. New York, NY 10013 2005]

14. CSRL team, Figure 1 and table 1, [California State University Dominguez Hills]

Page 56: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

38

CSRL See5 Transformation: Using PHP for Data Transformation Between SNORT® IDS Databases and See5 Flat Files

Eric Flior

Mohsen Beheshti, Kazimierz Kowalski, Jianchao Han, Damian Alvillar, Luzmaria Martinez

Supported by the National Science Foundation Grant CNS-0540592 and the National Geospatial-Intelligence Agency

Computer Science Department California State University Dominguez Hills

Carson, CA 90747, USA Email: [email protected]

Abstract When incorporating multiple off the shelf systems into a new software system, a method must be developed to transform the output of one system into a format acceptable as input for another. The Computer Security Research Lab at California State University Dominguez Hills is developing a software system which will be able to automatically create firewall rules based on classification of malicious network traffic.

1. Introduction In the Computer Security Research Lab (CSRL) at California State University, Dominguez Hills, student researchers are working to create a system able to distinguish malicious traffic from regular network traffic in a sensor network and be able to automatically update the network's firewall rules to prevent attacks. To accomplish this, the system, called JACED, incorporates two existing software systems, SNORT® and See5. Snort® is used as an intrusion detection system [1], and See5 is being used as a data mining tool [2]. Snort® stores output data in a MySQL database, and See5 requires input in the form of a flat file with a .data extension [3]. In order to use the two components in conjunction with each other, there must be a process of data transformation on the alerts in the Snort® database to allow the alerts to be processed by See5. As there are no currently existing tools available to perform this transformation, the CSRL See5 Transformation Graphical User Interface (See5 GUI) provides researchers with a tool to facilitate the transformation of the Snort® sensor data for research purposes.

2. Existing Systems 2.1 Snort® Snort®, developed by SourceFire, is an open-source software package designed for packet capturing and real time network traffic analysis [4]. In JACED, Snort® is being used to identify traffic across a honeypot sensor network as being either malicious or benign, and, if malicious, to provide a signature of the traffic. The results of Snort®'s identification are then stored in a MySQL database for later analysis. The information stored in the Snort® database includes the malicious identification signature provided by Snort®, as well as the IP, and TCP, UDP, or ICMP header information of the sensor network traffic [5]. 2.2 See5 See5, developed by Ross Quinlan as the successor to the ID3 and C4.5 systems, is a data mining tool which provides data classification capabilities [6]. In JACED, we are using See5 in order to discover patterns and regularities in the Snort® database, present them in an intelligible form, and use those patterns and regularities to make predictions about other malicious traffic. See5 does not directly interface with MySQL, but instead accepts data for classification in the form of a flat file with a .data extension [7]. 3. CSRL See5 Transformation GUI

Given that the size of a Snort® identification results database can be thousands of records long and that there are multiple sensors each recording information to different databases, manual transformation of the data from MySQL to a .data flat file for processing by See5 is both time consuming and prone to human error. The CSRL See5 Transformation GUI allows researchers to

Page 57: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

39

effortlessly aggregate data from various tables in the Snort® database and automatically create a .data file ready for processing by See5. 3.1 Data transformation from Snort® database to data file The transformation of data from the Snort® database to the See5 .data file is accomplished with a PHP script comprised of various functions. PHP, which stands for Personal Home Page, is a computer scripting language originally designed for producing dynamic web pages [8]. In JACED, we are using PHP to communicate directly with MySQL in order to aggregate selected data from a number of tables in the Snort® database into new tables, and then to create flat files from the newly created tables. The script begins executing by opening the Snort® database and temporarily storing its records in a buffer for ease of manipulation. Storing the Snort® database into a buffer is advantageous because manipulating the data from the database using PHP is faster and more efficient than manipulating the data directly from the MySQL command console [9]. Once the data has been buffered, the PHP script selects data from specific fields in selected tables which have been identified as having the most relevant research value. This selected data is then separated by protocol and inserted into new tables in the Snort® database. These new tables can then be exported by a separate function into the requisite .data flat files for See5. 3.2 See5 GUI tool The See5 Transformation GUI is also written in PHP, and interfaces directly with the PHP script which does the data transformation on the Snort® database. It provides an easy, graphical method for the user to see which databases are available, perform various functions on the data contained within, and is accessible as a web page hosted by the same server which contains the Snort® databases. The GUI provides the following functionality: Dynamically creates a table listing the databases which can be processed for use with See5; Determines if the databases meet CSRL classification standards and provides access to a PHP function to classify them if not; Determines whether the databases contain the requisite tables for data transformation and provides access to a PHP function to create them if not; Provides access to a PHP function which performs the data transformation on a selected database; Provides access to a PHP function which creates the .data flat file from a selected database.

4. Results Student researchers performed black box tests on the See5 GUI, selecting various portions of a number of databases and attempting to create .data flat files from the databases. They found that there was no difference in output generated by the See5 GUI and output created by manually entering commands into MySQL. 5. Future Uses for the CSRL See5

Transformation GUI As the JACED system progresses, the CSRL See5 Transformation GUI will also grow and expand to meet the additional needs of researchers. Plans for the GUI include automation of the fusion of database information from multiple sensors, automation of the creation of .data flat files for all databases, and to ultimately allow for control of all aspects of the JACED project via one user interface. Acknowledgements This paper is based on work supported by the National Science Foundation (NSF) through grant CNS-05040538 and NGA. Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. Any opinions, findings, and conclusions or recommendations expressed in the paper are those of the authors and do not necessarily reflect the views of the NSF. References 1. Snort®: http://www.snort.org (last visited November 10,

2008). 2. Data Mining Tools See5 and C5.0:

http://www.rulequest.com/see5-info.html (last visited November 13, 2008).

3. R. U. Rehman, Intrusion Detection with Snort®: Advanced IDS Techniques Using SNORT, Apache, MySQL, PHP, and ACID (Prentice Hall PTR, 2003).

4. M. Gregg, Hack the Stack: Using Snort® and Ethereal to Master the 8 Layers of an Insecure Network; Syngress Publishing, Inc. (Syngress, 2006).

5. B. Caswell, J. Beale, J. C. Foster, & J. Faircloth, Snort® 2.0 Intrusion Detection (Syngree, 2003).

6. Data Mining Tools See5 and C5.0: http://www.rulequest.com/see5-info.html (last visited November 13, 2008).

7. See5: An Informal Tutorial, http://www.rulequest.com/see5-win.html (last visited November 12, 2008).

8. PHP http://www.php.net (last visited November 10, 2008).

9. T. Boronczyk & M.E. Psinas, PHP and MySQL Create-Modify-Reuse; (Wrox, 2008).

Page 58: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

40

Using Alice to Quickly Prototype Video Game Mechanics and Ideas

Daniel Jaramillo and Dr. Karen Villaverde

Department of Computer Science

New Mexico State University Las Cruces, NM 88003 USA

Credit given to NSF Grant CNS-0540592 Emails: [email protected], [email protected]

Abstract This paper describes the advantages of using the 3D programming environment Alice to prototype video game mechanics and ideas. We found that undergraduate students and high school students with little or no programming experience were able to develop reasonable 3D game prototypes within weeks of their first exposure to Alice. 1. Introduction

Alice is a 3D programming environment that makes it simple to create interactive animations and video games. It was designed as a teaching tool to be a student's first exposure to object-oriented programming. In Alice, objects are placed in a virtual world where students can create programs to interact and animate the objects [1]. With the video game industry growing over 40 percent in 2007 to a $17.94 billion business, entering the video game industry could be a daunting task for a would-be game developer [4]. With a large amount of opportunity and competition, interested students need a way to learn key concepts quickly and be able to display their creativity in the process. Being able to quickly prototype a game mechanic or idea without the need to learn a complicated rendering engine can give students an edge when entering the highly competitive world of video game programming.

Key game mechanics that many video games share are movement of an object, controlling object functions, menu manipulation, physics interactions and collision detection between those objects. An object could be anything from the player's character, objects in the world, or even options in a menu. Alice allows for quick creation of these mechanics in an integrated development environment enabling students to portray their idea, without the need to write many lines of code or to get a team of artists and programmers together.

2. Methods The user interface in Alice allows the user to avoid many syntax errors by having a complete drag and drop system. The users place objects in their world, and drags commands into functions and methods that will animate their objects. Alice also allows for easy event control. This is key in setting up game play, as the user can just state a key or button press that causes an event. The user can take this farther by adding many events that will control the way their game will play. From here, the users can build their game based on which events cause certain actions or animations to happen. By scripting these events, the users can create their gameplay quickly. Depending on the game-type being portrayed, movement can range from simple flying to complicated walking movements and hand motions. Setting an event to look for key presses that activate certain animations or move specific objects give the user full control on how objects in their world will move. Also, Alice allows for objects to be set in poses. A pose is setting the object to look a certain way, then capturing it. From there, you can create events or scripts that will cycle through these poses, making animation direction as simple as a few mouse clicks. Once the users have set up their object movement, the event system allows for easy control over the objects. The users can assign keyboard keys to certain methods that will allow their objects to interact in their world. If the user wants to add menus for the player to navigate, the user just needs to create the menu, decide where it will appear, then assign the appropriate keys to control those actions. The user can also use boolean functions to determine if the player has control over certain objects in the world at specific times. Alice has full support for If-Then-Else, For and While statements, making this control quite simple.

Page 59: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

41

Normally, in video game programming, physics simulation is quite a task, usually requiring many lines of code. In Alice, the user can define the way they want their objects to behave using movement functions. All the movement functions in Alice are defined in meters and can be moved in durations of seconds. This allows the user to create physics functions of rolling or falling objects. Ambitious users could spend some time creating inertia functions if they like, adding even more realism to their simulation. While, for a prototype, these complex functions might not be necessary, they are still possible. Collision detection, another important aspect of video game programming, is checking whether two or more objects are touching, or near each other. Alice again, has built in functions that make this important mechanic easy and possible. Checking an object's distance to another one, and making a decision based on that is just a few mouse clicks and some testing to make sure the decided thresholds seem correct. Being able to make your game unique and stand out is very important in a very competitive industry, and making your prototype stand out is just as important. Alice allows for customization by giving the user full control for each of it's default objects, importing new objects from modeling tools such as Blender or 3D Studio Max, importing new textures to place on the objects, and importing sounds and music. Each of these properties can be controlled through scripts and events as well. Alice also has a video export tool, to allow the user to make short demonstrations of their game prototype or animation. This will allow the user to show others who might not have Alice installed on their computer. There is also an option to create a web page with the animation embedded in it, as Alice uses a Java based system. 3. Results

With just a few moments to understand the Alice

interface, the users will find they will be able to create something after a short while. They will have the tools needed to create a video game prototype, and the ability to share it over video, or through a web page. This allows the users to focus more on the game design instead of syntax and language issues. Alice has an object-oriented system, which means students new to programming can learn about object-oriented concepts in the process of making their video game prototype or more experienced users use the object-oriented style to create interactive cut-scenes and dynamic camera views quite easily. Since Alice also has it's own rendering engine, the need to write code for specific graphics card is also gone.

4. Conclusions Learning a traditional programming language like C++ or Java could take a student many years to perfect and understand. Then learning full fledged rendering and physics engines will take even longer to produce the simplest of prototypes. With Alice, in a few weeks time, a student could have a working prototype ready to show and receive feedback on. The more experienced programmers will find that with Alice they can make expandable prototypes and get a good start on making a full game. While the draw backs of Alice are few, they are important. Alice currently does not have support for dynamic creation and destruction of objects, meaning everything must be placed at load time, causing long load times for complex scenes or code. Alice also does not have support for other rendering engines, which mean the prototypes can look outdated and the models look very generic. Finally, the program can be unstable at times, requiring that users always remember to save their work quite often. Although important drawbacks, they can be over come by remembering that Alice is just a tool for creating prototypes, displaying game mechanics, and making test animations, and that the final product could look very different. Having Alice available to work through core ideas, though, can be very useful. Using Alice to work out game play mechanics, animation and even story, a would-be game designer could save a lot of time on the final product by spending less time trying to figure out syntax and language or engine nuances. Using Alice as another tool, students, would-be game designers, and even game programmers have a fast and easy way to display their ideas in a competitive environment where every second counts. Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. W. Dann, S. Cooper, & R. Pausch, Learning to

Program with Alice (Prentice Hall Upper Saddle River, NJ, 2006)

2. R. Pausch, T. Burnette, A. C. Capehart, M. Conway, D. Cosgrove, R. DeLine, J. Durbin, R. Gossweiler, S. Koga, & J. White A Brief Architectural Overview of Alice, a Rapid Prototyping System for Virtual Reality, 1995 <http://www.cs.cmu.edu/~stage3/publications/95/journals/IEEEcomputer/CGandA/paper.html>

Page 60: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

42

3. M. Conway, S. Audia, T. Burnette, D. Cosgrove, K. Christiansen, R. Deline, J. Durbin, R. Gossweiler, S. Koga, C. Long, B. Mallory, S. Miale, K. Monkaitis, J. Patten, J. Pierce, J. Shochet, D. Staack, B. Stearns, R. Stoakley, C. Sturgill, J. Viega, J. White, G. Williams, R. Pausch, Alice: Lessons Learned from Building a

3D System For Novices, 2000, <http://www.alice.org/publications/chialice.pdf>

4. B. Boyer NPD: 2007 U.S. Game Industry Growth Up 43% To $17.9 Billion 2008 <http://www.gamasutra.com/php-bin/news_index.php?story=17006>

Page 61: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

43

Quantization of Multivariate Continuous Random Variables by Sequential Dynamic Programming

Samuel Palmer and Mingzhou (Joe) Song

Department of Computer Science

New Mexico State University Las Cruces, NM 88003, USA

Emails: [email protected], [email protected]

Abstract The problem of quantizing multivariate continuous random variables into discrete ones while preserving interactions between variables requires an approximation algorithm to solve. A dynamic programming algorithm can be used to quantize each variable individually while preserving interactions with other variables. This approach can be shown to produce a better approximation to the real solution in certain situations than the widely used k-means and mutual information based discretization approaches.

1. Introduction

Oftentimes when working with experimentally

derived data it is useful to work with discrete variables instead of the measured continuous variables when analyzing the data. This issue can arise in the field of computational biology, for instance. Some methods used to analyze the growing number of high-throughput gene expression datasets require discrete variables. These datasets are characterized by multiple mRNA concentrations measured at several time points. As each mRNA concentration measurement represents one dimension of the system each observation can be viewed in terms of the values in each dimension.

Much of the analysis involved when working with gene expression data involves analyzing interactions between genes in the system. This means that it is important to preserve any interactions that existed in the continuous form of the data in the discrete form. The quantization process should preserve as many interactions as possible and avoid introducing interactions not present in the original data.

For the remainder of this paper the paradigm that will be used involves placing the observations on an n-dimensional Euclidean space. The problem of quantization then becomes the problem of placing grid lines in each dimension of this Euclidean space in order to separate the observations into the desired number of bins. Each of these bins will then represent a discrete

value in the quantized version of the data. Given a finite set of candidate grid lines of order m and an objective function to measure the effectiveness of a grid one can easily see that an exhaustive approach to maximize the objective function has a running time complexity of Θ(2m). This makes the exhaustive approach impractical to implement for any reasonable set of candidate grid lines so an efficient approximation algorithm is needed.

Using the likelihood as an objective function applied to the entire grid and a dynamic programming algorithm to optimize one dimension at a time has shown to be an effective approximation in some situations. For comparison purposes, we discuss the performance of the sequential dynamical programming algorithm in reference to three other approaches including the k-means, the information-preserving discretization, and the greedy addition/deletion algorithm. 2. Other Quantization Approaches 2.1 The k-means algorithm

The first approach uses the k-means algorithm as presented by Hartigan and Wong [1]. The algorithm performs clustering on data so as to achieve the goal of discovering grid lines in each dimension. The clustering must be performed on the projection of the observations into each dimension individually. This, of course, excludes the possibility of using information in other dimensions to discover grid lines.

2.2 Hartemink’s information-preserving discretization algorithm

The second approach is based on an algorithm presented by Hartemink [2]. It attempts to minimize the loss of total mutual information as bins are merged together. Here total mutual information is defined as the sum of the pairwise mutual information between all pairs of variables.

Page 62: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

44

The algorithm begins with a simple initial discretization of the data. Hartemink presents several methods to perform this initial discretization. The method used in this comparison is deterministic quantile discretization. In a deterministic quantile discretization an initial set of grid lines is determined by placing an equal number of observations in each bin (within the limits of rounding). Once this initial discretization is complete the algorithm proceeds to merge adjacent bins that will cause the smallest decrease in the total mutual information of the grid.

This algorithm has a time complexity of O(DM2) with M dimensions and D initial discretization levels. For this reason it becomes impractical to discretize every observation into its own bin in the initial discretization for a large number of observations which would preserve the most information. For the purposes of the evaluation in this paper, datasets with less than one hundred observations were initially discretized into bins equal to the number of observations; and each of the datasets with more than one hundred observations were initially discretized into one hundred bins. 2.3 Greedy addition/deletion algorithm

The third algorithm presented by Song et al. [3] defines a finite set of candidate grid lines as the midpoint between two adjacent observations in each dimension. The algorithm attempts to find the set of grid lines that maximize an objective function for a given number of quantization levels. Quantization by deletion indicates that the algorithm will begin with all the candidate grid lines present and remove them in a greedy manner based on which removal will cause the smallest decrease in the objective function until the desired number of quantization levels is reached. Quantization by addition works in a similar manner except that it begins without any grid lines and adds candidate grid lines based on which grid line would cause the greatest increase in the objective function until the desired number of quantization levels is reached.

The objective function used for the comparison in this paper is the log likelihood which is defined as

where nb is the number of observations in bin b, N is the total number of observations, and volume[b] is the volume of bin b.

3. Sequential Dynamic Programming Approach

Each iteration of the sequential dynamic

programming algorithm decides which candidate grid lines should be present in one dimension of the grid. In one dimension the quantization problem has an optimal substructure so a dynamic programming algorithm can easily be applied to create a solution in a bottom-up fashion. The difference between this approach and the k-means approach, which also selects grid lines one dimension at a time, is that the sequential dynamic programming approach attempts to maximize a global objective function whereas the k-means approach is limited to the projection into one dimension. This algorithm has a time complexity of O(MD2) with M dimensions and D observations.

The decisions made by the sequential dynamic programming algorithm are greedy in the sense that they are made based on the set of grid lines that will cause the greatest increase in the objective function at that iteration of the algorithm. This means that it is possible to begin with a grid that has all the candidate grid lines present or none of the candidate grid lines present as with the greedy addition/deletion algorithm.

The comparison presented here uses the log likelihood as its objective function and presents results for both situations where all candidate grid lines are present at the beginning and none of the candidate grid lines are present at the beginning.

4. Evaluation Method

A total of twenty-seven grids were randomly

generated to evaluate the algorithms; nine with two dimensions, nine with ten dimensions, and nine with one hundred dimensions. In addition to randomly generating the grids, each bin in the grids were assigned a random probability. Observations were then distributed based on these probabilities.

A total of sixteen datasets were generated for each of the grids; four with 10 observations, four with 20 observations, four with 40 observations, four with 80 observations, and four with 160 observations.

The algorithms were then given these datasets and used to approximate the actual grid. The mean squared errors were then calculated for each approximation. The algorithms were then compared by sample size and number of dimensions. 5. Results

The plots in Fig. 1-3 summarize the mean squared errors for the algorithms discussed. Each plot shows the results from the greedy algorithm using addition

Page 63: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

45

followed by the greedy algorithm using deletion, the k-means algorithm, Hartemink’s information-preserving discretization algorithm, sequential dynamic programming algorithm beginning with all candidate grid lines present, and the sequential dynamic programming algorithm with none of the candidate grid lines present.

Figure 1. Quantization performance comparison of six different approaches using simulated 2 dimensional data sets. 6. Conclusions

The first observation that can be made when the

results are analyzed is that Hartemink’s algorithm based on minimizing the loss of mutual information suffers significantly when the sample size is large. As mentioned previously this may be caused by the information lost in the initial discretization on the large datasets which was limited to one hundred levels. Additional computational power may allow this restriction to be removed and improve its performance for large sample sizes.

The sequential dynamic programming algorithm did not provide the best performance with a sample size

of ten for any number of dimensions. It also failed to significantly distinguish itself from the greedy algorithm using either addition or deletion of grid lines in the two and ten dimensional datasets. The sequential dynamic programming algorithm did, however, provide consistently better results than the other algorithms with eighty and one hundred sixty sample sizes in one hundred dimensions.

Figure 2. Quantization performance comparison of six different approaches using simulated 10 dimensional data sets.

This gives an indication that this algorithm may provide a better approximation when the sample size is large and a large number of dimensions are measured. These results certainly justify further investigation.

Page 64: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

46

Figure 3. Quantization performance comparison of six different approaches using simulated 100 dimensional data sets.

Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. Hartigan, J. A. and M. A. Wong. A k-means

clustering algorithm. Applied Statistics, 28(1):100-108, 1979.

2. Hartemink, A. J.. Principled Computational Methods for the Validation and Discovery of Genetic Regulatory Networks. PhD thesis, Massachusetts Institute of Technology, 2001.

3. Song, M., E. R. Lance, C. K. Lewis, E. J. Chesler, R. Kirova, and S. E. Bergeson. Maximum likelihood quantization and logical networks for modeling biological interactions. The 11th Annual International Conference on Research in Computational Molecular Biology (RECOMB). Oakland, CA. April, 2007.

Page 65: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

47

Gaming Mechanics in Alice

Sridurga Shilpa Ganapathineedi and Dr. Karen Villaverde

Department of Computer Science, New Mexico State University, Las Cruces NM 88003, USA

Emails: [email protected], [email protected]

Abstract

This paper describes the design and prototyping of various gaming mechanics using Alice, a 3D programming environment that has 3D graphical objects and drag-drop functionality. 1. Introduction

The gaming industry has been one of the most thriving industries in recent years. People enjoy games irrespective of their age and profession because games are interactive, engaging and most importantly enjoyable. A game is basically a set of actions that require two components: a game and a player. And there are different varieties of games for different players.

In the player’s view a game is a sequence of interactive actions where they can either win or lose. In the developer’s perspective designing a game involves various stages like coming up with a creative idea, graphical representation of the objects involved, prototyping and finally implementation of the idea with all the hardware and software resources available.

Our work is about the game mechanics that can be incorporated in a game using the Alice programming environment [1]. Alice is a 3D programming environment that has 3D graphics and a drag and drop editor that makes life easy when creating animations, small games and simulations.

Before we discuss the mechanics let us get familiar with different types of games [3]. They are role-playing games, environment based games, racer games, sports and puzzles to name a few. Role playing games are games wherein the player assumes to be a fictional character in the game and carries out events. Environment based games are games that have different backgrounds like land, sea and air. A well known game to describe a racing game is Road Rash that has a race car that competes with other race cars to reach the finish line first. Sports games are games that simulate real games like tennis, cricket and chess. Finally the puzzle games are games that solve a puzzle like

minesweeper, most popular game in windows machines. 2. Methods 2.1 Collision detection The most common technical problem to be solved in games is collision detection. In games like asteroids, an asteroid is destroyed by projectiles released by a jet and if asteroids collide with the jet then the jet gets destroyed. This can be well accomplished in Alice. Alice is composed of 3D objects, built-in methods, properties and built-in functions and also supports user-defined methods and functions.

To achieve collision detection we can have a user-defined method called “onCollision” and an event that checks whether the objects are colliding or not. This event uses a built-in function “is within distance of” that calculates the distance between two objects; for example, in the asteroid game it measures the distance between the center of the jet and center of the asteroid and if they are just half a meter apart from each other this event calls the method onCollision.

The code behind onCollision changes the opacity property of the jet to zero making the jet invisible and this brings in a feeling to the player that the object is destroyed. This mechanic is very widely used in many games like shooting and racing to name a few. 2.2 Camera views Camera views are different camera positions that let the player see the possible views of the game giving a rich gaming experience to the user. The top view allows the player to see the game in a 2D perspective, while the side view, front view and back view are some of the views that give a better understanding of the position of the object in most role-playing games.

Let us consider a race car game that has to compete with the other cars that are played by the computer. Introducing different camera views in this game really helps the player to reach the goal easily. For example, when this game is seen from the top view the player can

Page 66: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

48

see the other cars and their positions and that helps him to compare and locate himself among his competitors.

Alice has a method called capture views that creates different camera views. A view is captured after changing the camera’s position and a built-in method “set camera point of view to” is called to change the camera’s position to the view captured. These views can be the top view, side view, front view and back view. Beside these views there is another camera position where the camera moves along with the object. Alice has a property called vehicle and when the camera’s property vehicle is set to an object, the camera moves along with the object. For example, in treasure hunt games the camera moves along with the character and the player assumes himself to be the character. 2.3 Hitting targets The mechanic of hitting targets involves at least two objects; one is the source object while the other is the target object. The goal is to make an object move from the source object to the target object. This requires knowing the location of both the source and target objects to let the third object travel between them.

Let us assume that we have a shooting game where the source object would be the shooter aiming at the target object. The shooter should hit the target with an object like a bullet and for this to happen, the bullet should travel from shooter to the target. The complexity of this mechanic depends on whether the target is static or moving.

Using Alice, we create a method that is activated by an event like a mouse click. Whenever the mouse is clicked on the target object, the shooter uses a built-in method “point at” and “move to”. The former changes the position of the shooter to point at the target and the latter sends the bullet to the target object. And then the target’s opacity is set to zero so that it looks like the target disappears when the bullet hits it. 2.4 Event handling The basic step in designing a game is providing interactivity between the player and the game and the hardware. Based on the hardware available we can design the interactive features of these games. In most desktop games, we can provide this interaction through mouse clicks and keyboard.

Alice supports most of the events for a video game on desktops. The event “when mouse is clicked on something” can call a user-defined method or a built-in method. The event “Let mouse move” moves an object along with the mouse and also can move camera as well. The keyboard event “Let the arrow Keys move” can move an object with the four arrow keys: up arrow, down arrow, left arrow and right arrow. There is

another keyboard event that can call a method when typing a specific key. 3. Results These gaming mechanics save a lot of time when prototyping. Game mechanics can be easily implemented in Alice when compared to other game engines therefore aiding in the design and prototyping of games and thereby shortening real game engine implementations. Also, Alice provides an easy interface to prototype these mechanics without syntactical complexities and vast programming knowledge. The built-in graphical objects are an added advantage thus giving the designer a visual experience of the game. 4. Conclusions We have identified a number of gaming mechanics for computer designed in the Alice programming environment. Gaming mechanics in Alice allow us to identify, design and analyze games. The research was based on various games developed by game designers and hobbyist which allowed us to examine and prototype a wide variety of game genres.

In spite of these advantages, Alice still has limitations: Alice is not stable; Alice does not support large memory games; Alice acts different on different Operating Systems and graphics card; and has limited objects in its 3D library. However, Alice will improve on these limitations on its newer versions. Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. Dann, W., Cooper, S., & Pausch, R. Learning to

Program with Alice, Prentice Hall Upper Saddle River, NJ, 2006.

2. Kreimeier, B. (2002) The Case For Game Design patterns,http://www.gamasutra.com/features/20020313/kreimeier_03.htm.

3. Lundgren, S. & Björk, S. Game Mechanics: Describing Computer-Augmented Games in Terms of Interaction, http://www.cs.chalmers.se/~lundsus/lundgren_bjork_game_mechanics.pdf

Page 67: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

49

Characterization of Local Protein Structure Geometry from the Protein Data Bank - A Senior Project in Bioinformatics

Joseph Santini, Bryan Benson, and Jing He

Department of Computer Science

New Mexico State University Las Cruces, NM 88003

Emails: {jsantini, bbenson, jinghe}@cs.nmsu.edu

Abstract

This paper describes the teamed work in a senior project that involves research in bioinformatics at the department of computer science. In order to understand the 3-dimensional (3D) structure of proteins, specialized database servers are often needed for specific research questions being studied. In this work, we are interested in the local structure information from the Protein Data Bank (PDB). One way to represent the local structure information is to use the virtual bond angle and virtual dihedral angle of the local structure [1]. We have developed a web server to study the virtual bond angles and virtual dihedral angles for a selected dataset of 3000 proteins extracted from the PDB. The web server has improved the previous server by providing easy access of the statistical information and the 3D graphics rendering of the molecule. In particular, the server incorporated a dynamic graph component and the JMOL molecular viewer [2] to allow further visualization of the local geometry. This project was designed for the graduating seniors consisting of a practical software development question for which the students explored and developed a way to build a web server assembled using a MySQL database, the PHP, Javascript, JavaFx, and graphics applets such as JMOL. 1. Introduction Protein 3-dimensional structure prediction is a research problem attracting scientists from many disciplines. As more and more protein structures are experimentally determined, extracting the knowledge from the data becomes increasingly important. However, learning from the existing 3-dimensional structures is a complex problem. It is not only a problem of chemistry and physics, it also relies on the representation of the data and the statistics obtained from the data. Often such information needs to be accessed in a dynamic environment that is supported by a user friendly web interface.

The knowledge about protein local geometry can be important in understanding the relationship between the local amino acid sequence and its corresponding 3-dimensional conformations. Virtual bond angle and virtual dihedral angle have been defined and used to describe the local conformation for three or four consecutive amino acids from the structure [1]. In spite of its simplicity, it has been shown that virtual bond angle and virtual dihedral angle can be used to extract biological relevant patterns [1]. This work describes the design and implementation by a team in the senior project course offered at the department of computer science. The goal of the project is to establish a web server for the study of the local protein structure geometry through an analysis of the Protein Data Bank. This project incorporated a bioinformatics research problem with the core computer science curriculum. On the one hand, it exposes the research concepts and questions to the undergraduate students. On the other hand, it involves the implementation of a database, web programming with PHP, Java script or other languages. Due to the nature of the protein, the web server has to incorporate the 3D graphics to render the molecule in 3D and the dynamic graphs to illustrate the statistics.

2. Methods The local geometry of the protein structure is represented by the virtual bond angle and virtual torsion angle. A virtual bond angle is determined by the three consecutive Cα atoms in a protein structure that is in the format of PDB. A virtual dihedral angle is determined by four consecutive Cα atoms in a protein structure. We selected 3000 representative protein structures from the Protein Data Bank so that no two structures share more than 70% sequence similarity. For each of the 3000 proteins, all the available virtual bond angles and virtual torsion angles were calculated. The calculated bond angles and dihedral angles as well as

Page 68: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

50

other information related to the local structure were stored in a database built by MySQL.

A web interface was built to allow a user to query the local structures geometry database using consecutive amino acids. The web page starts by the client selecting three Amino Acids (ex. ALA ALA ALA) or four, depending on whether it is a virtual bond angle or a dihedral angle. We designed to use a javascript to query our database and return all angles that have that match the query sequence of amino acids. In order to represent the angle distribution dynamically, we used a fairly new language JavaFX which is

designed to support easy animation, the mobility between a web browser and a desktop application among other features. The results will generate a bar graph (the middle panel of Figure 1) that is linked to a window (the lower left panel of Figure 1) dynamically. If the user clicks on one of the bars, the corresponding details related to the statistics of the bar will be display. A user can invoke the 3D view to look at the molecule in 3D. In order to view the local geometry found from the database searching, we incorporated a 3D graphics viewer, JMOL [2], as an applet.

Figure 1. A snapshot of the server for the virtual bond angles and virtual dihedral angles.

3. Results This senior project combines a research problem and the educational needs for computer science seniors to be exposed in real world software development in a teamed environment. In terms of research aspects, our local geometry web server improved the previous work [1] by providing dynamic support for viewing the statistics and the corresponding molecules in 3D. It

provides two additional capabilities. The server allows the dynamic viewing of the statistics (the middle dynamic graph panel of Figure 1) and the molecule in 3D (the lower right panel of Figure 1) based on the matches found from the database searching. In terms of the educational outcome, we were able to learn and to build MySQL database and to connect the database with popular web programming techniques.

http://www.cs.nmsu.edu/~jsantini/WebPageGraph.html A user selects the amino acids used for calculating the virtual bond angle and dihedral angle. The server searches through the angle databases built in mySQL and returns the matching statistics (the dynamic graph in the middle panel). A user can click a bar and then choose the file in the lower left panel to view the corresponding molecule in the lower right panel in 3D.

Page 69: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

51

For example, we did research and learned how to connect the MySQL database to Java API, to PHP programs, and to Java Script. We also did research about different ways to incorporate the 2D and 3D graphics into our web server and worked out a way that uses JavaFx. Most importantly, it is a project in which the students truly explored and learned the techniques themselves and are proud of their product. Acknowledgements We thank the support from NSF CREST (HRD-0420407), and CAHSI (Grant CNS-0540592).

References 1. PRTAD: A database for protein residue torsion

angle distributions. Sun, X., Wu, D., Jernigan, R., and Wu, Z., the 2007 IEEE International Conference on Bioinformatics and Biomedicine Workshops, P24-31, 2007

2. Fast and scriptable molecular graphics in web browsers without Java3D. Willighagen, E., Howard, M., Nature Proceedings 14 June, 2007

Page 70: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

52

A Survey of Underwater Wireless Sensor Networks

Bo Dong

Department of Computing Sciences, Texas A&M University–Corpus Christi 6300 Ocean Drive, Corpus Christi, Texas 78412

[email protected]

Abstract Wireless Sensor Networks (WSN) have recently commanded the attention of many researchers. However, when compared to terrestrial WSN, Underwater Sensor Networks (UWSN) present a novel-networking paradigm. The deployment of UWSN is not straightforward, basic challenges need to be addressed due to the type of environment found underwater. A comparison of the two types of sensor networks is presented. In addition, this paper discusses major challenges on different aspects of UWSN including communication protocols and architectures, and proposes research directions. In addition, a comparison also compares and contrasts the two sensor networks and alludes to future advances in research in this field. 1. Introduction Most of our planet is coved by water. As more research is being done on underwater systems, data collection and environment monitoring become apparently major players. This raises the need for an effective way to collect data and monitor the environment. Underwater wireless sensor networking offers an unmatched option. The characteristics of the underwater environment present researchers with many challenges especially effective communication and sensor localization techniques. In terrestrial wireless sensor networks, the nodes use radio frequency (RF) to build up the communication. In underwater environments, due to water absorption, radio does not work well. Compared to radio waves, sound has superior propagation characteristics in water, making it the preferred technology for underwater communications. “In fact, radio waves propagate at long distances through conductive seawater only at extra low frequencies (30—300 Hz), which require large antennae and high transmission power. Optical waves do not suffer from such high attenuation but are affected by scattering. Moreover, transmission of optical signals requires

high precision in pointing theatrics narrow laser beams.”[1] Thus, most of underwater networks use acoustic signals to communicate to each other. The remainder of this paper describes those challenges and proposes possible ways to solve corresponding challenges.

2. Acoustic Underwater Wireless

Sensor Networks Underwater acoustic propagation depends on many factors that make designing an underwater wireless sensor network challenging. In the following, we show how different factors may affect the design process. a. Bandwidth: The acoustic band under water is limited due to absorption; most acoustic systems operate below 30kHz. According to [2], no research or commercial system can exceed 40km kb/s as the maximum attainable range rate product. b. Propagation delay: The speed of RF is 3x108 m/s while the acoustic signal propagation speed in an underwater acoustic channel is about 1.5x103 m/s. The propagation delay in underwater is five orders of magnitude higher than in RF. the low speed of sound causes multi-path propagation to stretch over time delay. It greatly effects the real-time application of UWSN. c. Shadow zones: It can be defined as the area with high bit error rates and temporary losses of connectivity due to the extreme characteristics of the underwater channel. Salinity, density and temperature variations of the water can influence acoustic communication, such as temporary losses of connectivity. This is evident in the sound speed formula. Sound speed under water is given by empirical formula [3]:

C = 1449.2 + 4.6T − 0.055T 2 + 0.00029T 3 + (1.34 − 0.01T )(S − 35) + 0.016Z (1) where,

Page 71: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

53

C speed of sound (m/s) T temperature (deg C) S salinity (practical salinity units “psu”

equivalent to parts per thousand) Z depth (m)

d. Energy: Battery power is limited because underwater batteries are extremely difficult to recharge. Unlike terrestrial WSN, UWSN cannot use solar energy to regenerate the power of the batteries. e. Failure: Underwater sensors are prone to failure because of fouling and corrosion. f. Attenuation: attenuation is the reduction in amplitude and intensity of a signal. Attenuation at distance x is given as [4]: Where, k is spreading factor a is frequency dependent term

obtained as where, is absorption coefficient

given by Thorp’s expression. The formula illustrate attenuation is dependent on frequency as well as distance. It is very important in determining signal strength as a function of distance. 3. Difference with Terrestrial Wireless Sensor Networks Although WSN and UWSN are different, mainly due to the unique characteristics of water, certain aspects of WSN research can be applied to UWSN. The main differences between terrestrial and underwater sensor networks are as follows:

a. Communication method: UWSN uses acoustic signal while WSN uses radio waves. b. Cost: While terrestrial sensor nodes are expected to become increasingly inexpensive, underwater sensors are expensive devices. It is due to the UWSN’s transceivers complexity and the increased protection required by the hardware. c. Power: UWSN needs more power because it uses acoustic signal and covers a longer distance. Compared to acoustic signal, RF needs less power, since the processing at receivers is not that complex.

d. Memory: The connection of an acoustic signal can be disabled by special underwater situations, like shadow zones. Due to this fact, underwater sensors need to acquire more data to prevent the loss of data. However, this is not an issue for terrestrial sensors. e. Density: In terrestrial sensor application, like tracking system, sensors can be deployed densely. While an underwater sensor is more expensive than terrestrial sensor, it will cost more money to deploy densely. Even if money is not an issue, it is still not easy to deploy them. As a matter of fact, those differences are the clues to develop new generation UWSN. First, we should generate some new kind of sensors to reduce cost. For example, we can use nano-technology to develop nano-sensors. Also, it is necessary to devise periodical cleaning mechanisms against corrosion and fouling, which may impact the lifetime of underwater devices. Moreover, the deployed network ought to be highly reliable, so as to avoid failure of monitoring missions due to failure of single or multiple sensors. Second, we need to do a new power control algorithm for UWSN. “Many complex power control algorithm using RTS-CTS-ACK have been proposed in past for wireless terrestrial networks”[5][6]; however, these algorithms cannot fit into UWSN due to the underwater channel characteristics and significant propagation delays. Third, network protocol is a vitally important factor in saving power and providing reliable connection using sparse underwater sensors. Nowadays, many different protocols for terrestrial WSN have been developed. However, they cannot fit UWSN. Not only do the architectures of UWSN impact the development of a new protocol, but also the characteristics of underwater. It is another different place with terrestrial sensor network. Therefore, we may develop different kinds of protocol according to the architectures of UWSN. The following will discuss the idea that protocols should be designed according to the type of architecture.

4. UWSN Architectures According to [7], “UWSN can be roughly classified into two broad categories:

• long-term non-time-critical aquatic monitoring

• short-time time-critical aquatic exploration.

Page 72: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

54

In [1], UWSN are classified into three types:

• Static two-dimensional underwater acoustic sensor networks (UW-ASNs) which are for ocean bottom monitoring.

• Static three-dimensional UW-ASNs which are for ocean-column monitoring.

• Three dimensional networks of autonomous underwater vehicles (AUVs)

a. Long-Term Non-Time-Critical Aquatic

Monitoring This kind of UWSN can be work for a long time and the data collected by the sensors are not real-time data. For long-term monitoring, energy saving is a central issue to consider in the protocol design. b. Short-Term Time-Critical Aquatic

Exploration Compare to Long-term non-time-critical UWSN, this kind of UWSN focus on real-time data. Therefore, how to make data transfer efficiently need to be more concern when designing network protocol. Also, this kind UWSN just work for a short term that means energy saving is not as important as long-term one.

c. Comparison Of The Two Classifications The difference between the two classifications is static and mobile. In [7], long-term non-time-critical and short-term time-critical UWSN are base on mobile ability. That’s why they concern the location aware in either way. Moreover, long-term and short-term did not distinguish 2D or 3D. Obviously, there are some differences in protocol design. In static two-dimensional underwater, all the sensors are anchored to the bottom of ocean. The underwater sensor nodes are interconnected to one or more underwater sinks (uw-sinks) by acoustic signal. Since, all the sensors are fixed at bottom, therefore, we don’t need to concern underwater movement, which make protocol design easily. 2D UW-ASNs always are used to environmental monitoring, it ought to be kind of long-term non-time-critical UWSN. Therefore, the challenges of long-term non-time critical UWSN also fit it. Static three-dimensional underwater sensor network, compared to two-dimensional one, this kind UWSN also tell the depth in order to cover 3D area. The protocol for three-dimensional UWSN is

hard to design. The speed and propagation delay of acoustic signal is different at different depth which will make some sensors at certain depth use more energy to send and receive data. Also, this issue makes it hard to build up an efficient routing. Another challenge in this architecture is how to make the sensor stay at fix position. The last one, three-dimensional networks of autonomous underwater vehicles (AUVs), can be regarded as long-term or short-term. “And one vital important design objective is to make them rely on local intelligence and less dependent on communications from online shores.” [1] Although, we need to do the protocol according to the different application, we still need focus on some common requirements, such as security, reliable as well as resilient.

5. UWSN design: Research challenges

5.1 Power consumption Unlike the sensors of terrestrial WSN, UWSN sensor cannot use solar energy to recharge the battery. And it is more difficult to replace the sensors. The direct way to resolve this problem is to generate energy by the sensors themselves. The probable method may be using current movement or chemistry method to generate power to recharge battery. Also, efficient routing protocol and communication method can contribute to this issue.

5.2 Communication link Nowadays, most of UWSN use acoustic signals to communicate. Acoustic signals bring lots of challenges to the research arena, especially propagation delay and high error rates. Obviously, it needs improvement. Therefore, trying to use another kind of signal may be a new direction of research. According to [8], optical signals have been used to communicate sensors in their two applications. It may be an alternative way. However, it needs to consider all the factors, especially power issue, to determine whether optical signal is better than acoustic one.

5.3 Distributed localization and time synchronization Location-aware is vitally important for any aquatic application. Since the data without location information is useless. Among most of large-scale terrestrial WSN application, GPS can be used to

Page 73: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

55

give the location and synchronize time. In the GPS-free terrestrial application, Time-Differenc-of-Arrival (TDoA) is used to calculate the distance according to the different speed of the two signals, such as cricket sensors. Then the position information can be calculated using those distance data by some algorithms like SemiDefinite Programming (SDP) [9]. In UWSN, the position information can be calculated using same way. However, the challenge is that it is very hard to get the distance between two sensors. GPS cannot be used, since the satellite signal cannot work in underwater. Although, some methods are used to get the distance between the sensors, like Angle-of-Arrival (AoA), Time-of-Arrival (ToA), the accuracy is greatly affected by many factors of underwater environment. Therefore, how to get accurate distance between two sensors should get more concerned in order to get underwater sensors’ position.

5.4 Routing protocols In UWSN protocol design, saving energy is a major concern, especially for the long-term aquatic monitoring applications. Actually, there are numerous terrestrial WSN energy-efficient protocols being produced in this area. However, due to the node mobility of UWSN, most of them are not feasible in UWSN, since architecture of UWSN gives more impacts compare to terrestrial one. Therefore, architecture should give more attention when design the routing protocol. 6. Future Works In our future research, underwater localization will be our next research task. As discussed above, distributed localization and time synchronization is one main research challenge. Our next research will try to conquer these limits to generate a novel localization system. To reach this aim, our research will focus on the following parts: First, how to get more accurate distance between two sensor nodes?

Second, which localization algorithm can provide more accurate result? Third, due to GPS does not work under water, how to provide anchor nodes position information?

7. Conclusion Underwater wireless sensor networks (UWNS) will become more and more important on the research of underwater world. This paper describes the unique characteristics of the underwater environment and its effects on the design of UWSN. In addition, the differences between terrestrial WSN and UWSN are presented. Even though they are different, terrestrial WSN is still valuable on UWSN. Major challenges including power consumption, communication techniques, and routing protocols are discussed. These aspects are vital important to do future research on UWSN, especially developing new generation UWSN. It is evident that the need for novel location-aware communication protocols cannot be underestimated. Even in some cases, location-aware ability is the most important factor compared to others in UWSN application. Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. Akildiz, I.F., Pompili, D., Melodia, T., Underwater

Acoustic Sensor Networks: Research Challenges, Ad Hoc Networks,3, (260), 2005.

2. Kifoyle, D.B., Baggeroer, A. B., The State of the Art in Underwater Acoustic Telemetry, IEEE J. Oceanic Eng., (OE-25, no. 5), 4-27, Jan. 2000.

3. Etter, P. C., Underwater Acoustic Modeling, Principles, Techniques and Applications. 2nd edition, E&FN Spon, 1996.

4. Berkhovskikh, L., Lysanov, Y., Fundamentals of Ocean Acoustics, New York: Springer, 1982.

5. Proakis, J., Rice, J., Sozer, E., Stojanovic, M., Shallow water acoustic networks, Encyclopedia of Telecommunications, Proakis, J. G., Ed. John Wiley and Sons, 2003.

6. Knudsen, V.O., Alford, R.S., Emling, J.W., Digital Communications. Marine Research (7-12), 410, 1948.

7. Cui, J.H., Kong, J., Gerla, M., Zhou, S., The Challenges of Building Scalable Mobile Underwater Wireless Sensor Networks for Aquatic Applications, IEEE Network, (0890-8044), 12-17, May/June 2006.

8. Vasilescu, I., Kotay, K., Rus, D., Krill: An Exploration in Underwater Sensor Networks, Second IEEE Workshop, (30-31), 151-152, May 2005.

9. Biswas, P., Ye, Y.Y., Semidefinite programming for ad hoc wireless sensor network localization, Proceedings of the third international symposium on Information processing in sensor networks, (46-54), April 2004.

Page 74: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

56

Underwater Robotics

Diego Rojas Bandini and Dugan Um

Engineering Technology and Computer Science Departments Texas A&M University Corpus Christi

Corpus Christi, Texas, United States 78412 Email: [email protected], [email protected]

Abstract Texas A&M University Corpus Christi is conveniently surrounded by sea, and therefore provides ground for extensive research on the fields of marine biology and underwater research in general. However, most studies require complex machinery to take samples and make observations, machinery which is still unavailable at short hand. Therefore, this research is focused on building a suitable platform for underwater research, capable of finding its own way through its surroundings and thus minimizing the need for a highly skilled human on the controls. At the end of the development process, the goal is to have a fully operational robotic arm which uses haptic feedback and pathfinding algorithms to find its way between two points without posing any risk on itself. It will be completely water proof and remotely controlled from a safe position. Software will be implemented so that low level tasks, such as joint control, are automatically planned; so that operators can worry more about finding results rather than damaging the machinery. 1. Introduction Although this project involves various individuals, I will mainly discuss the specific task assigned to me: Programming the robot. Currently, the main part of the project is a custom robotic arm. Aside from the obvious problems of making it water-proof, the arm has to be carefully controlled by a computer program. Users should not be able to directly control the movement of joints; instead the arm has to "explore" its surroundings through haptic sensors, make a 3d model of any nearby obstacles and use this information to calculate the best path between them[1]. 2. The System In order to communicate with the robot, we have a circuit board with basic instructions for motor control and motion feedback. For the purposes of calculating the paths, the algorithm used is A*[1]. The program

will have 3 levels: direct motor control, motion planning and user interface. The current state of the project is programming kinematics and deep joint control; that is, the basic part of the whole application and is being coded using C++. The lower structures of the program are those controlling joints and retrieving data from sensors. Basic communication is done throughout an rs-232 port sending packets of hexadecimal commands which are interpreted by the robot's micro-controller. In total we have 7 motors controlling the movement, all of them connected serially. To measure the amount of revolutions, an infrared sensor counts the reduced ratio in the same fashion as in a mouse: a dented gear interrupts light from an infrared LED emitting to a receiver, increasing the count in about 1/60 of a rotation. However, the API that came with the controllers does the counting behind scenes so I don't have to go very deep to precisely control the arm. The format in which motion commands are send is in hexadecimal packets like the following: 00 00 00 00 00 00 Where the first group "00" indicates which motor to control. "01" would control motor #1, "04" would control motor #4, and "FF" would send a command for all the motors. The second pair informs the micro-controller about the length of the packet. The range of possible variables ranges from 2 to 7. The third group points the build-in function to call. The micro-controller has a vast number of them to control every aspect of the arm, each having its own hexadecimal ID. For absolute positioning, the function to call would be "0C" (12). The rest of pairs are parameters to be send into the function. In function "0C," for example, we would specify 4 parameters, with those at the leftmost part having the highest possible value. For example, 00 00 00 0F would be 16 in standard numbers, while 00 00 F0 00 in bigger in magnitudes of 16. In order to control the angle each joint will move, we have to use a reduction ratio since some of the joints

Page 75: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

57

have gear reduction and rotation is measured prior to the it. Considering all this, we have programmed our arm to move on approximations of degrees. This was more of a need rather than a choice since it is easier to use degrees to programming inverse kinematics, which is the next challenge for us. Regarding motion planning, we use an extended version of A* suited for 3d environment[1]. The application was developed by our faculty mentor, Dr Dugan Um. It was written using C++, which makes it very easy to integrate with the arm's motion control algorithms. Indeed, in order to have complete path planning we only need to finish our kinematics engine and connect it to the existing algorithm done by our mentor. Therefore, we are very close to having an industry level robot, capable of executing complicated sequences; avoid obstacles and performing intensive tasks. Our motion planning structure is divided into a series of levels. First, we assume an existing ‘view’ of the world has been successfully acquired by the sensors in the arm. The world surrounding the arm is divided into walkable and unwalkable nodes; where everything soling is unwalkable and vice versa. All this information is stored as a tri-dimentional array. Next, we select 2 nodes and use our version of A* to find the path between them. The path found is what the tip of the arm should follow. Finally, the path – which is an array of coordinates – is divided into sections of equal length. This returns comprehensive “steps” the arm can securely follow without sacrifing speed. Finally, the program puts all the steps in an array and commands the kinematics engine to move the arm from one position to the next in the array. For example, a node stored in position 0 would be the start position, and the node stored in position 1 would be the target. The degree joints move is calculated by the inverse kinematics engine. The process is repeated until the array of paths has been fully traversed.

On top of all those control algorithms, there will be a user interface. We currently use the command line to test and debug our programs, but this makes the process too difficult to assimilate and is not an option if we plan to lend our robot to people unfamiliar with programming. It is still too early to tell how the UI will be designed, but one sure thing is that no user will have total control of the robot. This is for two reasons: it is better that users give “big orders” and let programs figure out the rest [2], and we want to minimize the risk of human error damaging the equipment. 3. Conclusion As of now, this project is still under development and expected to produce results by the end of 2008. It has great potential as a tool to be used by researchers in Corpus Christi looking for continuous supply of samples that would otherwise be hard to obtain. Our goal is to make an outstanding contribution to our fellow researchers in Life Sciences and, most importantly, have our project be used in real-life applications, as well as upgrading it as user requirements grow in complexity. Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. Um, D & H. Chandra, Sensor Based Manipulator

Motion Planning: a survey and an example, Department of Engineering and Technology, Texas State University at San Marcos, 2007.

2. Brooks, R. Flesh and Machines, Pantheon Books, New York, NY, 2002

Page 76: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

58

Improving Web Search Results with a Natural Language Filter Liem Luong Advisor: Ali Berrached Computer & Mathematical Sciences Department Computer & Mathematical Sciences Department University of Houston – Downtown University of Houston – Downtown Houston, TX 77002 Houston, TX 77002 Email: [email protected] Email: [email protected]

Abstract

Natural Language Processing (NLP) is a field of research that aims to enhance the interaction between computers and humans. Many techniques for NLP have been developed over the past years. Pertaining to web searches, NLP has the potential of improving the human-computer interaction by allowing the user to express their search enquiry more naturally and help the search engine better focus its search on the specific information being requested, thus reducing the amount of missed hits. Therefore, applying a natural language filter will be a good technique in order to enhance the search. Our proposed model includes four phases: First, we extract the main objective of the query based on the categorized topic search. Second, we search using Microsoft Live Search API and store the returned results in an XML database. Third, we use various filtering techniques to filter out the precise results. Finally, we display the final results to the user. The number of results returned will be less than the number from a traditional search engine such as Google or Live Search because we have filtered out the ones not related to the given query.

1. Introduction

The internet has become a powerful and widely used tool. It helps connect people from around the globe and allow them to engage in various activities that can range from reading the news to playing online-games, to conducting business. Searching the web for information remains one of the most widely used activities on the internet. Though search engines have improved significantly over the past few years, they still lack the interactivity and user friendliness that most users need. Obviously, most humans prefer to interact using their native “natural” language. NLP, in general and specifically in natural language web search, can help users who have little computer experience (not computer geeks). Our proposed model uses a natural language filter tool implemented based on a categorized

topic search in order to determine the main objective of a search query [1]. 2. Model

From our previous research experience in NLP, we propose the four phase model depicted in Figure 1. The four phases work sequentially so that results from each phase will help the next phase [2]. In this section, we give a brief description of each phase.

Figure 1: Our Proposed Model

Page 77: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

59

2.1 Query submit phase This phase consists of 4 steps:

(1) Parse the query to determine the basic sentence structure by classifying tokens into nouns, adjectives, adverbs, and verbs. (2) Determine type of question inferred by the given query based on the categorized topic of: who, what, where, and when [1]. (3) Generate the synonyms of each token using WordNet [4] data files and evaluate the specific query target. (4) Calculate the total weight (an identified number) of the query based on each individual weight of the tokens [3]. The weight of each token is computed based on the token’s distance from the original word and the structure of the word. The weight of a token is calculated based on the following rules:

• First, the weight of synonymous word is

determined on how close it is to the original word. The closest synonym of the original word will have the highest order (smallest weight is 0). Then the synonym of that closest synonym will have the next lower order (increase weight in increments of 1) than the closest synonym. The list of these synonyms will be created to record these weights.

• Second, the structure of the original word (the

word before and the word after the original word) can have the high order (smallest weight start from 0) than the other structures of that original word. The list of these structures will be created to record these weights.

2.2 XML database phase This phase consists of 2 steps:

(1) Submit the given query to Live Search API (Microsoft search engine) in two formats: • The first format will be in the keyword format of

the structure of the main objective of the given query from the previous phase in order to find the relative results.

• The second format will be the same from the

first format but has to be inside the double quote (“ … “) in order to find the exact results.

(2) Retrieve the results and store in the XML database

2.3 Filter phase This phase consists of 3 steps

(1) Calculate the total weight of the results from the search API. This weight will be calculated based on the ratio of the exact results and the relative results: Weight = (# exact results) / (# relative results). The list of these weights will be created to record these returned results. (2) Filter by comparing the weight of the submitted query to that of the results. The list of weights (given query) from the query-submit phase and the list of weights (returned results) will be added together. The list will be created to rank these final weights in increasing order. (3) Filter by checking the order of the appearance of each token of returned results along with the submitted query. This second filter is important because most of the traditional search engines such as Google and Microsoft Live Search use keywords for searching and return results with the keywords that are far away in context. Therefore, this can improve our precision by deleting irrelevant responses.

2.4 Display results phase This is the final phase and consists of displaying the final results from the XML database to the user in decreasing order of accuracy. 3. Implementation

So far we have been able to implement the first three steps of the first phase. The raw data files we use are from the WordNet from Princeton University. (See figure 2 – figure 5). The top portion shows the raw data while the bottom portion shows the word and its synonym extracted from that raw data [5]. Note that each word is assigned a unique ID.

Page 78: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

60

Figure 2: Adjective Words from WordNet 3.0 Version Raw Data.

Figure 3: Adverb Words from WordNet 3.0 Version Raw Data.

Figure 4: Noun Words from WordNet 1.6 Version Raw Data

Figure 5: Verb Words from WordNet 2.0 Version Raw Data.

Page 79: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

61

We have already completed a prototype Graphical User Interface (GUI) for this application. (See figure 6) This is the first basic interface of the application. It shows the types of searches that users will be able to do their searching for the web, images, videos, and news. So far we are working on the web only. In the future, we will integrate the searching results of images, videos, and news from the Microsoft Live Search API.

Figure 6: Initial GUI Natural Language Search

Application.

4. Conclusion

In conclusion, we have achieved some results for the four structure files and its synonyms. We are working on the objective of the input query and also on the categorized topic searches based on proper English grammar rules. The results that we achieved from this semester will play a significant role for the next phases in our proposed model of natural language web search. For future works, the next phase will be the SQL database that we will tackle on to store XML formatted results from the Microsoft Live Search API.

Acknowledgements

This work is partially supported by an NSF Grant CNS-0540592 and a U.S. Army Research Office grant Number W911NF-04-1-0024. The authors would also like to acknowledge the Center for Computational Science and Advanced Distributed Simulation (CCSADS) and the Scholars Academy at UHD for their continuous support. References 1. Cai, Jun., Lee, Wee., and Teh., Yee.,

“Improving Word Sense Disambiguation Using Topic Features” in Proceeding of the 2007 Joint Conference on Empirical Methods in Natural language Processing and Computational Natural Language Learning.

2. Chang, Ming., Do, Quang., and Roth, Dan., “A Pipeline Framework for Dependency Parsing” in Proceedings of the COLING/ACL 2006 Main Conference Poster Sessions).

3. Chklovski, Timothy and Pantel, Patrick., “VERBOCEAN: Mining the Web for Fine-Grained Semantic Verb Relation” in proceeding of Conference on Empirical Methods in Natural Language Processing (Barcelona, Spain 2004)

4. Girju, Roxana., Roth, Dan., and Sammons, Mark., “Token-level Disambiguation of VerbNet Classes” (Computer Science Department – University of Illinois at Urbana-Champaign)

5. Snow, Rion., Prakash, Sushant., and Jurafsky, Daniel and Ng, Andrew., “Learning to Merge Word Senses” in Proceedings of the 2007 Joint Conference on Empirical Methods in Natural language Processing and Computational Natural Language Learning).

Page 80: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

62

Creating a Windows or Xbox 360 Video Game Using C# and Microsoft XNA Game Studio

Reuben Rodriguez

Computer and Mathematical Sciences Department

University of Houston-Downtown, Houston TX 77002, USA

Email: [email protected]

Abstract Game development is growing business that has attracted the attention of many of today's youth. The purpose of this project was to explore how to create a 3D game. This project was pursued mainly for learning and teaching purposes. To create the 3D models, SOFTIMAGE|XSI Mod Tool and a 3D scanner were used. C# and Microsoft XNA Game Studio were used to code the game. The result was a 3D shooting game in which the player is tasked with shooting moving targets. It was concluded that it was best if a beginner start with a 2D game, establish a means of managing different game states before coding the rest of the game, and program the game using object-oriented techniques as much as possible. 1. Introduction Explosive growth in the video game industry has spurred interest in many of today’s youth in working in the field of game development. Despite the increasing interest in game development, there are not many well-established and comprehensive software tools to develop games. In addition, even among the tools used to develop the current games, there is only one that allows anyone to develop games for one of the popular video game consoles – Microsoft XNA game studio. The purpose of this project was to investigate how to develop video games either for Windows or the Microsoft Xbox 360 console system. Not only would this serve to help me learn about the game development process, but it would also be used during future semesters to help teach other students. This project was started in the summer of 2008 and continued during the fall 2008 semester. The overall goal of the project was to create a 3D shooting game similar to skeet. The player would take control of the shooter and be tasked with shooting several targets that fly in front of the player's viewpoint.

2. Methods The project was comprised of mainly two parts, a 3D modeling aspect in which a model was created for use in the game, and a coding aspect in which all the code was written to properly run the 3D game. The modeling part was all completed during the summer along with some coding. Work done during the fall 2008 semester all focused on coding aspects of the game. 2.1 Creating the model In order to create a 3D model, one usually creates the model from scratch by using a 3D modeling program such as 3D Studio Max or Maya. This can be a very time consuming process and requires an experienced 3D modeler to create a good quality model. It was decided that an alternate approach would be taken to avoid these potential problems. Instead of creating the model from scratch, a 3D scanner would be used to scan a figurine. Once the scan was attained, it could be imported into the game. This model would be the shooter that the player would control. The original plan was to create a Anne Oakley model, but a figurine of her could not be found. Instead a 3D scan was taken of a cowboy figurine that Dr. Johnson had found. The 3D scan that was produced was decent but contained many holes in the model. To fix this, the model was imported to SOFTIMAGE|XSI Mod Tool, a free 3D modeling program, where it could be patched. This took several days due to the large number of holes in the model. After a sufficient amount of patching was done, I began working on coding the game. 2.2 Coding the game

For the coding aspect of the project, the Microsoft C# language was used in addition to an add-on for the language called Microsoft XNA game studio

Page 81: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

63

which gives the user tools and code to help develop games for Windows and the Xbox 360. Having no experience at all with C# or game design in general, I consulted the help of several books on C# and XNA. There is also a multitude of tutorials online which helped me greatly throughout this project. All games created in XNA have a similar structure. There is one main game class (usually named the title of your game) which contains a constructor and the following methods: Initialize, LoadContent, Update, Draw, and UnloadContent. The Initialize method contains all the code to initialize any graphics, input or sound. The LoadContent method is used to load any resources that the game may require. The Update method includes any code that will read the user's input, do calculations for any AI, movement, collisions, and test if the game has ended. The Draw method contains the code to draw the game on screen. Finally, the UnloadContent method is used to release any resources that the game may have used during it's operation. There is also a Program class which calls the Update and Draw methods of the game class in a loop until the game is ended. This was the basic structure used for game. Other classes were also added that contained methods for controlling the rumble effect in the controller, handling audio, and drawing 3D objects. 3. Results 3.1 Summer results The result from the summer was a simple 3D shooting game. The player takes control of a cowboy standing in the middle of a desert area. Red disks randomly shoot from the foreground and the player is tasked with shooting each one. Once the player shoots 10 disks, the game is over and the player’s time is displayed. Improving upon this base game was the focus of the project during the fall. 3.2 Fall results In order to make the game more similar to skeet, a pull system was added to the game. Instead of the disks randomly shooting, the player must now issue a "pull" command. When the player presses the "A" button, the cowboy now says "Pull!" which will cause a disk to be shot into the playing field. At the suggestion of several test players, the sensitivity of the control stick has been tuned down. The disks were also made slightly larger to reduce the difficulty. The shoot command was

remapped to the trigger button to better resemble a gun. A pause/help function was added which pauses the game and shows the player the controls of the game. A bug was fixed which would spawn the disks out of the view of the player. A notification was added to let the player know when the next disk was ready since only one disk can be considered "alive" at a time. Another notification was added that will briefly display the object of the game for new players who might not be aware. The game's clock was fixed to show only minutes and seconds (the previous version showed hours along with seconds to the 7th decimal place). The dimensions and viewpoint of the game were changed to allow a widescreen look. This increased the user field of vision allowing the user to see the targets easier. Finally, some of the colors and wording of the text were changed for improved readability and conciseness. 4. Conclusions Currently, the game is fully playable ,but it is not without it's flaws. Two of the major design changes that were originally planned could not be implemented. I was successful in creating a simple menu screen in a separate XNA project but attempts at trying to add it into the current cowboy project were unsuccessful. Likewise, I succeeded in applying a cartoon shader effect to the 3D models in a separate XNA project but could not add the feature to the cowboy project. The reason for these two problems arises from the structure of the code. The code was not programmed in a very object orientated way. This made it extremely difficult to add in new features. Doing so would have called for many changes across several files. Furthermore, adding a system to manage different screens (such as a menu screen, option screen, game screen, etc.) should have been one of the first things added to the game instead of the last. Trying to add a screen system after the game was already programmed was like trying to program backwards. Finally, trying to create a 3D game as a first time project is not recommended. Beginners should start with 2D games until they grasp the concepts of game programming before moving on to a 3D game. For future projects, these points will be taken into consideration. Even though there are many areas where the game could be improved upon, continued work on this specific game is unlikely to happen. This was mainly a learning process. Even though I did not achieve some of my design goals and ran into many problems, working on this project taught me the basics of creating a

Page 82: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

64

game using XNA and helped me realize ways to program a game more efficiently. Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. Lobao, A., Evangelista, B., & Leal De Farias

J.. Beginning XNA 2.0 Game Programming:

From Novice to Professional. New York: Apress, 2008.

2. PHStudios. 20 May 2008. 25 Sep. 2008 http://www.phstudios.com.

3. Sharp, John. Microsoft Visual C# 2005: Step by Step. Redmond, Washington: Microsoft Press, 2006.

4. XNA Creators Club Online. 2007. 15 June 2008 http://creators.xna.com/en-US/education/catalog/.

Page 83: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

65

Obtaining the Most Reliable Path in a Complex Network of Nodes

Melinda Chin, LaToya Green, ShengLi Yuan

University of Houston – Downtown Houston, TX 77002, USA

Emails: [email protected], [email protected] , [email protected]

Abstract In recent years Network Reliability has become increasingly important. In many communities data is distributed over a network of computers with varying connections and reliabilities. To maintain the flow of information, if a specific path fails, the next most reliable path must be found. This is even more important in rural communities where internet and/or data connections are received on one device and then relayed across the entire network. To tackle this problem, our research focuses on an efficient solution with a complexity near that of the Dijkstra’s algorithm. 2. Methods 2.1 Summer I Dijkstra’s Algorithm Initial assessments revealed that this particular method works well with simple weighted graphs. However given more complex graphs and reliability evaluation methodologies the algorithm fails to perform correctly. Although enhanced versions of the algorithm could be considered, since the original algorithm was proven to be fundamentally unable to process the intended graphs by Dr. Yuan, we opted for more proven methods. 2.2 Summer II Heuristic Algorithm The first step is to initialize link reliability to -1 on all links in the network. The next step is to find a maximum-reliability lightpath (using Dijkstra’s Algorithm). Then, pick one color at a time, and temporarily set the link reliability to 1 on all links of that color, and find a new maximum-reliability path. (Each color represents a unique reliability. Therefore, links of the same color have the same reliability). Repeat this procedure for all colors in the network, and select the color that results in the path with the

minimum number of colors. Permanently set the reliability equal to 0 on the links of that selected color. Finally, repeat the second and third steps until the number of colors on the maximum-reliability paths cannot be further reduced. [1] Yuan’s Algorithm This algorithm has a complexity of O (nColors * 2^nColors – 1). The approach requires the partial population of a table reflecting the paths between the nodes of interest. The following points had to be taken into consideration when implementing this algorithm. To allow for reasonable flexibility in graph size and data management a “vector<vector<Node>>” data structure was used. In order to keep record of processed data, a separate matrix table of strings of the previous position on the table is needed to be created. A table is created for each node. It will contain the most reliable path as well as other paths. The program starts at the neighbors of the source and recursively checks all the possible combinations of paths made by the neighbors of the last node on an existing path, like creating a tree. It will iterate through it until it has finished checking through all the indices. To obtain the most reliable path, traverse the table object with a predefined source and destination node. The table is structured such that the nodes are the rows and the columns are the different combinations of colors. Find the index where the column destination is the highest and follow the path stored in each index. 3. Results 3.1 Dijkstra’s algorithm We found Dijkstra to be extremely efficient with simple networks. Such as networks which have unique reliability for each path, however, on complex networks, the Dijkstra’s algorithm does not always compute most reliable path [1]. A complex network consists of nodes connected by links of various colors

Page 84: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

66

which each have a unique reliability. Paths with the same color have the same cost (fail rate), so if one link fails than all then all the links with the same color will fail as well. Therefore we must find a solution to the complex networks since Dijkstra’s algorithm does not cover this case. 3.2 Heuristic and Yuan’s results We were given test data ranging 2 colors to 45 colors and number of nodes in the network: 10, 20, and 40. We ran each test data and recorded the results excel sheets. Upon comparing our data, we found that the average percent differences on some set of test data varied as expected. It ranged from .121% to as much as 3% difference with networks of 10 nodes. We noticed that the percent difference increased as more nodes were introduced to the network. While the average reliability differed, some paths had the exact same results. 4. Conclusions Our goal was to develop an algorithm similar in complexity to Dijkstra’s or a variation of it that could handle complex networks. Considerable progress has been made; however, more time is required to compare viable solutions and successfully implement them.

Currently the heuristics algorithm does not always give the best reliability. As the name suggests, this type of algorithm works optimally only in certain cases, but not for all since it uses “problem-solving by experimentation” methods. Dr.Yuan’s algorithm is much more promising according to preliminary test results. Despite the advantages of the algorithm, the current implementation can be improved drastically. In the latter half of the project the implementation was vastly optimized, but works are under way for assessing and implementing multi-threaded and/or a possible a cluster based parallel solution. Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. S. Yuan, S. Varma, and J. P. Jue, "Lightpath

routing for maximum reliability in optical mesh networks." Journal of Optical Networking 7.5 (2008): 449-466.

2. Comer, Douglas E. Computer Networks and Internets with Internet Applications. ed. 4. Upper Saddle River, N.J.: Prentice Hall, 2003.

Page 85: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

67

Combining Phones, Syllable and Phonological Features in Speech Recognition Using Neural Networks

Arturo Geigel

Electrical & Computer Engineering and Computer Science Department

Polytechnic University Of Puerto Rico, 377 Ponce de León Ave. Hato Rey, PR 00919

Email: [email protected]

Abstract This work proposes a new system that uses phonemes, phonological features and the syllable in the analysis of continuous speech recognition. The work also puts forth the autonomy of action property of phonological features for neural networks. The proposed architecture takes advantage of the layering of the stages of the processing of the acoustic representation, the phonological features, and the phoneme to achieve better performance. The implementation of the system also uses multiple neural networks to carry out a new analysis, in which the part of syllable is attached to each individual phonological feature with the goal of providing greater discriminatory power to the neural net. 1. Introduction

While the current speech recognition systems rely on the 'beads on a string' model [10], this view has been criticized [6], since it appears to have reached a plateau [4]. The work by Ostendorf explores several alternatives such as sub-phoneme units, (i.e. phonological features), and the use of higher level structures such as the syllable. Such alternatives show much promise in speech recognition; however, they have not replaced current Hidden Markov Model (HMMs) based systems that use the phonemes as the basic unit. One such alternative which shows promise is the work provided by King [5]. The main goal of this work is to extend the analysis made by King on the SPE phonological feature set.

The work proposes a new analysis technique which uses as a starting point the work carried out by King, S. [5] to process phonological features. The work will expand King's effort by doing further tests on the basic neural network structure proposed by King. It will also expand the neural network by using the work of Berkling [1] and Cleirigh [2] to process the training

material and add to each phoneme a part of syllable tag. The syllable based tagging used classifies the syllable parts as enclitic, core or proclitic. This syllable based tagging is then added on the phoneme's individual SPE phonological feature set to make a novel training corpus that uses the phonological feature and the part of syllable tag. This addition is expected to add discriminatory constraints on the feature space and increase the performance of the system.

The system in this work is tested to see if it can take advantage of a proposed principle equivalent to the autonomy of action property of phonological features [7]. This proposed autonomy has the advantage in that it allows each feature to use a signal processing algorithm that best captures the unique properties of each feature without constraining other features to use the same algorithm. An additional advantage of such proposed system is that the independence also allows layering of the input representation processing so that each processing stage can be treated as an isolated module. The goal of such layering of the input representation processing is that it tries to divide each step of the processing of the speech data into a significant linguistic representation. This layering approach is adopted to bring clarification to otherwise unexplained hidden layers and recurrence of the neural network architecture used in this work, and harmonize the architecture with current linguistic knowledge. 2. Methods 2.1 Data Preparation

The data used for testing the proposed system is the Timit corpus [3]. The experiments carried out did not use the canonical dictionary transcriptions for syllable tagging. The canonical dictionary transcriptions do not account for pronunciation variations in the corpora and it has been a previous barrier for efficient tagging.

To use the transcription of the recordings provided by the Timit corpus, with the syllabifier from Berkling [1], several changes were made to the transcript.

Page 86: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

68

Among the changes made to the transcript were: that the stop-closure was changed to a stop (i.e. pcl to p, etc.), and the epenthetic and pau symbols were replaced with no symbol. The reduced vowel ix was changed to ih, schwa[ax] with ax, fronted ux to uw, voiced hv to hh, glotal stop q to t, syllabic em (schwa followed by m) to m, flap dx with d, nasal flap nx to n, and fricative eng symbol to ng. The second alteration to the Timit transcript is word boundary enforcement. This implies that overlaps in the transcription are eliminated. The transcript contained overlaps in the transcription such as:

5723 10337 had 9190 11517 your

The forced boundaries allowed a smoother implementation of the syllabification process on the non canonical transcription. 2.2 Implementation steps

To allow for the data preparation of the transcripts into a syllabified form, the Timit transcription files are merged into a single aligned file. The non-canonical transcription is then extracted from this single file and fed into the syllabifier. The syllabified output is then merged into the single file.

The audio files are converted to a raw format which is then processed by both Mel Frequency Cepstral Coefficients (MFCC) and Linear Predictive Coding (LPC) algorithms. The MFCC processing uses a pre-emphasis of 0.97 using 10 ms/frame shifts, 30 ms frames and 12 Cepstral coefficients. The LPC algorithm uses all the parameters of the MFCC, with the exception that it uses 14 coefficients instead of 12.

The MFCC and the LPC coefficients are respectively merged with the transcription file. To do this merging, a threshold function is used in which the frame is assigned to the transcription based on a percentage of overlap. To assign a frame to a phoneme, it must have at least 50% of the frame overlap with the phoneme to which it is going to be assigned. If the frame overlaps several phonemes, then the frame is repeated for each phoneme. After the frames are integrated to the transcription, the phonemes are converted into an SPE phonological feature set. The SPE feature with the part of syllable are then encoded into a neural network output sequence. To be able to compare the experiments with those of King and to test the assumption of the autonomy of action property of phonological features for neural networks, a baseline system and a distributed model is implemented. This baseline system consisted of a single neural net with 13 input nodes 256 hidden nodes and 26 output nodes. The neural network used 12 MFCCs as inputs and the window parameters described above. The baseline system differs form the one used by King [5],

in that it has no recurrent nodes, connection pruning or time delays. The baseline system excludes the use of recurrent nodes to get a minimal baseline system. The distributed system consists of 13 neural networks that have 12 inputs for the MFCC coefficients 256 hidden units and two output nodes each. To carry out the experiments at the phonological feature with syllable addition, two distributed system are used. The first system consists of 13 neural networks that processes 14 LPC coefficients as input nodes, 256 hidden nodes and 6 output nodes to account for feature encoding of feature or no feature, and if it is tagged as proclitic, core or enclitic. The second system consists of the same system of neural networks, but with 12 MFCC that are also used as input values to the neural network. 3. Results

The results obtained from the baseline system, while not as high as those of King, they met the criteria to be above chance in the same proportion as those of King. The lack of performance is expected due to two important factors. The first is the lack of recurrence in the neural network architecture, which provides additional information at a different time length. The second difference is due to the modifications to the transcriptions to accommodate an appropriate syllabification of the transcription. The comparison of the baseline system and the distributed architecture used in this work are given in Table 1.

Table 1. Results of Baseline and Distributed Architecture

Phonological Feature

Baseline System

Distributed Architecture

Difference

Vocalic 76.1% 75.9 % -0.2% Consonantal 81.5% 82.3 % +0.8% High 76.2% 76.7 % +0.5% Back 81.1% 80.6 % -0.5% Low 90.8% 90.9 % +0.1% Anterior 78.5% 78.0 % -0.5% Coronal 78.8% 79.4 % +0.4% Round 93.1% 93.0 % -0.1% Tense 83.8% 84.3 % +0.5% Voice 85.5% 85.5 % 0.0% Continuant 81.1% 81.5 % +0.4% Nasal 93.3% 93.2 % -0.1 Strident 92.4% 92.6 % +0.2

As can be seen from the results, the difference between the features is less than one percent, leading to an initial result that the assumption of the autonomy of

Page 87: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

69

action property of phonological features for neural networks does hold in the restricted architecture proposed as the baseline.

In the tests for phonological feature with syllable addition using LPC, the system performed with a lower percentage above chance than the system using MFCC. There are two main constraints in this system that account for the lower performance. The first constraint is the use of the same signal processing parameters for MFCC and LPC, with the exception of the number of coefficients. The second constraint is that both systems use the same the neural network parameters and have not been optimized independently.

In the tests carried out using MFCC for phonological feature with syllable addition, the results were significantly better than the LPC architecture. To compare these results with the baseline architecture, the ratio difference is used. The ratio difference compensates for the difference in chance level between a neural network with two output nodes and one with six output nodes. The results of the ratio difference are given in Table 2.

Table 2. Ratio Difference Between Baseline and Syllable Based Neural Networks using MFCC

Phonological Feature

Ratio Difference

Vocalic +5.5% Consonantal +18.4% High +1.7% Back +2.4% Low +2.3% Anterior -7.5% Coronal -3.5% Round +1.5% Tense +4% Voice -2% Continuant -4.8% Nasal +.9% Strident -1.3%

The results show that on some features such as

consonantal there was a significant improvement over the baseline. On average, the architecture has an 1.4% performance increase over the baseline.

Further analysis and improvements can be added to the design of the experiments to achieve a better performance. For example, the analysis can include optimized systems design that take advantage of phonological descriptions, such as the ones pointed out

by Stevens [8][9], which can be expected to increase phonological feature recognition accuracy.

Future work on the baseline and the distributed architecture will focus on optimal placement of recurrent nodes for optimization, and if it has any impact on the autonomy of action property of phonological features for neural networks. Further research is also warranted in the area of the threshold function assignment of segments, other signal processing algorithms, individual network parameter optimization for signal processing and specific feature, different time windows, and higher level constraints. These extensions to the baseline experiment are needed before any conclusive results can be drawn on the effectiveness of this architecture against current speech recognition technologies. 4. Conclusions Alternatives are currently being explored to increase the performance of current speech recognition technologies. While this alternatives still have to demonstrate that they outperform current systems, they show enough promise to warrant further research. In this work, the preliminary results are given on a novel architecture that uses phones, syllables and phonological features. The work also shows the initial result that supports the assumption of the autonomy of action property of phonological features for neural networks does hold on non-recurrent neural networks. The results obtained for the ratio difference shows a marked improvement for some features and a small overall performance increase when all the features are taken together. This confirms that the use of syllable tagging can be helpful in increasing the recognition performance on some features. In addition, the results obtained for the system using MFCC were significantly better than the same system using LPC for the tests carried out. While the tests performed showed a marked difference, further tests are required to completely confirm the MFCC advantage over LPC. Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. Berkling K., SCoPE, “Syllable Core and

Periphery Evaluation for Foreign Accent Identification”, in Speech Communications 35, 2001, 125-138.

2. Clereigh, C. , “A Selectionist Model of the Genesis of Phonic Texture: Systemic Phonology

Page 88: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

70

and Universal Darwinism”,PhD Thesis, Department of Linguistics, Sydney, Australia, 1998.

3. Garofolo, J. et al., “TIMIT Acoustic-Phonetic Continuous Speech Corpus”. Linguistic Data Consortium, Philadelphia 1993.

4. Gutkin A., and King S., “Structural Representation of Speech for Phonetic Classification”, in Proc. 17th International Conference on Pattern Recognition (ICPR’04) (IEEE Computer Society Press, Cambridge, UK, Vol. 3, 2004, 438–441).

5. King S. and Taylor P., “Detection of Phonological Features in Continuous Speech Using Neural Networks”, in Computer Speech and Language, 14(4), 2000, 333–353.

6. Ostendorf M., “Moving Beyond the ‘Beads-on-a-String’ Model of Speech”, in Proc. IEEE Automatic Speech Recognition and Understanding Workshop, Keystone, CO, 1999.

7. Spencer A., Phonology: Theory and Description Malden, Ma: Blackwell Publishing, 1996.

8. Stevens K., “Toward a Model of Lexical Access Based on Acoustic Landmarks and Distinctive Features” in Journal of the Acoustical Society of America, 111(4), 1872-1891, 2002.

9. Stevens K. , Acoustic Phonetics (Cambridge, Ma: MIT Press, 1999).

10. Young S., “Statistical Modeling in Continuous Speech Recognition (CSR)”, in Proc. 17th Int. Conference on Uncertainty in Artificial Intelligence (Seattle, WA), August 2001, 562–571.

Page 89: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

71

Tipping Point Evaluation of a Network Intrusion Detection System (NIDS) for Peer-to-Peer Networks

Adam Magana, Benjamin Christen, and Graciela Perera

Department Computer Science and Information Systems

Youngstown State University, Youngstown, OH. 44555, USA

Emails: [email protected], [email protected], [email protected]

Abstract

Unstructured Peer-to-Peer (P2P) networks for content distribution are decentralized and robust. Their growing popularity has an impact on security because they can be use to deliver malicious code and potential remote control. Additionally, P2P networks create a hole in a firewall that can be used to obtain private and confidential information. P2P security in many organizations focuses on blocking the default port used in P2P communication. We proposed configuring and experimentally evaluating an off the shelf Network Intrusion Detection Systems (NIDS) to minimize and manage the threads posed by P2P networks in the Youngstown State University network. The NIDS selected from TippingPoint promises to be simple to use and provide concrete information when an intruder tries to penetrate the network. Furthermore, there is a default recommended setting to block malicious traffic. Our evaluation of the NIDS selected seeks to test the methods provided by TippingPoint that deal with P2P traffic. Also, we will investigate procedures that can analyze the scenario in which a P2P network is configured to listen on the TCP port 80 (HTTP). Most organizations allow the traffic from port 80 to go through the firewall and P2P threats may disguise themselves as HTTP traffic. 1. Introduction

Unstructured Peer-to-Peer (P2P) networks for

content distribution are decentralized and robust. Their immense popularity has a severe impact on security because they can be use to deliver malicious code and potential remote control. Additionally, P2P networks create a hole in a firewall that can be used to obtain private and confidential information [4,6,8,10]. Intrusion Detection Systems (NIDS) can be used to minimize and manage the threads posed by P2P networks.

Many NIDS solutions are defined over a theoretical framework or deployed using a prototype solution in a

controlled environment [3,6,10]. Furthermore, the evaluation of many existing off the shelf products depend on commercial reports that lack the analysis, unbiased study and judgment of entity such as academia [8].

This investigation proposes configuring and experimentally evaluating an off the shelf Network NIDS to minimize and manage the threads posed by P2P networks in the Youngstown State University (YSU) network. The NIDS selected from TippingPoint promises to be simple to use and provide concrete information when an intruder tries to penetrate the network [4,8]. The questions that we seek to answer are: 1) how does TippingPoint prevent P2P threats? 2) is TippingPoint simple to use and configure?

Our evaluation will study and test the methods provided by TippingPoint that deal with P2P traffic. Also, we will investigate procedures that can analyze the scenario in which a P2P threat may disguise itself as HTTP traffic. Most organizations allow the traffic from port 80 to go through the firewall.

The experimental evaluation of TippingPoint for P2P threats will not only provide real world insight and an assessment of how to configure and use an existing NIDS but will provide a real world research experience for two undergraduate students in Computer Science and Computer Information Systems at YSU. Allowing students to build their technical skills, participate and apply the concepts learned outside of the classroom.

We hope projects like these can provide a bridge between academia and companies so students can accumulate the experience and training that will allow them to quickly be assimilated by companies. Also motivate students to expand their knowledge by pursuing graduate school.

2. Peer-to-Peer Networks

The functionality of Peer-to-Peer networks is

structured in two phases. The first phase allows a host to find other P2P hosts and connect to the network. The second phase enables a connected host to search for

Page 90: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

72

files by broadcasting queries and allows a file to be downloaded. 2.1 Connecting to the network

In the first phase, a host joins Gnutella by obtaining a list of hosts (bootstrap list) from a bootstrapping host cache (bootstrapping host). The bootstrap list contains the IP address and port number of the hosts that have participated in the network (e.g., connected to the network).

A host joins the network by directly connecting to

a set of random hosts from the bootstrap list. The host connects to the hosts via a permanent TCP/IP connection (one connection per host) [7]. Each host that accepts a connection is called a neighbor, and the set of all hosts connected is denominated neighborhood. When a host loses a neighbor, that neighbor is replaced by a host not belonging to the neighborhood selected from the bootstrap list [2,7].

Discovering new hosts in the network is done by requesting a host’s address and port number using a ping message. Ping messages are broadcasted, thus pings are forwarded to all neighbors. If a host receiving a ping can accept additional neighbors it will answer the request with a pong message containing its address and port number [7]. A pong message is routed back by the host that forwarded the ping. All hosts maintain a routing table that registers the unique identifier of a ping as well as the identifier of the host from which the ping was forwarded from. If a host receives copies of the same ping from different neighbors, it will only register the first copy received in the routing table. All other copies are not registered and will not be forwarded. This assures that the pong is routed back to the host that initiated the ping through a unique path. 2.2 Searching and downloading files

The second phase is summarized in figure 1 and is

initiated once the host has connected to the network. The host shares a collection of files that can be downloaded by other hosts. These files are stored in the

shared file directory from which files are downloaded. A user at a host can search for a file by broadcasting a query containing file name keywords [7]. The host receiving the query matches the keywords contained in the query received with the keyword file names stored in the index of shared files. The index of files shared is the data structure that associates with each file a list of file name keywords used to answer the queries [1,2,7]. All P2P hosts have the capability to search by broadcasting queries [7].

Downloading a file occurs only after one or more queryhits are received for a query broadcast. The host that wants to download the file connects directly to the host storing the file via an HTTP GET. To download the file, the host needs the IP address, port number, and file identifier obtained from the queryhit [1,2,7]. 3. Experimental evaluation of TippingPoint

Over the last few years many off the shelf products

for Network Intrusion Detection (NID) have been developed. In particular, when the first NID systems were introduced in the market P2P networks did not have the popularity they have today [4,6,8]. Thus, many NID systems did not considered P2P a severe threat.

Recently, P2P is considered such a important threat, that it is very difficult to find a NIDS without some kind of P2P network protection incorporated. The Gartner Magic Quadrant Report in 2006 mentions TippingPoint as one of the best network-based device that can be deployed in the front or behind a corporate firewall [8]. TippingPoint claims to protect the network from worms, viruses, Trojans, DoS attacks, spyware, and more relevant to this study P2P threats. The switch like speed in which the TippingPoint systems analyzes traffic (i.e., layers 2-7 of the OSI model) is due to their patented ASIC Threat Suppression Engine (TSE) [4,8]. This attributes makes TippingPoint the ideal candidate for our evaluation since the Youngstown State University (YSU) Network has many potential P2P users (i.e., students) [5].

The evaluation of TippingPoint focuses around two questions. The first question focuses on investigating the preconfigured methods that prevent P2P threats? The second question seeks to determine is TippingPoint simple to use and configure?

3.1 How does TippingPoint prevent P2P threats?

The answer to how does TippingPoint prevent P2P threats? is defined by the results obtained from two experiments. The first experiment seeks to test the defaults settings that block P2P traffic. These settings block a user attempting to establish a connection to the

Page 91: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

73

P2P network. That is, TippingPoint will block the connection when a host from inside the YSU network attempts to establish a connection or search for a file from a P2P network. The second experiment will test whether TippingPoint monitors file download request from a P2P network and either blocks or limits the rate in which a file is downloaded.

The P2P network client used for both experiments described before will be Shareaza. Given that the P2P network Shareaza can simultaneously connect to bandwidth demanding popular music and video file sharing networks. Lastly, because Shareaza is an open source program that can be modified. We will modified and configured Shareaza to listen on the TCP port 80 (HTTP). This will determine if a potential P2P threat may disguise itself as HTTP traffic and pass through the firewall. 3.2 Is TippingPoint simple to use and configure? The answer to the last question is TippingPoint simple to use and configure? Will be determine by quantifying the amount of time that takes two undergraduate students Adam Magana (computer science major) and Benjamin Christen(computer information systems major) to configure and use TippingPoint. Additionlly, the students will keep a notebook containing the date, time, description of the activities they perform, and the problems faced during the use and configuration of the TippingPoint system. 4. Conclusions Peer-to-Peer networks can be use as an additional vector of delivery of threats such as worms, viruses, Trojans, spyware, DoS attacks, DDoS attacks and more recent Botnets [10]. The likelihood of the success of against these threats depends on devices such as NIDS. The NIDS can inspect packets at certain important locations in the network (i.e., behind or in front a firewall), seek malicious and anomalous behavior, or drop packets that contain a certain string identified as malicious [4,6,10]. Many studies have analyzed and proposed prototype solutions that are very hard to experimentally evaluate in a real world environment [3,8,10]. We propose the evaluation of a real NIDS over an existing University network with realistic threats. The unique contribution of our investigation is twofold. The first is the experimental evaluation of an off the shelf solution NIDS (i.e., TippingPoint) with respect to

P2P threats. The second is testing the simplicity of use and configuration of the NIDS.

Currently, we have purchased the TippingPoint 50 systems with a throughput of 50 megabits per second and latency of less than one millisecond. We estimate to have the system configured and evaluated by the first quarter of the year 2009.

Acknowledgements This material is based on work supported by the Ohio Latino Affairs Commission 2008 Grassroots Initiative Mini-Grant. Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. T. Karagiannis, K. Claffy, and M. Faloutsos, File-

Sharing in the Internet: A Characterization of P2P Traffic in the Backbone, Technical Report, UC Riverside, November 2003.

2. T. Karagiannis, A. Broido, N. Brownlee, kc claffy and M. Faloutsos, Is P2P dying or just hiding?, Globecom, December 2004.

3. V. Paxson, Bro: A System for Detecting Network 4. Intruders in Real-Time, Computer Networks, 5. Vol. 31, December 1999, pp. 2435-2463. 6. TippingPoint Intrusion Prevention Systems 50,

URL:http://www.tippingpoint.com/products_ips.html.

7. F. Sole, A Short History of the Computer Network at YSU, http://network-services.ysu.edu/faqs.htm.

8. L. Ellis, BitTorrent's Swarms have Deadly Bite on Broadband Nets, Multichannel News, May 2006.

9. URL:http://www.multichannel.com/article/CA6332098.html.

10. G. Perera and K. Christensen, Broadcast Updates with Local Look-up Search (BULLS): A New Peer-to-Peer Protocol, ACM Southeastern Conference, pp. 124-129, March 2006.

11. G. Young and J. Pescatore, Gartner Magic Quadrant Report on Network Intrusion Prevention Systems, 2006.

12. URL:http://www.tippingpoint.com/pdf/analyst/tippingpoint2138.pdf

13. Peer-to-Peer network Shareaza Systems, 2008. 14. URL:http://www.shareaza.com/ 15. M. Engle and J. I. Khan, Vulnerabilities of P2P

Systems and a Critical Look at their Solutions Technical Report, 2006.

Page 92: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

74

A Crash Recovery Mechanism for the NetTraveler Database Middleware System

Osvaldo Ferrero Manuel Rodriguez

University of Puerto Rico University of Puerto Rico Mayagüez Campus Mayagüez Campus

Computer Engineering Computer Engineering [email protected] [email protected]

Abstract Every day we interact and access data on different devices such as cell phones, laptops, servers among others. Each of these devices may contain data that we may want to access no matter which one of these devices we are using. Current database middleware systems can provide the means to access these otherwise heterogeneous data sources. Most database middleware systems assume that data sources and intermediate servers are permanently connected to the network and that component crashes during execution are not frequent. This may not be the case when mobile devices are used as data sources or service providers. This paper presents a crash recovery mechanism for the NetTraveler database middleware system that uses pessimistic log writing on distributed components to recover lost query work due to crashes during execution. 1. Introduction Interaction with devices such as cell phones, sensors, embedded systems, PDAs, laptops, personal computers, enterprise servers and gaming consoles, among others, occur multiple times a day. Each of these heterogeneous devices contains its own set of data that we could possibly want to access no matter which of these devices we are using. This represents a challenge for developers since future applications must take into consideration such a wide range of devices. Such system or application must deal with all the different technologies, application environments and communication mechanisms of these devices. It is because of the heterogeneity of the devices that a middleware system is needed. Although middleware systems already exists, its component are assumed to be computers with constant network connection and power, this may not be the case for mobile devices and an execution crash recovery mechanism may be needed.

1.1 Motivation Database middleware systems (DMS) allow users to share data collection and computational resources that may be located on different hosts over a network. Unfortunately, database middleware systems, when used together with mobile devices, may require additional procedures in order to optimize the query throughput of the system. In some cases, a host involved in a query may become unavailable. The query could either be restarted or recovered from the point the crash occurred. Mobile devices may change from being available to unavailable more frequently than an enterprise server would. In such cases it may be desirable to use a recovery mechanism instead of restarting the query every time it fails. 1.2 Contributions The aim of this research is to define a recovery mechanism for select-project-join queries in database middleware systems. This mechanism should provide the database middleware systems with all the tools and mechanisms necessary to recover the query work of the query that crashed during query execution. Thus, when a query execution process is interrupted because one or more source become unavailable, the system can put the query on hold, and continue from the point of the interruption at a latter time, when the data source become available again. 2. Related Work 2.1 NetTraveler system NetTraveler is a decentralized database middleware system for WANs that is designed to efficiently run queries over sites that are either mobile clients or enterprise servers. The NetTraveler architecture can be observed in figure 1. Additional information can be found on [8]. The different components of the NetTraveler Architecture are described in the following list.

Page 93: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

75

• Query Service Brokers (QSB) are the NetTraveler locates the computational resources required to answer the query posed by the client.

• Information Gateways (IG) are the NetTraveler component that provides QSBs with access to the information contained in the data sources.

• Data Synchronization Server (DSS) are a group of server applications that may help clients perform specialized tasks such as: caching query results, obtaining extra disk space, keeping synchronized copies of data natively and can become a proxy for a client.

• Clients are the components of the system that will be sending queries to the QSB. Clients can be run on machines with constant power and connectivity or on ones with limited connectivity and/or low power.

2.2 Crash recovery systems In the case of a malfunction of any component in the system, crash recovery sub-systems are responsible for restoring the distributed database system to a consistent state. ARIES[7], HARBOR[5], FOBr[2] are examples of crash recovery systems. Also the work in [3], [4] and [1] provide solutions to crash recovery issues. None of these systems support recovery of the query work being processed at the time the crash occurs. The main reason for this being that sites are not expected to experience frequent crashes. The work in [9] and [6] presents different approaches, but systems crashes are assumed to be infrequent, components are expected to become available in a short period of time and all errors are masked from users.

3. Proposed Recovery System The distributed crash recovery mechanism for data retrieval on database middleware systems will be log-based since logs will be maintained at different components of the middleware system. Write ahead logging, a pessimistic message logging method will be used since frequent crashes and unavailability of components of the system are expected and it has a lower crash recovery overhead than optimistic logging does. Furthermore, recovery logs will be kept at most components of the middleware system guaranteeing a recovery mechanism that will exploit the inherent parallelism of such systems during log writing and recovering. The recovery mechanism will provide query independent recovery for the components of the system. The component should try to recover a query only once a recovery request for a specific query is received. The following subsections describe the components of the recovery mechanism. 3.1 Data Sources In order to support the proposed recovery mechanism, tuples retrieved from the data sources need to be numbered incrementally. This unique number will be used by the recovery system to identify received tuples at all times during query execution at the different components of the system. The recovery mechanism will ensure that no duplicate data is sent in the case of a

Page 94: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

76

crash by using the tuple identifiers from the data sources as markers. The IG will ask the data source to send results starting from x on, where x is the tuple identifier for the last tuple received by the IG, but the data source can only receive SQL queries from the IGs. This means that the SQL query sent to the data source will need to be modified using the tuple identifier in order to sort and filter the tuples before they are sent to the IG as in figure 2a. The tuple identifiers will be implemented by creating a recovery table with a foreign id to the original table and the tuple identifier. The original table will be joined with its recovery table and ordered incrementally using the tuple identifier, this way the original table does not need to be altered to support recovery. Afterwards the data source will then return results to the IG. This process can be visualized in figure 2b. 3.2 Information Gateway The IG is the middleware component responsible for data retrieval from a data source. When a query supporting recovery is received by the QSB and sent to the IG along with a query id it must make the arrangements necessary to alter the query that will be sent to the data source in such a way that the data source returns the tuples along with its tuple identifiers, as in figure 3a. The IG will also be responsible of logging the results obtained from the data source to the Recovery Log before sending them to the QSB as in figure 3b. In the case of a crash, the IG will receive from the QSB a sub query, a query id and a recovery

identifier from the last tuple received by the QSB. The query id and the recovery identifier will allow the IG to reload the adequate tuples from the Recovery Log and send the correct sub query to its corresponding data source as shown on figure 3c. 3.3 Query Service Broker The QSB receives requests from clients, which will include the query along with a constant stating if the query needs to support recovery, needs to be recovered or needs no recovery whatsoever and the recovery identifier for the last tuple received by the client if needed. It will be the QSB's responsibility to decide if the query submitted by the client can in fact support recovery at all its components. When a query needs to support recovery or be recoverable, the QSB will write the query along with its assigned query id to the Catalog as shown in figure 4a. If a crash happened and a request to recover the query is received, the QSB will receive a query along with the constant stating that recovery is required and a tuple identifier from the last tuple received by the Client. In this case, the QSB will try to load the previous query id from the Catalog and use the query id to reload the adequate tuples if any from the Recovery Log. The tuple identifier obtained from the recovered tuples, along with the sub query and query id will be forwarded to the IG so that recovery can be cascaded to lower components of the system. This process of recovery can be seen on figure 4c. After starting a recoverable query, or initiating recovery for a query that crashed, the QSB will receive results

Page 95: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

77

from IGs, which may be further processed locally, written to the Recovery Log and sent to the Client during execution as seen in figure 4b. 3.4 Client Clients may request that a given query be recoverable, be recovered or use no recovery at all. In the case of a recoverable query, the Client will send the SQL query along with the constant stating that the query be recoverable to the QSB as shown in figure 4a. In the case of a query requiring recovery, the SQL query along with the constant stating that recovery is needed and the recovery identifier for the last tuple received by the Client will be sent to the QSB as in figure 4c. After either of the previously described scenarios the Client may start receiving results from the QSB as in figure 4b. 4. Current Status The recovery system has already been implemented over the NetTraveler database middleware system. All coding was done in the Java programming language

using the Eclipse programming environment. The recovery mechanism is currently working and has been tested using one QSB and four IGs, all located in different hosts on the same network. Work is currently under way in order to extensively test and run system load, performance and query throughput evaluations of the system. 5. Summary A crash recovery mechanism for select-project-queries has been provided for database middleware systems, which will enable mobile devices with a more robust and efficient participation as service providers on a database middleware system. The proposed recovery mechanism will also take advantage of the inherent parallelism of the system since logs will be kept at different sites during execution and recovery. The proposed recovery mechanism has been implemented on the NetTraveler database middleware system. Query throughput, performance and system load evaluations are currently being performed. It is expected that the query throughput of a system with the recovery

Page 96: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

78

mechanism be higher than the same system without any recovery assuming that crashes may occur frequently. Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. J. Armendariz, J. Gonzalezde Mendivil, and F.

Munoz-Escoi. A lock based algorithm for concurrency control and recovery in a middleware replication software architecture. System Sciences, 2005. HICSS ’05. Proceedings of the 38th Annual Hawaii International Conference on, pages 291a–291a, Jan. 2005.

2. F. Castro-Company, L. Irun-Briz, F. Garcia-Neiva, and F. Munoz-Escoi. Fobr: a version-based recovery protocol for replicated databases. Parallel, Distributed and Network-Based Processing, 2005. PDP 2005. 13th Euromicro Conference on, pages 306–313, Feb. 2005.

3. M. J. Franklin, M. J. Zwilling, C. K. Tan, M. J. Carey, and D. J. DeWitt. Crash recovery in client-server exodus. In SIGMOD’92: Proceedings of the1992 ACM SIGMOD international conference on Management of data, pages 165–174, New York, NY, USA, 1992. ACM.

4. Kumar. A crash recovery algorithm based on multiple logs that exploits parallelism. Parallel and

Distributed Processing, 1990. Proceedings of the Second IEEE Symposium on, pages 156–159, Dec 1990.

5. E. Lau and S. Madden. An integrated approach to recovery and high availability in an updatable, distributed data warehouse. InVLDB’06: Proceedings of the32nd international conference on Very large databases, pages 703–714. VLDB Endowment, 2006.

6. Lomet. Persistent middle tier components without logging. Database Engineering and Application Symposium, 2005. IDEAS2005. 9th International, pages 37–46, July 2005.

7. C. Mohan, D. Haderle, B. Lindsay, H. Pirahesh, and P. Schwarz. Aries: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM Trans. Database Syst., 17(1):94–162, 1992.

8. E. A. Vargas-Figueroa and M. Rodriguez-Martinez. Design and implementation of the nettraveler middleware system based on web services. In AICT-ICIW ’06: Proceedings of the Advanced Int’l Conference. on Telecommunications and Int’l Conference on Internet and Web Applications and Services, page 138. IEEE Computer Society, 2006.

9. R. Wang, B. Salzberg, and D. Lomet. Log-based recovery for middleware servers. In SIGMOD ’07: Proceedings of the 2007 ACM SIGMOD international conference on Management of data, pages 425–436, New York, NY, USA, 2007. ACM.

Page 97: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

79

Runtime Assertion Checking Support for JML on Eclipse Platform

Amritam Sarcar

Department of Computer Science University of Texas at El Paso,

500 W. University Avenue El Paso TX 79968, USA

Email: [email protected]

Abstract The Java Modeling Language (JML) used to document design for Java and has been used as a common language for many research projects. The inability to support Java 5 features is reducing user base, feedback and the impact on JML usage. The performance of JML2 tools is also not that impressive. The JMLRAC compiler on average is five times slower than the Javac compiler. In this paper, we present an architecture that would have better performance than JML2 and also try to alleviate the problem of extensibility of JML2 tools.

1. Introduction The Java Modeling Language (JML) is a formal behavioral specification language for Java. It is used for detail design documentation of Java modules (classes and interfaces). JML has been used extensively by many researchers across various projects. JML has a large and varied spectrum of tool support. It extends from runtime assertion checking (RAC) to theorem proving. Amongst all these tools, RAC and ESC/Java are most widely used amongst developers. However, lately there has been a problem for tool support. The problem lies in their ability to keep up with new features being introduced by Java. In this paper, we propose to redevelop JML compiler (Jmlc) on top of a well maintained code base. We present the architecture that would support JML on an extensible architecture like Eclipse. We also present a new architecture for the JMLRAC compiler with potential performance gain than its predecessor. 2. Problems with JML Tools The Common JML tools, a.k.a JML2 do not support robustness [1]. The Common JML tools were built on an open source Java compiler and suffered from extensibility; by extensibility we mean language and tool extensions. For example, no JML tool yet supports

the several new features of Java 1.5, the most important is the introduction of generics. The code base of this open source compiler was not built to support extensibility, the maintenance of which has become extremely difficult. Another pressing problem of the JML2 tools is its performance. The existing JML2 tools, more importantly Jmlc (the runtime assertion checker) from the performance point of view is really very slow. The compilation time taken is huge compared to the compilation speed of Javac (see Fig.1).However, it is evident that since Jmlc does more work than Javac, it would take more time. The question that is more important to us is what is causing this slowness. Three reasons can be cited immediately:

• Jmlc does more work than Javac. • Jmlc being built on an open source compiler,

results in decreasing its performance. This compiler is not as efficient as Javac.

• The compilation process of Jmlc is double round. That is, every compilation unit undergoes two-time compilation.

Figure 1. Relative-slowness of Jmlc compared to

Javac. Twenty-five programs that were test run for checking the compilation time were taken from the

programs that were distributed as a part of the JML package, under the samples folder.

Page 98: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

80

Obviously there's nothing that we can do about the first. Regarding the second, there is work going on to build the next generation tools on the Eclipse platform [2], which is claimed to be more efficient. The third is the research question being addressed in this paper. 3. Double-round Architecture (Jml2 Architecture) The normal flow of any java source code starts from the scanner phase and ends in the code generation phase going through the different phases. For the case for JML-annotated Java source code, after the type checking phase, rather than going straight to the code generation phase it goes for second-round of compilation. In this technique, the runtime code (which is in source code format) is directly merged into the original source code. Addition of a special node, to depict that the node is a "special node"(for RAC purpose) is required for pretty printing [3]. On pretty printing, we fetch this new source code and resend to the scanning phase for the second round of compilation. The major bottleneck for this architecture is the double-round compilation. This is because it affects the runtime performance. It is a well-known fact that in a compilation phase, most time is spent in the scanning phase (see Fig. 2). Since this requires interacting with a slower device like hard-disk. In this architecture, scanning and parsing is done twice for the original code which slows down the performance.

Figure 2. The average percentage of each phase on running twenty-five test cases. These were taken

from the programs that were distributed with JML package. They were timed on Eclipse platform.

4. Incremental Architecture The architectural style that we call incremental architecture works on the same fashion as the double- round architecture. However this time, the code that is sent to the scanner phase for the second round of compilation is not the entire code but only runtime code. Generally speaking, this kind of architecture actually supports abstract syntax tree (AST) merging mechanism (see Fig.3). That is to say, the portion of code that is sent for second round of compilation, results into an AST. This new AST needs to be merged with the original AST.

Figure 3. The incremental architecture designed on the Eclipse framework. Unlike in double-round compilation in this architecture only the RAC code is sent. In the second-round we merge using the RAC

AST and the original AST to get the merged AST ready to go to byte-code generation phase.

Page 99: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

81

Figure 4. The status of the java source code and its intermediate format (AST) changes with every step. In step 1, in the first round the source code is changed to an AST, with the help of which RAC source code is generated and saved in a temporary folder. In step 3, this RAC code is retrieved and parsed and is merged

with the original AST, which is done in step 4. In step 5 and 6 this merged AST is fully type checked and code generation is done.

We must also note that the Eclipse framework does not provide us with any API that we can take help of for this increment approach. The unit of increment in Eclipse is a compilation unit. However, in our case the unit of increment is a sequence of Java statements. The idea behind this approach is incremental compilation. Since runtime assertion checking code generator basically generates valid Java statements on-the-fly, it should be possible for us to create an AST that would contain information of the runtime code only, and also be able to merge it with the original AST. A key component of this interaction is the separation of the formation of AST nodes and binding them to their parent AST node. The complexity of this strategy is solely depended upon the following;

• Forming new AST nodes (in the second round, that of JML-specific statements). This AST must contain only runtime assertion checking information.

• Merging of the runtime AST with the original AST.

• Nullifying resolutions for generic types.

This model parses and type checks the original source code (before RAC Generation) in the first cycle of compilation, and uses this type checked AST to further mutate with the RAC version. The steps involved to implement this technique are (see Fig. 4)

1. In the first cycle, parse and type check the

original source code. 2. Using this type checked AST, RAC code is

generated in source code format, which is further saved in the temporary folder.

3. The RAC code is parsed; parsing the RAC code creates an initial AST.

4. This un-type checked AST (RAC-AST) is merged to the original type checked AST (original-AST).

5. Type-binding type-checking and flow-analysis is again done on this merged AST.

6. The resulting AST is sent for code generation.

The main advantage of this architectural style is that the computation time would be greatly reduced. The reason behind this is that even though, this approach does double-round compilation, for the second time, it only parses the newly added code which is the runtime code. However it also has some disadvantages. The lack of support from existing compiler framework or implementation may pose a serious problem. The original program code is changed by the preprocessor, i.e., line numbers of compiler errors do not actually fit the line numbers of the program. The same problem arises with debugging or runtime exceptions.

Page 100: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

82

5. Current Status and Future Work In this paper, we have outlined a strategy for extending the Eclipse framework to incorporate JML RAC compiler into it. This strategy is not without challenges, however. Choosing the right extension points with minimal changes in the existing source code are difficult. We are currently building the prototype that would support the features introduced in this paper. On successful completion of the prototype we would eventually go onto full-blown development with Concordia University and Kansas University. Acknowledgements This work was supported in part by NSF under Grant No. CNS-0707874. Publication of this work has been possible in part by the support of NSF Grant CNS-0540592.

References 1. Lilian Burdy, Yoonsik Cheon, David R. Cok,

Michael Ernst, Joe Kiniry, Gary T. Leavens, K. Rustan M. Leino, and Erik Poll. An Overview of JML Tools and Applications. International Journal on Software Tools for Technology Transfer, 7(3):212-232, June 2005.

2. Patrice Chalin, Perry R. James, and George Karabotsos. An Integrated Verification Environment for JML: Architecture and Early Results. Sixth International Workshop on Specification and Verification of Component-Based Systems (SAVCBS 2007), pages 47-53, September 2007.

3. Yoonsik Cheon. A Runtime Assertion Checker for the Java Modeling Language. Technical Report 03-09 [The authors’ PhD dissertation], Department of Computer Science, Iowa State University, Ames, Iowa, April 2003).

Page 101: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

83

Gait Analysis Using Optimization and Constraint Programming

Essau Ramirez

University of Texas at El Paso Advisor: Dr. Martine Ceberio

Emails: [email protected], [email protected]

Abstract

Many neurological diseases, such as cerebral palsy, can significantly affect the ability of patients to walk without assistance. Intensive rehabilitation therapy is usually the key for patients to improve their walking ability. However, such therapy is long and relies on human experts to perform it: it involves a lot of repetitions of exercises guided by therapists. As a result, it is not as efficient as one would expect and it is very costly. The key to improve rehabilitation is to automate the diagnosis of gait pathologies and to guide the therapy. Automatically diagnosing gait pathologies requires o be able to assess gait. Nowadays, gait is assessed through observation and/or computer-based analysis of some characteristics; e.g., the angle between the shinbone and the femur, the height of the ankle (using markers placed on the patient’s joints: typically ankle, knee, hip). Current diagnosis techniques are based on observations; current research on automating the gait diagnosis makes us of video and data recordings. Current research work is mostly oriented towards the use of fuzzy logic or neural networks. However, no single work (to date) addresses both the problems of inconsistencies in the gait cycles (e.g., patients walking faster, slower, patients having a very distorted gait) and the need for determining models (of both healthy and unhealthy patients). Keywords: gait analysis, optimization, patterns, constraint programming. 1. Introduction Neurological disorders, strokes, or Parkinson, have been found to be the cause to abnormal changes in gait called “gait disorders”, that significantly affect the ability of a person to walk without assistance. These patients have a need for intensive rehabilitation therapy, used for patients to improve or recover their walking ability. Such therapy is long, relies on human experts to perform it, and is not cost-effective. The therapy needs lots of exercises and repetitions guided by therapists to

be able to diagnose a patient. So to improve the gait therapy an automated method of diagnosing gait pathologies had to be implemented. The decision of implementing an automated method was done to give the ability to assess the gait of a patient. Nowadays gait is assessed through observation and/or computer-based analysis, looking for specific characteristics: e.g., angle between the shinbone and the femur, the height of the ankle (using markers placed on the patient’s joints: typically ankle, knee, hip). Research on automating the gait diagnosis makes use of video and data recordings. Current research work is mostly oriented towards the use of fuzzy logic [1] or neural networks[2]. The interest of using these applications is to have the ability of identifying features that will help differentiate between a healthy and an unhealthy gait. However, there are many problems that haven’t been addressed yet (e.g., patients walking faster or slower at each cycle, patients that have a distorted gait), and the ability to differentiate between a healthy gait or an unhealthy gait hasn’t been resolved yet. We will focus on the diagnosis of the gaits, and its applications to other fields. Our work is based on the use of optimization and constraint programming techniques, which aim at extracting characteristics, and not be dependent of inconsistencies that may be presented in the cycles based on the patients (e.g., height, weight, age, walking speed). 2. Background The diagnosis of gait pathologies requires of the help of human experts and is not cost-effective, so a new type of diagnosis had o be developed. With this approach, not only will costs be reduced, but we are looking for something more precise, efficient, and automated. Automated methods, which can measure gait data and relate the patients asserted data to its clinical information, would help physicians discover pathologies for a wide range of patients. There are many different ways in which data is acquired nowadays:

Page 102: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

84

1. Goniometers: electrical pontiometers that are used to measure the angle between joints.

2. Opto electric techniques: In this system the subject wears infrared lights on the body which are glowed in a sequence and are captured by 3 cameras.

3. Vicon System: This is a system of 6 cameras which keep track of the position of reflective markers that are placed on selected parts of patient’s body in three dimension.

These data obtained is then processed using different methods like fuzzy logic, determining the human gait phase transitions on a sample basis, adding then the potention to create additional impoarment-specific rules to the system based on consultation with clinicians and therapists.[3] 3. Objective Our objective is to have the ability to classify patients based on their gait, differentiating when a gait is healthy or unhealthy, and to determine what kind of problem is observed and how it can be treated. We also aim at characterizing people’s gait in thermos of parameters that will describe their pathology or confirm that they are healthy, if a patient cannot be diagnosed as healthy, then more detailed observation has to be done until it can be disregarded that the patient is unhealthy. When the diagnosis is made, then treatment can be based on the data provided making the work easier for the therapist. These data will have already been processed using constraint programming and optimization. Even though, therapists aren’t encouraged of changing their normal treatment, but instead should use the data provided as a tool to have a more detailed diagnosis and as a reference for the treatment to be applied. 4. Our Approach We used optimization and constraint solving techniques using realpaver, to get most of the desired objectives, and to have a guaranteed and reliable solution, and a higher level approach. We ruled out the outliers presented and therefore based our solution on a qualitative one instead of quantitative, looking for features, not values. We identified the start and the end of the gait phases, as well as other transitions in the gait cycle. The phase identification was possible by smoothening the data and using constraint programming, so outliers not taken into

account and giving only certain parts of information that were needed. We used data collected from 12 healthy subjects using the VICON system, in which we could recognize patterns, translate their data into a solution based on constraint programming, and to check for inconsistencies in patients walking, or differences at different stages of the gait cycle. For this approach, we had to develop a tool for plotting the data from the patients, and eventually this tool will be used for guiding practitioners in their understanding of the pathologies, and to use it as a reference for the treatment to be performed. 4.1 Challenges Some of the challenges for obtaining this solution were: data inconsistencies (e.g., noise, patterns difference in height, discretization of the time, reliability of the data). Markers can be reliable but after a certain period of time they move from their original position, giving different values, so markers are limited to working for a certain period of time in the gait cycle. Data inconsistencies were the biggest challenge presented, most of the features had to be extracted by first removing the inconsistencies and then applying constraints to get the data to be worked with and declare if it is a healthy gait. 4.2 Outcome With this approach, arbitrary data was ruled out, to focus more on it qualitatively, giving a more centralized tool, therefore this tool can be used for assessment on patients, from treatment to analysis, to see how the recovery has been doing. There are still limitations for this approach, like how a patient may not be declared unhealthy but still it cannot be ruled out as a healthy until it can be for sure declared as a healthy patient. Features were found declaring what consistencies need to be found in a healthy patient, from the subjects that were studied, with this it will be easier to find inconsistencies in the gait of an unhealthy patient if these features are not found in there. 5. Future Work There is work to be done on data analysis, by addressing several problems that may come out from therapists or patients, having the ability to declare when a gait is healthy or unhealthy when certain inconsistencies are seen at some point of the gait, the

Page 103: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

85

ability to work with inconsistencies in walking speed, automation of the translation of the data to constraints, the ability to declare not only when a gait is unhealthy, but how much unhealthy it is. We smoothened the data to remove any outliers that were present, but we should have the ability to tune whether some outliers should not be considered or if they are important information in the gait of the patient. This would help the physician to work with every inconsistency that looks as part of the gait. 6. Conclusion A constraint-based method to analyze the gait patterns was done, with the ability to recognize healthy features by working with the data of healthy patients. If the pattern is not recognized as healthy, then there has to be pathology, otherwise more information might be needed. The automation of a method that needs to be done repetitively to find a solution, and therefore eliminating the times the patients have to be in therapy for analyzing their problem and giving a faster solution that will address the problems in the patients. There is still work that needs to be done, the gait analysis is not fully automated yet, and physicians still need to assess and work with the patient and certain

repetitions need to be made, but there is huge improvement by not having the patient repeat the gait data collection over and over again. Since the data we worked on was only based on healthy subjects, we have to now focus on the characteristics found on these healthy subjects and apply them on unhealthy ones, looking for any inconsistencies that may be found in their gait cycles, and that would be different from those with healthy gait patterns.

Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. Clarke, F., Ekeland, I.: Nonlinear oscillations and

boundary-value problems for Hamiltonian systems. Arch. Rat. Mech. Anal. 78 (1982) 315–333

2. Clarke, F., Ekeland, I.: Solutions p´eriodiques, du p´eriode donn´ee, des ´equations hamiltoniennes. Note CRAS Paris 287 (1978) 1013–1015

3. Sarkodie-Gyan, T.: Towards Real-time fuzzy inferential gait phase.

Page 104: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

86

Survey of Wireless Sensor Network Security

Matthew Vella

Computer Science Department Texas A&M University – Corpus Christi

Corpus Christi, TX 78412, USA Email: [email protected]

Abstract The research on security of Wireless Sensor Networks (WSN) has received much attention in the last few years. Nonetheless, the focus has been on other issues such as architecture and efficiency. In this paper, a survey on the security of WSN is presented. Various security risks involved in the operation of WSN, counter measures, and existing solutions are reviewed. Many solutions have been proposed, but only the most effective will be discussed. 1. Introduction 1.1 What is a Wireless Sensor Network (WSN)?

A wireless sensor network is a network of multiple sensing nodes that perform a certain task. The network can consist of any number of sensing nodes, and each sensing node has the ability to store and send information across the network. Every sensing node has its own battery, memory, processor, transceiver, and sensing device. 1.2 How and Why WSN are used

The sensing nodes are distributed over a designated area and have the ability to communicate with each other and collect information about the area of interest. The information can be stored in a special node called the sink node, or it can be sent to a neighbor node (a node within a short distance). 1.3 Usefulness of WSN

WSN are used to gather information of the area in which it is located, usually environmental data. They are also useful because of their small size and ability to exist in discrete areas. Currently, WSN have provided usefulness to several important fields such as, environmental, industrial, medical, and military. 1.4 WSN Pros and Cons

The pros of WSN are, they consist of compact nodes, have a wide range of uses, are autonomous, can survive in a hostile environment, and are inexpensive. 1.5 Why is security necessary? Security is necessary because in many applications, the data obtained by the sensing nodes needs to be kept confidential and has to be authentic. Without security a malicious node could intercept private information, or could send false messages to nodes in the network. The five major attacks I will be discussing are HELLO flood attack, Wormhole attack, Replay attack, Sybil attack, and Sinkhole attack. 2. Common Security Threats 2.1 HELLO Flood Attack During a HELLO Flood Attack, a malicious node uses a high power to transmit a HELLO message (a message used by any node to inform their neighbors of its existence) to all the nodes pretending that it is their neighbor. This causes nodes that are far away from the malicious node to attempt to route messages through the malicious node, but it is too far away. As a result, the message never gets delivered anywhere. 2.2 Wormhole Attack During a Wormhole Attack, one node in the network (the originating node) sends a message to another node in the network (receiving node). Then the receiving node attempts to send the message to its neighbors. The neighboring nodes think the message was sent from the originating node (which is usually out of range), so they attempt to send the message to the originating node, but it never arrives since it is too far away. 2.3 Replay Attack During a Replay Attack, a malicious node stores a received message and attempts to send it at a later time.

Page 105: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

87

When the nodes receive the message, they believe that it is an original message, which it is not. That causes the nodes to come up with the wrong distance and signal strength since the node sending the original message is not where they think it is. 2.4 Sybil Attack During a Sybil Attack, a malicious node will appear to be a set of nodes and will send incorrect information to a node in the network. The incorrect information can be a variety of things, including: positions of nodes, signal strengths, and making up nodes that do not exist. 2.5 Sinkhole Attack During a Sinkhole Attack, a malicious node will attempt to attract all the traffic from a certain area to come through the malicious node. It does that by appearing to be a route to the base station that has extremely high quality, which attracts all the nodes, and results in the messages that were headed for the base station to not make it there. 2.6 Summary of Security Threats All of the previously mentioned security threats, the HELLO Flood Attack, Wormhole Attack, Replay Attack, Sybil Attack, and Sinkhole Attack, serve one common purpose. The purpose being, to compromise the integrity of the network they attack. Because this is widely known, many solutions have been proposed, and the three that I will be discussing are Suspicious Node Detection by Signal Strength, Malicious Nodes Detecting and Diagnosing Mechanism, and Cryptography. 3. Purposed Solutions 3.1 Suspicious Node Detection by Signal Strength The Suspicious Node Detection by Signal Strength only works against HELLO flood attacks and wormhole attacks. It is assumed that all the nodes are homogeneous (have same hardware and software), symmetric (only communicate with a node that can communicate with them), and static (do not move after placed). It concludes that a node is malicious if the signal strength is different from the signal strength agreed upon by all the nodes in the network. If a node is thought to be suspicious, it is classified as such. Every node contains a table that keeps track of the number of suspicious and unsuspicious votes of other nodes, and the table in constantly updated when a new vote is made. This is a way to protect against a malicious node getting classified as unsuspicious or vise versa. This solution proved to be pretty successful

for detecting HELLO Flood Attacks and Wormhole Attacks, as long as the parameters are followed. 3.2 Malicious Nodes Detecting and Diagnosing Mechanism The Malicious Nodes Detecting and Diagnosing Mechanism starts when a message is received, and an acknowledgement message (ACK) is generated and sent to the node that sent the message. Then the message is saved in a temporary buffer until the ACK is received. If the ACK is received in a certain amount of time, then the node is an honest node, but if the message is not received in that amount of time then it is a malicious node. This is based on the fact that a malicious node would be farther away, and therefore would take longer to send the ACK. Testing proved that the solution was able to detect malicious nodes, but requires too many resources and will eventually drain the network after limited use. 3.3 Cryptography Cryptography uses authentication to keep the messages from being tampered with, and keeps the node positions confidential. But it cannot always be used, because if a malicious node gets in the network then it has access to all the stored information (such as security keys and passwords). So, cryptography should only be used when used with other secure algorithms to keep malicious nodes out of the network. As long as cryptography is used with the appropriate algorithms it can be very effective. 4. Conclusion and Future Work 4.1 Conclusion In the past the focus has not been on the security of WSN, but with the various threats arising and the importance of data confidentiality, security has become a major issue. Although some solutions have already been proposed, there is no single solution to protect against every threat, which is why the security of WSN will be a major issue for a long time. 4.2 Future Work Since this is a survey of known wireless sensor network security threats and already proposed solutions, I plan to use this information to develop my own solution to a specific security threat sometime in the near future.

Page 106: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

88

Acknowledgements “This research project is made possible through the support and resources provided by the Broadening Participation in Computing (BPC) grant (Grant CNS-0540592), funded by the National Science Foundation (NSF) pass through University of Texas EL Paso.” References 1. Yuan-xi Jiang, and Bao-hua Zhao, A Secure

Routing Protocol with Malicious Nodes Detecting and Diagnosing Mechanism for Wireless Sensor Networks. Proceedings of the 2nd IEEE Asia-Pacifica Service Computing Conference, pages 49-55, 2007.

2. Thiago H. de Paula Figueiredo, Antonio A.F. Loureiro, Waldir Ribeiro, and Hao Chi Wong, Malicious Node Detection in Wireless Sensor Networks. Department of Computer Science, Universidade Federal de Minas Gerais, http://www.cs.cmu.edu/~hcwong/Pdfs/04ipdps-malicious.pdf

3. Azzedine Boukerche, Antonio, A.F. Loureiro, Eduardo F. Nakamura, and Horacio, A.B.F. Oliveira, Secure Localization Algorithms for Wireless Sensor Networks. Communications Magazine, IEEE, vol 46, no 4, pages 96-101, April 2008.

4. Security in Wireless Sensor Networks by Mayank Saraogi; Department of Computer Science, University of Tennessee, http://www.cs.utk.edu/~saraogi/594paper.pdf

Page 107: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

89

Autonomic Ranking of Data Sources and Query Processing Sites using Ant Colony Theory

Eliana Valenzuela-Andrade and Manuel Rodríguez-Martínez

Department of Electrical & Computer Engineering

University of Puerto Rico at Mayagüez, Mayagüez, PR 00681, USA

emails: [email protected], [email protected]

Abstract This paper presents Antfinder, a novel approach to the problem of discovering and ranking the characteristics of the data sources and query processing sites in a wide-area mobile distributed database system. We model the system as a graph with nodes representing data sources and query processing sites, some of which might be replicated. We introduce a heuristic technique inspired in ant colony theory to dynamically discover, rank and catalog each data source or query-processing site. Our goal is to find possible paths to access the computational resources or data provided by the highest quality sites. We define this concept of quality in terms of performance, Freshness and others. We present simulation results of the system using java CSIM and also a preliminary performance study designed to analyze the quality of paths found by the ant colony algorithm using only performance. 1. Introduction

Wide-area networks pose many challenges to

developers of database middleware solutions for data integration. Very often, data sources have stale or incomplete data, limited query processing capabilities or restricted access privileges. Likewise, query-processing nodes might become slow because they get overloaded with query requests. Thus, the cost of processing a given query Q is often hard to predict. If we add into this mix a few mobile sites that serve data or process queries, then this unpredictability increases since these nodes might change network connectivity, go offline, or decrease their performance to save battery life. In this scenario, it becomes very difficult to establish a reliable method to estimate the cost of running a query in the system. A great deal of effort has been devoted to the problem of optimizing queries in local and distributed databases [1], [2], [3]. Most of these approaches assume that a query optimizer will explore a search space of query plans until it finds one with minimal cost, defined as either response time,

resource usage, power costs, or network cost, among many others.

This optimization process, however, cannot be effective unless the middleware system has accurate information about the performance characteristics of the data sources and query processing sites. Thus, given a query Q, it is necessary to determine which sites can provide the data to satisfy the query and which sites can provide the computing power to generate the query results. The query optimizer for the middleware system can then generate an efficient query plan to answer the query. Typically, query optimizers for middleware systems have relied on a catalog system that has such information.

The regular flowchart is as follow: a query submitted by a client is first parsed and the catalog is used to validate it. Then, rewrite rules are applied to simplify and generate a better representation of the query. Next, the query optimizer can apply its search techniques and optimization rules to explore the space of candidate plans and find an optimal plan. The catalog is used to obtain information about the data, performance characteristics and query execution capabilities of candidates execution sites in the system. This makes the catalog a key ingredient for the completion of these three initial phases in the processing of a query. Once an optimal plan has been found, an executable version of the plan is generated and sent to the target remote query execution sites. These sites generate the query results and send them to the client application.

Clearly, the job done by the query optimizer will be only as good as the metadata it uses to guide the optimization process. Yet, most systems assume that a system administrator will manage the catalog and provide adequate metadata to populate it.

Relatively little attention has been paid to the fact that the metadata in the catalog is quite dynamic, changing as new mobile sites enter (or leave) the system, existing data sources are updated, network connectivity changes, and query processing sites become loaded with requests. The Ad hoc and distributed nature of the problem makes it unfeasible to

Page 108: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

90

have a solution that relies on system administrators to periodically update and publish system metadata throughout the system. Likewise, trying to discover the information at query time can only slow down query execution and reduce system throughput.

In this work we propose an autonomic framework for continuously discovering and ranking the sites in a database middleware system for mobile, wide-area environments. Our framework, called AntFinder, can help keep the catalog updated, and feed accurate information to a query optimizer to make better decisions for query operator ordering and placement. Our proposed solution addresses this problem by proving a methodology to a) discover the performance characteristics of the data sources and query processing sites, and b) rank these sites based on their quality. In AntFinder, each site in the system participates in a social network to continuously share system metadata, discover new sites, and rank the capabilities of known sites. This social network is built by employing ANT COLONY THEORY, and each site exposes its metadata to be inspected by autonomous software robots called artificial ants [4]. These ants use the information that is found to establish a ranking of the sites, giving a notion of the quality of a site u as seen by other site v. The goal of our method is to give the optimizer accurate information about a series of paths leading from a site v to one or more data sources. These paths include query sites that can be used to process the data. The optimizer can use these paths as interesting candidate query sub-plans to be considered for building the final plan.

2. Motivation And Background

Consider an engineer Liz Diaz who travels from

Florida to New Jersey to service equipment at a manufacturing plant. Upon arrival she connects her laptop to search her local database of parts and suppliers. But, she then needs to contact the office back in Florida to fetch some latest information on pricing and specs. However, the company has a second office in Washington DC which can also supply the information she needs. Which data source should be used? Notice that the location at DC might be closer and perhaps connected to a better network. But, the one in Florida is the one she usually uses. The optimizer in the integration software in her laptop must make this decision, but how does it get the metadata needed to search for the plan. Suppose that New York City has a public search database for suppliers, which can also help Liz? How can Liz's integration software learn about this?

2.1 Problem statement

Let G(V,E) be a directed graph where V is a collection of sites and E is a collection of edges that represent connectivity between sites vi, vj in V. Nodes in V can be classified as data providers, query processing providers or both. When a query Q is submitted to a node vi

∈ V, we need to find the best (shortest) paths from vi to a collection of nodes U

⊆V that can be used to solve the query Q. Each path P is of the form (v0,v1,...,vn), such that v0 is the processing site where query Q was first submitted and vn is a data source with one or more relations needed to solve Q. Thus, all paths start at v0 and the collections of paths forms a tree connecting v0 to a set of sites that can run the query. The internal nodes are processing sites on which query operators might be placed for execution. These paths can then be fed to a query optimizer as candidate plans to help in finding the actual plan to solve the query. Given a path P in G, the cost C(P) of this path is defined by a domain-specific cost metric m, which can be response time, resource usage or last update time, among others.

2.2 Ant Colony Optimization The problem of finding these paths is a as combinatorial optimization problem. If the system is small, we can apply tools such as dynamic programming to find a solution. But when the system is dynamic and large, this type of methodology does not scale well. Hence, some heuristic search must be employed, such as randomized search, tabu search, simulated annealing, or swarm optimization. We chose to use Ant Colony Optimization approach (ACO), because it is an autonomic, distributed and de-centralized approach that has been effective in solving data communication problems [4]. ACO algorithms are inspired by the observation of real ant colonies. Ants are social insects, which means that the behavior of every ant is based on the survival of the colony and not on its own survival. One of the most important behavioral features of ant colonies is their capacity to find shortest paths between food sources and their nest. This behavior is achieved by an indirect method of communication between ants based on pheromone trails. Applying ACO to computational problems involves the definition of the ants, food source and the nest. In AntFinder, the food is the data sources. The nest is the site from which the queries are originated. The path between the nest and the food contains query-processing sites that can be used to process the data. Powerful sites can be seen as members of good paths, whereas slow sites can be seen as leading to bad paths. In our framework, the ants are small autonomous

Page 109: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

91

programs that visit each node in the network and inspect its characteristics. As they visit each site, they leave a bit of pheromone at the site. The amount of pheromone left is directly proportional to the quality of the site. This pheromone level is incremented as new ants visit the site and find it to be good, thus leaving even more pheromone. If the site is not good, ants leave less pheromone. Eventually, the best paths to reach a set of data sources from a given site s are found, and these can be fed to the optimizer for exploration. However, care must be taken to avoid stagnation (premature convergence) by focusing on local minima. In real ant colonies, Nature solves this problem by letting pheromone trails evaporate over time and allowing some ants to follow new paths. If a path remains a good one, ants will follow it and keep the pheromone alive. It the path becomes bad, the ants will abandon it and the pheromone will evaporate. Thus, a good path will remain so only if ants continue to use it. This behavior must also be incorporated in solutions based on ACO. 3. System Architecture: Database

Middleware In order to have a platform to carry out our work, we needed to choose a database middleware system to use as the use-case environment. There are numerous systems presented in the research literature such as TSIMMIS [5], DISCO [6], Mariposa [7], Garlic [8], MOCHA [9] and NetTraveler[10]. We use the open source NetTraveler Middleware System as the platform on which AntFinder is based because NetTraveler is designed to support efficient data management over dynamic Wide-Area Networks (WANs) where data sources go off-line, change location, have limited power capabilities and form ad-hoc federations of sites. By using NetTraveler for our initial work, we can easily transition to an implementation of AntFinder on top of NetTraveler since the source code is freely available. 4. Performance Evaluation We have implemented a detailed Java CSIM simulation of AntFinder based on the NetTraveler system architecture. Each query processing site or data source is an object server called the ant host, which serves as a hosting environment to receive ant. Each ant is an object that can be created, migrated or destroyed. The site statistics Mi and the pheromone trail Ti are implemented using different data structures. All the data are backed by database tables. In this section we show several experiments that show the feasibility and efficiency that our method has

for discovering and ranking data sources and query sites.

4.1 Feasibility

The first question that we must answer is whether our approach can actually find optimal or near optimal solutions to the problem of finding a path between a QSB vi and another QSB or IG vj. To accomplish this we built some configurations of NetTraveler nodes in our Java CSIM simulation but due to lack of space we only present the system shown in figure Figure1 and is called Test System 1. The performance cost metric used was the cost of processing a page with 4KB worth of tuples, and then send these across the network. Intermediate nodes in the path acted as relays, but in a more complex setting these nodes would have query processing operators that must be applied to the page of tuples. Notice that the path forms an execution pipeline for tuples from an IG to a QSB. We used exponential smoothing as the mechanism to estimate costs and update both the pheromone matrix and the statistical model on each node in the system. Each node in the network was a modeled as a host with 1GB of RAM, 3GHZ CPU and 100 GB of disk. From each QSB we sent ants to discover how to reach IGs in the system. We sent ants one after another, and we ran trials in which each QSB would send 10, 20 and 50 ants in each trial. We repeated each trial 5 times and then took averages on the following percentages: a) success in finding the best path, b) consistency of pheromone trail to lead to the shortest path, c) number of routes in the system that were explored, and d) amount of ants that were lost in loops.

Figure 7. Test System 1 Table I show the result of this experiment. As we can see from the figure, AntFinder can find the best path in over 90% of time, and the pheromone trails are over 75% of time consistent with the shortest path. Notice that the pheromone consistency increases with the number of ants, since each node is accumulating more samples and hence its accuracy increases. Notice, however, that the percentage of the network that is explored decreases as the number of ants increases. The reason for this is also the pheromone trail, since there

Page 110: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

92

are more ants are on the network and they are strengthening the good paths already explored. This makes other paths less attractive, and it could prevent an optimal path from being explored. But since the algorithms find the best path 90% of time, we do not consider this to be a major problem. Finally, notice that the number of lost ants decreases as the number of ants on the network increases. The reason for this is that more ants are helping to quickly discover the good paths, and the strength of pheromone trails in the good paths is luring other ants from going into bad paths with loops.

Table 3 Experiments Results (in %) Test System 1

#Ants%SuccessfulShortestPath

%PheromoneConsistency

%Exploration

%Lost

10 98.2 75.8 60.0 7.2 20 99.1 78.5 59.1 6.0 50 94.5 80.9 49.1 2.5

4.1 Efficiency The next question that must be raised in how efficient is AntFinder when compared with the alternative of dynamically finding the paths at run time. For this purpose, we compare our method with two variants based on Dijkstra's algorithm for shortest paths search. In the first variant, there is a central catalog with information about current cost of edges in the system. Each QSB would sends a group of ants to get the statistics necessary to find the paths to all the IGs in the system. Once the statistics arrive at each QSB, they run Dijkstra's algorithm to find the shortest path. In the second variant, the catalog is partitioned at each QSB. When some QSB needs to find path information is must contact its peer QSBs to get the statistics. In turn, each peer will request data from other peers until they can establish the connectivity necessary to reach the IGs. Then, all the statistics are sent to vi, and this node will run Dijkstra's algorithm to find the shortest path. We built some systems in our simulation, with the same characteristics as before, but due to lack of space we only present the results for Test System 1. We ran AntFinder to find paths of interest between each QSB and IG or between pairs of QSB. We did the same with both variants that use Dijkstra's algorithm to find shortest paths at query time.

Figure 2 shows the results for Test System 1 with the variants based on Dijkstra's algorithm. We only show interesting routes, meaning that there were more than one possible path between the source and destination pair. The figure shows the best path to complete the route between source and destination nodes, and the cost of the path. This Cost is the estimated number of milliseconds that are required to

process a page of tuples of 4KB along the path. Column L Time is the computational overhead, measured in milliseconds, incurred for the variant based on a central catalog and D Time is the overhead for the variant based on the partitioned catalog. Figure 3 shows the results with AntFinder for the same System 1, sending 200 ants. Notice that our algorithm provides various alternatives for the path between source and destination, not just one as is the case for Dijkstra's. Also, notice that average cost of these paths is almost the same as the cost for the paths found with Dijkstra's. But, the overhead for the path lookup step (column named Time) is an order of magnitude smaller for each case as it was for any of the variants based on Dijkstra's algorithm. Notice that since the ants work in parallel to the query execution process, a path lookup only required a local query in the catalog of the QSB. Thus, our approach is accurate with respect to path information and yet involves little extra overhead in the process. As the number of nodes increases, we can expect an increase in these overhead differences between our method and any method that finds paths at run time.

Figure 2. Test System 1 Paths Estimates based in Dijkstra's

Figure 3. Test System 1 Paths Estimates based in Dijkstra's

5. Conclusions

In this paper we proposed an autonomic framework

for continuously discovering and ranking the sites in a

Page 111: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

93

database middleware system for mobile, wide-area environments. Our framework, called AntFinder, can help keep the catalog updated, and feed accurate information to a query optimizer about paths with sites for query operator placement. This framework is fully de-centralized and can scale to large number of nodes. Finally, we presented the results of a performance study carried out on a simulation of the system. These experiments show that our framework can find near optimal paths in over 90% of the cases. In addition, they demonstrate that our method is far superior to approaches that try to determine shortest paths at run time. Our solution combines de-centralized behavior with accurate prediction of the paths, and accurate ranking the best sites to answer a query. Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. L. F. Mackert and G. M. Lohman, “R* optimizer

validation and performance evaluation for distributed queries,” in VLDB’86, August 25-28, 1986, Kyoto, Japan, Proceedings, pp. 149–159.

2. D. Kossmann, “The state of the art in distributed query processing,” ACM Computing Surveys, vol. 32, no. 4, pp. 422–469, Dec. 2000.

3. L. M. Haas, D. Kossmann, E. L. Wimmers, and J. Yang, “Optimizing queries across diverse data

sources,” in VLDB’97, August 25-29, 1997, Athens, Greece, pp. 276–285.

4. M. Dorigo and T. Stutzle, Ant Colony Optimization. The MIT Press, 2004.

5. C. Li, R. Yerneni, V. Vassalos, H. Garcia-Molina, Y. Papakonstantinou, J. D. Ullman, and M. Valiveti, “Capability based mediation in tsimmis,” in SIGMOD 1998, June 2-4, 1998, Seattle, Washington, USA, pp. 564–566.

6. Tomasic, L. Raschid, and P. Valduriez, “Scaling access to heterogeneous data sources with disco,” IEEE Trans. Knowl. Data Eng., vol. 10, no. 5, pp. 808–823, 1998.

7. M. Stonebraker, P. M. Aoki, W. Litwin, A. Pfeffer, A. Sah, J. Sidell, C. Staelin, and A. Yu, “Mariposa: a wide-area distributed databasesystem,” The VLDB Journal, vol. 5, no. 1, pp. 048–063, 1996.

8. M. T. Roth and P. M. Schwarz, “Don’t scrap it, wrap it! a wrapper architecture for legacy data sources,” in VLDB’97, August 25-29, 1997, Athens, Greece, pp. 266–275.

9. M. Rodríguez-Martínez and N. Roussopoulos, “Mocha: A self-extensible Database Middleware system for distributed data sources,” in Proceedings of the 2000 ACM SIGMOD, May 16-18, 2000, Dallas, Texas, USA, pp. 213–224.

10. E. A. Vargas-Figueroa and M. Rodríguez-Martínez, “Design and implementation of the NetTraveler Middleware system based on web services,” in AICT-ICIW ’06. Washington, DC, USA: IEEE Computer Society, 2006, p. 138.

Page 112: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

94

A Protocol Offload Framework Applied to a TCP Offload Engine and Web Traffic

Juan M. Solá-Sloan and Isidoro Couvertier-Reyes

Computing Information Science and Engineering Ph.D. Program

Electrical and Computer Engineering Department University of Puerto Rico, Mayaguez Campus

email: [email protected], [email protected]

Abstract

This article presents a summary of a probabilistic model that estimates the CPU utilization before and after protocol processing extraction. Our approach uses a TCP Offload Engine Emulator for validating the model. The emulator also is used for studying the impact on response time before and after TCP/IP protocol extraction on a real implementation. Our file system has been divided into four different classes based on its sizes. Each file class has been requested using Webstone 2.5 to stress the server in different ways. The preliminar analysis of the results obtained show that the analytical model is valid for estimating the utilization and delay of the system. The analysis presents that for some cases, the inclusion of a TCP Offload Engine improves overall system performance for files with sizes greater than 10KB. However, there are occasions that the offload engine could also degrade performance. 1. Introduction On the advent of multi-core multi-threaded processors and new technologies on outboard processors a new debate related to where protocol processing must be performed arises. Novel methods for understanding the specific features of protocol processing are needed for deciding if a hardware or software implementation suffices. A TCP offload engine (TOE) is an entity outside the main CPU of the host that handles TCP/IP in an end-to-end communication [2,8]. It was proposed, originally as part of the network interface, to alleviate the problem that arises when application and protocol processing compete for a share of CPU time. There is no guarantee that the inclusion of a TOE within the system results in performance increases. A poorly designed interface between the CPU and the TOE is likely to ruin most of the performance benefits brought by offloading [5].

However, the inclusion of an OE could be beneficial in some cases [4. We present a probabilistic model that is capable of estimating the performance increase in utilization and delay of a system when protocol processing is extracted from the OS and performed in another entity. The model is focused under the context of a Web Server (WS) that handles HTTP requests. To validate the analytical model we created a TCP Offload Engine Emulator (TOE-Em) and use it as a case study. 2 Analytical Model Overview An efficient TOE reduces CPU utilization and less or similar response time to the client at the other end of the communication. Therefore, the performance measures captured by the analytical model are the CPU utilization and delay of the system. The CPU utilization (Ucpu) is obtained by multiplying the arrival rate of requests (λ) by the expected time used to process it by the application (E[Xa]) plus the expected time used to convert the file into packets of protocol P,(E[Xp]). Therefore: Ucpu = λ(E[Xa] + E[Xp]). When using an OE, E[Xp] is eliminated from the equation but a new random variable emerges. Let Xo be a random variable that describes the processing of the overhead when communicating with the entity. Then, the utilization is Ucpu = λ(E[Xa] + E[Xo]). . Notice that if E[Xo] > E[Xp] then inclusion of an OE degrades the system. The analytical model is composed of two tandem queues. The first one models the CPU and the second one models the TOE. Using the P-K formula of the M/G/1 queue the delay within each queue has been estimated. The delay of the system is found by choosing only the maximum delay when comparing both queues. For further information about the analytical model please refer to [7].

Page 113: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

95

3 Experimental Setup In order to validate our model, a test bed was setup that was composed of two PCs. Figure 1 presents a representation of the test bed. One of the PCs is the Master server and runs the Web Server and the other as the TOE (slave server). The Slave server that acted as the TOE device was also called the front-end PC (FEPC). These two PCs are connected together via a 1 Gbps connection using a crossover cable. The Web server (WS) communicates with the outside world via the FEPC. The FEPC runs the TCP Offload Engine. Two more nodes were used to generate the workload and the requests that were sent to the test bed.

Figure 8 Test Bed 3.1 The TCP offload engine emulator The TCP Offload Engine Emulator (TOE-Em) is a multi-process program written in ANSI C that have the functionality of a TOE device. The TOE-Em provides the WS with the socket interface it needs. The following paragraphs discuss the TOE-Em in detail. The TOE-Em is a program that spawns processes and

maps them to similar processes running at the WS. It is composed of: the Commander and Reader process (CR), the Forker Process (FP), and Slave Processes (SP). The function of the CR is to read the incoming commands from the WS and dispatch them to an SP that could process it. The SPs task is executing the commands assigned by the CR. The SPs are blocked if there is nothing to do. The FP is a specialized SP that spawns more SPs and allocates resources for them. In order to coexist, the CR and SPs need to communicate with each other. This is done via the Process Control Table (PCT) that resides in shared memory. The CR uses the PCT for consulting if the SP is available for accepting commands and to assign the command to that particular SP.

3.2 Hacked version of Apache 2.2 A hacked1 version of Apache was used to interface it with our TOE-Em. It includes a modified socket interface that uses raw sockets to communicate to the TOE-Em. The entire socket interface of Apache 2.2 was changed in order to adapt it to our needs. Four of the Apache 2.2 sources were modified: sockets.c, sockaddr.c, sockopt.c, sendrecv.c. The Apache 2.2 core application was mostly maintained intact. Altering Apache’s core substantially could result in diverging from our scope. The only change in the core was made in prefork.c for issuing a notification to the TOE-Em that a new process has been spawned. 3.3 Workload generation We combine notions from Webstone 2.5 [9] and SURGE [1] to stress our testbed in different ways. We studied how the host behaves with different types of file sizes. Webstone 2.5 was used for testing our system and SURGE for generating the file set. The file system was classified into four different classes similar to the way it was done in [3]. Files raging from 0 to 1KB are in Class 0, 1KB to 10KB Class 1, 10KB to 100KB Class 2, 100KB to 1MB Class 3, and over 1MB in Class 4. 4 Tests and Results Tests were run for all the file classes three times for 10 minutes each. Our test bed was confronted with a default Apache 2.2 configuration for a single processor system with no TOE capabilities. The /proc file system was used to acquire results. Webstone 2.5 was supported with inter-arrival times following an exponential distribution for validating our analytical model. Figure 2 presents the CPU utilization obtained by the analytical model (using lines) and the measurements obtained by the model (using points) for the TOE and Non-TOE configurations. The findings show that, in our context, the main CPU increments its load resulting in a degradation of the entire system when the TOE is confronted with files less than 10KB. However, including a TOE is beneficial for files with sizes greater than 10 KB. The most substantial improvement is achieved for files greater than 1024 KB (see Figure 2). Table 1 presents the delay estimated by our analytical model versus the ones obtained by the emulator for Class 0 (file size < 1KB) and Class 4 (file size > 1MB). 1A way of altering a computer program beyond of its original design goals.

Page 114: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

96

This is a summary of the results currently been validated at the time this article was written. These classes were chosen since both represent totally different events. When the server is processing files for

Class 0, the application processing and the overhead used to communicate with the TOE dominate over the time it takes to handle the actual data transfer at the TOE. Therefore, the bottleneck of the system is the CPU. However, as files became larger and larger the bottleneck of the system is shifted to the TOE.

Table 1: Delay Estimated by The Model and Obtained from the Emulator

Class 0 Class 0 Class 4 Class 4

Estimated TOE-Em Estimated TOE-Em 0.00353 0.00337 0.03161 0.03088 0.00380 0.00371 0.03288 0.03119 0.00481 0.00446 0.03450 0.03292 0.00617 0.00535 0.04370 0.04372

5 Conclusions The first version of the TOE-Em presented in this article has been a success for our purposes. We were able to validate our analytical model since it has estimated the utilization of the system with a p-value greater than 0.75 on a K-S test. Our way of classifying files based on their sizes gave us a new perspective of the problem. Offloading protocol processing is beneficial for some files only in our context. Performance benefits could be concealed when

running a test with the full file set. It is known that small files are accessed more than large ones [1]. Therefore, we need to be very careful in deciding what is beneficial or not. The OS should discriminate which

files are the ones who will be offloaded to the TOE and which not. Researchers should follow our approach of classifying files in order to get a better picture of the problem. This is true since it is known that a system is stressed differently when handling different file sizes [3]. Our approach simulates the exchange of control messages between the OE and the WS. The raw protocol creates an abstraction of the commands involved in the communication between the TOE and the WS. In a real implementation, this happens inside the host. We assumed that when the TOE is part of the host, the communication between the TOE and the CPU, is faster than in our current test bed. However, the contribution of this research is using the simulation to validate our analytical model. Also, our approach is apt for analyzing the performance of the system. Acknowledgements The authors would like to thank all colleagues who contributed to this study. We want to thank Dr. Nayda Santiago of the ECE Department of the University of Puerto Rico at Mayagüez for her collaboration and comments. Also, the authors thank Dr. José Vega Vilca of the Institute of Statistics of the University of Puerto Rico at Rio Piedras for his collaboration during the design of the analytical model.

Figure 2 CPU utilization for file classes 0 and 4

Page 115: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

97

Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. Paul Barford and Mark Crovella. Generating

representative web workloads for network and server performance evaluation. ACM SIGMETRICS Performance Evaluation Review, 26(1):151–160, 1998.

2. Yeh Eric, Herman Chao, Venu Mannem, Joe Gervais, and Bradley Booth. Introduction to TCP/IP offload engine (TOE). White Paper, 2002. affiliations : 10 GEA, Intel Corp., Hewlett Packard Coorp., Adaptec, Qlogic, Alacritech Inc.

3. Yiming Hu, Ashwini Nanda, and Qing Yang. Measurement, analysis and performance improvement of the Apache web server. In Proceedings of the IEEE IPCCC ’99 Performance Computing and Communications Conference, pages 261–267, February 1999.

4. Krishna Kant. TCP offload performance for front-end servers. In Proceedings of IEEE Global Telecommunications Conference (GLOBECOM ’03) 2003, volume 6, pages 3242–3247, December 2003.

5. Jeffrey C. Mogul. TCP offload is a dumb idea whose time has come. In Proceedings of HostOS IX: The 9th Workshop on Hot Topics in Operating Systems, pages 25–30, Hawaii, May 2003.

6. Piyush Shivam and Jeffrey S. Chase. On the elusive benefits of protocol offload. In Proceedings of the ACM SIGCOMM on Network-I/O convergence, pages 179–184, Karlsruhe, Germany, August 2003. ACM. Special Session of Promises and Reality.

7. Juan Solá-Sloan and Isidoro Couvertier. A queuing based approach for estimating CPU utilization after TCP protocol offload using a TOE emulator and Apache HTTP server as a case study. Under review [available online] http://www.geocities.com/juan_sola/publications.html, November 2008.

8. Juan M. Solá-Sloan and Isidoro Couvertier. A parallel TCP/IP offloading framework for TOE devices. In Proceedings of the Applied Telecommunication Symposium (ATS’03) 2003, pages 115–121, Orlando, FL, March 2003.

9. G. Trent and M. Sake. Webstone: The first generation in HTTP server benchmarking. White Paper, February 1995.

10. Roland Westrelin, Nicolas Fugier, Erik Nordmark, Kai Kunze, and Eric Lemoine. Studying network protocol offload with emulation: approach and preliminary results. In IEEE HOTI’04 Proceedings of the 12th Annual IEEE Symposium in High Performance Interconnects, pages 84–90, Washington, DC, USA, 2004. IEEE/ACM Computer Society.

Page 116: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

98

Detecting Objects in Images Using Asymmetric Haar Features

Geovany A. Ramirez and Olac Fuentes

The University of Texas at El Paso 500W University Ave, El Paso TX 79968

Emails: [email protected], [email protected]

Abstract

We present a system for object detection applied to multi-pose face detection and street detection. Our system presents two main contributions. First, we introduce the use of asymmetric Haar features. Asymmetric Haar features provide a rich feature space, which allows to build classifiers that are accurate and much simpler than those obtained with other features. The second contribution is the use of a genetic algorithm to search efficiently in the extremely large parameter space of potential features. Our system uses specialized detectors in different object orientations that are built using AdaBoost and the C4.5 rule induction algorithm. Experimental results using the CMU profile test set and the BioID frontal face test set, as well as our own multi-pose face test set, show that our system is competitive with other systems presented recently in the literature. 1. Introduction

Object detection has received a great deal of attention

in the last few years. Most recent approaches to this problem pose it as a binary classification problem, where one needs to classify every window in an image as belonging to the class of interest (i.e. faces or streets), or not. In a series of papers, Viola and co-workers advocated an approach to object recognition based on Haar features, which are equivalent to the difference of the sum of the intensity levels of two contiguous equal-sized rectangular image regions [12].

In this paper we propose two extensions to the work by Viola and co-workers and show an application to face and street detection. First, we introduce the use of asymmetric Haar features, eliminating the requirement of equal-sized positive and negative regions in a feature. We propose Haar features with asymmetric regions that can have regions with either different width or height, but not both. This result in a more expressive feature space, which, as we will show, allows to build classifiers that are much simpler than those obtained with the standard features. While the number of symmetric Haar features is large (around 180,000 in Viola’s work), it is still feasible to

perform exhaustive evaluation of these features in order to build a classifier. On the other hand, if we use asymmetric features, the number of potential features grows to over 200 million for a 24 × 24 pixel window, which makes exhaustive evaluation impractical. The second contribution of this work is the use of a genetic algorithm to search efficiently in the parameter space of potential features. Using this genetic algorithm, we generate a small feature set that allows to exploit the expressive advantage of asymmetric features and is small enough to permit exhaustive evaluation.

We present experimental results showing the application of our method to face detection and street detection in satellite images. For face detection we use two test sets that have been used commonly in the literature, the CMU profile test set, and the BioID frontal test set. For street detection we use images from Google Earth. The experiments show that our method can attain better results than other methods while generating significantly simpler classifiers. 2. Related Work

Rowley et al. developed a frontal face detection system

that scanned every possible region and scale of an image using a window of 20 × 20 pixels [10]. Each window is pre-processed to correct for varying lighting, then, a retinally connected neural network is used to process the pixel intensity levels of each window to determine if it contains a face. Schneiderman and Kanade detected faces and cars from different view points using specialized detectors [11]. For faces, they used 3 specialized detectors for frontal, left profile, and right profile views. For cars, they used 8 specialized detectors. Each specialized detector is based on histograms that represent the wavelet coefficients and the position of the possible object, and then they used a statistical decision rule to eliminate false negatives.

Fröba and Ernst used the census transform as a feature for face detection [3]. The census transform builds a bit-vector that functions as a descriptor of the 3-by-3 neighborhood of each pixel. The bit value of a neighbor is one if the pixel has an intensity that is greater than the

Page 117: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

99

average intensity of the neighborhood, otherwise it is zero. Using these simple features and a cascade-style classifier, they obtained results that were comparable to the best systems presented to date.

Viola et al. used Haar features, as described above, in their object detection system [12]. For classification, they used a modified version of the Adaboost algorithm, an en-semble method originally presented by Freund and Schapire [2], which has proved to yield excellent results in several learning domains. Adaboost builds a sequence of classifiers, where the ith classifier in the sequence is biased to correct the misclassifications of classifiers 1, ..., i − 1. The final classification of Adaboost is given by the weighted average of the classification made by each of the individual classifiers. The fact that classifiers that appear later in the sequence attempt to correct the mistakes made by earlier ones results in accuracy levels that are superior to most other algorithms, particularly in situations where noise levels are moderate. Wu et al. detect frontal and profile faces with arbitrary in-plane rotation and up to 90-degree out-of-plane rotation [14]. They used Haar features and a look-up table to develop strong classifiers. To create a cascade of strong classifiers they used Real AdaBoost, an extension to the conventional AdaBoost . They built a specialized detector for each of 60 different face poses. To simplify the training process, they took advantage of the fact that Haar features can be efficiently rotated by 90 degrees or reversed, thus they only needed to train 8 detectors, while the other 52 can be obtained by rotating or inverting the Haar features.

Street detection, which is a subproblem of road detection, has also received some attention in recent years. Vosselman and Knecht detect roads matching the average gray value of a road model with pixels of some manually selected segments of the image [13]. With the matches they obtain some parameters that describe the shape and position of the road. The parameters are used in combination with the Kalman filter to predict the position of the complete road. Doucette et al. present an algorithm for automatic building of road maps in multi-spectral images [1]. Their algorithm is based on Kohonen’s self-organizing map neural network algorithm. First they perform a human-supervised segmentation of roads and use the segmented image as input to a K-means algorithm. The points that represent the road are initialized in a uniform grid. After that they use a minimum spanning tree algorithm to derive the road topology.

Yan and Zhao present a method based on segmentation [15]. The segmentation is performed using region growing based on three rules: gray comparability, width consistency and continuity. After segmenting, they measure some features such as parallelism and connectivity and also fuse information from different image channels to obtain more precise road detection.

Péteri and Ranchin present a road extractor based on a multi-resolution analysis [7]. They used the Canny edge detector and a wavelet transform to construct a multi-resolution image representation. Then they use double active contours called double snakes. They fit a street minimizing an energy function that represents continuity, curvature and parallelism. A drawback is that their system needs to be initialized near the road. 3. Haar Features Haar features are based on Haar wavelets. In image processing, a Haar feature is the difference between the sum of all pixels in two o more regions.Papageorgiou et al. were the first to use Haar features for face detection [6]. They used three types of Haar features of size 2×2 and 4×4 pixels, for a total of 1,734 different features in a 19×19 face image. Viola and Jones proposed a basic set of four types of Haar features and using all possible sizes, they generate around 180,000 features for a 24×24 pixel image [12]. We propose an extension for basic Haar features, which we call Asymmetric region Haar features, and are shown in Figure 1. In contrast with basic Haar features, these new features can have regions with different width or height, but not both. It will be shown that these features are able to capture defining characteristics of objects more accurately than traditional ones, allowing the development of simpler and more effective classifiers. By allowing asymmetry, the number of possible configurations for Haar features grows exponentially and is an overcomplete set. For the 6 Haar features shown in Figure 1, there are around 200 million possible configurations for a 24×24 image. Using all the possible configurations is unfeasible, therefore, to deal with this limitation we propose to use a Genetic Algorithm to select a subset of features. Details will be presented in the next section. 4. Specialized Detectors

We use specialized detectors for different object

orientation. For faces we used specialized detectors in frontal, left profile and right profile poses. In addition, we use 12 specialized detectors, one every 30 degrees to cover the 360 degree in-plane rotation of each pose. Therefore, we have a total of 36 specialized detectors. For

Figure 1. Assymetric Haar features used.

Page 118: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

100

streets we used one specialized detector in one orientation and since a street is symmetric horizontal and vertically, we only need 6 specialized detectors to cover the 360 degree in-plane rotation. Each specialized detector consists of a cascade of Strong Classifiers created with the AdaBoost algorithm used by Viola and Jones [12]. We use a weak classifier based on the C4.5 rule induction algorithm [8] that is associated with only one Haar feature. We create a cascade of SCs using a variation of the algorithm used by Wu et al. [14], where we introduce the GA to reduce the feature set. Our algorithm is presented in Figure 2. We use the same strategy used in [14] to create all the specialized detectors, rotating 90 degree and inverting the Haar features of a few specialized detectors.

Figure 2. Algorithm to train a specialized detector. 4.1. Selecting Haar features with a genetic

algorithm Training a specialized detector using all the possible

configurations of the asymmetric region Haar features would be impractical. For instance, using an initial training set of 3,000 examples and all the possible Haar configurations, we would need about 6 months on a 2GHz Pentium 4 computer for only one specialized detector. Therefore, to reduce the number of possible Haar features, we use a Genetic Algorithm (GA) to select the width and the height of a feature. In the GA, one individual is a weak classifier (WC) that contains only one Haar feature and is trained with the C4.5 algorithm. The fitness of each individual corresponds to the classification accuracy on an initial training set. We compute a WC for each place on the image and for each type of feature, for a total of 2,431 Haar features. We use a decimal representation with a two point crossover using a deterministic model as presented in [5]. This model consists of combining the best and the worst individuals in the population, then the second best with the second worst, and so on. For mutation, we generate a uniformly distributed random value inside the

allowed range. The mutation rate was 10%. To create each of the 2,431 Haar features we use an initial population of 20 individuals and 20 generations. Using the GA to select a subset of Haar features we can reduce training time to 9 hours on our 2GHz Pentium 4 computer; this corresponds to a 99.8% reduction in time. 5. Experimental Results 5.1. Face detection

For each training set we use faces of males and

females, with different ages, of different races, with and without structural components such as glasses and beard, and different lighting conditions and sources. Also, we added non-face images by randomly selecting regions in images without faces. We use a total of 23,720 frontal faces and 8,244 profile faces with the same number of non-faces respectively.

(a) (b)

Figure3. Examples (a) CMU profile test set. (b) BioID test set

Figure 4. Some results from our multi-pose test set

To test the profile detectors we used a subset from the CMU profile test set that consists of 137 images with 214 profile faces with a rotation angle of ±30 degrees [11]. We used six specialized detectors to cover the left and right profile in the ±45 degrees range. The results are shown in Table 1 and in Table 2, we compare our results with other works.

Table 1. Results for 137 images from CMU test set.

6 specialized detector ±45º Number of WC in each SC 0 º: 612, 30 º: 629, 330 º: 663 Detection rate 92.5% False positives 432

Table 2. Comparison with others works on CMU

profile test set.

Detection rate False positives Schneiderman and Kanade [11] 92.8% 700 Wu et al. [14] 91.3% 415 Test 2 92.5% 432

Page 119: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

101

To test the frontal detectors we use the BioID test set

that consist of 1,521 grayscale images of 384×288 pixels, with a frontal view of 23 different persons under a high variety of lighting conditions, backgrounds, and face sizes [4]. The results of different tests are shown in Table 3. In Table 4 we compare our results with the BioID test set with other works.

Figure 4. Some results from our multi-pose test setTable 3. Results for BioID test set.

Detection rate False positives Haar features per stage Test 1 80.47% 92 [17, 39, 200, 200, 200] Test 2 83.89% 126 [17, 39, 200, 200] Test 3 93.68% 432 [11, 18, 37, 300, 300]

Table 4. Comparison with others works that used the

BioID test set.

Detection rate False Positives Jesorsky et al. [4] 91.80% Not reported Fröba and Ernst [3] 97.75% 25 Ramirez and Fuentes [9] 93.23% 2236 our system test 3 93.68% 432

In Table 5 we present a comparison between our

specialized detector in frontal faces and the detectors presented in [12] and [14]. We can see in Table 5 that our detector uses fewer Haar features than the others. We can conclude that asymmetric Haar features are better than symmetric Haar features to represent face appearance.

Table 5. Comparison with others works.

Stages in cascade Haar features in total

Viola and Jones [12] 32 4,297 Wu et al. [14] 16 756 our detector 5 666

Table 6. Multi-pose test set results.

Detection rate 95.03% False positives 40

Figure 5. Some results from street detection.

To the best of our knowledge, a standard test set for multi-pose face detection is not currently in use. Therefore, we created our own multi-pose test set. Our test set consists of 45 color images with 60 profile faces and 101 frontal faces. The faces have a rotation of up to ±45 degrees. We used nine specialized detectors to cover the rotation range of ±45 degrees for faces in frontal and profile pose. We also use a simple skin color segmentation method to reduce the search space. In Table 6 we show the results.

In Figures 3 and 4 we show some representative results for the CMU profile set and the BioID set, and our multi-pose set, respectively.

5.2. Street detection For street detection we use satellite images taken from

Google Earth. We use 40 images from urban places and manually crop square regions that contain streets. A total of 5,225 regions were cut and normalized in rotation to 0 degrees. For each region we add 4 variations in angle in-side the range of ±15 degrees for a total of 26,125 positive images. To generate negative examples, we replaced the streets in the 40 original images with other parts of the image that do not contain streets. Then we randomly se-lected 26,125 regions as negative examples for the training set. The training set contains a total of 52,250 examples and can be transformed for any rotation angle in order to create other specialized detectors. In addition, we use 800 scenery images with the streets replaced with image regions without streets to add negative examples using bootstrapping. In Figure 5 we present results for street detection. The white dots are the centers of the regions detected as streets. 6. Conclusions and Future Work

In this paper we introduced asymmetric Haar features as a generalization to the basic set of Haar features. According to our experiments, these new features can represent object appearance more accurately that previously used ones. We reduced the training time using a genetic algorithm that allows to exploit the expressive advantage of asymmetric features in 0.02% of the time that would be required using the full feature set. Our system can detect faces in different poses with a detection rate of up to 92.5% for profile faces and up to 93.68 % for frontal faces. For street detection, we can see in Figure 5 that almost all street were detected correctly with very few false positives. Future work will be oriented to test our system in other object detection problems such as car detection. In addition, we will perform experiments using other classification algorithms such as Real AdaBoost.

Page 120: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

102

Acknowledgements To the NSF, Grant CNS-0540592.

References 1. P. Doucette, P. Agouris, A. Stefanidis, and M.

Musavi. Self-organised clustering for road extraction in classified imagery. ISPRS Journal of photogrammetry and Remote Sensing, 55(5-6), 2001.

2. Y. Freund and R. E. Schapire. Experiments with a new boosting algorithm. In International Conference on Machine Learning, 1996.

3. B.Fröba and A. Ernst. Face detection with the modified census transform. In Sixth IEEE International Conference on Automatic Face and Gesture Recognition, Erlangen, Germany, May 2004.

4. O. Jesorsky, K. Kirchberg, and R.W. Frischholz. Robust face detection using the hausdorff distance. In Third International Conference on Audio- and Video-based Biometric Person Authentication, Lecture Notes in Computer Science. Springer, 2001.

5. A. F. Kuri-Morales. Efficient compression from non-ergodic sources with genetic algorithms. In Fourth Mexican International Conference on Computer Science, 2003.

6. C. P. Papageorgiou, M. Oren, and T. Poggio. A general framework for object detection. In ICCV ’98: Proceedings of the Sixth International Conference on Computer Vision, Washington, DC, USA, 1998. IEEE Computer Society.

7. R. Péteri and T. Ranchin. Multiresolution snakes for urban road extraction from ikonos and quickbird

images. In 23rd EARSeL Symposium Remote Sensing in Transition, 2003.

8. J. R. Quinlan. C4.5: Programs for Machine Learning. Morgan Kaufmann, San Mateo, CA, 1993.

9. G. A. Ramiırez and O. Fuentes. Face detection using combinations of classifiers. In The 2nd Canadian Conference on Computer and RobotVision, 2005, 2005.

10. H. A. Rowley, S. Baluja, and T. Kanade. Neural network-based face detection. IEEE Transactions on Pattern Analysis and Machine Intelligence, 20(1), 1998.

11. H. Schneiderman and T. Kanade. A statistical model for 3-d object detection applied to faces and cars. In IEEE Conference on Computer Vision and Pattern Recognition. IEEE, June 2000.

12. P. Viola and M. Jones. Rapid object detection using a boosted cascade of simple features. In Proceedings of 2001 IEEE International Conference on Computer Vision and Pattern Recognition, 2001.

13. G. Vosselman and J. Knecht. Road tracing by profile matching and kalman filtering. In Automatic Extraction of Man-Made Objects from Aerial and Space Images, 1995.

14. B. Wu, H. Ai, C. Huang, and S. Lao. Fast rotation invariant multi-view face detection based on real adaboost. In Sixth IEEE International Conference on Automatic Face and Gesture Recognition, 2004.

15. D. Yan and Z. Zhao. Road detection from quick bird fused image using ihs transform and morphology. In IEEE International Geoscience and Remote Sensing Symposium, 2003.

Page 121: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

103

Prospec 2.0: A Tool for Generating and Validating Formal Specifications

Jesus Nevarez1, Omar Ochoa1, Irbis Gallegos1

Mentor: Ann Gates1, Salamah Salamah2

Center of Excellence for Sharing Resources for the Advancement of

Research and Education through Cyberinfrastructure (Cyber-ShARE)

1Department of Computer Science, The University of Texas at El Paso, El Paso, TX 79968, USA

2Department of Computer and Software Engineering,

Embry Riddle Aeronautical University, Daytona Beach, FL 32114, USA

{jrnevarez2, omar, irbisg} @miners.utep.edu, [email protected], [email protected]

Abstract

Numerous formal approaches to software assurance are available, including: runtime monitoring, model checking, and theorem proving. All of these approaches require formal specifications of behavioral properties to verify a software system. Creation of formal specifications is difficult, and previously, there has been inadequate tool support for this task. The Property Specification tool, Prospec, was developed to assist users in the creation of formal specifications. This work describes Prospec 2.0, an improvement to the previous version, by addressing the results of a study conducted to assess the usability of the tool and by adding functionality that supports the validation process.

1. Introduction

There are numerous formal approaches to software assurance like runtime monitoring, model checking and theorem proving. All of these approaches require formal specifications of behavioral properties to verify software systems. Formal specifications are difficult to write and understand because they require the user to have a strong mathematical background and knowledge about the domain. For example, model checkers, such as SPIN [1] and NuSMV [2] use formal specifications written in Linear Temporal Logic (LTL) [3], which can be difficult to read, write, and validate. This problem is compounded if requirements must be specified in more than one formal language. Besides these limitations, the lack of previous adequate tools for this task made it even harder.

The Property Specification (Prospec) tool was developed to address some of the challenges that

involve the creation of formal specifications. New additions have been incorporated to the second version of Prospec (Prospec 2.0) that is aimed at improving the tool’s support for generating and validating formal property specifications.

2. Background

Prospec uses the Specification Pattern System (SPS)

[4] and Composite Propositions (CP) [5] to assist developers in the elicitation and specification of system properties. The SPS [4] is a set of patterns used to assist in the formal specification of properties for finite-state verification tools. SPS patterns are high level abstractions providing descriptions of common properties that hold on a sequence of conditions or events in a finite state model. Two main aspects of the SPS patterns are the occurrence and the order of events or conditions.

Occurrence patterns are universality, absence, existence, and bounded existence. Order patterns are precedence, response, chain of precedence, and chain of response. In SPS, a pattern is bounded by the scope of computation over which the pattern applies. The beginning and end of the scope are specified by the conditions or events that define the left (L) and right (R) boundaries, respectively.

Composite Propositions were introduced by Mondragon et al. [5] to handle pattern and scope parameters that represent multiple conditions or events. The introduction of CPs supports the specification of currency, sequences and non-consecutive sequential behavior on patterns and scope. Mondragon proposes a taxonomy with 12 classes of CPs. In this taxonomy, each class defines a detailed structure or sequential

Page 122: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

104

behavior based on the types of relations that exist among the set of propositions.

3. Description

Prospec is a tool developed to assist users in the creation of formal specifications. The original version of Prospec is an automated tool that guides a user in the development of formal specifications. It includes patterns and scopes, and it uses decision trees to assist users in the selection of appropriate patterns or scopes for a given property.

Prospec uses guided questions to distinguish between the different types of scope and to distinguish relations among multiple conditions or events. By answering a series of questions, the practitioner is lead to consider different aspects of the property. A type of scope or CP class is identified at the end of guidance. Prospec generates formal specifications in Future Interval Logic (FIL) [6], Meta-Event Definition Language (MEDL) [7] and Lineal Temporal Logic (LTL) [8,9].

Prospec 2.0 includes new features to aid users to formally specify properties. The interface maintains the support and functionality of the original Prospec, i.e. the guiding screens for selecting scope and patterns remain the same. The main improvements to the interface are related primarily to the CP specifications and information presentation.

Figure 1 depicts the Main Window. To the left in the main window a Property Browsing Tree is shown. The Property Browsing Tree is used to browse projects, properties and properties attributes. Another interface improvement is the Status Window, depicted in figure 2, located in the lower part of the Main Window. This window provides information depending on what element of the Property Browsing Tree was selected. If a property element was clicked on the tree, the Status Window will show the name, description, assumptions, scope and pattern associated to the selected property. If a user selects a proposition, the Status Window provides information such as the proposition’s name, the proposition’s description and the type of proposition (CP or Atomic).

Figure 1. Prospec Main Window

Figure 2. Main Window with Status Window

Prospec 2.0 incorporates the Property Browsing

Tree which allows practitioners to browse, traverse and quickly preview properties being specified. Also it allows editing of properties attributes such as scope, pattern, CPs, and propositions. Once the user selects a property attribute in the tree, the appropriate window will be opened allowing modification of the property attribute.

The Property window describes the basic property

information such as the property name, the informal property description as provided by the client, and any assumptions made about the property. These properties can be created either by right clicking on the tree or by clicking on the Define menu and then clicking on the Property menu item as shown in figure 3. Once a property has been created, it can be modified or deleted by clicking the correspondent options on the tree.

Page 123: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

105

Figure 3.Property Browsing Tree with Pop-Up

Menu

Propositions can be events or conditions. Conditions are propositions that hold in one or more states. Events are propositions that change their Boolean values from one state to the other.[2]. Propositions can be created by accessing the Define menu or by right-clicking the Property Browsing Tree. There are three modalities of properties that can be created in Prospec; Atomic (single proposition), Composite (two or more propositions) and Incomplete(modality that allows a user to create a proposition without having to specify if it is going to be atomic or composite).

Prospec 2.0 allows users to create, save, and print reports of the specifications. The reports are created either directly from the Prospec 2.0 application or from the XML files containing the metadata of the property specifications. The reports include the informal specification as provided in the description section of Prospec 2.0, the formal specification as generated by Prospec 2.0, information to construct the visual representation matching the generated formal specification, and the corresponding metadata such as logic used or version number.

4. Scenario

Jill is a software engineer working on security issues

in web services. She recognizes that the system must support the following requirement: “A message recipient shall reject messages containing invalid signatures, messages missing necessary claims, or messages whose claims have unacceptable values [10].” Since the project team will use a model checker to verify the algorithms, she needs an LTL specification.

Jill starts Prospec and creates the new property project SOAP Message Security. Jill accesses the Property Browsing Tree and right-clicks on the Property attribute to display the popup menu. She clicks

on Add Property and provides the name and the description, in this case Message Recipient Protocol.

Now Jill must identify the scope, the region of the program over which the property must hold. Jill selects the new Message Recipient Protocol property on the Property Browsing Tree and then clicks on the scope field on the Status Window to open the scope specification screen. After using the decision tree in the Guided Selection screen, Jill selects Global as the property scope. Properties with Global scope must hold over all states of execution.

After identifying the scope, Jill selects a pattern. Selecting the pattern attribute of the property browsing tree opens the pattern specification screen. The five available patterns are described there, and Jill decides to use the Response (T,P) pattern as shown in Figure 5. In this pattern, the conditions or events described by T are a response to the conditions or events described by P. The letters T and P represent a proposition and a composite proposition (CPs), respectively. This choice is appropriate since Jill wants to ensure that there is a rejection whenever an unacceptable message is received. Prospec offers guided selection to assist a user in the selection of an appropriate pattern.

Once the pattern has been selected, Jill defines T and P. To define P, Jill creates the simple propositions invalid_sign (Message contains invalid signatures), miss_claims (Messages are missing necessary claims), and unacceptable_value (Messages have claims with unacceptable values). Because P is defined by three propositions, Prospec displays a message indicating that a CP must be defined. Jill determines that the three simple propositions are conditions and should be combined using AtLeastOneC (G) to indicate that at least one of the propositions in the set G can trigger the condition. A decision tree in the Guided Selection screen for CPs can be used to determine which CP to use. To define the T parameter, Jill creates a new proposition reject (Message is rejected), indicating that the message recipient rejects the incoming message. This completes the pattern definition.

To create the LTL formula from the scope and pattern, Jill selects the view formula button on Prospec’s main screen. Prospec takes the scope, pattern, and CP and

generates the LTL formula: □((invalid_sign | miss_claim | unacceptable_ value)

→ ◊ reject) This formula specifies that during the execution of

the program, whenever an unacceptable message is received by a message recipient, a rejection follows. In addition to the LTL formula, a set of sample execution traces is presented showing possible sequences of execution and the value of the formula for each sequence. Jill reviews

Page 124: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

106

these execution traces to ensure that the formula captures her intent.

An execution trace is a sequence of states read from left to right. Each space represents the propositions that are true in that state. If no proposition is true, a “-“ is used. If more than one proposition is true, the propositions are enclosed in parentheses. Some of the execution traces for the SOAP Message Security property are shown in Table 1. For this example, symbol I stands for proposition invalid_sign, symbol M for proposition miss_claim, symbol U for proposition unacceptable_value, and symbol R for proposition reject.

5. Summary

This paper describes Prospec 2.0, an improvement to the property specification tool Prospec 1.0. The new features of Prospec 2.0 describe how these enable practitioners to use Prospec 2.0. The use of XML in Prospec 2.0 and its ability to be interoperable, it will be possible now to integrate the Prospec into the chain of tools that could provide the desired end-to-end automation for all aspects of software development.

Acknowledgments

This work is partially supported through the CREST

Cyber-ShARE Center funded by NSF for CAHSI grant number CNS-0540592. References 1. G. J. Holzmann, “The model checker SPIN.” IEEE

Trans. on Softw. Eng., 23(5):279--295, May 1997. 2. Cimatti, E. Clarke, F. Giunchiglia and M. Roveri,

“NuSMV: a new symbolic model verifier”. In Proceeding of International Conference on Computer-Aided Verification (CAV'99). Trento, Italy, July 1999.

3. Emerson, E., “A temporal and modal logic.” In Handbook of theoretical Computer Science (Vol.

B): Formal Models and Semantics, J. van Leeuwen, Ed. MIT Press, Cambridge, MA. 1990. 995-1072.

4. [4] Dwyer, M. B., Avrunin, G. S., and J. C. Corbett, “Propertyspecification patterns for finite-state verification.” In Proceedings of the Second Workshop on Formal Methods in Software Practice (Clearwater Beach, Florida, United States, March 04 - 05, 1998). FMSP '98. ACM Press, New York, NY, 7-15.

5. [5] Mondragon, O., Gates, A., and S. Roach, “Composite propositions: toward support for formal specification of system properties,” Proceedings of the 27th Annual IEEE/NASA Goddard Software Engineering Workshop. Greenbelt, MD, USA, December 2002.

6. [6] Kutty, G., Moser, L. E., Melliar-Smith, P. M., Dillon, L. K., and Y.S. Ramakrishna, “First-Order Future Interval Logic.” In Proceedings of the First international Conference on Temporal Logic (July 11 - 14, 1994).

7. [7] Kim M., Kannan S., Lee I., and O. Sokolsky, “Java-MaC: A runtime assurance tool for Java.” In Proceedings 1st International Workshop on Run-time Verification.2001.

8. [8] Salamah S., Kreinovich V., and A.Q. Gates, “Generating Linear Temporal Logic formulas for pattern-based specifications.” In Proceedings of the 19th International Conference on Software Engineering and Knowledge Engineering. July 2007

9. [9] Fritz, C., “Constructing Büchi Automata from Linear Temporal Logic using simulation relations for alternating Buchi Automata,'' Eighth Conference on Implementation and Application of Automata, 2003.

10. [10] Organization for the Advancement of Structured Information Standards. Web Services Security: SOAP Message Security 1.1(WS- Security 2004). OASIS Standard Specification. February 2006.

Page 125: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

107

Utility Functions for Efficient Geocast Information Sharing

Fernando J. Maymí

Electrical and Computer Engineering Department University of Puerto Rico, Mayagüez Campus

Mayagüez, Puerto Rico 00681-5000 Email: [email protected]

Abstract There is an important subset of mobile ad-hoc networks wherein nodes can discover information that does not pertain to their immediate surroundings and which must be expeditiously shared with nodes that are in the appropriate region. For instance, a police officer may learn from people fleeing a disaster area that there is a critically injured person at a particular address. The information must be shared immediately with rescue personnel in that vicinity, even though their identities are not known to the police officer. This paper explores a network model wherein each node in independently decides when to relay particular messages. These choices are based on utility functions whose values are adjusted over time based on locally observed conditions. We show that, in the absence of any coordination, the selfish behavior of the individual nodes allows the overall network to efficiently deliver the messages to the correct recipients. Using flood searching and shortest paths to show the worst and best cases (respectively) of efficiency, we demonstrate that our model exhibits good performance in reasonable situations. 1. Introduction There is a variety of situations in which people in different or even distant locations have information resources that others need. For instance, if a military intelligence asset in a combat zone learns of the location of an improvised explosive device (IED) through one of its informants, then it would be tremendously advantageous to notify all friendly elements in the area of the impending threat. In fact, lives have already been lost because knowledge of an IED could not be shared with affected individuals in time to prevent casualties. Similarly, if a police officer directing a flow of displaced persons from a disaster area learns that a critically injured person was seen in a house, then notifying rescue personnel in that area could help save a life. The problem of getting information to all entities within a specific geographic region is known as the geocast problem [1].

In this paper, we consider the geocast problem within the context of mobile embedded devices. The networks formed by these devices is disadvantaged with regard to both power and bandwidth and care must be taken to preserve these parameters to the extent possible. None of the existing approaches places a premium on preservation of power, though some consider bandwidth issues. Our approach is to use utility functions to allow each node to independently determine whether it is advantageous to relay or ignore a given message. Though each individual node behaves selfishly, the aggregate behavior results in fairly good performance in realistic environments. 2. Motivation and Background Our work is motivated by the observation that some if not many IED fatalities in today’s combat zones could be preventable if only the means existed to quickly convey situational awareness (SA) to individuals within an area of interest. In order to realize such means we need both a small, inexpensive and reliable device that could be distributed en masse to all personnel, as well as a mechanism by which these embedded devices could share information of interest across large, heterogeneous mobile networks. The first requirement was addressed by one of the authors in a system called Ancile[2], which successfully alerted dismounted soldiers to incoming mortar rounds with sufficient time for the soldiers to leave the danger area. In order to address the second requirement, the need for a mechanism that would allow these devices to share information, our work leverages on the existing body of knowledge in the geocast domain. Geocasting is the delivery of specific information to a particular geographical region. It is analogous to multicasting since in the later the information is conveyed to all members of a group and in geocasting group membership is based on the location of the entities during message transmission and delivery. In fact, multicasting and geocasting can be nested within each other.

Page 126: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

108

3. Related Work At its most basic level, the geocast problem is solved by Cartesian Routing [3]. This solution relies on the assumption that each node (source, destination, and intermediary) knows its own geographic location and the locations of all its immediate neighbors. With this information, a node can determine whether it should relay a given message or not. If the node is further away from the destination than the source was, then it would probably not be advantageous for it to retransmit it. An exception to this rule would be a situation in which no direct route exists between the sender and the receiver and the area of consideration for potential relay agents must be expanded until a viable route is found. A variety of more sophisticated delivery mechanisms and protocols have been devised and there is ample documentation on all of them [1]. Generally, these protocols can be classified by whether they use flooding, limited (or regional) flooding, or non-flood routing to relay the messages to their destinations. Flooding is almost never used in real networks because of its tremendous bandwidth requirements. Among the most popular protocols that use limited flooding or non-flood routing are the Location Based Multicast [4], Voronoi [5], GeoGRID [6],and GeoTora [7] protocols. Though each of these protocols has a number of strengths, none of them are explicitly designed to address the issues of limited bandwidth and power common to pervasive mobile computing environments wherein embedded devices are the norm. Each of these approaches solves the geocast problem within certain conditions, but in all of them a node will relay if it is within a particular zone of consideration. Interestingly, none of them specifically address the issue of power at the local node. Since power is one of the most important considerations in pervasive computing, our approach strives to yield reasonable network performance in view of both power and bandwidth constraints. 4. Architecture

4.1 Overview In our system, we assume that nodes possess only a limited wireless communications capability. The radius of communication for any given node is significantly smaller than the total area in which the nodes are placed. Whenever two nodes come within radio range of each other, they automatically establish a connection over which messages can be transferred. Nodes don’t

request, advertise, or use any information from their neighbors, save that which is included in a message. The messages can be of three general types: queries, responses, or updates. Though different types of messages are handled differently by the nodes, they all share some basic metadata that is important for the functioning of our system. Message ID: this is required to ensure that duplicates are discarded. Author: both the identity and the location of the sender are recorded. The former so that a query response can be sent to the right originator and the later allows intermediate nodes to determine if they are in a location conducive to efficiently relaying the message. Destination: though this can include a specific identity, we only use the location, which is assumed to be a circle around a given point. Extending this simplification to include more complex geometries is a straight-forward matter for later. Sender: the destination of the last hop’s transmitter is useful in determining whether a message is getting closer or farther from its intended destination. 4.2 Utility functions Our approach to addressing the issues of power and bandwidth within the geocast problem space is to use utility functions. A utility function maps a set of items to a value which represents their utility. Though the term originates in economic theory, it has become an important part of the field of game theory. Essentially, a utility function allows a node in a MANET to determine how attractive a given course of action is with regards to a specific message. When a node receives a message, it may take one of three externally visible actions: respond to it, relay it, or ignore it. Nodes can respond to messages when they are queries for information that the node possesses. Normally, a node which is able to respond authoritatively to a query is required to do so and, therefore, need not compute the utility of its choices. This trivializes the case in which a node can respond to a query. We will not address this issue further in this paper. Nodes want to maximize the amount of information they acquire per unit of energy expended. In other words, a node will relay a message if it believes that, in doing so, it will acquire new interesting information. Since information arrives in messages and the energy in a battery is typically measured in milliamp-hours

Page 127: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

109

(mAh), we would expect the utility to a node of relaying a message to be measured in interesting messages/mAh. The utility function for relaying, therefore, measures the node’s perceived likelihood that the message it relays will cause it to receive useful information. 4.3 Utility of relaying The main parameters that our nodes must consider in deciding the utility of relaying a message can be summed up as follows: Directness: If the node is not part of a fairly direct path between the sender and the destination, then it probably shouldn’t relay the message. We measure this as the distance between the local node and an imaginary line connecting the message’s author and its destination as shown in Fig 1. The utility of relaying a message decreases with the distance from node i to the line of fire.

Figure 1. Distance from an intermediate node to the line of fire

(1)

Investment: If the node has transmitted many messages already, then it may be in a particularly advantageous position to move information throughout the network. If so, then it probably should relay the message since the node appears to be at an information crossroads. Neighbors: If the node has a lot of neighbors, then it may not receive any utility from relaying a message since chances are that at least one of the neighbors will do so. This parameter is, then, the degree (e.g. number of connections) of the node. Power consumed: If the node has consumed a lot of its battery power, then it probably shouldn’t relay messages unless it is clearly best to do so. We measure this by subtracting the capacity of the batteries, minus the energy remaining.

(2) As shown in formula (2), a node is more likely to relay a message when its distance to the line of action is small, it has received many interesting messages before, it has few neighbors, and it hasn’t consumed much energy. As their battery power drains, the nodes become more careful about which messages they choose to relay. 4.4 Utility of ignoring Conversely, each node also derives certain utility from choosing to not relay a message. The formula used in this case is similar to the one above. Significantly, however, some of our parameters are different as shown below. Inverse of Directness: This parameter is simply the inverse of the one used for computing the utility of relaying, namely a liner function with slope of one and a y-intercept of zero. As shown in equation 3 below.

(3)

Teamwork: the inverse of investment, this is a measure of how much the local node has received from being part of the network. If this amount is large, then the node can afford to not relay the message. We quantify this parameter as the number of interesting messages received by the node. Power remaining: if the node has little power remaining, then the utility of relaying the message is lower. The utility function for node i to ignore message m at time t is therefore described by equation 4 below.

(4)

5. Implementation The utility functions described above are easily implemented as methods in a Java class that models the individual nodes. In order to support a stochastic, discrete event simulation of the behavior of aggregate nodes, we built our models on top of a Java simulation framework developed by Ross McNab and Fred Howell called SimJava [8]. SimJava offers many conveniences,

Page 128: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

110

including the ability of graphically displaying a simulation within a Java applet. The entire system, not including SimJava libraries, consisted of just five Java clases. The main class is the AncileSim class, which extends the Anim_applet of SimJava. Its main purpose is to read the configuration files for both nodes and message traffic, create the appropriate objects, and schedule the message transmissions. Additionally, this class computes the shortest paths for all messages from their author to all nodes affected by them. After the simulation run is complete, the AncileSim class takes care of collecting all statistics of interest. AncileSim also renders the graphical depiction of the simulation. The main entity is, of course, the Node. This java class implements all the necessary logic for the creation, relaying, and consumption of messages in the network. Each node can be set to behave according to one of four strategies: flooding, utility relaying, forwarding-zone LBM, and distance-based LBM. The Node class maintains the current battery level for the node and disables it if it is completely spent. Each Node instance runs as a separate thread. The node and message data were stored in files which were read by the simulation environment prior to each run. We conducted five runs of each scenario (uniform and concave topologies) and aggregated the results. For each message, we recorded the distance between its source transmitter and its point of interest. Prior to running the simulation, we determined which nodes should receive each message and calculated the best case cost of transmitting each message using a breadth-first shortest path algorithm. During the simulation, we kept track of the cost incurred for the transmission of each message, as well as the number of nodes within the area of interest which actually received the message. 6. Experiments 6.1 Experiment design We wanted to obtain a relative cost benchmark for the performance of our model in a realistic environment. This cost was defined in terms of total number of transmissions per distance traveled by the messages. The worst case cost is obtained when flooding is used because in this situation every node is required to transmit every message exactly once, which results in a constant cost of n⋅m, where n is the number of nodes in the network and m is the number of messages originated. The best case scenario, on the other hand, was defined as the shortest path between the message’s

author and all nodes in the affected area. Clearly, the best case scenario is not realistic in any viable MANET, but it is still useful in terms of understanding the performance of our own approach. The network used in our experiments consisted of 100 nodes spread out over an area of 700 units by 700 units. In the first of our two scenarios, the nodes were placed using a uniform random distribution all over the area. In the second scenario, the nodes were placed as before, but with an exclusion zone measuring 300 by 300 units in the middle of the field wherein no nodes were allowed. Each node has a communications range of 100 units and will spontaneously form connections to all neighboring nodes within that range. We used 100 messages which were randomly assigned to source nodes in our network. The location of a message’s point of interest was assigned using a uniform distribution over the area wherein nodes were allowed to be placed. Each message was transmitted after a uniform random delay period. 6.2 Experiment results For the uniformly-distributed node scenario, we found that our approach yielded delivery rates of approximately 97% with an average aggregate cost for all 100 messages of 2,063.6 compared to an optimal computed cost of 542 and a worst case flooding cost of 10,000. Furthermore, as Fig. 2 shows, the growth rate fairly closely approximates a linear function with a small slope. For the uniformly-distributed but concave node scenario, we found a substantially degraded delivery rate of approximately 80% with an average aggregate cost for all 100 messages of 1,958.6 compared to an optimal computed cost of 525 and a worst case flooding cost of 10,000. Again, as shown in Fig. 3, the growth rate fairly closely approximates a linear function with a small slope.

Figure 2. Results of utility functions on uniformly

distributed nodes

Page 129: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

111

Figure 3. Results of utility functions on concave

node layout

For comparison purposes, we also ran the simulation using the uniformly-distributed node layout both the forwarding zone LBM and the distance-based LBM. The forwarding zone delivery rate was 82% with a total cost of 1850. The distance-based LBM delivery rate was 98% with a total cost of 2145. Finally, we ran the simulation using the uniformly-distributed but concave node layout with both the forwarding zone LBM and the distance-based LBM. The forwarding zone delivery rate was 61% with a total cost of 1,632. The distance-based LBM delivery rate was 84% with a total cost of 2,044. 7. Conclusions The results of our simulations in the first (uniform) scenario are very encouraging. They mean that, in the absence of any centralized control, the nodes can make good routing decisions based on geography, power, and network topology that yields good delivery rates at a low total cost. The results of the simulations with the concave scenario, though positive, point at a need for further refinements that can address pathological topologies. Though the aggregate costs remained fairly consistent with our earlier results, the dramatic drop in delivery rates, though hardly surprising, is disappointing. Significantly, we have seen that our approach yields results that are no worse than those of another well-

known and accepted protocol, LBM. As the distance traveled by the message increases, in fact, our approach seems to incur a lesser cost than LBM. With further refinements, we hope to make the use of utility functions for geocasting even more efficient and reliable. Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. Maihöfer, Christian. A Survey of Geocast Routing

Protocols . IEEE Communications Surveys & Tutorials. 2004, Vol. 6, 2.

2. F. Maymí and P. Manz, “Ancile: Dismounted Soldier Tracking and Strike Warning,” Proc. 25th Army Science Conference, Orlando, Florida, 2006.

3. Finn, Gregory G. Routing and Addressing Problems in Large Metropolitan-Scale Internetworks. s.l. : ISI Research Report, 1987. ISI/RR-87-180.

4. Ko, Young-Bae and Vaidya, Nitin H. Location‐Aided Routing (LAR) in mobile ad hoc networks. 4, s.l. : Springer Netherlands, 2000, Wireless Networks, Vol. 6. 1022-0038.

5. Stojmenovic, Ivan, Ruhil, Anand and Lobiyal, D. K. Voronoi diagram and convex hull based geocasting and routing in wireless networks. Wireless Communications and Mobile Computing. 2006, Vol. 6, 2.

6. Liao, W.-H. Geogrid: a geocasting protocol for mobile ad hoc networks based on GRID. 2, 2000, Vol. 1.

7. Ko, Y.-B and Vaidya, N. H. GeoTORA: A Protocol for Geocasting in Mobile Ad Hoc Networks. Osaka, Japan : s.n., 2000. Proceedings of the 8th Interantional Conference on Network Protocols. pp. 240-50.

8. Howell, Fred and McNab, Ross. simjava: A discrete event simulation library for Java. 1998. International Conference on Web-Based Modeling and Simulation.

Page 130: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

112

Semi-Supervised Clustering of Text Documents Using EM Algorithm with Multinomial Naive Bayes

Roxana Aparicio and Edgar Acuña

Computing and Information Sciences and Engineering University of Puerto Rico,

Mayaguez Campus Emails: [email protected], [email protected]

Abstract We propose an algorithm for the use of the multinomial mixtures model and EM algorithm using Naive Bayes for semi-supervised clustering in text collections. We compare the performance of the proposed algorithm against the unsupervised case in three benchmark data sets: 20 Newsgroups, Reuters and Web-Kb. Our results show that in some cases we gain a significant improvement, since the Rand index increases, even with the use of just a few labeled documents. Nonetheless in some other cases the learning algorithm does not benefits so much from the use of labeled data. The solution of this matter is part of our ongoing research. 1. Introduction

The proliferation of electronic text documents in

the last years, makes manual attempts to organize and efficiently partitioning the collection of documents into previously unseen categories extremely costly and time-consuming. Clustering or unsupervised classification consists in detecting unknown object categories and revealing hidden correlations among objects, without any prior information.

Nevertheless, without a previous knowledge on the category structure, this task can be very difficult, since many different but valid partitions may exist for a particular documents collection.

On the other hand, semi-supervised learning methods construct classifiers using both labeled and unlabeled training data samples. There are many studies that exploit unlabeled data in supervised learning [1], [5], [6].

In recent years, attempts have been made [7] in order to improve the document clustering using a few amount of labeled data to give a hint at the initialization step. This process is known as semi-supervised document clustering [7].

In this study we use semi-supervised learning in order to improve the document clustering task. We use an algorithm for learning from labeled and unlabeled documents based on the combination of Expectation-

Maximization (EM) and a naive Bayes classifier. The model considered in this research consists of a mixture of multinomial distributions over the word counts, each component corresponding to a different topic.

2. Probabilistic Model 2.1 Multinomial Naive Bayes Mixture Model for Text

We assume that documents are generated by a mixture of multinomial distributions model, where each mixture component corresponds to a class.

Let there be k clusters and a vocabulary of size |V|; each document di has |di| words in it.

The likelihood of seeing document di is a sum of total probability over all mixture components:

Using the above along with standard Naive Bayes assumption: that the words of a document are conditionally independent of the other words in the same document, given the class label, we can expand the second term from equation 1, and express the probability of a document given a mixture component in terms of its constituent features: the document length and the words in the document.

The full generative model, given by combining

equations 1 and 2, assigns probability P(Di|Ө) to generating document di as follows:

Page 131: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

113

Learning a naive Bayes text classifier from a set of labeled documents consists of estimating the parameters of the generative model (Equation 3). We use the maximum a posteriori (MAP) estimate of the parameters. By Bayes rule:

Using maximum a posteriori (MAP) to estimate the

parameters of a multinomial distribution with Dirichlet prior, yields:

Given estimates of these parameters, it is possible to calculate the probability that a particular mixture component generated a given document to perform classification. From an application of Bayes rule :

Then, to classify a test document into a single

class, the class with the highest posterior probability is selected.

2.2 EM Clustering algorithm For unsupervised classification, we would still like to find MAP parameter estimates, as in the supervised setting above. Because there are no labels for the data, the closed-form equations from the previous section are not applicable. However, using the Expectation-Maximization (EM) technique, we can find locally MAP parameter estimates for the generative model.

The probability of an individual unlabeled document is a sum of total probability over all the classes, as in Equation 1. The expected log probability of the data is:

The Expectation-Maximization (EM) is a two step process that provides an iterative hill-climbing approach to finding a local maxima of model probability in parameter space. The E-step of the

algorithm estimates the expectations of the missing values (i.e. class information) given the latest iteration of the model parameters. The M-step maximizes the likelihood of the model parameters using the previously computed expectations of the missing values as if they were the true ones.

In practice, the E-step corresponds to performing classification of each unlabeled document using Equation 6. The M-step corresponds to calculating a new maximum a posteriori estimate for the parameters, using Equations 4 and 5 with the current estimates.

Essentially all initializations of the parameters lead to some local maxima with EM. The algorithm iterates until it converges to a point where the parameters does not change from one iteration to the next.

Algorithmically, we determine that convergence has occurred by observing a below-threshold change in the log-probability of the parameters (Equation 7).

For the semi-supervised case, we consider using a limited number of labeled data in the initialization step. This is the algorithm for the semi-supervised document clustering:

EM_Semi-supervised_NaiveBayes Inputs: Dl= Collection of labeled documents Du= Collection of unlabeled documents K= Number of components 1. Train a classifier with the labeled data and use

maximum a posteriori parameter estimation to find θ.

2. Loop while classifier parameters improve, as measured by the change in l(θ|D,Y). (E-step) Use the current classifier, θ , to estimate component membership of each document, P(cj|Di;θ). (M-step) Re-estimate the classifier, θ , given the estimated component membership of each document. Use MAP estimation to find θ=argmaxθP(D,Y|θ)P(θ).

3. Methodology

3.1 Data sets

We used three well known data sets among

researchers in text mining and information retrieval. These datasets are: • Reuters News stories, "Reuters Corpus, Volume 1"

obtained from NIST upon request, which is described in detail in [4].

Page 132: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

114

• The 20 Newsgroups data set was collected by Ken Lang, consists of 20017 articles divided almost evenly among 20 different UseNet discussion groups.

• The Web-KB data set described at contains 8145 web pages gathered from universities computer science departments.

3.2 Implementation The most widely used representation of documents

for classification tasks is as a feature vector, where each word in a document is a feature. In our experiments the value of each matrix entry corresponds to the frequency of occurrences of each word in the document.

We used a relational database to store the sparse representation of the document vectors.

We develop most of the entire experimental process using (Structure Query Language) SQL implementations in a MS SQLServer database.

Once we have the data preprocessed, we apply the algorithms in the following manner: • For the unsupervised case, we run the unsupervised algorithm k times, to generate from 1 to k clusters. • For the semi-supervised case, we run the unsupervised algorithm k times, selecting the initial k percent of labeled data.

3.1 Evaluation measure

For the evaluation of the experiments, since we are

interested in clustering, we must check if the cluster hypothesis is satisfied. In order to investigate the validity of our results, we used external evaluation criteria. This approach is based on a previous knowledge of classes of the data set.

We consider a clustering C, that result from a specific clustering algorithm, and compare it with the partition produced by the manual classification.

We used the Rand Index which measures the fraction of the total number of pairs that are either in the same cluster and in the same partition, or in different clusters and in different partitions.

4. Experimental Results

Since our goal is to compare the performance of

the two implemented algorithms, we run each algorithm to perform from 2 to 25 clusters and we reported the rand index for each cluster. For the semi-supervised case we run the algorithm considering from 2 to 25 percent of the labeled data in the initialization step. This is shown in table 1. The first column represents the number of clusters for the unsupervised case, and the

percent of labeled data taking into account for the semi-supervised case.

Table 1 shows that the best results were obtained with the semi-supervised approach for 20 newsgroups dataset. Considering the rand index, even with a 3% of labeled data, which corresponds to the minimum value obtained, we gain an improvement over the unsupervised approach. We gain better improvement as the number of labeled data increases.

Table 1. Comparison of the Rand index obtained for

the unsupervised method versus the semi - supervised method.

Unsupervised Semi-supervised

k/l 20News Reuters WebKb 20News Reuters WebKb

2 0.30 0.48 0.29 0.90 0.53 0.54

3 0.51 0.51 0.37 0.88 0.59 0.65

4 0.68 0.57 0.52 0.87 0.55 0.55

5 0.76 0.60 0.61 0.89 0.59 0.65

6 0.76 0.62 0.61 0.90 0.52 0.60

7 0.79 0.62 0.65 0.91 0.56 0.65

8 0.83 0.64 0.66 0.88 0.58 0.65

9 0.84 0.62 0.66 0.91 0.59 0.56

10 0.84 0.63 0.68 0.92 0.59 0.66

11 0.82 0.64 0.64 0.92 0.57 0.62

12 0.87 0.65 0.67 0.91 0.57 0.59

13 0.87 0.65 0.68 0.92 0.59 0.66

14 0.88 0.65 0.66 0.93 0.60 0.54

15 0.87 0.66 0.69 0.93 0.57 0.62

16 0.88 0.66 0.69 0.92 0.57 0.64

17 0.88 0.67 0.69 0.93 0.53 0.66

18 0.89 0.67 0.68 0.92 0.59 0.65

19 0.88 0.66 0.67 0.93 0.55 0.65

20 0.89 0.67 0.67 0.94 0.58 0.67

21 0.89 0.65 0.68 0.93 0.56 0.65

22 0.89 0.66 0.67 0.94 0.58 0.56

23 0.89 0.66 0.68 0.94 0.58 0.65

24 0.91 0.65 0.67 0.94 0.56 0.67

25 0.89 0.66 0.67 0.94 0.57 0.67

5. Conclusions We have presented a multinomial Naive Bayes algorithm for semi-supervised clustering.

Page 133: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

115

We gain a great improvement with the use of labeled data in the 20 newsgroups dataset. Experiments showed that even with a few amount of labeled data we get better clustering.

Nonetheless, with Web-Kb and Reuters we did not gain much improvement. In some cases, we gained a little, and in general labeled data did not help so much. Our guess is that the reason is that the data does not match the assumptions of the model we are using. Research must be done in order to find better models that can capture the textual information nature and can be applied to different datasets.

6. Ongoing Research At this moment we are conducting research in two main directions: 1. Find better probabilistic models for textual

documents that benefits much more from the use of the labeled data. This follows from the observation that we get different results for different datasets. Also, we can try to characterize the type of datasets that benefits from this model and hence the algorithm can be applied.

2. Introduce active learning, a technique that has the

purpose of select the most valuable examples to be labeled. Research have been made about combine semi - supervised learning with the use of active learning [3]. At the best of our knowledge they have been applied only to binary classification.

Acknowledgments

This work was supported by ONR Grant

N00014061098 and NSF CAHSI Grant CNS-0540592.

References 1. Blum A. and Chawla S. Learning from labeled and

unlabeled data using graph mincuts. In Proceedings of the 18th International Conference on Machine Learning, pages 19-26. Morgan Kaufmann, San Francisco, CA, 2001.

2. Gonzales M.. A Comparison In Cluster Validation Techniques. MSc. Thesis, Mathematics Department, University of Puerto Rico at Mayaguez. 2005.

3. Krithara A., Goutte C., Amini M., and Renders J.. Reducing the annotation burden in text classification. In 1st International Conference on Multidisciplinary Information Sciences and Technologies, Merida, Spain, 2006.

4. Lewis D.; Yang Y.;T. Rose; and F. Li RCV1: A New Benchmark Collection for Text Categorization Research. Journal of Machine Learning Research, 5:361-397, 2004. http://www.jmlr.org/papers/volume5/lewis04a/lewis04a.pdf.

5. McCallum, A. and Nigam, K. 1998. Employing EM and Pool-Based Active Learning for Text Classification. In Proceedings of the Fifteenth international Conference on Machine Learning (July 24 - 27, 1998).

6. Nigam K., A. McCallum, and T. Mitchell. Semi-Supervised Text Classification Using EM in Semi-Supervised Learning, Olivier Chapelle, Bernhard Schxoolkopf, and Alexander Zien (eds.), MIT Press, 2006.

7. Rigutini, L. and Maggini, M. 2005. A Semi-Supervised Document Clustering Algorithm Based on EM. In Proceedings of the 2005 IEEE/WIC/ACM international Conference on Web intelligence (September 19 - 22, 2005). Web Intelligence. IEEE Computer Society, Washington, DC, 200-206.

Page 134: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

116

Modeling Teeth for Facial Animation

Sarah Spofford

Computer Science Department Texas A & M University – Corpus Christi

Corpus Christi, Texas 78412 Email: [email protected]

Abstract This research project focuses on modeling a set of teeth for a digital talking head [1]. Since modeling a set of teeth is both time-consuming and difficult, we proposed building a plug-in that, at its most basic functionality, would build a 3D model of the plaster cast of teeth. I also plan on adding more features that will allow greater customizability of the teeth and gums.

By the end of this research, which started in the Spring of 2007, we hope to have a fully functional plug-in that will allow the artist to customize their set of teeth based not only on the head that it will fit in, but also the needs of the client. 1. Goals 1.1 Goal one: using a plaster cast To solve the first part, we obtained a plaster cast of the individual’s teeth. Then, using the digitizer, we took a set of points along the cast. The digitizer is a robotic arm with a pen on the end that measures the position of points in space. These measurements were taken for the curve of Spee (the curve of the teeth as seen from the side), the Wilson curve (the curve of the gums as seen from the back), and the arch curve (the curve of the gums as seen from the top) [2]. After using these points to generate a polynomial in Matlab, this polynomial was then used in the plug-in to generate a nurbs curve in Maya. 1.2 Goal two: general use Since it is not always possible to obtain a plaster cast, and this is an expensive and time-consuming process, we desire a system that can create customized teeth. The second part of this project focuses on making the plug-in easily accessible for modelers by allowing it to be used one of two ways. First, the user can enter equations for the three separate curves and the plug-in will generate a set of teeth and gums that follows the user's specifications. This is of course assuming that

they can either access something to create a polynomial that follows the shape of the gums that they want, or they have a general idea of the size they need, such as a set of teeth for a fictional model instead of one based on a real head. Another way it can be used is to give the user the option to create a generic set of teeth and gums and then adjust them based on slider bars and check boxes.

Figure 1. Hand-modeled teeth resting in gums modeled after the arch curve

2. The Lowergums Command This research was concentrated primarily on the lower teeth. When the lower teeth are completed, it's just a matter of repeating the steps for the upper teeth with some minor changes. I created a plug-in that uses a quadratic equation to build a line. The points were taken from the plaster cast using the digitizer (which worked with notepad and excel, but was not compatible with Maya) and using Matlab to find a polynomial that follows the path of all the points. Similarly, the points for the Wilson curve and later, the curve of Spee are created the same way. These curves are then used to create a mesh for the individual teeth to rest in (see fig. 1 and 2). One of the obstacles we face currently is the

Page 135: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

117

spacing of the control points on the nurbs curve that is generated by the curves. Currently, they are spaced evenly along the x-axis, which does not allow us to place the pre-modeled teeth based on the points. Using Bolton’s work on tooth size ratios and occlusion [3], we are trying to space the points on the nurbs curve based on what tooth they represent. For example, the points closer to the ends of the curves would be farther apart to allow room for the larger molar teeth.

Figure 2. Example of curve created by the lowergums command

3. Results This research is still in progress. Some features that will be added in the future are the ability to customize not only the shape of the gums, but also some key features of the teeth. Most notably, the spacing, width, crookedness, and size. These will be packaged in an easy to use interface for the average modeler or animator. Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. Scott A. King, Richard E. Parent, "TalkingHead: A

Text-to-Audiovisual-Speech system", Technical Report# OSU-CISRC-2/80-TR05, Department of Computer and Information Science, The Ohio State University: Columbus, OH, February 2000.

2. "Fundamentals of Dental Technology." SweetHaven Publishing Services. 6 Feb. 2008 <http://www.waybuilder.net/sweethaven/MedTech/Dental/Dental01/Dental01_v1.asp?file=0205>.

3. Bolton WA. The clinical application of a tooth size analysis. Am J Orthod 1962;48:504–29

Page 136: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

118

Towards a Fast, Practical Alternative to Joint Inversion of Multiple Datasets: Model Fusion

Omar Ochoa1

Mentors: Aaron A. Velasco2, Ann Gates1, Vladik Kreinovich1

Center of Excellence for Sharing resources for the Advancement of Research and Education through Cyberinfrastructure (Cyber-SHARE)

1Department of Computer Science

2Department of Geological Sciences

University of Texas at El Paso El Paso TX 79968, USA

Emails: [email protected], [email protected], [email protected], [email protected]

Abstract There are many sources of data for Earth tomography models. Currently, each of these datasets is processed separately, resulting in several different Earth models that have specific coverage areas, different spatial resolutions and varying degrees of accuracy. These models often provide complimentary geophysical information on earth structure. To combine the information derived from these complementary models requires a joint inversion method. While such methods are being developed, as a first step, we propose a practical solution to fuse the Earth models coming from different datasets. 1. Introduction One of the most important studies of the earth sciences is that of the Earth’s interior structure. There are many sources of data for Earth tomography models: first-arrival passive seismic data (from the actual earthquakes) [4], first-arrival active seismic data (from the seismic experiments) [1, 3], gravity data, and surface waves [5]. Currently, each of these datasets is processed separately, resulting in several different Earth models that have specific coverage areas, different spatial resolutions and varying degrees of accuracy. These models often provide complimentary geophysical information on earth structure (P and S wave velocity structure), combining the information derived from each requires a joint inversion approach. Designing such joint inversion techniques presents an important theoretical and practical challenge [2]. While such joint inversion methods are being developed, as a first step, this paper proposes a practical solution: to fuse the Earth models coming from different datasets.

Since these Earth models have different areas of coverage, model fusion is especially important because some of the resulting models provide better accuracy and/or spatial resolution in some spatial areas and in some depths while other models provide a better accuracy and/or spatial resolution in other areas or depths. 2. Approach

The models used in this paper contain measurements that have not only different accuracy and coverage, but also different spatial resolution. To fuse such models, we must account for three different types of approximate equalities: • each high-resolution value is approximately equal

to the actual value in the corresponding (smaller size) cell, with the accuracy corresponding to the accuracy of the higher-resolution Earth model;

• each lower-resolution value is approximately equal to the average of values of all the smaller cells within the corresponding larger size cell, with the accuracy corresponding to the accuracy of the lower-resolution Earth model;

• each lower-resolution value is approximately equal to the value within each of the constituent smaller size cells, with the accuracy corresponding to the (empirical) standard deviation of the smaller-cell values within the larger cell.

The approach then uses the least squares technique to combine these approximate equalities, and it can then find the desired combined values by minimizing the resulting sum of weighted squared differences.

Page 137: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

119

3. Preliminary Experiment Results The models created for the use in the preliminary proof-of-concept contained synthetic data. These synthetic models contained varying degrees of coverage, spatial resolution and accuracy. A simple program was implemented based on the approach described in this paper. The program takes two models, fuses them together and generates a new model. Currently, the fused model is being measured to gauge the effectiveness of the fusion in terms of coverage, accuracy and spatial resolution based on the synthetic models. 4. Future Work Planned future works involves completion of the preliminary experiment by finishing the measurement of the simple program implemented. Based on these measurements, modifications to the approach will be made. Once this has been completed, the next step will be to experiment with real geophysical data and further asses the fusion method. 5. Conclusions The practical, first step approach shown in this paper focuses on fusing tomographical Earth models as an alternative to joint inversion. Preliminary results show that it is feasible to fuse synthetic Earth tomography models with different qualities into better quality models.

Acknowledgements This work is funded by the National Science Foundation grants: Cyber-Share Center of Excellence: A Center for Sharing Cyber-resources to Advance Science and Education (HRD-0734825), and Computing Alliance of Hispanic-Serving Institutions CAHSI (CNS-0540592). References

1. Averill, M. G. A Lithospheric Investigation of the

Southern Rio Grande Rift, University of Texas at El Paso, Department of Geological Sciences, PhD Dissertation, 2007.

2. Averill, M. G., K. C. Miller, G. R. Keller, V. Kreinovich, R. Araiza, and S. A. Starks. “Using Expert Knowledge in Solving the Seismic Inverse Problem.” International Journal of Approximate Reasoning, 453:564-578, 2007.

3. Hole, J. A. “Nonlinear High-Resolution Three-Dimensional Seismic Travel Time Tomography.” Ournal of Geophysical Research, 97:6553-6562, 1992.

4. Lees, J.M and R. S. Crosson, “Tomographic inversion for three-dimensional velocity structure at Mount St. Helens using earthquake data.” Journal of Geophysical Research, 94:5716-5728, 1989

5. Maceira, M., S. R. Taylor, C. J. Ammon, X. Yang, and A. A. Velasco, “High-resolution Rayleigh wave slowness tomography of Central Asia.” Journal of Geophysical Research, Vol. 110, paper B06304, 2005.

Page 138: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

120

Formally Specifying and Validating Data Assurance Properties for Real Time Data Processing Applications

Irbis Gallegos1, Santonu Goswani1

Mentors: Ann Gates2, Craig Tweedie2

Center of Excellence for Sharing resources for the Advancement of Research and Education through Cyberinfrastructure

The University of Texas at El Paso, El Paso TX 79936, USA

Emails: 1{irbisg, sgoswami2}@miners.utep.edu , 2{agates, ctweedie}@utep.edu

Abstract As global environmental conditions rapidly change, environmental scientists constantly use new data-intensive field-based instrument technologies to understand such changes. As the environmental sciences become more data driven, a need to develop mechanisms and procedures to verify the integrity of the data has increased. The quality of the data integrity verification mechanisms is as good as the quality of the properties specified. Thus, there is a need to develop an approach to allow scientists and non-software engineering domain experts to “formally” specify data assurance properties. This work defines an approach to formally specify real time data properties; and provides visualization of data properties that would allow users to validate whether the specified property captures the desired intent. 1. Introduction

Recent changes in global climate, such as the polar ice caps meltdown and the increase of droughts and heat waves around the world, have caused environmental scientists to shift their attention into identifying the possible causes for these changes and into finding ways for humans to adapt to these new changes. Scientists use advanced technology to perform experiments at hard-to-reach remote sites in order to understand such environmental issues. With the introduction of advanced field-based instrument technologies, such as instrument towers, sensor arrays and unmanned aerial vehicles, the amount of data acquired at real-time by these instruments has increased. As the environmental sciences become more data driven, a need to develop mechanisms and procedures to verify the integrity of the data has increased; scientists need to be assured at real time that the data obtained by the field-based instruments are correct because of the expense of collecting data in

remote areas. In this context, real-time data assurance refers to the capability to check, as the data are generated or gathered, if the data adhere to predefined attributes, e.g., accuracy [1] and timing properties.

For environmental scientists performing field-based research in the Arctic, it is difficult to identify corrupted data at real time. Corrupted data can result from adverse weather conditions, faulty equipment, or human error. In a common scenario, the environmental scientist spends a day obtaining field data, with no indication about the quality of the data. Once the data are obtained, the scientist spends another day analyzing and processing the data in the laboratory. As a result of the analysis, the scientist may only then determine that the obtained data are corrupted. In this case, the data quality is compromised and can negatively influence the conclusions of the scientific experiment; the scientist must collect a new set of data and, as a result, loses time.

Because of the importance of data correctness for properly approaching the global environment change challenge, it is vital to provide a mechanism to assure at real time that the data being obtained by the field-based instruments are correct and that the quality of the real-time data assurance mechanism is as good as the quality of the properties specified. The research effort reported in this paper investigates how tools based on formal methods can be used to assist scientists and domain experts in “formally” specifying data assurance properties that can be monitored in real time by data assurance mechanisms.

While formal methods are used in runtime software verification techniques, they rarely have been applied to formal specification of data assurance properties. The difficulties in using formal specification are that they: require the user to have a high level of mathematical sophistication; are difficult to write, read and validate; need a formal logic expressive enough to specify the desired property; and lack tool support [2].

The approach described in this paper proposes to allow environmental scientists to formally specify and

Page 139: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

121

validate data assurance properties. The benefits of the proposed approach are being assessed by environmental scientists from the NSF-funded Cyber-ShARE Center of Excellence (Sharing Resources through Cyberinfrastructure to Advance Research and Education) who perform hyperspectral studies to determine the effect of varying soil moisture on carbon balance in arctic tundra and desert vegetation.

The goals of this research are to: 1) define an approach to formally specify real time data assurance properties; and 2) provide a representation of data assurance properties that would allow users to validate whether the specified property captures the desired intent.

The proposed work is answering the following research questions:

• What real-time data properties are relevant to environmental science sensor data and which rely on temporal constraints and other knowledge?

• What types of behavior patterns can be associated with the categories of real-time properties?

• How can patterns facilitate data properties elicitation?

• What is the mapping of patterns, if applicable, to a formal specification?

• How can formally specified scientific real-time data properties be represented for validation purposes?

The proposed solution will use modified principles and techniques from real-time verification and formal methods to address the data assurance property specification challenge. 2. Proposed Solution 2.1 Formal property specification

A case study, referred to as the Barrow 2008 case study, was conducted to document the types of real-time data assurance properties that are of interest to environmental scientists and investigate how these properties can be captured. The case study was performed in collaboration with the System Ecology Laboratory at The University of Texas at El Paso in the Summer 2008 at two sites, at The University of Texas at El Paso and at the Arctic research site in Barrow, Alaska.

Findings from the case study identified the need to specify three types of data assurance properties: timing properties, data properties, and instrumentation properties. A time property is one used to specify timing constraints about entities. For time properties, the Specification and Pattern System (SPS) [3] and Composite Propositions (CP) [4] are applicable. With respect to software properties, SPS defines recurrent patterns (structure of specific behaviors) and scopes

(portion of a program over which the property holds) to assist practitioners in formally specifying software and hardware properties. CP are an extension to SPS to support the specification of properties requiring sequential and concurrent software behavior. By using CP, a practitioner can further refine a property specification to reduce incompleteness and ambiguities.

Data properties are used to specify characteristics about the data value themselves. For data properties, a data assurance (DA)-SPS and a data assurance (DA)-CP will be developed for specification of this type of properties. The SPS and CP have to be redefined to account for properties about data attributes.

In SPS, properties are verified against execution traces. Patterns and scopes are strictly coupled to Boolean values. For DA-SPS, properties are evaluated over a set of data values collected over a given interval of time instead of states of execution of a machine. Thus, the main difference between the DA-SPS and SPS is the semantics of the scope and pattern definitions in both approaches. In DA-SPS, properties are defined as follows:

In DA-SPS, a property is a 3-tuple, <Dataset, Scope, Pattern>, where Dataset is a set of real numbers, scope denotes an interval that is built if a condition or event that defines the left boundary holds before the condition or event that defines the right boundary holds, and pattern denotes a commonly occurring behavior.

DA-CP will allow practitioners to specify data properties requiring sequential or concurrent data behavior. In DA-CP, composite propositions extend DA-SPS to capture sequential and concurrent data behavior. DA-CP properties are defined as sets or sequences and can be composed of conditions or events. Conditions are propositions (expected data value behavior) that hold in one or more consecutive dataset values. Events denote the instance at which a datum is collected. DA-CP defined as conditions are used to describe properties that hold concurrently over data values, while those defined as events are used to describe activation or synchronization of data values. DA-CP can be used to define boundaries or scopes and patterns with multiple datasets.

Instrumentation properties are used to specify the expected behavior for the data gathering instruments. An instrumentation property can be either a data property or a timing property depending on the entity over which the behavior is being specified. Instrumentation properties are important because sometimes instruments may fail, causing bad data to be generated. Instrumentation properties will be specified using a combination of SPS, DA-SPS, CP, and DA-CP.

In summary, the proposed approach is a hybrid approach that will allow practitioners to specify real-time data properties. The proposed approach uses SPS

Page 140: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

122

and CP patterns and scopes and introduces new types of patterns and scopes, called DA-SPS and DA-CP. 2.2 Formal property visualization

Once a practitioner specifies a property, the user visualizes the property to validate the intended meaning of the property. Several approaches have been proposed to visualize runtime properties. However, no approaches for visualization have been proposed for data properties. The proposed approach introduces a visualization technique based on traces to visualize time and data properties.

In the proposed approach, a data trace (containing a fixed number of data points) is drawn using black circles and arrows that connect the data. A circle in the trace represents a data value in the dataset. An arrow represents a transition from one datum to the next datum.

Figure 1. Prototype visual representation of a data

property. The property’s scope is graphically represented by

the gray rectangle surrounding the data values of interest between w400.1 and w1100.9. The data values of interest are represented as pink circles inside the gray rectangle. The property’s pattern is represented as one or more data traces containing the valid traces for the property. In the pattern data trace, holding pattern data wavelength.reflectance values greater than zero (wRV) are colored magenta.

Data values are represented as abbreviation on top of data of interest and can be explicitly place on the screen as reference or can be read by positioning the mouse on top of the abbreviation in the data line.

Temporal properties are visualized similarly to data properties. The only difference between the two visualizations is the meaning associated to the circles and the arrows on the trace. For temporal properties, a circle in the trace represents a state in the execution. An

arrow represents a transition from one state to the next state.

3. Preliminary Results

The Barrow 2008 case study identified three types of properties as defined in Section 2.1: data properties, timing properties and instrumentation properties.

Data properties, for example, allow environmental scientists working with the Tram system to identify and analyze noise ranges and data values outside the specified thresholds for the different dataset ranges.

Timing properties, for example, allow scientists to be assured that the radiance (amount of solar light reflected by the surface being analyzed) and irradiance (amount of solar light exposure of the surface being analyzed) values vary in accordance to a behavior correlated to the sun angle.

Instrumentation properties allow scientists to detect instrumentation problems such as: battery low, fiber optic bad, and loose wire connections. For instance, analyzing the ratio by which the radiance is lower than the irradiance can capture instrumentation problems. Also, problems such as water in the sensors produce a very distinctive reflectance (ratio of radiance with respect to irradiance) graphical representation that will signal such a problem.

The case study showed that some data quality assurance properties cannot be formally specified and verified using current state-of-the-art runtime verification techniques. For example, the property “Reflectance values between wavelength value 400.1 and wavelength value 682.4 must be within a threshold of 0.1 from the corresponding model reflectance value for July 16, between the time 11:00 am to 12:00 pm PST for location (33° 22’ 26.0” N, 116° 37’ 22.4” W)“ will be difficult to formally specify and verify because it includes both data attributes and time attributes. Thus, there is a need for a hybrid approach to formally specify and verify time-data properties. The case study showed that the SPS and CP used to formally specify time properties can be extended to specify data properties.

Finally, the case study showed that environmental scientists are willing to adopt new approaches as long as the new approaches are intuitive and satisfy the scientist’s needs. The four environmental scientists involved in the project accepted the modified SPS as the means to formally specify data quality properties mainly because of its intuitiveness. Also, they favored visual data quality validation interfaces as opposed to totally automated data quality tools.

The results obtained from the initial stage of the case study were used to develop a data assurance real-time monitoring tool to verify formally specified DA-SPS data properties. Members of the System Ecology

Page 141: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

123

Laboratory traveling to the Arctic incorporated the real-time data monitoring tool into the tram system, formally specify DA-SPS data properties to be verified by the tool and used the tool to monitor at real time the quality of the data to evaluate the feasibility of the proposed approach.

During the test runs, the real time monitor correctly quality-flagged during real time the data as it was being streamed wirelessly from the tram system into the base station. The real-time monitoring system was validated by environmental science that it indeed quality-flagged the data correctly accordingly to the weather conditions and time season. The data quality monitor was also used to statically verify the quality of the datasets obtained the previous season. The real-time monitor did identify inconsistencies in the dataset values and findings about the datasets were used to also improve the data models used by the real time monitor. 4. Summary

As global environmental conditions rapidly change, environmental scientists are directing their attention into studying the emerging conditions changes and possible consequences. To accomplish such task, environmental scientists constantly introduce new data-intensive field-based instrument technologies. As the environmental sciences become more data driven, a need to develop mechanisms and procedures to verify the integrity of the data has increased.

Because of the importance of data correctness, it is critical to provide the means to assure at real time that the data being obtained by field-based instruments are correct. Since the quality of the real-time data assurance mechanism is as good as the quality of the properties specified, there is a need to develop an approach to allow scientists and non-software engineering domain experts to “formally” specify data assurance properties that can be monitored at real time by data assurance mechanisms. The goals of this research are to: 1) define an approach to formally specify real time data properties; and 2) provide visualization of data properties that would allow users to validate whether the specified property captures the desired intent.

The proposed solution uses modified principles and techniques from runtime verification and formal

methods to allow environmental scientist to formally specify and validate data assurance properties. The deliverables from the proposed work will be used to provide data assurance to environmental science field-based instruments used to research recent global changes in the Arctic and desert areas. A case study was performed in collaboration with the System Ecology Laboratory at The University of Texas at El Paso in the Summer 2008 at two sites. The case study identified three types of properties of interest to environmental scientists, showed that data quality assurance properties cannot be captured using runtime verification techniques, and showed that environmental scientists favor visual data quality validation interfaces as opposed to totally automated data quality tools. The results obtained from the initial stage of the case study were used to develop a data assurance real time monitoring tool and a prototype of the DA-SPS. The data assurance monitoring system was successfully used to formally specify, validate, and verify data properties at real time in the Arctic. Acknowledgements This work is supported by National Science Foundation award # CNS-0540592 and award # HRD-0734825. References 1. Wang, R. Y., Kon, H. B., and Madnick, S. E. 1993.

Data Quality Requirements Analysis and Modeling. In Proceedings of the Ninth international Conference on Data Engineering (April 19 - 23, 1993). IEEE Computer Society, Washington, DC, 670-677.

2. Hall, A., “Seven Myths of Formal Methods,” IEEE Software, September 1990, pp. 11-19

3. Dwyer, M. B., Avrunin, G. S., and Corbett, J. C., “A System of Specification Patterns,” Proceedings of the 2nd Workshop on Formal Methods in Software Practice, Sept. 1998.

4. Mondragon, O., Gates, A., and Roach, S., "Prospec: Support for Elicitation and Formal Specification of Software Properties," in Proceedings of Runtime Verification Workshop, ENTCS, 89(2), 2004

Page 142: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

124

Implementation of the Abundance Estimation Algorithms Using NVIDIA, CUDA

Yajaira González, David González, Christian Sánchez,

Ricardo Veguilla, Martín Ramírez, Miguel Vélez, Nayda Santiago

Department of Electrical & Computer Engineering University of Puerto Rico, Mayaguez Campus

Mayaguez PR 00681-9000 Emails: [email protected] , [email protected], [email protected],

[email protected], [email protected], [email protected], [email protected]

Abstract

Spectral unmixing of hyperspectral images is a

process by which the constituent’s members of a pixel scene are determined and the fraction of the abundance of the elements is estimated. Several algorithms have been developed in the past in order to obtain abundance estimation from hyperspectral data, however, most of them are characterized by being highly computational and time consuming due to the magnitude of the data involved. In this research we present the use of Graphic Processing Units (GPUs) as computing platform in order to reduce computation time related to abundance estimation of hyperspectral images. Our implementation was developed in C using NVIDIA® Compute Unified Device Architecture (CUDATM). The CUDA platform allows developers to directly use a GPU’s processing power to perform arbitrary mathematical computations. We describe our implementation of the Image Space Reconstruction Algorithm (ISRA) and Expectation Maximization Maximum Likelihood (EMML) algorithm and present a performance comparison against implementations using C and Matlab and FPGA’s. Results show that the CUDA technology produces substantial reduction in execution time when compared to these implementations.

2. Introduction

Hyperspectral images are constructed by sampling multiple spectral bands for each pixel or discrete spatial sampling location, thus producing a set of traditional images, each acquired over a relatively narrow electromagnetic bandwidth. Due to the sampling across the spectrum of a single region at a fine resolution, these images contain a large quantity of data causing them to occupy large amounts of memory space.

A common problem in hyperspectral image processing is that of spectral unmixing, or identifying

the proportion or abundance of each material present in a mixed pixel based on the spectral signature of each known material expected to be present on that particular pixel [1]. We are interested in the use ISRA and EMML algorithms for abundance estimation problems [2].

In general, performing analysis of hyperspectral images stresses the processing capabilities of traditional Von Neumann-style architectures, in which data transfer between the CPU and main memory generally becomes a bottleneck [3]. In addition, the spectral unmixing algorithms are highly computational iterative methods, making them very time consuming by nature.

To address this problem, previous research has focused on using specialized hardware such as digital signal processors (DSPs) or Field Programmable Gate Arrays (FPGAs) [4] to reduce computation time. The focus of this research is on exploiting the processing power of Graphic Processing Units (GPU) for hyperspectral image processing, in particular, for the application of the ISRA and EMML algorithms for spectral unmixing. The algorithms are implemented using NVIDIA Compute Unified Device Architecture (CUDA) technology and the ‘C’ programming language. CUDA is a GPU architecture based on a data parallel processing model which allows developers to directly use a GPU’s processing power for extensive mathematical procedures. As result of this research we were capable of taking advantage of the parallel processing power offered by CUDA technology for the problem of spectral unmixing using the ISRA and EMML algorithms.

3. Implementation on the GPU 3.1 ISRA

The implementation of the ISRA was based on one thread per iteration on a pixel. Z amount of threads depend on the quantity of pixels on the hyperspectral image. If the image has dimension NxM then there will

Page 143: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

125

be NxM implemented threads, plus other threads that will work with the results obtained from the pixel threads. Processing time was recorded. 3.2 Initial implementation

The approach selected for the CUDA implementation of the algorithms was to develop them as kernels which operate on the spectral data of one pixel, using the parallel processing of the CUDA device to perform the abundance estimation concurrently on all pixels in an image. The initial implementation was done using the most straight-forward implementation possible without taking advantage of any CUDA optimization. As a result of this approach, our implementation is representative of the effort of porting a code to CUDA without major modifications.

At the initialization stage, the program loads the image pixel data and endmember spectral data into linear arrays in the device memory. Each array is organized in band-interleaved-by-pixel layout. Block and thread allocation is dynamically calculated based on the image dimension. Since in the context of ISRA, there is no dependency between different pixels, there is no overlap between threads accessing device memory for reading pixel data and for writing abundance values, making it possible for each pixel to be mapped to a specific thread, ex. If the image contains 2000 pixels there would be 2000 threads each having ISRA or EMML code. Each thread read and writes to a different region of the device memory eliminating the need to synchronization. Only the endmember spectral array is shared between all threads, but only for read operations.

At runtime, each thread executes the kernel algorithm to estimate the endmembers abundance for each pixel concurrently. 3.3 Hyperspectral toolbox

The Hyperspectral Image Analysis Toolbox (HIAT) developed by the Center for Subsurface Sensing and Imaging Systems (Censsis) at UPRM is being ported from MATLAB to CUDA. HIAT contains the routines that are common to unsupervised and supervised unmixing. Such routines are:

1. Load/Store Images. 2. Feature Extraction/Selection Algorithms. 3. Supervised and Unsupervised Classifiers.

The Feature Extraction/Selection Algorithms are:

1. Principal Components Analysis, 2. Discriminant Analysis. 3. Singular Value Decomposition. 4. Information Divergence Band Subset Selection.

5. Information Divergence Projection Pursuit. 6. Optimized Information Divergence Projection

Pursuit. We are implementing in CUDA the Principal Components Analysis and Discriminat Analysis algorithms from the HIA toolbox.

4. Results

Results show that the CUDA implementation outperforms in both cases the implementations in C, Matlab, and on the FPGAs. The reason for this is that CUDA devotes more transistors to data processing than data catching and flow control supporting more arithmetic operations than memory operations. It also provides the ability to read and write data at any location of the DRAM, and implements an on chip shared memory region making it less DRAM dependent, reducing trips to the DRAM which saves time. The reduction in execution time is significant. When analyzing the FPGA results there is a very small ∆t difference between the different iteration values making it technically more efficient, in other words when comparing between times from 50 and 350 iterations the FPGA has less difference between timing results. Although the timing differences amongst the iteration values for the FPGA results are minimal, the FPGA’s have a large overhead memory loading time giving reason for the greater results. The FPGA boards on the other hand are also the G80’s and CUDAs complete opposite, they are very costly, have steep learning curves, minimal tech support and limited portability. Taking these setbacks into account is the reason why the GPU implementation remains more efficient.

Table 1. Enrique Reef Test for the Estimation of Four Endmembers (Results in seconds)

Iterations 50 150 250 350 MATLAB 479 1380 2285 3240 C 4.02 10.26 16.02 22.02 FPGAs [8] 93.804 93.805 93.806 93.806 CUDA 0.375 0.905 1.45 1.984

Results above show the computation time of each ISRA implementation using MATLAB, C, FPGA’s and CUDA for four different iteration values (50, 150, 250, and 350), for the Enrique Reef image used. Figure 1 shows the abundance estimation for the Enrique Reef Image. The color maps represent the concentrations of 5 different materials (endmembers) in the original HS image. For example, the final image represents the values of the concentrations of water (red being the highest concentrations) in each original image pixel.

Page 144: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

126

Figure 1. Abundance results, from the ISRA CUDA

implementation, of the Enrique Reef. 5. Conclusions

As part of this work we have developed an implementation of the ISRA and EMML algorithms that run on NVIDIA CUDA devices. We have measured the performance of our implementation of the algorithm and compared the results against computing platforms previously used for the same problem. The results of our test show that our implementation of the algorithm running on CUDA executes considerably faster than equivalent implementations running on conventional CPUs. It is our impression that the CUDA architecture shows clear performance benefits for spectral unmixing problems and shows much potential for other computational intensive algorithms employed in hyperspectral image processing due to their parallel computational characteristic.

6. Future Work

Our future work includes the implementation of additional abundance estimation algorithms such as Non-Negative Sum Less or Equal to One (NNSLO), and Non Negative Sum To One (NNSTO). A more detailed study of the performance impact of thread/block allocation, code optimizations, memory allocation are still being conducted as well as a reformulation of the problem to take advantage of the CUBLAS (CUDA BLAS) libraries for these algorithms to see if even higher performance boosts are achieved. It also includes total implementation of the HIAT algorithms from MATLAB to CUDA. Acknowledgements

This project is sponsored by the Center for Subsurface Imaging Systems (CenSSIS) under NSF Grant Number EEC-9986821, Computing Alliance of Hispanic-Serving Institutions (CAHSI) under the NSF

grant Number CNS-0540592, and by the Industrial Affiliates Program of the Electrical and Computer Engineering Department of the University of Puerto Rico, Mayaguez Campus. Thanks to Dr. Ronald Lockwood from AFRL at Hansom AFB for providing the A.P. Hill AVIRIS image.

References 1. Velez-Reyes, M. Puetz, A., Hoke, M.P.,

Lockwood, R.B., and Rosario, S., “Iterative algorithms for unmixing of hyperspectral imagery”, Proceedings of the SPIE, Algorithms and Technologies for Multispectral, Hyperspectral, and Ultraspectral Imagery IX, Vol. 5093, No. 1, 2003, pp. 418- 429.

2. M.E. Daube-Witherspoon and G. Muehllehner, “An iterative image space reconstruction algorithm suitable for volume ECT.” In IEEE Transactions on Medical Imaging, Vol. MI-5, No. 2, June 1986.

3. S. Venkatasubramanian, “The Graphics Card as a stream computer,” SIGMOD-DIMACS Workshop on Management and Processing of Data Streams. 2003

4. Javier Morales, Nayda G. Santiago, and Alejandro Fernandez, “An FPGA Implementation of Image Space Reconstruction Algorithm for Hyperspectral Imaging Analysis”, Proceedings of the SPIE, Vol. 6565 65651V (2007), Algorithms and Technologies for Multispectral, Hyperspectral, and Ultraspectral Imagery XIII, editors: Sylvia S. Shen and Paul E. Lewis, pp, V-1 to V-12.

5. J. D. Owens, D. Luebke, N. Govindaraju, M. Harris, J. Krüger, A. E. Lefohn, T. J. Purcell , A Survey of General-Purpose Computation on Graphics Hardware, In Proceedings in Eurographics 2005, Aug. 2005, Dublin, Ireland, Pages 21 – 51.

6. NVIDIA CUDA Compute Unified Device Architecture – Programming Manual, Version 1.0, 6/23/2007, http://developer.download.nvidia.com/compute/cuda/1_0/NVIDIA_CUDA_Programming_Guide_1.0.pdf

7. Kapasi, U.J., Rixner, S., Dally, W.J., Khailany, B., Ahn, J.H., Mattson, P., and Owens, J.D., “Programmable Stream Processors,” Computer, Vol. 36, No. 8, pp. 54-64, 2003. IEEE Computer Society Press Los Alamitos, CA, USA

8. J. J. Cipar, R. Lockwood, T. Cooley and P. Grigsby. "Background Spectral library for Fort A.P. Hill, Virginia." In Proceedings of SPIE: Remote Sensing and Modeling of Ecosystems for Sustainability. Vol.5544, No.1, pp. 35-46, 2004

Page 145: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

127

Communicating High-level Programs with FPGA-based Acceleration Hardware

Arnaldo Cruz, Manuel Jiménez, Domingo Rodriguez, and Nayda Santiago

ECE Department, University of Puerto Rico at Mayagüez

Mayagüez, PR 00681, USA Emails: [email protected], {mjimenez, domingo, nayda}@ece.uprm.edu

Abstract Reconfigurable computing devices have the potential of accelerating computationally intensive software applications by moving some of its operations into hardware. To make this possible, a communication mechanism is required between the software and the target hardware. It is generally assumed that there are readily available solutions for establishing such a communication, but this is hardly the case. This paper presents the details of implementing a communication scheme between high-level software and FPGA-based accelerators. The description provides enough details for other designers to have direct access to the communication components and for adapting them to new designs in an efficient way. The implemented scheme was tested with a Corner Turning block, which is part of an image formation algorithm in a Synthetic Aperture Radar data processing system. Data was successfully transferred between the Corner Turning block and the host system with low overhead in timing and area consumption. 1. Introduction The usage of reconfigurable device, such as a Field-Programmable Gate Arrays (FPGAs), has made it possible to use hardware acceleration to speed up complex applications by mapping into hardware computationally intensive tasks. In this way applications can benefit from the flexibility of software and the acceleration provided by the hardware. This approach, however, leads to several challenges, the first being how to efficiently communicate a high-level (HL) program and the dedicated hardware parts of the design. Although this has been an issue for years, a definite solution has still not been developed [1]. Several recent works have addressed the issue of software and hardware communication. Lin et al. discussed a scheme implemented as part of the

Hardware Accelerated Simulation Tool (HAST) [6]. The objective of HAST was to find an alternative to entirely running in software complex communication systems simulations in an attempt to reduce their execution time. Their solution was based on co-simulation, by running computation intensive procedures in hardware [6]. The HAST tool was tested with FFT and FIR designs. In FIR design it provided a maximum speedup of 69 with respect to a software simulation. Greco et al. proposed a standard called USURP aimed at easing the communication task between HL software and acceleration hardware [2]. The goal of USURP was to provide a standard compile- and run-time support for platform independent communication. This was achieved by wrapping hardware, vendor-specific cores, and APIs into standard user interfaces. The usefulness of USURP was demonstrated by taking as target the ADM-XRC-II and BenNUEY-PCI platforms, which have incompatible APIs and PCI bridges. The performance of USURP was compared with the proprietary communication mechanisms of both platforms. For the BenNUEY-PCI, DIMEtalk was used and results showed that USURP read throughput was doubled but the write throughput was 23.5% slower. It was also found that communication using small data frames resulted in lower throughput than when using the proprietary methods. Baxter et al. proposed, as part of the FPGA High Performance Computing Alliance (FHPCA), the development of a software layer called the Parallel Toolkit (PTK) [5] to standardize the combined utilization of software and reconfigurable hardware. The approach defined a set of C++ superclasses that each vendor could implement for specific hardware. This approach intended to abstract hardware details, while making the design portable, and providing the end user with a simple standard interface. The PTK allowed the launching of parallel jobs and the configuration of FPGAs with bitstreams. Despite the advantages of this standardized interface, it allowed

Page 146: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

128

only manual acceleration of applications and interfaces tended to be high-level and application specific. This paper presents a scheme to communicate high-level applications and FPGAs used as the accelerators on a Nallatech BenNUEY-PCI-4EP board. It provides an easy-to-implement solution that gives the user direct access to the communication components. The hardware side of the scheme is adaptable to different application designs through the use of registers and FIFOs. A demonstration of the communication scheme is illustrated with a Corner Turning operation implementation. 2. Implementation Structure Two main resources were used to carry out the project: an FPGA-based development board and the communication core. Tables I and II summarize them, with implementation details described in the next two sections.

Table 1: Hardware Resources. Hardware Description

Workstation CPU: Intel Xeon 5130 @ 2.0GHz Quad proc with 3GB RAM OS: MS Windows XP Pro, Ver. 2002 SP 2

Development board Nallatech BenNUEY-PCI-4EP50-6A Board integrated FPGA

Xilinx Virtex 2 Pro 50

Daughter card board Nallatech BenDATAV4-SX55-11A Daughter card FPGA Xilinx Virtex 4 4VSX55

Table 2: Software Resources.

Software Description ISE with CORE Generator 8.2.01i_PR_5 Spartan-to-Virtex Interface from Nallatech, 1999 DIMEscript 8.0.0 MATLAB 7.4.0.287 (R2007a)

2.1 Development platform

The development platform included a motherboard (MB) plugged into to a 64-bit PCI slot in the host computer. The MB accepts up to three daughter cards. In our case, one daughter card was connected to slot 2 of the MB. The MB has an integrated Virtex 2 Pro and the daughter card adds a Virtex 4 device, thus providing two FPGAs where developers can implement their designs. The daughter cards in the MB can be interconnected among themselves and the Virtex 2 through three buses; adjacent (122b, 200MHz), parallel (12b, 125/200MHz), or local (64b, 66MHz). For this work we used the Adjacent Bus because it provided a larger number of bits. The Adjacent Out connections on slot 2 are connected via the Adjacent bus to the

Adjacent In connections on the Virtex 2. Figure 1 shows how the board is arranged.

Figure 1. Nallatech Board Organization. The motherboard also contains an integrated Spartan II FPGA which implements the PCI interface with the host system and board control functions. The driver or application can only manipulate data on the PCI interface through PCI reads and writes to the DMA Engine. Driver writes put data into the Read FIFO and driver reads read data from the Write FIFO. The DMA Engine is a single channel implementation and therefore only one read or write can be in progress at a time. The Virtex 2 and Virtex 4 are the resources where users can place their designs for testing or implementation. They contain dedicated PowerPC blocks and multiple transceivers. Data transmission from these FPGAs to the PCI interface is done through the PCI Communication bus. After each transmission, data can be accessed by the host system. Data exchanges between both units are performed using a proprietary communication protocol. The user can implement this protocol in the Virtex 2 either directly or using Nallatech’s Spartan-to-Virtex Interface core, which was the method used in this work. The user’s design application must then be interfaced to the communication core.

2.2 Communication core

Figure 2 shows a pin diagram of the Spartan-to-Virtex core interface. This interface supports both DMA and single-word data transfers. In this way data can be passed back and forth between the user's design and the software application. The core requires communications to be carried at 40MHz, synchronized by the system's DSP clock (also known as Clock B). In this project the core residing in the Virtex 2 was connected through the Adjacent bus to a series of FIFOs and a register residing in the Virtex 4.

Page 147: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

129

Figure 2. Spartan-to-Virtex Top-level Interface.

3. System Implementation For demonstration of the communication scheme, a Corner Turning (CT) operation was implemented. CT is one of the stages of the image formation algorithm in a Synthetic Aperture Radar system which performs a matrix transpose operation. Below we provide a description of the set-up around the CT module that enabled its communication with a high-level user program. For demonstration purposes, the user program was limited to passing an image matrix and receiving the CT output.

3.1 Hardware design

In our implementation, the register signals were connected directly from the core to the Virtex 4 through the Adjacent bus (see Figure 2). The DATA bus is 32 bits wide and ADDRESS bus is 31 bits wide. However, only the first four bits of ADDRESS were connected since only one register was required, while still being able to add 15 more registers if needed. The 32-bit DMA_DATA bus, RST, and DMA_DIRECTION signals were directly connected from the core to the FIFOs in the Virtex 4. The read and write enable signals indicated when the FIFOs should accept or output data according to the following conditions: accept data when both DMA_ENABLE and DMA_DATA_AVAILABLE are asserted, and DMA_DIRECTION is zero; output data when DMA_ENABLE and DMA_RDY are asserted, and DMA_DIRECTION is one. The write enable signal for the FIFOs was also attached to DMA_REN. The read enable signal for the FIFOs was synchronized with the DSP clock and connected to DMA_WEN. Figure 3 shows the design implemented in the Virtex 4. The three components used were the user's design, one register, and two FIFOs. The user's design was a parameterized Corner Turning unit. It was configured

to operate on a 32 by 32 element matrix with 32-bit elements. The unit was clocked using the 120MHz System clock (also known as Clock A). To initiate the transpose operation the ct_en signal is raised, and the fifoOut_en signal indicates when the processed data is available for output. Two 32-bit wide by 2048 words deep FIFOs were implemented to store the input and output Corner Turning data. These FIFOs were created using Xilinx's CORE Generator tool. Features of the FIFO include the use of block RAM and independent read and write clocks. The reason for having two clock signals was that communication with the interface core is fixed at 40MHz using the DSP clock while the rate at which data is written to or read from the user's design is variable and set with the System clock. The 32-bit data width was chosen to allow word transfers from the interface core. The other signals for the FIFOs include read and write enables, empty, full, and valid to indicate that data is valid on the output lines. The empty and full signals are useful for process control. Reading an empty FIFO or writing to it when full had no effect on the data.

Figure 3. Design in the Virtex 4. The third implemented component was the control register. Although being 32-bit wide, it only uses the least significant bit to flag the data processing start, leaving the remaining 31 bits available for future use. The three components operate as follows. The DMA_DATA, RST, and DMA_DIRECTION lines along with FIFO read and write enable signals were used for the input and output FIFOs. The bidirectional DMA_DATA signal was demultiplexed using DMA_DIRECTION as control to allow writing to the

Page 148: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

130

input FIFO when the write enable was active, and reading from the output FIFO when the read enable was active. The DATA, ADDRESS, and the control signals were used to access the control register. The register was assigned address 2 since addresses 0 and 1 were internally used by the interface core. Placing a 1 in the least significant bit of the control register raises the read enable of the input FIFO (fifoIn_en in Figure 3). When the first word is valid at the output of the input FIFO, the valid signal is asserted which in turn activates the Corner Turning module (ct_en). Data words are transferred to the Corner Turning unit until the input FIFO is empty. At this time the read enable is de-asserted. The write enable of the output FIFO is raised by fifoOut_en when the processed data is valid (actually, the data valid signal is a pulse and to maintain the signal raised a toggle was used). The output FIFO reads the valid data while this signal is active and it is not full. No signal was used to indicate when data processing was complete. If a signal were needed, it could be implemented with a second bit from the control register to indicate that the process was running or stopped.

3.2 Communication software

The software side of the communication scheme used DIMEscript to specify the input data, start the process, and retrieve the output data. DIMEscript is an interpreted language developed by Nallatech [3]. Other languages such as C++ or Java could also be used, but DIMEscript was chosen because of its simplicity. The input data can be provided via an input file or generated by the program. Values are expected in decimal, each separated by a newline. An important issue is how to specify register transfers or DMA transfers in the script, since there are no specialized instructions to separate the two. To perform a register write an address greater than 1 is specified followed by the write instruction and lastly the data. To read from a register the register address is specified, but this time with a 1 in the most significant bit, followed by the read instruction. Performing a DMA read or write required first an address of 1, followed by a write instruction with the number of words to transfer. To make a DMA write, address 0 was used followed by a write instruction with an argument of 1. To make a DMA read, address 0 was used again, but using 3 as argument.

4. Results The process was validated using MATLAB. The DIMEscript program wrote the input and output data as

text files to the current working directory. These files were fed to the MATLAB program which then performed a matrix transpose on the input data and compared the result with the output data. The recorded metrics included area and execution time. Results are shown in Tables III through V. Tables III and IV show the area consumption for each FIFO and for the complete design. Only around 1% of the total FPGA slices were used with only 3% of the RAM blocks.

Table 3: FIFO Generator Resource Report. Resource Number Percent

Slice flip flops 162 1% Occupied slices 118 1% Total 4 input LUTs 160 1% FIFO16/RAMB16s 4 1%

32b wide, 2048 depth ; block memory

The execution times were recorded in Table 5. They were obtained by using the DIMEscript instruction timing. As can be seen in the table, the writing of the data to the input FIFO, the processing of the 32 by 32 matrix by the Corner Turning unit, and the retrieval of the output data took around 6ms.

Table 4: Virtex 4 Interface and User’s Design.

Resource Number Available Percent

Total number slice registers

438 49.152 1%

used as flip flops 437 used as latches 1 Total 4 input LUTs 794 49,152 1% Bonded IOBs 79 640 12% FIFO16/RAMB16s 12 320 3%

Table 5: Time Latencies Operation Time (µs)

Data Write 2544.311 Data Read 60.066 Write, Process, Read 6337.438

5. Conclusions Communication between HL software and reconfigurable devices continues to be a challenge due to the lack of a standard where software and hardware designs can be ported across different platforms. This paper described a communication scheme that is platform dependent but easy to implement and gives the user control of the communication components for adapting different designs. By interfacing the hardware design to a FIFO and register elements data can be transferred back and forth from the host system. This was demonstrated with the use of a Corner Turning

Page 149: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

131

operation where data was successfully processed and from which area consumption and timing statistics were obtained. Future directions include acquiring throughput measurements and quantifying how it is affected by the transmitted data size. Also additional communication components shall be added to access the module's external memory banks. Other tasks include interfacing different hardware designs, and exploring the use of other languages besides DIMEscript. 6. Acknowledgements This work was supported in part by Lockheed Martin Corporation BU-ISGS through contract number 6RMGS1774MOD01. Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. C.A. Valderrama, A. Changuel, P.V. Raghavan, M.

Abid, T. Ben Ismail, A.A. Jerraya, "Unified Model for

Co-simulation and Co-synthesis of Mixed Hardware/Software Systems," In Proc. Of the European Design and Test Conference,. ED&TC 1995,. March 6-9 1995 pp. 180 - 184.

2. J. Greco, B. Holland, I. Troxel, G. Barfield, V. Aggarwal, and A. George, “USURP: A Standard for Design Portability in Reconfigurable Computing,” submitted to IEEE Symp. on Field-programmable Custom Computing Machines (FCCM), Napa Valley, CA, Apr 24-26, 2006.

3. N. Limited. BenNUEY-PCI-4E Reference Guide. Nallatech Limited, www.nallatech.com, 2005.

4. N. Limited. DIMEtalk V3.1 Reference Guide. Nallatech Limited, www.nallatech.com, 2007.

5. R. Baxter, S. Booth, M. Bull, G. Cawood, J. Perry, M. Parsons, A. Simpson, A. Trew, A. McCormick, G. Smart, R. Smart, A. Cantle, R. Chamberlain, G. Genest, "The FPGA High-Performance Computing Alliance Parallel Toolkit," Adaptive Hardware and Systems, 2007. AHS 2007. Second NASA/ESA Conference on 5-8 Aug. 2007 Page(s):301 - 310.

6. V.S. Lin, R.J. Speelman, C.I. Daniels, E. Grayver, P.A. Dafesh, "Hardware Accelerated Simulation Tool (HAST)," Aerospace, 2005 IEEE Conference 5-12 March 2005 Page(s):1475 - 1483.

Page 150: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

132

The Center for Science, Technology, Ethics, and Policy

Christian Servin and Steve Roach

Center for Science, Technology, Ethics and Policy

Department of Computer Science University of Texas at El Paso,

El Paso TX 79968, USA Emails: [email protected],

[email protected] http://cstep.cs.utep.edu

Abstract

Educating scientists and engineers with respect to the ethical implications of their professional actions is an increasingly urgent, demanding, and complex task. It is a disservice to scientist, engineers, and society if they inadequately grasp the ethical significance of the work they do. Education in ethics in engineering and the sciences has been recognized as intrinsically important. The Center for Science, Technology, Ethics, and Policy at The University of Texas at El Paso (UTEP) brings together scientists, engineers, and philosophers from the academic, industrial, and public policy domains to focus on training both graduate students and faculty in ethical issues related to science and engineering. This training will focus on the rigorous development of ethical thought as applied to current topics in the science, engineering, and technology sectors. Because education in ethics necessarily involves subjective as well as objective factors, an innovative assessment of student development that integrates both quantitative and qualitative approaches needs to be made in order to evaluate the efficacy of this approach. This paper describes the center and some of the main projects that we are developing. 1. Introduction

The Center for Science, Technology, Ethics, and

Policy (CSTEP) is dedicated to the identification, evaluation, discussion, and implementation of emerging ethical issues in science, engineering, and technology.

The CSTEP explores the ethical implications in how the domains of academia, technology, science, and industry are embedded in each other. This means, in the first place, that CSTEP publishing, teaching, and research projects deal with the many and varied ways in which ethical factors are implicated in the unpredictable and indeterminate character of emergent technologies

and scientific advances. However, accounting for the interweaving of ethical factors in the scientific and technological domains of contemporary academia and industry means having to also take into account the interdisciplinary and multicultural character of our social and political environments. For example, the kind of mapping done in the human genome project (determining where genes are located on human chromosomes) has only become possible relatively recently with break-through advances in the sciences and extraordinary elevations in the power of computer technology.

This latter sort of activity was made possible by the innovative pairing of computational power with advances in computational decision-making techniques. As an ethical issue, such a project presents us with new possibilities for understanding human biology at the most basic levels, but is also accompanied by the indeterminate consequences of what the manipulations of genetic engineering for either health benefits or capitalist profiteering will bring us in the future. This is just one of many emerging issues in which science and technology intersect that demand ‘ethical’ attention now and in the foreseeable future. In this short paper, we briefly present the main projects that we currently work at CSTEP. In Section 2, we present workshops that are designed to trained professionals and experts about the ethical implications in specific fields. In Section 3, education, we discuss the interdisciplinary courses that are currently offered to undergraduate and graduate students. In Section 4, we present the E-zine journal, and finally in Section 5, we conclude with remarks about what the center of science, technology, ethics and policy is. 2. Workshops

Workshops are supported and organized by CSTEP

fellows. They focus on ethical issues related to the engineering disciplines. Distinguished speakers are

Page 151: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

133

invited to present on specific topics related to their areas of expertise. Professionals attending the workshops receive a fifteen hours of continuing education credits for ethical training. In the past year two main workshops were offered:

Current Bridge Building and Bridge Failures: Ethical choices and Public Policy. This workshop targeted the needs of professional engineers for more advanced training about the ethical implications of technological issues in the engineering field. Top experts in bridge construction gave technical presentations to practicing engineers, and additional sessions were devoted to the ethics and phenomenology of bridge building. Topics in the workshop included assessing the technical factors and policy issues involved in events, such as the Minnesota Bridge Collapse. Copyright Issues Workshop (“Control + C, Control + V: on the Ethics of Copying”): This workshop represented interdisciplinary and collaborative research between the humanities and engineering, specifically philosophers, computer scientists, and social scientists. Specific topics that entail potential ethical issues such as the conflict between computer privacy vs computer transparency were discussed (e.g., see [2].)

3. Education CSTEP is interested in research relating to the effectiveness of teaching. Academic courses are part of a research project that aims at testing both the short-term and long-term (e.g. 5 year span) effectiveness of teaching students about ethics in different disciplines. Currently, there are three main solid project lines for which academic courses have been developed at CSTEP: bio-ethics, ethics and engineering, and environmental ethics. 3.1 Bio-ethics

A bioethics course was designed and co-taught by

CSTEP founder and director Jules Simon with Donna Ekal during the fall of 2007 semester at UTEP. This course was designed to be an annual course offered in the Department of Philosophy that was correlated (cross-listed) with a special topics course in various departments in the College of Health Sciences.

This course was open to both undergraduate and graduate students. It focused on ethical issues in the medical profession. For example, topics discussed included the nature and importance of informed consent, ethical practices in the acquisition and dissemination of research results, the impact of funding

on the ethical behavior of scientists and medical practitioners, and the historical events that led to the implementation of the ethical rules of conduct placed on the scientific community today. This course was also responsible for the formation of the E-zine Young Scientists and the Ethos of Current Science, (see Section 4 for more details) which is an online journal featuring articles authored by students.

3.2 Ethics and engineering

The course “Ethics and Engineering” was

developed as a joint venture between Computer Science and Philosophy. The long-term plan for this course is for it to be offered through Philosophy and various departments in the College of Engineering. These courses will be open to all graduate students and will focus on ethical issues in engineering practices; for example, issues related to software engineering and computer technology was discussed in the first cycle. This course provided students with training in identifying and dealing with ethical issues in the cybernetic discipline. The primary objective was to teach students to approach engineering problems ethically. That is, they will learn to better understand how real world-engineering issues can and should be analyzed for their ethical determinations and that solving technical, engineering problems entails situating those problems in an ethical context.

3.3 Environmental science The focus of this course will be on sustainability issues as they are related to the tri-city area of El Paso Texas, Las Cruces New Mexico, and Cuidad Juarez, Mexico. This course will require students to develop original projects that can be adopted by local businesses to handle problems related to sustainability. There are two components to the student projects. The first component will require that students become informed on the particular issues related to sustainability as they affect the tri-city area and the efforts made by the federal government to fund sustainability oriented projects. An example of this includes the environmental sustainability associated with the construction and presence of the border wall. Furthermore, students will be required to get informed on the different sustainability projects that are currently taking place at the University of Texas at El Paso (UTEP), at the New Mexico State University (NMSU), and at the Universidad Autonoma de Ciudad Juarez (UACJ). The second component will require that students assess the current sustainability problems and to develop possible solutions to these problems.

Page 152: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

134

4. E-zine Journal

Young Scientists and the Ethos of Current Science

is an electronic journal (e-zine) that is written, edited, peer-reviewed, and produced by students (working with faculty) from nine different campuses in North America (Canada, Mexico, and The United States) who have completed courses related to interdisciplinary topics such as bioethics and computer ethics.

One of the goals of CSTEP is to directly involve students in multidisciplinary programs to bring together several perspectives on ethical and social issues in the science, technology, and engineering. Young Scientists and the Ethos of Current Science is the result of CSTEP’s efforts to achieve this goal. CSTEP and the North American Mobility Project (N.A.M.P.) sponsor this e-zine (see, e.g. see [3]). The first issue of the series: Bio-Ethics Issue 1, became available in the fall of 2007. The second issue, Ethics in Engineering: Computer Ethics Issue 2, is scheduled for publication in late 2008. For further details please see [4].

4. Conclusions CSTEP is a center dedicated to the identification, evaluation, discussion, and implementation of emerging ethical issues in science, engineering, and technology. Currently, the center counts with different projects that help to promote ethics in multi-disciplinary fields. The center provides ethical education to both future and current engineers and scientists through professional workshops. Also, academic courses either supported by CSTEP or taught by CSTEP fellows focus on interdisciplinary topics where ethical issues in different fields are discussed. The objective of these courses is to teach both undergraduate and graduate students the

ethical implications of the work they do in their field. Finally, the E-zine is an electronic journal, which its goal is to provide a venue where students can publish articles written as class projects in courses that focus on the ethical implications of various disciplines such as science, technology, engineering, and philosophy. For further information please visit the website at http://cstep.cs.utep.edu/index.html Acknowledgments This work was supported in part by the National Science Foundation under Grant IIS-0734912, and CNS-0540592. References 1. S. Roach & J. Simon, Teaching and Assessing

Graduate Ethics in Engineering, Science, and Technology. International Joint Conferences on Computer, Information, and Systems Sciences, and Engineering (CIS2E 07), December 3 - 12, 2007.

2. S. Roach & C. Servin, Whose hand is in the cookie jar and just whose cookie is it? The digital age and the conflict between privacy and transparency, In the 11th International Conference of ISSEI (International Society for the Study of European Ideas, Helsinki, Finland (July 28 -- August 2nd, 2008).

3. The North American Mobility Project: Ethics and Public Policy Issues in the Sciences in North American.http://organizations.utep.edu/Default.aspx?tabid=43365

4. Young Scientists and the Ethos of Current Science. http://cstep.cs.utep.edu/research/ezine/ezine.html

Page 153: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

135

Enhancing Workflow-Driven Ontologies: A Meta Model to Create Conceptual Workflows at Multiple

Abstraction Levels

Leonardo Salayandía and Aída Gándara Advisors: Ann Gates and Paulo Pinheiro da Silva

CyberShARE Center of Excellence

University of Texas at El Paso, El Paso Texas 79968, USA

E-mail: [email protected], [email protected]

Abstract

This poster presents a meta-model to construct conceptual workflows from ontologies using the Workflow-Driven Ontologies (WDO) approach. The meta-model was designed based on experiences of using the proof-of-concept WDO-It! tool in different activities involving scientists from various domains. The intention of this preliminary meta-model is to serve as a starting point for an empirical study that will seek to understand the use of abstraction techniques in combination with software engineering practices towards managing and using CI resources to implement complex scientific processes. 1. Introduction

The National Science Foundation (NSF) has

identified Cyber-Infrastructure (CI) as an enabler technology that is vital to enhance collaboration across interdisciplinary virtual organizations [1]. However, the impact that CI has in the sciences is hindered by the complexities of managing the vast amounts of resources accessible through CI.

Towards alleviating the complexities of managing CI resources, the Workflow-Driven Ontologies (WDO) approach [2] is being developed to facilitate the specification of scientific processes at abstraction levels that are amenable to scientists. Through the use of ontologies, the WDO approach can be used by scientists to capture concepts that represent a controlled vocabulary in their domain of expertise. Using such controlled vocabulary, scientists are guided through the specification of scientific processes. Furthermore, as scientists start collaborating with colleagues with other areas of expertise, new controlled vocabularies emerge, and these are fused into the ontology to create different perspectives and levels of abstractions about a given scientific process. Ultimately, the goal is to map

scientific processes produced by scientists in the form of conceptual workflows to resources available over CI to create workflows that can yield computable scientific applications; hence facilitating the management of CI resources towards automating scientific tasks.

WDO-It! (http://trust.utep.edu/wdo/downloads) is a prototype tool that implements the WDO approach. Based on experiences of using the WDO-It! tool in a workshop and two ongoing interdisciplinary projects housed at the CyberShARE Center of Excellence at the University of Texas at El Paso, this paper presents a preliminary meta-model that addresses some of the limitations of the WDO-It! tool (and WDO approach) identified to date. Additional details about the implementation of the meta-model using the Web Ontology Language (OWL) are presented as well.

The intention of documenting the initial meta-model is to serve as a starting point for an empirical study that will seek to understand the use of abstraction techniques in combination with software engineering practices towards managing and using CI resources to implement complex scientific processes.

2. Experiences

The preliminary meta-model proposed to enhance

the WDO-It! tool has been guided through experiences gained by using the tool in the following activities:

1) The 2007 Summer Southwest Regional Cyber-

infrastructure Workshop at the University of Texas at El Paso [3]. This workshop brought together a combination of domain scientists, students, and educators with the objective of promoting awareness about the role of CI in scientific research. The participants were exposed to two main tools: The Kepler Scientific Workflow [4] showcased as a mature scientific workflow tool that features an executable framework, and the

Page 154: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

136

prototype WDO-It!, a tool. Additionally, the attendees participated in a structured focus group session to indentify features that worked well in the aforementioned tools, as well as to identify shortcomings.

2) The Earth Sciences project housed at the

CyberShARE Center of Excellence [5]. This ongoing project brings together scientists and students from the areas of Seismology, Computational Mathematics, and Computer Science to analyze existing Seismology techniques to model the subsurface of the Earth. In addition to producing controlled vocabularies across multiple disciplines, the goal of the project is to enhance existing Earth modeling techniques and automate selected techniques through CI.

3) Collaborations between the National Center for

Atmospheric Research (NCAR) group at Boulder, Colorado [6], and the TRUST research group at the Computer Science Department of the University of Texas at El Paso [7]. This project has resulted in the specification of workflows about several semi-automated pipeline applications that are implemented over legacy systems. Given that little documentation exists about some of these applications, a crucial goal of this collaboration is to document these scientific processes in a way that is scalable to new technologies such as CI and the Semantic Web. It is expected that similarities between distinct pipeline applications will be leveraged with the introduction of standardized vocabularies.

The graphical representation of process knowledge

captured in an ontology is one feature of the WDO-It! tool that users from the workshop and the projects described above have consistently highlighted as practical. Users expressed that this feature leads to ease of use across disciplines; however, when compared to graphical representations of workflows from a mature workflow execution environment (i.e., Kepler), users expressed that the graphical representation of workflows in WDO-It! had significant expressivity limitations. In particular, some users indicated that workflow graphs should provide decision points and iteration of processes. Although the intention of the WDO approach is to capture conceptual workflows that do not necessarily have all the formal constructs to execute them, it is clear that scientists need decision points and iteration constructs to express complex scientific processes.

Another desirable feature in the WDO-It! tool was the ability to further break down workflow steps into sub-workflows or steps described at a finer granularity.

This feature leads to the support of multiple levels of abstraction in the specification of scientific processes. Correspondingly, data inputs and outputs of a workflow step should also be specifiable at finer levels of detail, hence providing the mechanisms to extend the controlled vocabularies according the different levels of abstraction.

Users have expressed the need to identify manual steps in a scientific process, i.e., steps that are performed by a human or that are semi-automated but that require human inspection. Identifying such manual steps is important because it helps guide the deployment efforts over CI and it provides human operating requirements of the scientific process.

Finally, users have also expressed the need for mechanisms to track provenance of executing scientific processes. Provenance refers to meta-data about data and processes that documents their origins. This is a critical point that has arisen in the NCAR-TRUST collaboration case study as legacy systems are adopting state-of-the-art technologies to enhance their scientific applications. 3. Proposed Meta-Model

A meta-model (or a model about a model) is a

model about the constructs and rules used to construct a model in some domain of interest. Figure 1 shows the proposed meta-model to construct scientific processes from ontologies using the WDO approach. The meta-model has been implemented as an ontology using the Web Ontology Language (OWL), and work is underway to incorporate it into the WDO-It! tool.

Fig. 1: The WDO meta-model An advantage of implementing the meta-model as

an OWL ontology is that the meta-model becomes more powerful when inference engines are used to interpret it. For example, given that the wdo:hasInput and the wdo:isInputTo relations are set to be inverse relations of each other, an inference engine should be able to determine that a wdo:isInputTo relation exists between a wdo:Data and a wdo:Method for the case where only the inverse relation is explicitly defined.

Another advantage of using ontologies (and OWL ontologies in particular) to implement the meta-model is the ability to reuse concepts (and related tools) from

Page 155: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

137

other existing OWL ontologies. For example, pmlp:Format and pmlp:Source are imported from the PML-P ontology. The PML-P ontology comes from the Proof Markup Language (PML) effort of the Inference Web Group at Stanford [8]. The PML-P ontology and related tools are being developed to capture distributed provenance and there are efforts under way to leverage PML in the WDO approach.

To address the feature of specifying finer levels of granularity in scientific processes (i.e., breaking workflow steps into sub-workflows), the isDetailedBy relation and corresponding inverse isAbstractedBy relation are depicted as self-associations on the wdo:Method concept. What is moreMoreover, given that wdo:Decision and wdo:Router are sub-concepts of wdo:Method, these concepts can be broken into finer abstraction levels as well. Similarly, to break data concepts into sub-data concepts, the isComposedOf and corresponding isPartOf relations are introduced.

The wdo:Decision concept is introduced to address the need to have decision points in workflows. For example, a decision point may be used to determine the route to follow in a workflow graph based on the application of some filter. The wdo:Router concept on the other hand, has the simpler task of forking or joining paths in a workflow graph. Additional details about the temporal constraints required to implement these constructs are hidden from the scientist and are intended to be defined at lower levels of abstraction.

Lastly, multiplicity constraints have been added to the proposed meta-model to facilitate its integration to the WDO-It! tool. For example, given that a wdo:Data concept is represented as an arrowed line, the number of wdo:Method concepts that can be graphically attached to a wdo:Data concept are two (one on each end of the line); hence, wdo:isInputTo and wdo:isOutputOf have multiplicity of 0..1. Additional work is required to determine whether the multiplicity constraints of the meta-model are adequate to model complex scientific processes, as well as to determine the effectiveness of the graphical notation currently used.

4. Conclusions

The current implementation of the WDO approach

was utilized in several activities involving users from various scientific domains. Among others, a key feature that was highlighted as important from these experiences was the need to support multiple levels of abstraction in order to create conceptual workflows that can be employed to manage the complexities of CI

resources. The development of the proposed meta-model intended to address the shortcomings identified thus far, while facilitating integration into the current WDO-It! tool. The meta-model was implemented as an ontology using OWL in order to leverage inference engines and other existing OWL ontologies.

Additional work is needed to integrate the meta-model into the WDO-It! tool. What is more, the WDO-It! tool is intended to be used as an instrument to conduct an empirical study that will seek to understand the use of abstraction techniques in combination with software engineering practices towards managing and using CI resources to implement complex scientific processes.

Acknowledgements

This work is funded by the National Science

Foundation through grants CNS-0540592 and HRD-0734825. References 1. J. Cummings, T. Finholt, I. Foster, C. Kesselman,

and K. Lawrence, Beyond Being There: A Blueprint for Advancing the Design, Development, and Evaluation of Virtual Organizations, final report from workshops on building effective virtual organizations, National Science Foundation, May 2008.

2. L. Salayandia, P. Pinheiro da Silva, A.Q. Gates, and F. Salcedo, Workflow-Driven Ontologies: An Earth Sciences Case Study, In Proc of 2nd Intl Conf on e-Science and Grid Computing, Amsterdam, Netherlands, December 2006.

3. Summer Southwest Regional Cyberinfrastructure Workshop, El Paso, Texas, August 30, 2007.

4. B. Ludäscher et al., Scientific Workflow Management and the Kepler System, Concurrency and Computation: Practice & Experience, Special Issue on Scientific Workflows, 2005.

5. The Geosciences Subproject at the CyberShARE Center of Excellence, El Paso, Texas www.cybershare.utep.edu/research/gs

6. The National Center for Atmospheric Research, www.ncar.ucar.edu

7. The Trust Research Group at the University of Texas at El Paso, http://trust.utep.edu

8. Proof Markup Language (PML) Primer, Inference Web Group, www.inference-web.org/2007/primer

Page 156: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

138

A Cross-platform Analysis of Implementation Costs of DSP Algorithms

V. Montaño, M. Jiménez, D. Rodríguez,

and N. Santiago

ECE Department, University of Puerto Rico at Mayaguez, Mayaguez PR 00681, USA

{victor.montano, mjimenez, domingo, nayda}@ece.uprm.edu

A. Nieves

Social Sciences Dpt. Univ. of Puerto Rico at Mayaguez, Mayaguez PR 00681, USA

Emails: [email protected]

Abstract The performance analysis of digital signal processing algorithm implementations on dedicated hardware or sequential processors has been traditionally based on run time, number of atomic operations, and/or amount of hardware resources consumed. These analyses, although useful, ignore the costs associated to the design implementation and, in the case of reusable IP, the implementation adaptation time. This paper presents an analysis that integrates as targets the design time of a reusable solution and the time taken to reuse it when implementation targets are Field Programmable Gate Arrays (FPGAs) and Digital Signal Processors (DSPs). The analysis used a Corner Turning operation as case study, operating on a variable size data set. Our results point to interesting conclusions that contradict the established wisdom when such implementation platforms are compared.

1. Introduction

The implementation of digital signal processing algorithms on sequential processors or dedicated hardware devices have traditionally used parameters such as area, power consumption, and/or execution time to quantify the cost of a solution. In particular, comparisons between implementations on DSPs and FPGAs have received considerable attention. Several examples found in the recent literature result of special interest. Xiao et al. studied the execution time of a 1024-point FFT on both platforms, considering radix-2 and radix-4 representations [8]. They reported speed-ups of 1.57 for the FPGA implementation with respect to the DSP. H. So performed a similar experiment with a 4-, 8-, 16- and 32-point FFTs, and also found that the FPGA was approximately 10 times faster than the DSP [7]. Zaretsky et al. implemented general codes and found that using an FPGA reduced between 3-20X the number of execution cycles and 1.3-5X the execution time with

respect to a DSP processor [9]. Several works performed by the RASSP group have also presented relevant results of implementation of SAR image processing algorithms on FPGAs and DSPs [6]. Despite the number of reported works, none of them has addressed the cost associated to the implementation time or the proficiency level of the designer. It is generally assumed that the designer is an expert who has no time constraints to develop the application. Although this might be true in some cases, when it comes to industry practice, individuals have to go through a learning and development process where time is tightly constrained. For these cases, a knowledge of the level of difficulty and time requirements faced in developing and reusing signal processing solutions would be beneficial. This paper presents a performance analysis of implementing a Corner Turning algorithm on DSP- and FPGA-based platforms that extends the set of traditional metrics to include, besides execution time, the design and implementation time of algorithms. The study delves into the learning process of individuals with different levels of expertise to see how the implementation platform affects the performance when designing and reusing IP. 2. Methodology To conduct the study, three groups of subjects for each implementation platform were selected: experts, proficient, and beginners. The expert group was used as benchmark as they also developed the application to be implemented. A description of implementation of the Corner Turning (CT) operation on both, DSP- and FPGA-based platforms is provided first. This implementation was used as case study. The structure of the CT implementation guides provided to the study subjects for each platform, along with the metrics used to assess their learning progress is discussed next. Then,

Page 157: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

139

we present the characteristics of the study subjects and the criteria used for their characterization. 2.1 Corner turning design The design of the Corner Turning module used as case study in this work follows the methods utilized in the development of SAR support algorithms presented by Blahut and previous works on point spread functions and SAR raw data generation [1], [4], [5]. The basic assumption is to treat the SAR image formation system as a linear shift invariant system whose two-dimensional impulse response function is a separable function. This allows to treat the two-dimensional convolution operation needed to form the image as the product of two one dimensional convolution operations, one for the range dimension and the other for the azimuth dimension. The convolution operations were performed in an indirect manner by using the fast Fourier transform. The Corner Turning is performed between the two convolutions, enabling the shift between range and azimuth. Figure 1 shows a block diagram with the sequence of operations performed in this modality of SAR image formation, denoting the stage in which the CT operation is performed [3].

Figure 9. SAR Image Formation Stage.

We designed Corner Turning algorithms for both, FPGA- and DSP-based platforms. In both cases, the designs were developed as modular, scalable, and reusable IP cores. The designs were documented such that independent users, other than those who designed them could understand their functionality and use them in other designs. Below we provide insight into these designs. 2.2 FPGA design Figure 2 shows the organization of the FPGA-based Corner Turning module. In its interface, input and output data vector widths n were selectable between 32- and 64-bit wide. Two level-sensitive input control lines, Enable in and Reset were provided to activate and initialize the Corner Turning operation. When a transpose operation is complete, the status line Enable

out generates a one-cycle positive going pulse. The module operation is synchronized by an external clock signal. To operate, each input point is stored in a n-bit register, from which a demultiplexer sends them to either Memory A or B. These memory blocks are implemented on the FPGA internal block RAM. Memories A, B alternate their functionality between read and write to allow data buffering. The read memory is sequentially addressed, while the other is accessed in the order dictated by the transpose operation. The module operation is governed by a control unit synchronized by the external clock signal. The control unit contains two scalable address generators with programmable widths m from 10 to 16 bits wide. The first address generator provides sequential addressing, while the second generates out-of-order addresses needed for the transpose. Multiplexors are used to direct the proper addressing sequence to the corresponding memory block.

Figure 10. CT Module Organization.

2.3 DSP design The CT operation on the DSP was designed around three nested loops: read, transpose, and write. As implied by their names, the first loop reads the input matrix from a file, the second performs the actual transpose operation while the last writes the transposed to an output file. 2.4 Implementation guides Two different sets implementation guides were developed, one for the FPGA-based implementation and another for the DSP-based. The guides provided complete procedures that included the following five steps: Initialization-Compilation, Simulation, Simulation Validation, Emulation on Target Architecture, and Emulation Validation. For the FPGA, the compilation and simulation were performed with Active HDL 7.2 SP1. The emulation was done on a XC4VSX55FF1148 FPGA of a

Page 158: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

140

Nallatech BenNUEY-PCI-4EXC2VP50 motherboard, using a bitfile generated with Xilinx ISE 8.2i. In the case of the DSP, Code Composer Studio CCStudio v3.3 was the used tool for compilation, simulation and emulation. The validation procedures were performed with the software MATLAB. 2.5 Study subjects To perform the study, three groups of implementation users were recruited. These included expert, proficient, and novice users. The expert group was composed by core and guide designers. Proficient users were students who did not participate in the core and guide design, but had previous experience with the development tools. Novice users were students who, although having a basic background on signal processing and FPGAs, had little or no experience with either the design or development tools. The qualification of these groups of users was determined through assessment questionnaires. A total of five subjects participated in the experiment: An FPGA expert, a DSP expert, an FPGA proficient user who was also a novice in DSP, a DSP proficient who was a novice in FPGA, and fifth subject who was a novice user for both platforms. 3. Experimentation, Results, and Analysis 3.1 Metrics Three basic metrics were used to quantify effectiveness in both implementations: Execution time (tex): total number of cycles n of the algorithm divided by the maximum operational frequency fmax of the design. Design time (tD): Time required to an expert user to complete the design, implementation, and testing of a core. Implementation time (tI): Represents the time spent by a user in completing the implementation of a core following the implementation guides. A fourth metric was recorded for the FPGA implementation only, Area Occupation. 3.2 Experimental set-up To measure the design time, a group of psychology students was called-in to establish a controlled implementation environment and observation procedure where designers could be non-intrusively monitored

while they were working. The psychology group used the software TechSmith Morae Usability Testing Software version 2.0 and a set of observation worksheets that allowed them to measure the time invested by the engineering students performing the design. The experimental set-up involved the use of a web-cam, a microphone, and software monitors running in background in the design workstations, allowing to track the designer's activities. Measuring the implementation time followed a process similar to that used to obtain the design time. Each subject was required to complete twice the implementation procedures. The psychology team recorded the times that the students spent to complete each of the five sections of the guides. To obtain the performance parameters of the implementations, namely execution time and area, the tools provided by the design packages were mainly used. 3.3 Results The experimental procedure was initiated with the group of expert users designing the IP cores for both implementations. The time reported to complete the design of the Corner Turning module tD was 12 hours for DSP core and 82.5 hours for FPGA. Table 1 shows the values obtained for the execution times in both platforms at 4 different sizes. The largest possible size using the internal memory was 256 256 for the FPGA, and 128 128 for the DSP. The results obtained for implementation times are shown in Table 2. 3.4 Analysis In terms of design times, the obtained results support the common wisdom: It is more time consuming to design signal processing algorithms for hardware implementation than for sequential execution platforms such as DSPs and general purpose processors. In our case the FPGA design took seven times longer than on the DSP.

Table 4. Execution Times in Both Platforms.

CT Size DSP TMS320C6713 Virtex 4 FPGA

32 32 tex = 0.133ms tex = 0.014393ms 64 64 tex = 0.526ms tex = 0.057696ms

128 128 tex = 2.089ms tex = 0.231280ms 256 256 tex

1 = 22.743ms tex = 0.927103ms

Page 159: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

141

1Implemented using external memory.

The obtained performance results were also aligned with the typical expectations for these two kind of platforms. The FPGA implementation outperformed the DSP by a factor of nine in the sizes from 32 32 to 128 128. For size 256 256 the comparison does not proceed due to the usage of different memory access schemes. The most interesting results of this study came around the implementation times. Contrary to the general expectations, our results point to a faster learning and implementation process when reusable IP cores are used for FPGA-based platform than for one based on DSPs. The results listed in Table 2 show that the cumulative average number of hours spent by all levels of users was higher for the DSP implementation than for the FPGA case. In the case of Beginner 1 the mismatch reaches 46.17% more time to complete the DSP implementation. In terms of the rate of improvement between the first and second implementation, all users exhibited a better performance in the second trial than in the first, denoting learning outcomes. The FPGA beginners show the most dramatic improvement with 56.5% average shorter time in the second trial and peak reduction of 69%. The DSP beginners had average improvement of 30% with a peak of 59%. These numbers point to a faster learning rate for the tasks associated to FPGA implementations.

Table 2. Implementation Times. FPGA Time (min) DSP Time (min) Type of

user Initial Final Initial Final Expert 17.90 16.11 22.04 20.45

Proficient 43.16 16.54 45.41 21.71

Beginner 1 46.02 25.78 67.27 27.45

Beginner 2 47.22 14.70 32.85 32.43 Looking into the details provided by the additional data collected, it was found that correlating the level of difficulty and verbal behavior shows that the use and external manifestation of private speech related to the task rose at the period when subject experienced a greater level of difficulty. This result is consistent with findings of similar studies in individual learning behavior [2]. Figure 3 shows a relation between verbalization levels and the average time spent by the subjects in the different steps of the implementation. A salient feature in the figure is the relatively large amount of time required to complete the simulation step in the DSP implementation procedure. Looking into

possible causes for these results, we found that FPGA implementation procedures required choosing options and settings with no necessity of large amounts of settings such as the board and configuring build options (preprocessors, compiler and linker) which is the case in DSP.

4.53

0.63

2.6

9.96

1.012.17

24.38

2.67

10.09

2.263.1 2.9 3.2

8.9

1.32.34

19.5

1.67

5.83

2.33

0

5

10

15

20

25

30

Initialization and

Compilation

Simulation Simulation

Validation

Emulation Emulation

Validation

Ho

urs

0

5

10

15

20

25

Sp

eech

Level

FPGA Time DSP Time

FPGA Speech DSP Speech

Figure 3. Time and Verbalization Levels.

4. Conclusions and Future Work The inclusion of design and implementation time metrics in the analysis of developing IP to support signal processing functions in FPGA- and DSP-based platforms, gave us both expected and unexpected results. As expected, the execution time of a case study based on a corner turning algorithm was found to be shorter for the FPGA-based implementation, at the expense of an increase in its design time. However, on the unexpected side we found that when we measured proficiency and learning speed of a group of users with different levels of technical background, developing implementations based on pre-designed IP on both platforms, for FPGA-based implementations users were able to learn and perform faster than when similar procedures were performed on a DSP-based platform. We attribute this behavior to the automation level obtained through re-usable hardware IP cores. Our findings become of interest when evaluating the cost effectiveness of design alternatives in a long term. FPGA-based platforms could result of advantage not only by their promise of increased performance, but also because they could lead to paths of increased design and implementation productivity when properly supported by reusable IP cores. Numerous paths remain open in this research to try to obtain more definitive conclusions. Using a larger study population, experimenting with different case studies, and expanding the implementation process to create new implementations are only a few of the extensions of this study that we continue to explore.

Page 160: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

142

Acknowledgments This work was supported in part by Lockheed Martin ISGS through contract No. 6RMGS1774MOD01. Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. Blahut, R., Theory of Remote Surveilance

(Cambridge University Press, New York, 2004). 2. Bodrova, E., Leong, D. J., Tools of the Mind: The

Vygotskian Approach to Early Childhood Education (2nd Edition), Prentice Hall, Inc, 2006.

3. Einstein, T., Realtime SAR Processing on the RACE Multicomputer, www.mc.com, 1996.

4. Rodriguez, D., SAR Point Spread Signals and Earth Surface Property Characteristics (Invited Paper), SPIE's 44th Annual Meeting and Exhibition, Denver, Colorado, July 1999.

5. Rodriguez, D., A Computational Kronecker-core Array Algebra SAR Raw Data Generation Modeling System, IEEE 35th Asilomar Conference on Signals, Systems, and Computers, Monterrey, CA, Nov. 2001.

6. Saultz, J.E., Rapid Prototyping of Application-Specific Signal Processors RASSP, J. of VLSI SP, Vol. 15, 1997, 29-47.

7. So, H., Reconfigurable Hardware Testbed for Digital Signal Processing. Berkeley Wireless Research Center Retreat, EECS, UC Berkeley, Jan. 2005.

8. Xiao, X., Zhang, R., Yang, X., and Zhang, G., Realization of SAR Real-Time Processor by FPGA, Proceedings of IGARSS, 2004, 3942-3944.

9. Zaretsky, D., Mittal, M., Tang, X., and Banerjee, P., Overview of the FREEDOM compiler for mapping DSP software to FPGAs, Field-Programmable Custom Computing Machines FCCM, 2004, 37-46.

Page 161: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

143

Probe-It! Visualization Improvements

Hugo D. Porras1, Nicholas Del Rio2

Mentor: Paulo Pinheiro da Silva3

Department of Computer Science University of Texas at El Paso

El Paso, TX 79968, USA [email protected], [email protected], [email protected]

Abstract Probe-It! is a provenance visualization tool used to help scientists understand the results they generate. However, without the proper tools through a well designed user interface this task could be made very difficult to accomplish. Probe-It! uses proofs and several different views to help the scientist understand how the result was generated. In a continual effort to help scientists inspect their scientific data, Probe-It! has received improvements to the way it visualizes this information. This work describes the improvements that Probe-It! has received. 1. Introduction In complex virtual environments like cyber-infrastructures scientists rely on visualization tools to help them understand large amounts of data that are generated from experiments, measurements obtained by sensors, or a combination of measurements and applied derivations. Instead of tediously tracing through datasets, scientists view results condensed as a graph or map, and draw conclusions from these projected views. However, in order for scientists to fully understand and accept artifacts generated on the cyber-infrastructure, scientists may need to know which data sources and data processing services were used to derive the results and which intermediate datasets were produced during the derivation process. In fact, scientists may need to have access to provenance information, which is meta-information about the final results and how they were generated. Visualization is a technique used to facilitate the understanding of scientific results such as large data sets and maps. Provenance techniques can also aid in increasing the understanding and acceptance of scientific results by providing access to information about the sources and methods which were used to derive them (methods are referenced as rules throughout). Visualization and provenance techniques, although rarely used in combination, may further

increase scientists' understanding of results since the scientists may be able to use a single tool to see and evaluate result derivation processes including any final or partial results. Provenance visualization capabilities are expected to be more sophisticated than those required for the visualization of only final results. For example, in addition to the visualization of results, provenance visualization should include capabilities for visualizing intermediate or partial results, derivation processes, and any information regarding used sources. Probe-It! [5], is a general-purpose, provenance visualization prototype that has been used to visualize both logical proofs generated by inference engines and workflow execution traces. This work presents the modifications and functional additions performed to Probe-It! to increase the tool’s usability. Probe-It! Is now being used for several different domains, including astronomy, geophysics, and theorem proving. To provide a better tool for these fields, Probe-It! is continually being enhanced to suit their needs. For this reason Probe-It! has received, and will continue receiving, additional functionality to its user interface. 2. Background Probe-It! is a browser suited for graphically rendering provenance information associated with results coming from inference engines and workflows. In this sense, Probe-It! does not actually generate content (i.e. logging or capturing provenance information); instead it is assumed that users will provide Probe-It! with end-points of existing provenance resources to be viewed. The task of presenting provenance in a useful manner is difficult in comparison to the task of collecting provenance. Because provenance associated with results from small workflows can become large and incomprehensible as a whole, Probe-It! consists of a multitude of viewers, each suited to different elements of provenance.

Page 162: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

144

Probe-It! consists of four primary views to accommodate the different kinds of provenance information: queries (requests), results (final and intermediate data), global justifications (further referenced as justification view, displays description/explanation of the generation process), and local justifications (information about the sources [i.e., execution traces]). The query view (Figure 2) shows results of queries, which may include requests for generation of artifacts, similarly to how a Web search engine presents search results. Upon accessing one of the answers in the query view, Probe-It! Switches over to the justification view associated with that particular result. The justification view (Figure 1) is a complimentary view that contains all the process meta-information associated with the execution trace, such as the functions invoked by the workflow, and the sequencing associated with these invocations. Probe-It! renders this information as a graph, which shows how an answer was generated.

Figure 2. Probe-It!'s Query View Probe-It! has had a few improvements that have made the navigation of the query and justification views easier. The query view now has the ability to show, at the click of a button, all the sources used to come up with the results shown on the query view. The justification, which could only use a tree to visualize a proof, can now be represented as a Directed Acyclic Graph (DAG). The justification view has also had improvements on the graphs navigation. It now allows the user to zoom in/out and navigate the justification view by clicking and dragging the canvas. Probe-It! will also receive a new addition that will allow users to see alternate justifications.

Figure 1. Probe-It!'s Global Justification View

3. Description and Implementation Several additions have been made to further ease the inspection of trust-worthy data (provenance) by adding the following functionalities: summarization of PML (Proof Markup Language [6]) sources, capability of rendering justifications as Directed Acyclic Graphs (DAGs) in addition to the tree style, capability of navigating through the proof by using a pointer device on the proof, as well as the option to zoom, and finally the upcoming feature of rendering alternate justifications. The following subsections give a brief overview of the new additions. 3.1 Summarization of PML sources The query view, which displays the different results that can be accessed, needed a more descriptive way of displaying the options available. To view what sources had been used to come up with the results, Probe-It! had to be in the local justification view. This would require the user to load the justification, paint the proof, and then go through each node-set to find what sources had been used. Considering the size of some proofs this could take hours to do. This wasn't a practical way for users to find sources. The query view now has an option to summarize the sources of each result (can be seen in Figure 1). With a click of a button, Probe-It! searches through the PML document to find all the contributing sources, and then displays all the sources under each corresponding result. This addition allows

Page 163: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

145

the user to make a quick decision about which result is the most trustworthy.

3.2 Rendering justifications as a DAG

The justification view is an important view because it allows the user to see how the result was generated. The justification view displays a tree, with the result at the root (bottom of the graph) and the sources and rules, that are used to come up with the result, are place above the root. The result, sources, and rules are all displayed as nodes. The tree display often has repetitions of rules. In a large proof the repetitions multiply, making the graph harder to understand and also making it more difficult for the user to find a particular section of the proof. For these reasons a new display option was introduced: the DAG or Directed Acyclic Graph. The DAG has several advantages over the tree option. First of all the DAG has no repeating nodes. This means that all the nodes that are repeated in the tree display are condensed into one. This makes the overall proof much smaller. The DAG implementation uses Dijkstra's shortest path algorithm to draw the nodes. This algorithm was used to place the nodes related to each other (meaning they have an edge/connection between them) as close to each other as possible. This helps the user understand the graph better.

Figure 3. Probe-It!’s Global Justification View using: DAG(left) vs. Tree (right)

3.3 Click-and-drag navigation Even with the help of the DAG style, to represent the graph, really large proofs can be hard to navigate. The user did not have many options to facilitate the navigation process of proofs. The user only used to have a smaller zoomed out version of the graph, on the bottom left panel. The user could use this map of the whole graph to choose where they wanted to go on the graph by clicking on the area. This is a nice way of navigating if the proof is a relatively small size.

However, when the proofs start increasing in size this form of navigation became very hard to use. The Navigation of Probe-It!'s proofs were improved by adding a click-and-drag (panning) functionality, along with zooming options. The click-and-drag function is used to move the view the user has of the graph/proof. The user only needs to click and hold on any part of the representation where there is no node, and then move the mouse in the direction he/she wants the drawing to move towards. This is done by moving the canvas by using the coordinates of the mouse. The zooming options also help the user navigate easier. The zooming options allow the user to view the graph at different levels of detail. The zooming uses a function that resizes the image that has been drawn. Both the click-and-drag functionality and the zooming options have improved the user's ability to navigate the proofs. 3.4 Rendering alternate justifications An explanation of provenance can have several justifications, however Probe-It! does not have the functionality of visualizing all of the alternate justifications for one proof. Each node-set, of the graph, can have several justifications. At the moment Probe-It only uses the default/first justification listed. This capability, of viewing different justifications, will be added by allowing the user to cycle through the different justifications of that node-set. However, it is not a simple task. Every time the user wants a different justification, Probe-It will have to repopulate the tree (used to represent the graph) with the new children of the node and redraw the whole graph, so that the drawing of the tree/DAG has the right format and has no anomalies. 4. Summary This work introduces modifications to Probe-It!'s interface to improve visualization. Probe-It!'s improvements include the summarization of PML sources, the capability of rendering justifications as DAGs (in addition to the tree style), the capability of navigating through the proof by panning, and the upcoming feature of rendering alternate justifications. Probe-It!, the visualization of provenance, and the analysis of trust-data have now been made a user friendly environment.

Page 164: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

146

Acknowledgments This work is partially funded by the National Science Foundation grant number CNS-0540592. Visual explanation research is funded by the Department of Homeland Security MSI Scientific Leadership program. References 1. Deborah L. McGuinness and Paulo Pinheiro da

Silva. Explaining Answers from the Semantic Web. Journal of Web Semantics, 1(4):397-413, October 2004.

2. Deborah L. McGuinness, Paulo Pinheiro da Silva, and Cynthia Chang. IW-Base: Provenance Metadata Infrastructure for Explaining and Trusting Answers from the Web. Technical Report KSL-04-07, Knowledge Systems Laboratory, Stanford University, 2004.

3. Deborah L. McGuinness and Frank van Harmelen. OWL Web Ontology Language Overview. Technical report, World Wide Web Consortium (W3C), February 10 2004. Recommendation.

4. Nicholas Del Rio and P. Pinheiro da Silva. Identifying and Explaining Map Imperfections Through Knowledge Provenance Visualization. Technical report, The University of Texas at El Paso, June 2007.

5. Nicholas Del Rio and Paulo Pinheiro da Silva. Probe-it! visualization support for provenance. In G. Bebis, R. Boyle, B. Parvin, D. Koracin, N. Paragios, T. Syeda-Mahmood, T. Ju, Z. Liu, S. Coquillart, C. Cruz-Neira, T. Muller, T. Malzbender, (edts.), Proceedings of the Second International Symposium on Visual Computing (ISVC 2), Lake Tahoe, NV, USA. Volume 4842 of LNCS, pages 732-741. Springer, 2007.

6. Paulo Pinheiro da Silva, Deborah L. McGuinness, and Richard Fikes. A Proof Markup Language for Semantic Web Services. Information Systems, 31(4-5):381- 395, 2006.

Page 165: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

147

Scheduling Master-worker Divisible Tasks

Luis de la Torre and Jaime Seguel

Electrical and Computer Engineering Department University of Puerto Rico at Mayagüez

Mayagüez , PR Emails: [email protected], [email protected]

Abstract2

A periodic scheduler for load-divisible jobs that are implemented in a Single Program Multiple Data (SMPD) style and conform to the master-worker paradigm is introduced. The scheduler minimizes the job Makespan under a maximal periodic production constraint termed Scheduler. This paper presents an excerpt of theoretical foundations of a scheduler for clusters of homogeneous workers (SCOW)[1]. Also, the work presents an experimental result for a motif finding problem. These experiments were performed by using a MATLAB implementation of the scheduler to fine tune C++/MPI SMPD master worker programs. The SCOW implementation was compared to a first-in, first-out scheduler to show the performance improvement of SCOW. 1. Introduction

Load- and task-divisible jobs consist of a core task that is repeated a number of times over different data chunks. In single-program multiple-data style (SPMD), these jobs are implemented as nested sequences of do-loops around the core task. Usually, a master process distributes data chunks across all participating workers in what is often called a round of data installments. Each data installment is followed by a receive and a compute operation, both performed by the receiving worker. Workers receive and compute their core tasks concurrently. In SPMD implementations rounds are controlled by an external do-loop, which imposes the periodic character of the job's execution. The main parameters in a SPMD implementation are thus, the number of rounds, denoted below by nRound, and the number of workers involved in the concurrent computations, denoted below by nWorkers.

2 This paper is an excerpt of an article submitted to IEEE Transactions on Paralleland Distributed Systems on November, 2008

2. Schema 2.1. General Schema In SPMD implementations such rounds are controlled by an external do-loop, which imposes a periodic character on the execution of the job. The general aspect of such an SPMD code is For j = 1, nRounds If Master process For i = 1, nWorkers “Retrieve data chunk for worker i” “Send data chunk to worker i” Else “Receive agglomerated data chunk” “Compute core task on data chunk” 2.2. Task agglomerate schema Task agglomerations are accomplished with an additional do-loop, which introduces the parameter nCoreTasks, as illustrated in the following code: For j = 1, nRounds If Master process For i = 1, nWorkers “Retrieve agglomerated data chunks for worker i” “Send agglomerated data chunk to worker i” Else “Receive agglomerated data chunk” For j = 1, nCoreTasks “Compute core task” 2.3. Architectural model

As pointed out earlier, within a round, the master performs a sequence of data retrieval (e) and sends (s) operations. Each data retrieval and send is followed by data transmissions (l) over the network. Receive (r) and compute (w) operations are performed by the workers upon the arrival of the data package. Some of these operations are performed sequentially and some, concurrently. As a result, three major concurrent time

Page 166: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

148

segments are distinguished within a round: R, time spent by the master in a round of data retrieval and send operations; L, time spent by all network link in transmitting a round of data packages; C maximum time spent by a worker in completing the reception of the data and execution of the corresponding agglomerated tasks. The model assumes that the execution times of each of the operations of data retrieval, send, receive, and compute vary as an affine mapping on the number of agglomerated tasks.

3. Maximal periodic production 3.1. Problem

The maximal production problem (MP) over a large enough platform is stated as follows: “Given T, and X large enough so all workers k receive core tasks within the period T

where xi is the amount of work sent to worker i. 3.2. Solution

The next theorem provides a solution for the MP problem. Theorem: Let T and X be a real nonnegative numbers and k be a positive integer. Let

Then

Where h=e+s or l. Prof: Similar to proof of theorem 1 in [1] The h selection depends on mapping domination to ensure that all operation can be made in the single period T. The solution of the MP problem found in this

theorem is used to constrain the makespan minimization problem. 3.3. Last round modification

Modifications of the last round are used either to impose the condition that all processors end operating at the same time or to orchestrate the return of results from the workers to the master [1].

3.4. Makespan minimization

This section assumes that k, the number of workers, is large enough and that η > 1 is a real number. The makespan minimization problem (MMP-MP) constrained to maximal production is stated as:

Minimize µ(T) = (v+1/2)T + (e + s + r + w)(Y ) subject to

Theorem 2: Let X be a nonnegative real number and i the number of workers. Then the solution to problem without restriction 4 is,

Prof: Similar to proof of theorem 5 in [1].

MMP-MP is reduced to finding the minimal value of µ(T) with i ranging over the subset the i that satisfying

4. An Improved Parallel Motif Finding Solver (PMFS)

4.1. Motif finding problem

Given a set of t DNA sequences, the motif finding

problem consists in finding a set of t strings with l characters; one from each sequence that maximizes the consensus score. In the parallel motif finding algorithm, the master distributes among the workers packages of alignment matrices. Each worker produces the profiles

Page 167: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

149

of the matrices in its package, computes the score, and keeps best score among all received packages. After the last round, the master receives the scores from the workers and computes the best score. The experimental data are 6 strings with length 20 and the set string length is 8.

5. Result

Figure 1 shows the execution times of the parallel motif finding algorithm scheduled with our scheduler for clusters of homogeneous workers (SCOW) [1] against one that implements a first-in, first-out (FIFO) policy for job distribution. An extensive search was done to allocate the best possible amount of agglomerated tasks.

Experiments were performed over an IBM cluster with 64 Intel Zeon 2.8 GHz processors, star connected with a bandwidth of 100 Gb per second.

Figure 1: SCOW Vs FIFO, execution time. According to Figure 1, the 450 FIFO and 500 FIFO is the makespan for the FIFO scheduler, where chunk size is 450 and 500 agglomerates core tasks, 450 MMP-MP (pred) and 450 MMP-MP(exp) is the makespan predicted and experimental for the SCOW scheduler whit 450 agglomerates core tasks.

Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. Seguel, J, de la Torre, L.: A User-level Scheduler

for the Execution of Master-worker Divisible Tasks on Homogeneous Clusters. Submitted to the IEEE Transactions on Parallel and Distributed Systems, 05 Nov 2008.

2. Y. Yang, K. van der Raadt, H. Casanove, Multiround Algorithms for Scheduling Divisible Loads, IEEE Transactions on Parallel and Distributed Systems, Vol. 16, No. 11, 2005.

3. C. Banino, O. Beaumont, L. Carter, J. Ferrante, A. Legrand and Y. Robert, Scheduling Strategies for Master-slave Tasking on Heterogeneous Processor Platforms, IEEE Transactions on Parallel and Distributed Systems, Vol. 15, No. 4, pp. 319-330, 2004.

4. M. Drozdowski and P. Wolniewicz Optimum Divisible Load Scheduling on Heterogeneous Stars with Limited Memory, European Journal of Operation Research, Vol. 172, No. 2, 2006.

5. N. Jones and P. Pevzner An Introduction to Bioinformatics Algorithms, MIT Press, 2000.

6. V. Bharadwaj, D. Ghose, V. Mani, and T.G. Robertazzi. Scheduling Divisible Loads in Parallel and Distributed Systems. IEEE Computer Society Press, 1996.

7. O. Beaumont, H. Casanova, A. Legrand, Y. Robert, Y. Yang: Scheduling Divisible Loads on Star and Tree Networks: Results and Open Problems. IEEE Trans. on Parallel and Distributed Systems, vol. 16, no. 3, 2005, 207-218.

8. D. Bertsekas. Constrained Optimization and Lagrange Multiplier Methods. Athena Scientific, Belmont, Mass., 1996.

Page 168: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

150

An O(2klogkn) Algorithm for Defensive Alliances

Rosa I. Enciso, Ronald D. Dutton

Computer Science University of Central Florida

Orlando, FL 32816 {renciso, dutton}@cs.ucf.edu

Abstract A defensive alliance in a graph is a non empty set where, for all ,

. Alliances occur between nations, biological sequences, business cartels, as well as in several other application areas. If is a defensive alliance, the vertices in can defend an attack from vertices in , where . Consequently, every vertex that is a member of a defensive alliance has at least as many vertices defending it as there are vertices attacking it. Therefore, an attack on a vertex in a defensive alliance can be neutralized by its defenders. Decision problems for several types of alliances, including defensive alliances, have been shown to be NP-complete (see [5] for a list of citations). Fernau and Raible [5] gave the first FPT-algorithm for the defensive alliance problem showing that the problem is in the class FPT. Their complexity analysis was later corrected in [8] to . Below, we give a

FPT-algorithm for the defensive alliance problem, which is an exponential improvement over the existing result. 1. Introduction

Members of a defensive alliance have agreed to

come to the aid of their neighbors in the alliance for mutual protection from attack from non-members. Alliances can occur between nations, biological sequences, business cartels, as well as in other applications. Alliances in graphs, introduced by Kristiansen, Hedetniemi, and Hedetniemi in [7], have been used to model a variety of applications such as classification problems, communities in the World Wide Web, etc [6, 9]. Before giving a formal definition of defensive alliances in graphs, notation used throughout the paper is given.

Let , be a graph with vertices. For a vertex , the open neighborhood of is defined as , where is the degree of the vertex , and the closed neighborhood of is defined as . For any set of vertices , and .

Other graph related terms and definitions can be found in [1].

A defensive alliance in a graph is a non empty set where, for all ,

, that is, for every , at least

neighbors of are also members of . If is a

defensive alliance, the vertices in can defend an attack from vertices in , where . Consequently, every vertex that is a member of a defensive alliance has at least as many vertices defending it as there are vertices attacking it. Therefore, an attack on a vertex in a defensive alliance can be neutralized by its defenders.

Decision problems for several types of alliances, including defensive alliances, have been shown to be NP-complete (see [5] for a list of citations). Unlike the theory of classical complexity, which focuses on whether a problem is hard or not, parameterized complexity theory, introduced by Downey and Fellows, accepts that a problem is hard and asks the question “What makes the problem computationally difficult?”[4]. Downey and Fellows claim parameters arise naturally in many computational problems, and can be used to define parameterized problems as is the case in the k-vertex cover problem, where the input consists of a graph and a positive integer as a parameter, and asks whether has a vertex cover with at most vertices. The input to a parameterized problem is defined as a pair , where is the size of the input and is the parameter. Often, parameterized algorithms find solutions to problem instances in polynomial time in terms of the size of the input. The problem is said to be fixed-parameter

Page 169: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

151

tractable (FPT) if there exists an algorithm that correctly solves an input in time (or

), where is a constant, and is an arbitrary function independent of [4].

Fixed-parameter tractable algorithms (FPT-algorithms) are helpful in solving real world problems that are in general NP-Hard, but where most instances of interest have small parameter values. This is the case for many practical problems such as multiple sequence alignment in computational biochemistry, known to be equivalent to the vertex cover problem, which has an FPT-algorithm with running time [2, 3].

Fernau and Raible [5] gave the first FPT-algorithm for the defensive alliance problem that asks if there exists a defensive alliance of size less than or equal to a parameter . Their complexity analysis was later corrected in [8] to . Below, we give a

FPT-algorithm for the defensive alliance problem, which is an exponential improvement over the existing result. 2. Preliminaries For an arbitrary set , the vertices for which are said to be protected by and are otherwise unprotected. Therefore, is a defensive alliance if and only if every vertex

is protected by . If is not a defensive alliance, at least one

unprotected vertex exists in . Since already has neighbors in , at least

neighbors of in

must be added to in order to protect .

Observation 1 For , if for all , then is a defensive alliance.

Every is a subset of a defensive alliance,

since is itself a defensive alliance. On the other hand, may not be a subset of a defensive alliance of size or less. It is convenient to distinguish sets that are subsets of defensive alliances of size at most . For any positive integer , is said to be extendable if there exists a defensive alliance for which

and . It follows immediately that any subset of an extendable set is extendable.

Although it is difficult to determine when a set is extendable, it is sometimes possible to easily determine that a set is not extendable.

Observation 2 For , if and there exists a vertex for which , then is not extendable.

Lemma 3 Assume is extendable to a defensive alliance , where . Then, for any unprotected vertex , .

Proof. For any unprotected vertex , let

. Then, has

neighbors in . That

is, .

Lemma 3 implies that any extendable set with an

unprotected vertex can be enlarged to another extendable set by adding any neighbors of , for such that . The bounded search tree algorithm presented in the next section relies on pruning methods that decrease the number of branches that need to be explored.

3. The Algorithm The main algorithm for the parameterized defensive alliance problem accepts a graph , and a parameter , where . Then, one vertex at a time is given to a routine ( , given below) to either establish that the set containing the given vertex can not be extended to a defensive alliance of size , or to provide such a defensive alliance in which case the algorithm terminates.

The procedure , for where , either determines is not extendable, or extends to a defensive alliance having at most vertices. The procedure is initially invoked with containing a

Page 170: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

152

single vertex, without loss of generality assume , is a boolean variable set to ,

is some positive integer, and . The

procedure (invoked in Line 3) adjusts the values of all vertices in where is a

vertex to be added to , and (Line 13) reverses this process when is determined to not be extendable.

The correctness of the procedure assumes the correctness of and . When is a defensive alliance of at most vertices, as determined in Lines 1 and 2, is set to by Lemma 2, and the procedure exits. If the condition in Line 4 is false, is not extendable in which case the procedure exits. Thus, Lines 5 through 15 are only applicable when is not a defensive alliance and . Lemma 3 guarantees that we may add to any neighbor of an unprotected vertex (Line 11). Also, Lemma 3 assures that any subset with

vertices will contain at least one vertex

for which is extendable if and only if is extendable. Lines 9 through 15 examine these subset extensions to until one is found to be extendable, or that none are extendable. In the former case, exits to the invoking main algorithm with the identified defensive alliance in . In the latter case, exits with the conclusion that is not extendable. It is easy to see that when given a set of vertices, the procedure will correctly determine if is a defensive alliance or not. It then follows by a straightforward induction argument on the number of vertices

remaining to be added to a candidate set that executes correctly.

4. Complexity Analysis

Let be the number of times the procedure is invoked from the time when it is given a set

of size until it is determined that is or is not extendable. Thus, , since no additional calls to

are made when . For the initial set , the number of times is invoked is a function of both the degree of the vertex selected from in Line 1 and the number of vertices in . Lemma 3 gives assurance that any unprotected vertex will provide a

valid upper bound. Hence, .

Lemma 4 For , .

Proof. The claim holds when , since . Assume, for some index

and for all for which , that . When is invoked with , an

order set, a maximum number of executions of is obtained when Lines 5-16 are executed. Line 6

identifies a set of vertices. Lines 8-15 select

each of the vertices in one at a time, and adds it to the set . Then, is invoked with a set of vertices. By definition, no more than additional calls to will be made. Therefore,

. Since ,

. Thus, by the induction

hypothesis, .

Theorem 5 For any graph of order , the k-defensive alliance problem has an FPT-algorithm with running time in .

Proof. For a single vertex, from Lemma 4, the procedure is invoked at most times. The time required within each call can be bounded by ,

resulting in an overall time. The

conclusion follows since ,

where .

Page 171: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

153

The bound obtained seems to be overly pessimistic because of the restriction that the step size in the recursion was restricted to one vertex. Recall that when vertex is selected for exploration, a step size up to

is valid. If step sizes larger than one can be justified, a tighter bound can be obtained. For example, if a step size of two is possible on all levels of the recursion (each is at least 2), the bound derived for

is . A bound utilizing a step size of

throughout should lead to an even more improved bound, but the justification and determination of the resulting bound has thus far proven to be elusive. 5. Conclusion

An FPT-algorithm with a running time of that solves the defensive alliance problem

is given. This represents an exponential improvement from that given by Fernau and Raible. It is also possible to add pruning rules to limit exploring a set when one of its subsets is known to not lead to a defensive alliance. This would require maintaining a list of vertices or subsets that have been rejected as possible members of a defensive alliance of size less than or equal to . Though this should be helpful, it is difficult to determine the effect on the running time.

Other approaches to construct FPT algorithms, for example using planar decompositions may prove beneficial. While tree decompositions have not led to better running times, recent work in bandwidth decompositions shows that for families of graphs with bandwidth bounded by f(k), there exists an algorithm with running time O(23f(k)n).

Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References

1. G. Chartrand. Introductory Graph Theory. Dover,

New York, 1984. 2. J. Cheetham and F. Dehne and A. Rau-Chaplin and

U. Stege and P. J. Taillon. A Parallel FPT Application For Clusters. CCGRID, :70, 2003.

3. J. Chen and I. A. Kanj and G. Xia. Improved Parameterized Upper Bounds for Vertex Cover. In R. Kralovic and P. Urzyczyn, editors, Mathematical Foundations of Computer Science MFCS in LNCS, pages 238--249, 2006. Springer.

4. R. G. Downey and M. R. Fellows. Parameterized Complexity. Springer-Verlag, New York, 1999.

5. H. Fernau and D. Raible. Alliances in graphs: a complexity-theoretic study. In Proceedings Volume II of the 33nd International Conference on Current Trends in Theory and Practice of Computer Science (SOFSEM'07), 2007.

6. G. W. Flake and S. Lawrence and C. L. Giles. Efficient identification of web comumunities. In International Conference on Knowledge Discovery and Data Mining, ACM SIGKDD, :150-160, 2000.

7. P. Kristiansen and S. M. Hedetniemi and S. T. Hedetniemi. Alliances in Graph. J. Combin. Math. Combin. Comput., 48:155-177, 2004.

8. D. Raible. Private Communications, 2007. 9. K. H. Shafique. Partitioning a graph in alliances

and its application to data clustering. PhD thesis, School of Computer Science, University of Central Florida, Orlando, FL, 2001.

Page 172: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

154

Automata Signal Analysis and Convolution Image Algebra for an Entropy-based Change Detection

Modeling Framework

Marie Lluberes and Domingo Rodriguez

Automated Information Processing Laboratory Electrical and Computer Engineering Department

University of Puerto Rico at Mayaguez Mayaguez, PR 00681-5000

{marie.lluberes, domingo}@ece.uprm.ece

Abstract

This work presents some preliminary concepts on the theory of Automata Signal Analysis (ASA) and how these concepts are integrated with concepts from the area of convolution image algebra. This is done in an attempt to provide a formulation for an entropy-based change detection modeling framework (e-CDM). A one dimensional conceptual formulation of an e-CDM framework is presented as a composition of a generalized finite impulse response operator stage, for signal preprocessing operations, and a one-dimensional cellular automata stage for change detection operations.

1. Introduction The main objective of this article is to present some preliminary concepts on the theory of Automata Signal Analysis (ASA) and the manner that these concepts are integrated with concepts from the area of convolution image algebra in an attempt to provide a formulation for an entropy-based change detection modeling framework. One of the main advantages of this modeling framework is the manner in which it treats sensor-based signals to extract change detection and parameter estimation information about environmental observables in order to aid in decision making processes. Particular attention is given in this work on how to use this modeling framework to gain further insight and understanding about the systems dynamics of land use from the point of view of spatio-temporal diversity evolution. To accomplish the main objective of this article, some fundamental preliminary concepts and definitions are introduced in this section. The next section deals with the mathematical formulation of the entropy-based modeling framework which centers on cellular automata, information theory, and systems theory.

The last section deals with simulation efforts associated with the modeling framework, where a simulation is here interpreted as performed on a digital computer even though the basic mathematical model is mainly of a continuous nature. ASA theory is defined here as a body of integrated foundational concepts from the abstract automata theory, information theory, and systems theory to treat continuous or analog signals to extract information important to a user. The abstract theory of automata implies the theory of discrete (digital) automata from the point of view of abstract algebra, as defined in the work of V. M. Glushkov [1]. The image algebra work presented here follows the work by G. X. Ritter et al. at the University of Florida [2]. Entropy-based modeling and urban land use dynamics are defined later on after the concept of information is introduced. The concept of information is used here to describe what is known about the state of a physical or natural phenomenon, defined as a subset of events. Each event is a subset a compact state space , an infinite number of continuous states termed elementary outcomes and denoted by . An event the fundamental observable entity is defined as a subset of elementary outcomes. In this context, an elementary outcome can be treated as an elementary event. The work deals with information which is acquired through instruments exhibiting some form of limitation. For this reason, it is always assumed that the information acquired about any physical phenomenon is of a partial nature and does not uniquely describe an event. Furthermore, it is also assumed that a cost is always incurred in acquiring any information and that such information always comes in a raw format, with some form of added noise or contamination interference. The work narrowly centers on the study of a certain class of physical phenomena which are modeled as subsets of linear, shift invariant (LSI) systems.

Page 173: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

155

The decision to study LSI systems has an empirical justification since many informational problems in physics and engineering, to say the least, are modeled and simulated using this type of systems. An informational problem is defined here as any problem whose solution is obtained through a linear operator acting over an event . This work studies informational problems whose solutions are obtained with the assistance of information operators. The short term infop is sometimes used to denote an information operator. An infop takes an arbitrary elementary event

from a subset and it produces a finite set of complex numbers, a sequence of length or order, say,

, any non-zero integer. The elementary event is then termed a problem element. This numeric

sequence is often called a finite discrete complex signal and it is denoted by , where denotes the set of all finite discrete complex signals of length and denotes the standard indexing set.

2. Entropy-based Change Detection Model This section presents the elements of the proposed entropy-based change detection modeling (e-CDM) framework and provides an example for a one-dimensional conceptual formulation as it is applied to sequences over a Galois field where is a power of a prime number. This conceptual e-CDM framework is essentially composed of two fundamental stages: i) a generalized linear shift invariant operator ( ) stage to conduct front-end or preprocessing operations on the output of a given information operator ( ) acting on elementary events and ii) a one-dimensional cellular automata ( ) stage to conduct back-end functions pertaining to entropy-based change detection operations. This framework uses some theoretical aspects developed by K. Cattell and J. C. Muzio [3] for the analysis of one-dimensional cellular automata. The framework also uses signal algebra operator techniques developed by D. Rodriguez et al. [4] for the processing of finite discrete signals.

A one dimensional cellular automaton is defined here as linear finite state machine where each cell consists of a single memory element able to store one of the possible numbers in . Each cell in a one-dimensional has a next-state function and it is able to communicate with other cells via a nearest-neighbor function capability. Update rules are hybrid and deterministic.

A given takes as its input the output produced by an in a conceptual e-CDM system. One of the functions of an system is to produce the appropriate signal for a system. For instance, the output of an system may be interpreted as the fundamental region of a double infinite periodic signal whose values are taken from finite set. In this

context, a general form of a function representing a local rule, as well as a global transition map defining a global rule, can be formulated as follows:

f : GF(q)( )2M +1→GF(q)

dnk+1 = f [dn−M

k ,,dnk,,dn+M

k ]

F : GF(q)( )Z → GF(q)( )Z

F d{ }( )n = f [dn−M ,,dn ,,dn+M ]

Here, the symbol denotes the value at cell

space , at time , and is the set of integers. The nonnegative defines the radius of the local rule The conceptual e-CDM framework presented here treats basic one-dimensional as spatially extended dynamic systems modeling spatial dynamic processes. In this context, concepts from systems theory and information theory are used to study the dynamics of the . For instance, the Shannon entropy is introduced as a global quantity to measure the average information content per symbol for a given symbol sequence with a specified radius . This is accomplished by defining a probability measure on a

-length block of the infinite discrete signal

through signal probabilities

µ dn−Mk ,,dn+m

k( ) for

all finite signals

dn−Mk ,,dn+m

k{ }∈ GF(q)( )Z and

spatial points and time steps The methods and techniques developed to measure local information, say of radius as well as the characterization of information flow, is a major research effort undertaken through the proposed conceptual e-CDM framework. Another major research effort for the e-CDM framework is to study the manner in which an stage interacts with a stage through information exchange at the cell boundaries of the structure. It is assumed that information is obtained from an event

of a physical phenomenon, say urban land use dynamics, through a finite complex numeric sequence

describing aspects of its spatial dynamics.

Page 174: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

156

The utilization of cellular automata as a tool for urban land use dynamics modeling has been a subject of study for the last three decades. Recently, X. H. Liu and C. Anderson [5] described the importance of temporal dynamics on land-use change modeling. They formulated a model based on a modified Markov random field and a probabilistic cellular automaton to study how macro-scale patterns result from the interaction among micro-level system components over time. The numeric sequence is obtained through the computation of linear functionals, called functional estimators. The concept of a sequence of functional estimators as represented by the numeric sequence can be extended to include finite discrete multidimensional numeric sequences, termed here hypersignals, whose elements, in turn, are arrays of numbers, termed informational parameter arrays, instead of just complex scalars as represented by elements in . In [6], C. Kamusoko, et al. presented a Markov-cellular automata model to simulate land use/cover changes through the use of normalized transition probabilities. It is important to mention that a cost is always incurred in computing these functional estimators and novel techniques such as compressive sampling or compressed sensing are being studied nowadays to learn how to mitigate this cost [7]. Most of the ideas developed in this article on functional estimators come from inspiration drawn from the work of J. F. Traub and A. G. Werschulz on information-based complexity (IBC). IBC is defined as the study of minimal computational resources to solve analog (continuous) informational problems [8]. It is also important to point out that IBC uses the real number model as the model of computation for the study of computational complexity. This model is used as an abstraction of the floating-point model normally used in scientific and engineering computations when dealing with analog or continuous signals and systems. The model is based on two main assumptions: i) arithmetic operations and comparisons are performed on real numbers at a unit cost; ii) an information operation is performed at cost .

3. Implementation Results This subsection introduces the concept of geometric signal algebra (GSA) as the fundamental mathematical tool to study the mapping of algorithms to computational hardware structures (CHS) through an integrated hardware/software (HS/SW) approach. GSA has its origins on the work of G. X. Ritter [2] M. An and R. Tolimieri [9]. The proposed GSA framework builds on the Kronecker products algebra (KPA) framework formulated by D. Rodriguez.

This was in association of with other colleagues, for the designing, modifying, and implementing unitary signal transforms on various computer architectures [10].

The GSA framework build up allows including a matrix calculus computational environment as defined by Brewer [11] which has been demonstrated to be very useful in discrete signal processing. In this context, the concept of hypermatrix algebra, as defined by Anzoulatos and Sawchuk [12] becomes a subset of the GSA framework. Hypermatrix algebra has been demonstrated to be useful in modeling parallel computing structures. For these reasons it is concluded that the GSA framework may be used as a tool to study the concept of parallel algebraic compiler, along the lines of the research work developed by Theodor Rus [13], [14], which allows for the decomposition of programming languages into components as well as the development of machine independent specifications and implementation tools for each language component. The GSA framework studies formal concepts and fundamental principles associated with the attributes of discrete signals in generalized multidimensional cellular automata (GMCA). A GMCA structure may be formulated to discrete signals acquired from physical, chemical, or biological sensors after they are treated by infops and linear shift-invariant ( ) operators. The treatment of signals is accomplished through the implementation of computational signal processing methods on multicore signal processing systems. A computational signal processing method is defined as a structured set of computational signal processing algorithms. An algorithm, in turn, is defined as a finite sequence of signal array operators. In general, a signal array operator takes as its input a signal array, which may be one-dimensional or two-dimensional, and it produces as output another signal array which may not be necessarily of the same dimensions as the input signal array. Zhang, Cichocki, and Amari [15] have studied the geometrical structures of manifolds of finite dimensional signal array operators. This study has permitted them to develop learning algorithms for deconvolution operations which are prevalent in spatial dynamics signal processing applications.

The proposed GSA framework extends the work of Zhang, Cichocki, and Amari by integrating the geometrical structures of manifolds describing informational parameter arrays with the algebraic structure of the finite dimensional signal array operators through the convolution algebra of translation-invariance linear operators and associated character theory. This integration approach is based on the fact that every signal array indexed by an abelian group can

Page 175: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

157

be uniquely expanded as a linear combination over the characters of the associated group. This approach is at the central theme of the GSA framework since many multicore signal processing operations will be formulated as linear combination of signal array operator translations which always admit a matrix representation which can be formulated as composition of unitary operators as defined by Fino and Algazi [16] to reduce the computational effort through appropriate implementation guided by partitioning techniques. Finally, under this central theme, part of the work developed by S. Liu [17] is used to empower the GSA framework with generalized Hadamard products, through the Khatri-Rao products, and Kronecker products through the Tracy-Singh products. This work development is combined with the work of R. Arce-Nazario, et al., on mapping distributed signal processing operations to distributed hardware architectures through a basic high-level partitioning methodology [18]. 4. Conclusions Some preliminary concepts have been presented aiming at the formulation of an entropy-based change detection modeling (e-CDM) framework to use in applications such as the dynamics of urban land use. A one dimensional conceptual formulation of an e-CDM framework has been presented as a composition of two main stages, finite impulse response operator stage and a one-dimensional cellular automata stage. This work will proceed to formulate a two-dimensional conceptual e-CDM framework and to expand the study of the systems dynamics of urban land use. Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. V. M. Glushkov, The Abstract Theory of Automata,

Russ. Math. Surv., vol. 16, pp. 1-53. 2. G. X. Ritter, J. N. Wilson, and . J. L. Davidson, Image

Algebra: An Overview, Journal of Computer Vision, Graphics, and Image Processing, Vol. 49, pp. 297-331, Academic Press 1990.

3. K. Cattell and J. C. Muzio, Analysis of One-dimensional Linear Hybrid Cellular Automata over GF(q), IEEE

Transactions on Computers, Vol. 45, No. 7, pp. 782-792, July 1996.

4. D. Rodriguez, A. Quinchanegua, and H. Nava, Signal Operator Cores for SAR Real Time Processing Hardware, IEEE International Geoscience and Remote Sensing Symposium, Vol. 4, pp. 24-28, Canada, 2002.

5. X. H. Liu, C. Anderson, Assessing the impact of temporal dynamics land-use change modeling, Computers, Environment and Urban Systems, Vol. 28, pp. 107-124, 2004.

6. C. Kasumoko, M. Aniya, B. Adi, and M. Majoro, Rural Sustainability under Threat in Zimbabwe – Simulation of Future Land Use/Cover in the Bindura District Based on the Markov-Cellular Automata Model, Applied Geography, pp. 1-13, 2008.

7. E. Candès and Justin Romberg, Quantitative Robust Uncertainty Principles and Optimally Sparse Decompositions, Foundations of Computational Mathematics, pp. 227-254, 2006.

8. J. F. Traub and A. G. Werschulz, Information-based Complexity and Information-based Optimization, Encyclopedia of Optimization, Kluwer, 2000.

9. M. An and R. Tolimieri, Group Filters and Image Processing, Psypher Press, 2003

10. J. Johnson, R. Johnson, D. Rodriguez, and R. Tolimieri, A Methodology for Designing, Modifying, and Implementing Fourier Transform Algorithms on Various Architectures, Journal of Circuits, Systems and Signal Processing, Vol. 9, No.4, pp. 449-500, Birkhäuser, 1990.

11. J. Brewer, Kronecker Products and Matrix Calculus in System Theory, IEEE Transactions on Circuits and Systems , Vol. CAS-25, No. 9, September 1978.

12. D. G. Antzoulatos and A. A. Sawchuk, Hypermatrix Algebra: Theory, CVGIP: Image Understanding,” Vol. 57, No. 1, pp. 24-41, 1993.

13. T. Rus and T. Halverson, Algebraic Tools for Language Processing, Computer Language, Vol. 20, No. 4, pp. 213-238, Pergamon, 1994.

14. T. Rus, Algebraic Processing of Programming Languages, Theoretical Computer Science, Vol. 199, pp. 105-143, Elsevier, 1998.

15. L. Q. Zhang, A. Cichocki, and S. Amari, Geometrical Structures of FIR Manifold and Multichannel Blind Deconvolution, Journal of VLSI Signal Processing, Vol. 31, pp. 31-44, Kluwer, 2002.

16. B. J. Fino and V. R. Algazi, A Unified Treatment of Discrete Fast Unitary Transforms, Journal of Computation, Vol. 6, No. 4, pp. 700-717, SIAM, September 1977.

17. S. Liu, Several Inequalities Involving Khatri-Rao Products of Positive Semidefinite Matrices, Linear Algebra and its Applications, Vol. 354, pp. 175-186, Elsevier, 2002.

18. R. Arce-Nazario, M. Jimenez, and D. Rodriguez, Mapping Discrete Cosine Transforms onto Distributed Hardware Structures, J. Signal Proc. Sys., Vol. 53, pp. 367-382, Springer, 2008.

Page 176: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

158

Sensor Array Beamforming Algorithms for Bioacoustics Signal Analysis

Abigail Fuentes and Domingo Rodriguez

Automated Information Processing Laboratory

Electrical and Computer Engineering Department University of Puerto Rico at Mayaguez

Mayaguez, PR 00681-5000 {abigail.fuentes, domingo}@ece.uprm.ece

Abstract In this article, beamforming algorithms are used to process signals arriving from a sensor array consisting of five acoustic sensors. The sensors are used as a biological tool for monitoring and surveillance of neo-tropical anurans in the island of Puerto Rico, in a near real time manner. The article presents formulations of beamforming algorithms using Kronecker products-based discrete Fourier transform operations. Acoustic signals are processed in a MATLAB environment used to model beamforming operations and results are presented of this development. 1. Introduction This work describes computational methods for performing bioacoustics beamforming algorithms with the objective of estimating direction of arrival (DOA) from signals arriving at a set of acoustic sensors. The computational methods center on the use of the discrete Fourier transform and Kronecker products algebra (KPA) to formulate desired beamforming operations. The work extends previous work presented in [1] on Kronecker DFT Multi-Beamforming Operations. The Kronecker DFT work itself is based on the work developed in [2]. An important consideration of this work is the mapping of the computational methods to distributed computational structures. This mapping problem is being addressed using concepts, tools, and techniques partially developed at the Automated Information Processing (AIP) Laboratory for the last five years under the Wide Area Large Scale Automated Information Processing (WALSAIP) project [3], [4]. The bioacoustics computational methods presented here have been developed using MATLAB as an algorithm modeling and simulation environment. The methods have also been partially implemented on DSP units (TI TMS320C6713) as well as embedded computing units (Gumstix Verdex).

These bioacoustics computational methods are currently being studied for implementation on cluster computing structures, as well as multicore signal processing computing architectures. A testbed being developed at the AIP Laboratory is being utilized to test these computational methods in the field. Bioacoustics signal analysis deals, in general, with the study of sound signals emitted by animals, including humans. Much research has been devoted to determining an effective and non-intrusive way to monitor and track different types of species through the analysis of their emitted acoustic signals. From these signals information can be acquired related to the sources present and the propagation medium. Such signals are characterized to be wideband signals and are the subject of study of this work. In Section 2, below, a theoretical formulation is given and discussion of related work is also provided. Section 3 presents some results of the ongoing work.

Low cost embedded computing units equipped with a version of the Linux operating system are being used as sensor signal processing (SSP) nodes, performing signal acquisition, storage, and processing operations. The beamforming signal processing operation consists of enhancing an incoming source signal, coming at a certain incidence angle with respect to the array, while eliminating or reducing the effect of signals and noise coming from different incidence angles. The array geometry and sensor locations are considered to be unknown in many cases, converting the problem into a blind beamforming operation. In addition, noise is always recognized to be present in the environment.

When using blind beamforming [5], information regarding the sensors is unknown, and the steering directions and weights are estimated. A general eigen-value (GEV) based algorithm using a stochastic gradient ascent approach has been proposed [6], in order to estimate and adapt the filter coefficients or weights of a blind beamformer, for each frequency bin.

Page 177: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

159

2. Theory Formulation and Related Works Beamforming by means of wireless networks of acoustic arrays can be used in order to passively monitor animal behavior. Wireless sensor networks are forming novel monitoring applications in which such systems possess signal processing and communication capacities. For example, in [7], the design of a wireless acoustic network has been proposed to monitor and track acorn woodpeckers and determine source location by using beamforming. The need for source detection, location, and tracking has become a great interest for a variety of applications: military, industrial, speech analysis, bioacoustics analysis, etc. Such applications share a common objective: to design low-cost microsensor arrays which can form a distributed network, and provide the DOA estimates for source location. In search for obtaining accurate source localization estimates, two classes of algorithms have been developed: i) TDE (Time Delay Estimation) algorithms, which provide a closed-form solution and ii) AML (Approximate Maximum Likelihood) based method for parametric DOA estimations. In [8], [9], and [10] it has been proposed that AML, despite its complexity, provides better estimation accuracy. In addition, when considering multiple-source wideband signals, AML has been found to be a more attractive method by processing the data in the frequency domain. This is due to the fact that in the frequency domain a wideband signal’s spectrum can be taken as a series of narrowband spectrums for each frequency bin. Also, as stated in [8], a more reliable noise model is provided in the frequency domain than in the time domain model. In these articles, it is argued that the main disadvantage of the TDE-based algorithms, even though they work well for both narrowband and wideband signals, is that they usually consider a single source case.

2.1 Signal Model and Background Work

A signal formulation is presented in this section following the work developed in [8], and [9]. Through this formulation, the signal detected at each sensor is modeled in terms of the relative time delay between the pth sensor and the array centroid rc. In this case, the centroid of each array is used as reference point, in order to model a signal that is received at each sensor p in the array:

where denotes the signal detected at sensor p,

the mth source signal, the white Gaussian

noise, the relative time delay

between the pth sensor and the array centroid rc, and the propagation time from source to

sensor p and centroid respectively, at time instance n. This signal model assumes that each of the M sources is located in the far-field. In the far-field case as the distance between the source and array becomes larger, the signal detected at the sensors becomes planar and parallel (see Figure 1 below, developed from [8] and [9]). Effective microphone spacing and acoustic orientation calibration must be determined in order to make the beamforming of wideband acoustic signals more robust. Using effective microphone spacing helps take into consideration unavoidable ambient factors such as noise, interference, and multipath effects.

Figure 1: Far Field Geometry and Notation

This signal model is being simulated using the testbed for a basic sensor array processing (SAP) model being developed by the AIP laboratory at the Electrical and Computer Engineering Department of the University of Puerto Rico at Mayaguez (see Figure 2).

Figure 2: Sensor Array Processing Model

3. Development Work Results As shown in Figure 2, above, a sensor array processing framework is being utilized to develop the beamforming algorithms presented in this article.

Page 178: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

160

The sensor array processing testbed framework was designed for the surveillance, monitoring, and bio-acoustic characterization of neo-tropical endangered anurans. The framework consists of a novel solar-powered, wireless-based, distributed signal processing system infrastructure which may be deployed in the field and accessed through cyberspace with relative ease. A basic system infrastructure, termed a sensor array processing (SAP) system, has three essential elements: 1) a set of sensor signal processing nodes, 2) a wireless routing mechanism, and 3) a Linux-based high-performance embedded computing unit.

This section presents some results on the ongoing work of developing beamforming algorithms. Below, a basic beamformer processor structure developed for this work to deal with a linear beamforming configuration is presented in Figure 3.

Figure 3: Basic Beamformer Processor Structure

For simplicity, a linear sensor array is considered, where the samples along the array can be represented as a finite discrete input signal to be processed by a beamforming processor. This input signal along with linear sensor array axis at time can be expressed as follows:

Figure 3 shows an incident plane wave at angle over a linear array of equispaced sensors with separation distance d. Then, considering the position of the sensors on the axis, the signal can be expressed in terms of the position of the sensors, changing values by for convenience, as follows:

In general, the signal at the k-th sensor can be denoted by:

, where . Spatial samples from all of linear array sensors can be expressed as an input vector as follows:

Φ β0( ) = φ0,φ1,…,φN−1[ ]T , where is the spatially sample arriving plane wave coming from the direction. In the time domain, a beamforming operation is performed using the time delay operation in order to obtain the coherent sum

from all sensor signals. In this work, beamforming is treated from the point of view of a linear transformation over a finite discrete input signal. The beamforming transformation is denoted as a row vector such that

Β β0( )Φ β0( ) =Νφ0 , where

Β β0( ) = 1,e− j2π d

λβ 0

,e

− j 2π 2dλβ 0

,,e

j2πN−1( )dλ

β 0

In general, the beamforming vector is used to steer an input vector toward direction obtaining as result a beam pattern of a linear array steered to a specific direction. The product can be represented as:

Β β0( )Φ β( ) = φk ⋅k= 0

N−1

∑ e − j2πkν{ }

where is called the spatial spectrum variable. A series of tests have been proposed in order to determine how the sensor spacing, number of sensors, and noise can affect the beamforming operation. Such tests consisted in developing the beamforming algorithms based on DFT and DFT Kronecker formulations, using MATLAB and DSP units. Multi-beamforming was first developed, making use of the Discrete Fourier Transform (DFT) matrix. Afterwards, a DFT Kronecker formulation was designed for the multi-beamforming operation. This work was implemented in MATLAB, and then for the DSP 6713 for directions angles between and radians.

Page 179: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

161

Figure 4: Kronecker DFT Multi-beamforming MATLAB

results for 64 sensors

Figure 5: Kronecker DFT Multi-beamforming DSP results

for 64 sensors

4. Conclusions Based on current results (for example, see Figure 4 and Figure 5 above), it has been found experimentally that using a microphone spacing of , where

corresponds to the wavelength of the input signal, and incrementing the number of sensors, provides a better beam pattern formation, especially in the presence of noise. As future work for, it is desired to implement blind beamforming algorithms to study arbitrary acoustic array configurations with the purpose of detecting and monitoring the presence of amphibians in a field environment at a near real time processing. 5. Acknowledgement The following people are acknowledged participating in developing the SAP testbed: Hector O. Santiago, Inerys Otero, Gonzalo Vaca, David Márquez, Eddie Pérez,

César Aceros, and Gail Ross, our biologist research assistance.

Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. Alberto Quinchanegua and Domingo Rodríguez, A

Kronecker DFT Multi-Beamforming Implementation Approach, Proceedings of the 3rd International Symposium on Image and Signal Processing and Analysis, pp. 1066-1071, 2003.

2. J. Johnson, R. Johnson, D. Rodriguez, R. Tolimieri, A Methodology for Designing, Modifying, and Implementing Fourier Transform Algorithms on Various Architectures, Journal of Circuits, Systems and Signal Processing, Vol. 9, No. 4, pp. 449-500, Springer, 1990.

3. R. Arce-Nazario, M. Jimenez, D. Rodriguez, Algorithmic-level Exploration of Discrete Signal Transforms for Partitioning to Distributed Hardware Architectures, Journal of IET Comput. Digit. Tech., Vol. 1, No. 5, pp. 557-564, 2007.

4. R. Arce-Nazario, M. Jimenez, D. Rodriguez, Mapping of Discrete Cosine Transforms onto Distributed Hardware Architectures, Journal of Signal Processing Systems, Vol. 53, No. 3, pp. 367-382, Springer, 2008.

5. Joe C. Chen, Kung Yao, and Ralph E. Hudson, Source Localization and Beamforming, Collaborative Signal and Information Processing in Microsensor Networks, IEEE Signal Processing Magazine, pp. 30-38, 2002.

6. Ernst Warsitz and Reinhold Haeb-Umbach, “Blind Acoustic Beamforming Based on Generalized Eigenvalue Decomposition”, Proceedings of IEEE, pp. 1529-1539, 2007.

7. H. Wang, C. E Chen, A. Ali, S. Asgari, R.E. Hudson, K.Yao, D. Estrin, and C. Taylor, Acoustic Sensor Networks for Woodpecker Localization, Advanced Signal Processing Algorithms, Architectures, and Implementation XV, Proceedings of SPIE, Vol. 5910, Bellingham, WA, pp. 1-11, 2005.

8. L. Yip, K. Comanor, J.C Chen, R.E. Hudson, K. Yao, and L. Vandenberghe, Array Processing for Target DOA, Localization, and Classification Based on AML and SVM Algorithms in Sensor Networks, Lecture Notes in Computer Science, Information Processing in Sensor Networks, Springer-Verlag, pp. 269-284, 2003.

9. Hanbiao Wang, Wireless Sensor Networks for Acoustic Monitoring, Doctoral Thesis Document, ProQuest Information and Learning Company, Ann Harbor, MI, pp. 1 – 132, 2006.

10. Joe C. Chen, Len Yip, Jeremy Elson, Hanbiao Wang, Daniela Maniezzo, Ralph E. Hudson, Kung Yao, and Deborah Estrin, Coherent Acoustic Array Processing and Localization on Wireless Sensor Networks, Proceedings of IEEE, Vol. 91, NO.8, pp. 1154-1162, 2003.

Page 180: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

162

Analysis of Environmental Data in Data Centers

Lola Bautista

Computing and Information Sciences and Engineering PhD Program

University of Puerto Rico, Mayagüez Campus Mayagüez, Puerto Rico 00681-5000 Email: [email protected]

Ratnesh Sharma

Hewlett-Packard Laboratories

Palo Alto, CA 94304 [email protected]

Abstract

This work describes the analysis of environmental data collected from environmental sensors to discover and classify trends and patterns and relationships within temperatures and air flow data in a data center. Data mining techniques have been used to extract knowledge from historical data to improve the dynamic monitoring and control of data center power and cooling resources. Initially exploratory data analysis (EDA) techniques were used for reduction of data, visualization of deterministic behavior and identification of normal or abnormal environmental behavior in the control process. Since the most important part of the analysis is to understand the influence of the Computer room air conditioning (CRAC) units over the racks, Principal Components Analysis (PCA) was used to capture the variables that contain most of that information. 1. Introduction Data center thermal management challenges have been steadily increasing over the past few years due to rack level power density increases resulting from system level compaction [1], [2] and energy demands. With the advent of Smart Cooling [3], local temperature sensing is becoming a key part of datacenter thermal management. In this paper, we explore the application of data mining techniques, statistical methods [4], exploratory data analysis [5] techniques, and principal components analysis on temperature data sets collected from production data centers in HP Labs, Palo Alto for development of expert systems and advising solutions for runtime management. 2. Data Center Layout Figure 1 displays a typical state-of-the-art data center air-conditioning environment with under-floor cool air distribution. CRAC units cool the exhaust hot air from the computer racks. Energy consumption in data center cooling comprises work done to distribute the cool air

and to extract heat from the hot exhaust air. A refrigerated or chilled water cooling coil in the CRAC unit extracts the heat from the air and cools it within a range of 10°C to 18°C. The flow of chilled water is controlled by an internal mixing valve that operates based on the air temperature measured at the return of the CRAC unit.

Figure 1. Typical Raised Floor Data Center

Configuration Each one of the racks in the datacenter has attached a set of five sensors at the inlet, and other five at the outlet. For this paper has been considered only the inlet sensors at the front denoted by T1, T2, T3, T4 and T5 from bottom to top. The rack units are grouped by rows (see Figure 2). Rows A, Aext, B, Bext, C and G were selected in order to cover different locations within the datacenter for the analysis. To understand the effect the CRAC units on the rack temperature sensors, perturbation experiments were conducted. CRAC unit temperature set point and air flow rates were changed to perturb the thermal equilibrium in the datacenter. The goal of the experiments was to better understand the transient fluid mechanics and heat transfer in a dynamic datacenter. Such knowledge can help in identifying potential anomalies and operational issues in datacenter operation [6].

Page 181: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

163

Figure 2. Data Center Layout

3. SmartCooling Data Mining A large amount of data had been collected over 2 years from the data centers located at Hewlett-Packard Laboratories running several experiments in order to understand the dynamic interaction existing between CRAC unit temperatures and the corresponding responses over the rack sensors. Automation of knowledge discovery and development of predictive control are some of the key goals of this research effort. Data mining techniques provide methods for reduction of raw data for analysis and tools for extraction of significant patterns for model development. In this first approach to understand the influence of the CRAC units over the racks was used Exploratory Data Analysis and Principal Components Analysis in order to gain a deep insight into the raw data and to identify the significant variables that are acting over the whole system. Here is presented the outputs from one of the conducted experiments, (Figure 3). The plot shows the progressive perturbation of CRAC Unit 1 (CU1) through CRAC Unit 6 (CU6). The perturbation of each CU starts when the previous CU is reaching its lowest temperature. For example, at index time 70, CU1 is reaching its lowest temperature (see first subplot), and at the same time is starting the perturbation over CU2 (see second subplot), and so on over the other CUs. The response of the rack sensors to that perturbation is recorded simultaneously. Figure 4 shows the sensor response of the sensors located in different rack units. Initially, the response of the sensors appears to be identical for different periods of time. The following subsection describes the results obtained from the Exploratory Data Analysis of this raw data.

a. Exploratory Data Analysis EDA enables greater insight into a raw data set. In this work it was used specially to test underlying assumptions such as randomness and distribution fitting. 13 racks were randomly selected from a datacenter for analysis.

Figure 3. Perturbation over CRAC Unit Supply

Temperatures

Figure 4. Rack Inlets Temperatures

The first test was conducted to determine the randomness of the data. Using lag-plots as shown in Figure 5, it is possible to visualize a strong relation between the current temperature, denoted Y and the previous, denoted Yi-1. This relation suggests the presence of a deterministic nature of the data, indicating the choice of model that can be built from the data. In this case, an auto-regressive model could be the most suitable for this data.

Figure 5. Lag Plot and Normal Probability Plot

for Rack A7

Page 182: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

164

Understanding the shape of the distribution is necessary to create the appropriate predictive model. In that context, the second test was conducted to determine the distribution that best fit the data [7]. Figure 5 also shows the normal probability plot for both data sets. These plots indicate that normal distribution does not adequately fit the data. Probability Plot Correlation Coefficient Plot (PPCC) [8] is used to identify the kind of distribution appropriate for the data. The shape parameter � is obtained using Tukey Lambda PPCC calculator [9]. This parameter indicates whether a distribution is short or long tailed, thus describing the best-fit family distribution for the data. In this case, Tukey Lambda PPCC plots for both data sets, conclude that U-shaped distribution families are appropriate for this purpose. 3.2 Principal Components Analysis Having gathered details about data set through EDA, Principal Component Analysis was conducted to identify the significant influences among the CRAC Units. PCA is used to reduce dimensionality in the data set, while maintaining the variation present in the data set [10]. Let X be the raw data matrix of dimension m x n, where m corresponds to the total of observations (tj, j=0,...,m-1) and n corresponds to the total number of sensors (column vectors xl, l=0,...,n-1). Figure 6 illustrates the configuration of the matrix.

Figure 6. Input Data Matrix

The goal of PCA consists in finding an orthonormal matrix V such that the set of correlated variables X be transformed into a new data set Y of uncorrelated variables with maximum variance. This transformation is presented in Equation (1) as follows:

Y = VX (1) The set of vectors vi, i=0,...,k-1 forms a new basis for the data set X and are called the Principal Components of X. These vectors have the following properties: They are the eigenvectors of CX, the covariance

matrix of X

CX = (1/m)X XT (2)

where XT is the transpose of X The covariance matrix of Y, referred to as CY is a

diagonalized matrix such as each element CYi is the covariance of X along vi. The elements of CY are known as the eigenvalues of CX.

The projection of Y into the original space is given

by

(3)

It is obtained in such a way that the squared error be minimum.

According to [11], the vector columns of Y are the hidden variables for X. Hidden variables are detected with the occurrence of anomalies in the process. In this case, the CRAC unit perturbations are equivalent to anomalies. The variation in the energy of the signal is captured by the number of hidden variables detected. The occurrence of a change in the energy of the signal increases the number of hidden variables. If the energy remains stable, the number of hidden variables is reduced. Detection of a single hidden variable indicates normal behavior. A small subset of racks was selected to demonstrate the utility of this technique. The selection was based on knowledge the physical location of the racks to capture inter-row and intra-row (or inter-rack) variations. The first subset corresponds to rack units A1, A4 and A7, and the second subset corresponds to rack units B2 and B7, in order to compare the behavior of the two rows of racks in the data center. The raw data was normalized using Equation (4) before analysis for detecting hidden variables.

(4)

Figure 7 shows the supply air temperatures of CRAC Units 1, 2 and 3 in experiment A. The vertical lines over the plots indicate the most significant index time where the number of hidden variables increased. Three runs for detecting hidden variables were executed. Run 1 included rack units A1, A4, and A7 (magenta line). Run 2 included rack units B2 and B7 (cyan line). Run 3 included all five rack units together (green line).

Page 183: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

165

Figure 7. Hidden Variables

These plots indicate that the increase in the number of hidden variables coincides with the perturbations of the CRAC Units 1, 2 and 3 labeled as P1, P2 and P3 respectively. The detection of hidden variables took less iterations when all the racks are analyzed together (A1, A4, A7, B2, and B7). The estimation of time of occurrence of a perturbation at rack level is very useful to further analysis of the correlations between the CRAC units and the racks. Similar detection can be used to perform change point detections and identify any periodicity in perturbations. 4. Conclusions With the development of complex IT and facility infrastructure, rising energy costs and evolving data center service scenarios, it is important to understand the need for an expert management system that can manage the life cycle of the data center services. Although composite and advanced numerical models have been developed to design datacenter energy and thermal management infrastructure, none exist for real time management. Techniques like Exploratory Data Analysis and Principal Component Analysis are a necessity for the development of such models in real time. This paper is an attempt to lay the foundation for such an approach. The current work was focused on reduction of raw data to gain a deep understanding of the influence of CRAC Units over rack sensors. EDA was useful in discovery of the deterministic nature of data and thus guide the building of an auto-regressive model. Creation of such models will help in providing future predictions about the energy and cooling management within the data center. Identification of hidden variables by using PCA necessitates further analysis of multiple time series in order to determine accurately the location of change points across correlated data. This makes it possible to build a robust model for the thermal management in the data centers as well as to improve its physical deployment of resources. The comparison of two different experiments of different duration helps to

estimate the characteristic time periods that can increase the statistical significance of the study. Although much remains to be done in this area, such an analysis of environmental data is crucial to gather inferences from past performance, to control the present ensemble and to predict (or prevent) the occurrence of critical events within future datacenters. Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. R. Schmidt. Computer and telecommunications

equipment room cooling: A review of literature. Eighth Intersociety Conference on Thermal and Thermomecanical Phenomena in Electronic Systems, May 2002.

2. R. Schmidt, E.E. Cruz, and M.K. Iyengar. Challenges of datacenter management. IBM J Res. Dev., 49:709–723, 2005.

3. Chandrakant Patel. A vision of energy aware computing from chips to data centers. The International Symposium on Micro-Mechanical Engineering, December 2003.

4. R. Ott and Longnecker M. An Introduction to Statistical Methods and Data Analysis, 5th Ed. Duxbury, 2001.

5. J. Tukey. Exploratory Data Analysis. Addison-Wesley, 1977.

6. Ratnesh Sharma, Rocky Shih, Chandrakant Patel, and John Sontag. Application of exploratory data analysis techniques to temperature data in a conventional data center. Proceedings of IPACK 2007, ASME Inter-PACK07, July 2004.

7. StatSoft. Statsoft electronic textbook. http://www.statsoft.com/textbook/stathome.html.

8. National Institute of Standards and Technology. Nist/sematech e-handbook of statistical methods. http://www.itl.nist.gov/div898/handbook/.

9. P. (2007) Free Statistics Software Office for Research Development Wessa and Education version 1.1.21. Tukey lambda PPCC plot calculator. http://www.wessa.net/.

10. I.T. Jolliffe. Principal Component Analysis. Springer,2002.

11. Spiros Papadimitriou, Jimeng Sun, and Christos Faloutsos. Streaming pattern discovery in multiple timeseries. Proceedings of the 31st VLDB Conference, pages 697–708, 2005.

Page 184: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

166

Gridjobs - A Personal High Throughput Computing Platform

John Sanabria, Wilson Rivera, Domingo Rodriguez

Electrical and Computer Engineering Department University of Puerto Rico, Mayagüez Campus

Mayagüez, Puerto Rico 00681-5000 Email: [email protected]

Abstract This paper describes the design and implementation of ”Gridjobs” - a gateway tool that integrates deployment, execution, and notification mechanisms for long lasting applications on multi-purpose grids. Gridjobs employs statistical analysis over historical data along with forecasting techniques to present feasible grid snapshots of where the jobs could be executed. Gridjobs functionalities are exposed through web services and RMI protocols providing a highly decoupled framework to leverage the cooperative work amongst multiple gateway instances and third party applications. Gridjobs has been deployed on a set of computational resources pertaining to the Pacific Rim Applications and Grid Middleware Assembly (PRAGMA) infrastructure, and tested using a computing intensive application. 1. General Requirements Grid infrastructures based on legacy clusters are characterized by their heterogeneity and multiple administrative domains. They provide a computational environment with high levels of uncertainty related with availability and reliability. Different meta-schedulers have been proposed and developed in order to orchestrate the utilization of these geographically distributed resources. Often the proposed solutions do not consider realistic scenarios where the grid infrastructures are interconnected through non-dedicated networks, resources having particular administration policies, and where reservation mechanisms are not available. In addition, these grid solutions lack of addressing core issues at user level such as legacy application deployment, application execution and notification mechanisms, [10]. This article describes a solution named Gridjobs where these issues are addressed and it proceeds as follows. Section 2 discusses related work. A description of the

Gridjobs framework is presented in Section 3. This section starts with a definition of a grid resource in the Gridjobs framework and finalizes with a description of the Gridjobs architecture. Then, Section 4 presents preliminary results of executing a computational intensive application over a large scale infrastructure. Finally, conclusions and future work are presented in Section 5. 2. Related Work Falkon [8] aims to allow the rapid and efficient execution of many short tasks on large computer clusters. It combines a multi-level scheduling, a streamlined task dispatcher, and a data-aware scheduler. Falkon has shown excellent results running short tasks, under Massive Parallel Processing (MPP) environments. It does not use any specific LRM for task dispatching but implements a customized module for task mapping onto computational resources. Falkon is not intended for scheduling user applications but for executing scheduling plans coming from high level workflow tools such as Karajan. Gridway [6], [5] enables large-scale, reliable and efficient sharing of computing resources managed by different LRM within a single organization or scattered across several administrative domains. Its architecture consists of a request manager, dispatch manager, submission manager and performance monitor. Every module is highly configurable through a scripting language designed for Gridway. By default, it provides a basic scheduling mechanism based on flooding. During initial phases, Gridway broadcasts task executions to the known resources in order to determine their performance capabilities. This greedy approach even though provides an accurately snapshot of the resources capabilities; induces a worthless computational effort over the grid infrastructure.

Page 185: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

167

3. Architecture 3.1 Grid resources architecture Grid infrastructures are built around of computational assets which implement and deploy protocols, services and access policies widely adopted. Due to the assets heterogeneity a hierarchical design has been proposed in order to hide the existing divergences between them. At the lowest level, the fabric layer considers physical components such as storage devices, processing units, and special measurement devices, among others. The Hardware Manager Layer (HML) groups software and firmware components to hide the complexity and heterogeneity found in the fabric layer. Thus, software components such as operating systems, monitoring tools, development tools, system libraries, and Local Resource Managers (LRM) are part of this layer. For our purposes, this layer takes care of all components in charge of managing resources under a single administrative domain. Next, the grid middleware provides a unique interface for accessing the functionality offered by the HML. It gathers common services in functional groups providing single access points to specific operations to deal with the operating system, resource monitoring, task control and file management services. 3.2 Gridjobs architecture Gridjobs has a modular design as illustrated in Figure 1. It exhibits a loosely coupled architecture allowing any module interact with any other internal or external components through web service and RMI protocols. In addition, every module represents a self-contained entity with a well defined behavior and interface.

Figure 1. Gridjobs Modules Gridjobs has support for synchronous and asynchronous task execution, grid resources and tasks monitoring,

statistical analysis over data collected during task execution, application deployment and remote file management. Following, the framework modules are described. The persistence module mimics an Information Service (IS) defined in conventional grid architectures. It models common entities found in grid systems such as user, task, and grid resource. Even though, this module is not compliant with any IS standard, it exposes its functionality through web service protocols and supports stateful entities. This module relies on Grails’ object relational mapping implementation known as GORM. The monitoring module is in charge of recording the state of the grid resources. It can watch resource status from online or off-line sources. For the on-line case, it relies on monitoring tools deployed on remote resources to expose the resource status through web service protocols. For instance, PRAGMA encourages the deployment of the SCMSWeb tool to collect and expose the cluster health through HTTP and XML protocols. For off-line monitoring, this module processes log files retrieved from remote LRM. At this time, it has support for processing Sun Grid Engine log files to record every activity occurred in the cluster. The deployment module provides a straight mechanism for deploying applications over grid resources. The Figure 3 shows a screen shot of the client module used for deploying legacy applications over PRAGMA. This front-end collects relevant data associated with the application as well as the application files and a script file which is in charge of carry out the deployment process. So, this script will contain the commands regularly used for deploying the application over a conventional UNIX system. Then, through the SSH and HTTP protocols, the application is distributed and installed over selected grid resources.

Figure 2. Screen shot of the application used for deploying applications over PRAGMA clusters.

Page 186: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

168

The task module is in charge of executing and monitoring tasks. It supports asynchronous and synchronous task execution. This module interacts with a local GRAM instance for invoking the execution. When a synchronous execution is requested the module builds a system command that invokes theglobus‐job‐runprogram with the parameters provided by the user and IS. For asynchronous execution, the globus‐job‐submitcommand is invoked instead. This command is used for executing long lasting tasks. When the globus‐job‐submitcommand ends its execution, it provides a task identifier which will be used for the task monitor module in order to track the task performance. On regular intervals of time, a remote GRAM instance is queried about the task status, through the globus‐job‐status command. Figure 4 depicts the task state diagram when asynchronous execution is requested.

Figure 3. State diagram of a grid task asynchronously executed.

The task monitor module watches the task behavior since the task starts until it reaches either ERROR or DONE state. During task life time, the monitor can infer valuable information about the time that the task spends in a remote LRM queue or about its execution time. This data can be determined from the observations made by the task monitor. Then, every time that a transition state occurs, it saves a time stamp associated with this event. As consequence, the execution time of a task in a compute node can be determined from the result obtained of subtracting the time stamp associated with the ACTIVE state from the time stamp associated with the DONE state. However, multiple factors can affect the successful termination of a task. In that case, the task will reach either FAILED or ERROR state. Anyway, this information is also made persistent in the IS module for posterior analysis. Finally, the task monitor notifies via e-mail about the task final state to the task submitter and cleans the possible residuals generated during the task execution such as temporary files and orphaned process. The statistical module analyzes the information stored in the IS and infers likely resource and task performance scenarios. That said, the data collected by the monitoring and task modules is employed as input for identifying some probabilistic function to best

model this data. At this time, the normal, exponential and log normal probability functions are considered. Then, using Probability Plot Correlation Coefficient (PPCC), the module selects the probabilistic function to best represent the data. However, we are conscious about the theoretical limitations of the aforementioned probabilistic functions and we are working in the integration of other functions such as Poisson and Weibull. Lastly, the file management module provides copy, move, delete and transfer operation files over remote file systems. It highly relies on the SSH protocol for its proper operation; in addition, it exposes its functionality through the web service protocol. 4. Study Case A particular wireless sensor net-work testbed is currently being developed at the Jobos Bay National Estuarine Research Re-serve (JBNEER) environmental observatory situated in the southern part of the island of Puerto Rico. JBNERR encompasses a chain of 15 tear shape mangrove islets known as Cayos Caribe and the Mar Negro area in western Jobos Bay. The reserve is home to endangered species and it is managed by the US National Estuarine Research Reserve System of the National Oceanic and Atmospheric Administration (NOAA). The main objective of the testbed is to gather and process near real-time data from various sensor types to assist in the analysis and modeling of large scale environmental systems. Special attention is being given to the gathering and processing of acoustic information. The great amount of data gathered by the sensors is being processed and stored using the resources of the grid. In particular we are utilizing the resources provided by the international community through the Pacific Rim Applications and Grid Middleware Assemble (PRAGMA. Analyzing acoustic data at a 48,000 samples/sec rate, with 16-Bits A/D data converter for a single node raw data acquisition may generate about 5 TB of data yearly. To processing acoustic data we use a Cycle Short Time Fourier Transform (CSTFT) kernel developed under the Automated Information Processing laboratory at the University of Puerto Rico (UPRM). For this study case we have used Gridjobs for deploying the CSTFT application over five PRAGMA clusters, namely, fsvc001.asc.hpcc.jp (AIST), sakura.hpcc.jp (AIST), rocks-52.sdsc.edu (SDSC), rocks-153.sdsc.edu (SDSC) and komolongma.ece.uprm.edu (UPRM). During one week, Gridjobs submitted 8640 tasks to PRAGMA and monitored their performance. Every task executed the CSTFT application and processed a small data chunk. Executions were processed in under eight minutes. The following sections shows an overview of the

Page 187: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

169

performance achieved by the submitted tasks discriminated by stage. These data were obtained from the execution of R and Groovy scripts that come integrated in our framework. The graphics presented in sections 4.1, 4.2 and 4.3 are density functions of the resources under evaluation. The axis x represents time in milliseconds, and axis y indicates the number of tasks. 4.1 Unsubmitted This is the first stage traversed by every grid task. It occurs when GRAM prepares the task for submission but the task has not been accepted by the grid resource. Two resources got our attention due to their singularities. First, fsvc001.asc.hpcc.jpwhich exhibits, on average, the longest UNSUBMITTED time. This situation could be generated due to the long distance existing between the resource and Gridjobs and the high number of possible incoming requests that this resource receives due to large number of processing nodes. Similar situation is experimented in rocks-52.sdsc.edu which is the largest cluster that San Diego University shares with PRAGMA. The tasks submitted to it, wait around five seconds, on average, but, there are a considerable number of tasks that take up to 10 seconds in to be submitted, Figure 4. Then, this resource has a large number of computational nodes that suggest a high level workload that could cause unexpected longer delay times.

Figure 4. Most of the tasks waited around of five

seconds in order to be dispatched.

4.2 Pending This stage is achieved when a task has been received by the remote LRM but it has not been mapped in a computational node. This time, the network latency between the grid resource and Gridjobs does not affect the task performance but the remote resource load does. The tasks did experiment a delay of approx. 30 seconds on three of five resources. As was expected, rocks-52.sdsc.edu and fsvc001.asc.hpcc.jp had, in average, higher delay times due to high work load. Delays above five minutes could not be registered because the task monitor was programmed to abort any task spending more than five minutes in this stage. On the other hand, Figure 5 presents the performance of the rocks- 153.sdsc.edu cluster which has four nodes but every node has a quadcore. This resource has a low number of requests for tasks execution. As a consequence the tasks waiting time is 33% to 66% of the time spent by identical tasks on others resources such as rocks-52.sdsc.edu and fsvc001.asc.hpcc.jp.

Figure 5. rocks-153.sdsc.edu did exhibit a lower

delays for attending enqueue tasks. 4.3 Active A task is in ACTIVE state when it starts its execution on a computational node designated by the remote LRM. The network latency between the resource and Gridjobs does not affect the task performance but LRM policies do. For isntance, when LRM policies allow that multiple tasks to be mapped on a single computational node, they start to contend for the node resources provoking task performance degradation. Figure 6 shows the task performance over rocks-153.sdsc.edu. This graphic suggests high variance levels; however most of the data are around three minutes.

Page 188: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

170

Figure 6. The task execution time was around of

three minutes however lower times were also achieved

4.4 Variance The axis y represents the task execution time in milliseconds from Gridjobs perspective. Figure 7 presents the task performance per resource. This graphic confirm our assumption about the uncertainty found on grid resources based on legacy clusters under multiple administrative domains. It exhibits a non-depreciable number of outliers that affect the accuracy of the implemented forecasting techniques.

Figure 7. Axis x represents komolongma, rocks-153, rocks-52, sakura and fsvc001 resources. The axis y

represents the task execution time from the Gridjobs perspective.

5. Conclusion and Future Work Gridjobs provides an easy to use mechanism for utilizing Grid infrastructures based on legacy clusters. It

presents a modular design that allows the integration of new technologies and algorithms. Our framework has been initially tested with resources using Globus Toolkit as grid middleware. However, due to its modular design the integration with other Grid technologies such as gLite or UNICORE is possible. The preliminary results obtained from the execution of a signal processing operator over PRAGMA, evidence the high degree of uncertainty and variability found on Grid productions systems. We are currently working on the development of a probabilistic scheduling algorithm that uses historical data to forecast the resource reliability and availability. Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. BIERBAUM, B., et al. Reliable orchestration of

distributed mpi-applications in a unicore-based grid with metampich and metascheduling. In PVM/MPI (2006), B. Mohr, J. L. Trff, J.Worringen, and J. Dongarra, Eds., vol. 4192 of Lecture Notes in Computer Science, Springer, pp. 174–183.

2. BURNS, G., et al.: An Open Cluster Environment for MPI. In Proceedings of Supercomputing Symposium (1994), pp. 379–386.

3. EICKERMANN, T., et al. Co-allocation of mpi jobs with the viola grid metascheduling framework. In Proceedings of the German e-Science Conference 2007 (Baden-Baden, May 2007), Max Planck eDoc Server, Max Planck Digital Library. Also published as CoreGRID Technical Report TR- 0081.

4. FOSTER, I. What is the grid? - a three point checklist. GRIDtoday 1, 6 (July 2002).

5. HUEDO, E., et al. A framework for adaptive execution in grids. Softw. Pract. Exper. 34, 7 (2004), 631–651.

6. HUEDO, E., et al. A modular metascheduling architecture for interfacing with pre-ws and ws grid resource management services. Future Gener. Comput. Syst. 23, 2 (2007), 252–261.

7. RAICU, I., et al. Toward loosely coupled programming on petascale systems. In SC ’08: Proceedings of the 2008 ACM/IEEE conference on Supercomputing (Piscataway, NJ, USA, 2008), IEEE Press, pp. 1–12.

8. RAICU, I., et al. Falkon: a fast and light-weight task execution framework. In SC’07: Proceedings of the 2007 ACM/IEEE conference on Supercomputing (New York, NY, USA, 2007), ACM, pp. 1–12.

9. ROMBERG, M. The unicore grid infrastructure. Sci. Program. 10, 2 (2002), 149–157.

10. SHANTENU JHA, et al. Using clouds to provide grids higher-levels of abstraction and explicit support for usage modes, January 2008.

Page 189: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

171

Instrumentation Support Testbed for Bioacoustics Signal Processing

Hector Santiago and Domingo Rodriguez (Advisor)

Automated Information Laboratory Electrical and Computer Engineering Department

University of Puerto Rico at Mayaguez Emails: [email protected], [email protected]

Abstract This project describes instrumentation support to develop a solar-powered, wireless-based, distributed signal processing system to be deployed at any field environment and accessed through cyberspace. The system infrastructure, named a sensor array processing (SAP) system, consists of three essential elements: 1) wireless sensor signal processing nodes (SSP), 2) a wireless routing mechanism (WRM), and 3) a Linux-based high-performance embedded computing unit (MSN). Nodes are used as sensor for acoustic signal data acquisition which is sent through a WRM to a Linux-based high-performance embedded computing unit for further raw data processing and information representation. 1. Introduction This work describes part of the instrumentation process taking place in the ongoing development of a novel solar-powered, wireless-based, distributed signal processing system infrastructure which may be deployed in the field and accessed through cyberspace with relative ease. A basic system infrastructure, termed a sensor array processing (SAP) system, has three essential elements: 1) a set of sensor signal processing nodes, 2) a wireless routing mechanism, and 3) a Linux-based high-performance embedded computing unit. The sensor signal processing (SSP) nodes are a set of wireless, low-cost acoustic signal acquisition, storage, and processing nodes which use Linux-based miniature single board computers. These nodes are combined and treated as a sensor array unit without a prescribed topology and their signal-based acoustic information is aggregated through a wireless routing mechanism (WRM) to a Linux-based high-performance embedded computing unit, called a master sensor node (MSN), for further raw data processing and information representation.

Each master sensor node is endowed with a unique internet protocol (IP) address which may be accessed through cyberspace. In this manner, a number of basic sensor array processing systems or SAPs, each with its own master sensor node unit, may be combined through a web-based middleware data management overlay into a general sensor array processing framework for environmental monitoring neo-tropical anurans. A preliminary field test was conducted successfully in Arecibo region of Puerto Rico. In this field test the solar panel modules were not part of the evaluation. A distance of 150 meters was obtained between SSP’s and the access with wireless uninterrupted communication. 2. Instrumentation Support 2.1 SAP System The SAP system on Figure 1 is based on Advanced Sensor Nodes for any sensing and monitoring purpose, the MSN for data processing and storage and a Basic Interface Module in this case for WRM between the Sensors, and the MSN and capability of internet access to the MSN and vice versa for analysis and data interpretation.

Figure 11: Sensor Array Processing System

Page 190: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

172

2.2 Testing the SAP The field testing of the SAP testbed started with the programming of the Linux-based SSPs. Each SSP node consists of a package of three Gumstix boards as shown in Figure 2 below. Theses boards are: i) the Verdex XL6P with speed of 600 MHz and a memory of 128 MB RAM; ii) The audiostix2 board with audio input and output and USB client capacity; and iii) The netwifimicroSD FCC board with 10/100 Ethernet base, micro SD storage socket, and 802.11b/g wireless communication capability.

Figure 2: Gumstix boards

The programming goal was to program the three-board package to be able to record one minute of amphibian vocalization every six minutes, during nocturnal activity, for a time period, say, from 6 p.m. to 6 a.m., The data was then transmitted wirelessly via the WRM to the MSN. This programming task was achieved using scripts developed using the C language. Programs and Linux based tools such as “cronjobs” were also used. The best sound quality was achieved with active microphones which are battery enabled. In field testing the wireless capability of the Gumstix units, a distance of about 150 meters was achieved between the access point and these units. For the WRM module, an EnGenius EOC 8610 water resistance and lighting suppression access point was used with 802.11a/b/g communication capability and 802.11 power supplied over Ethernet. The test of the access point correlated with the WRM tests of the Gumstix for a tested radial capacity of communication of about 150 meters. For the MSN unit, an A-Open i945GMt-FSA Linux-based computer was used. The goal was for this unit to receive the acoustic data files from the SSPs and uploaded to a web-based server facility.

Figure 3: Single SSP Unit Communication Structure

This was achieved by the use of scripts and Linux tools as well as selecting the proper settings for the wireless communication network such as to protect the internal network of the SSPs from access through the public IP address provided to the MSN.

Figure 4: Sensor Array Processing Communication

Figure 4 above depicts the communication settings designed for SAP testbed framework; including the five SSP’s which are the Gumstixs, the Access Point for WRM and the MSN for data processing. 2.2 Solar implementation The purpose of the solar implementation is to be able to mount the SAP on any field location in the island of Puerto Rico without the need to supply electricity from any other source. For the field testbed on the R&D grounds at the University of Puerto Rico at Mayaguez, two 24 volts photovoltaic panels in parallel are being utilized to maintain the charge of two 12V batteries for at most two consecutive nights without the need of sun energy. Figure 5 depicts this testbed configuration.

Page 191: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

173

Figure 5: Photovoltaic Power Array

A charge controller was used to maintain the maximum and minimum voltages of the batteries in a way to preserve the life of the batteries. With a load of five Gumstixs and the Access point we have a total of 30 Watts of consumed power which is supplied by the two batteries in series and maintained by the photovoltaic cells. A DC to AC inverter is used to supply the AC power needed using a five-slot multiplug for the Gumstixs and a extension cable for the Access Point. For the testbed at the UPRM water proof pelican cases were used to protect the equipment from malfunction (see Figures 6). Each gumstix was placed inside an individual pelican case, with their respective audio extension cable and wireless antenna. The charge controller, the DC to AC inverters, as well as the batteries utilized for field test were also placed in their respective cases for damage protection.

Figure 6: SAP Testbed on the R&D Grounds at UPRM For further protection, each power connection between the converter, the extension cables, and the power supplies of the Gumstix units, as well as the Wireless Access Point were properly sealed for water protection. In Figure 6, for example, the SAP field testbed deployed on the grounds of the Research and Development (R&D) Center of the University of Puerto Rico at Mayaguez is shown with its associated solar panels for energy supply. All the data acquired from the field were received at the web-based server facilities of the AIP Laboratory located at the Main Building of the R&D Center which is located at a distance of about 25 meters from the field site. 3. Conclusions In the development of the SAP testbed better sound data acquisition was made possible by the use of active microphones in each SSP unit. Also, better wireless communication links between the components were obtained with line of sight. This guided the field crew to position the equipment in strategic locations in order to improve the communication links and at the same time broadly operable the instrumentation at some out of line of sight locations. The loss of date synchronization can occur if power is interrupted so it is very important to set them first at power up, keeping a monitoring routing interacting with the SSP units since at the present time they are not equipped with battery backup facility. Designated communication IP addresses should be selected a priori to minimize communications interruptions between each transceiver components in the SAP testbed. It is suggested to increase the power capacity of the battery storage in order to allow for longer working periods without sunlight energy. Also, it is recommended to leave enough empty space on the pelican cases in order to properly dissipate the heat generated by the encased instrumentation.

Page 192: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

174

Acknowledgement The following people are acknowledged participating in developing the SAP testbed: Abigail Fuentes, Inerys Otero, Gonzalo Vaca, David Márquez, Eddie Pérez, César Aceros, and Gail Ross, our biologist research assistance. Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. Y. Qian. K. Lu, D. Rodriguez, W. Rivera, M.

Rodriguez, A Cross-layer Design Framework for Wireless Sensor Networks with Environmental Monitoring Applications, Journal of Comm. Software and Systems, Vol. 3, No. 3, pp. 207-214, Sept. 2007

2. B. Ramirez and D. Rodriguez, Automated Hardware-in-the-loop Modeling and Simulation in Active Sensor Imaging using TMSC320C16713 DSP units, 49th IEEE International Midwest Symposium on Circuits and Systems, vol. 2, pp. 300–304, August 2006.

3. K. Lu, Y. Qian, D. Rodriguez, W. Rivera, M. Rodriguez, Wireless Sensor Networks for Environmental Monitoring Applications: A Design Framework, IEEE Globecom, Wash., DC, 2007.

4. Miguel A. Erazo, Yi Qian, Kejie Lu, Domingo Rodriguez, Analysis and Design of a MAC Protocol for Wireless Sensor Networks with Periodic Monitoring Applications, IEEE MILCOM, Orlando, Florida, 2007.

5. Alberto Quinchanegua and Domingo Rodríguez, A Kronecker DFT Multi-Beamforming Implementation Approach, Proceedings of the 3rd International Symposium on Image and Signal Processing and Analysis, pp. 1066-1071, 2003

6. Gumstix Inc., netwifimicroSD FCC (with wifi antenna), available from World Wide Web: http://gumstix.com/store/catalog/product_info.php?products_id=197

7. Gumstix Inc., gumstix verdex XL6P, available from World Wide Web: http://gumstix.com/store/catalog/product_info.php?cPath=27&products_id=178

8. Gumstix Inc., audiostix 2, available from World Wide Web: http://gumstix.com/store/catalog/product_info.php?products_id=158

9. Gumstix Inc., Gumstix Support Wiki, available from World Wide Web: http://docwiki.gumstix.org/index.php/Index.html

10. MkBattery Inc., mkbattery, available from World Wide Web: http://www.mkbattery.com

Page 193: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

175

System Level Design Approach to Signal Processing Algorithms

Inerys Otero and Domingo Rodriguez

Automated Information Laboratory Electrical and Computer Engineering Department

University of Puerto Rico at Mayaguez PO Box 9000, Mayaguez, P.R. 00681-9000

Emails: [email protected], [email protected]

Abstract This work presents a system level design approach for the development of signal processing algorithms used for raw signal preprocessing applications. The work concentrates on describing how to map signal processing algorithms, such as discrete Fourier transform (DFT) and cyclic convolution algorithms, to low cost embedded computing units (Gumstix Verdex) which are part of a sensor array processing (SAP) testbed framework.

1. Introduction This work presents a system level design approach for the development of signal processing algorithms used for preprocessing applications in a sensor array processing testbed framework infrastructure being developed for the surveillance monitoring of neo-tropical anurans in the island of Puerto Rico. The work concentrates on describing how to map signal processing algorithms, such as discrete Fourier transform (DFT) and cyclic convolution algorithms, to low cost embedded computing units (Gumstix Verdex) which are part of the SAP testbed framework. A basic system infrastructure, termed a sensor array processing (SAP) system, has three essential elements: 1) a set of sensor signal processing nodes, 2) a wireless routing mechanism, and 3) a Linux-based high-performance embedded computing unit. The sensor signal processing (SSP) nodes are a set of wireless, low-cost acoustic signal acquisition, storage, and processing nodes which use Linux-based miniature single board computers. These nodes are combined and treated as a sensor array unit without a prescribed topology and their signal-based acoustic information is aggregated through a wireless routing mechanism (WRM) to a Linux-based high-performance embedded computing unit, called a master sensor node (MSN), for further raw data processing and information representation.

Each master sensor node is endowed with a unique internet protocol (IP) address which may be accessed through cyberspace. In this manner, a number of basic sensor array processing systems or SAPs, each with its own master sensor node unit, may be combined through a web-based middleware data management overlay into a general sensor array processing framework for environmental monitoring neo-tropical anurans. Monitoring amphibian populations and changing environmental conditions efficiently is imperative in light of the unprecedented decline in amphibian communities and the implication of their disappearance on overall environmental health. Figure 1 below depicts the conceptual SAP testbed framework being developed by the AIP laboratory at the Electrical and Computer Engineering Department of the University of Puerto Rico at Mayaguez.

Figure 1: Sensor Array Processing Model

An actual testbed instrumentation is presented in Figure 2 below where sensor signal processing (SSP) nodes (gumstixs) are shown at the bottom of the figure.

Page 194: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

176

Figure 2: Basic Sensor Array Processing

2. System Level Design Approach This section presents the system level approach utilized to map signal processing algorithms to the sensor signal processing (SSP) nodes of a basic sensor array processing testbed framework. The approach is the result of knowledge acquired from implementation works conducted previously on digital signal processing (DSP) units such as the TMS320C6713 from Texas Instruments (see Figure 3). The approach consisted in formulating signal processing algorithms as a finite sequence of operators, such as the DFT, cyclic correlation, permutation, cyclic shift, cyclic convolution, and cyclic index reversal operators, acting on finite discrete signals in order to produce other signals. In this context the approach consisted on the aggregated of the following elements: i) an input signal-data set, ii) an output signal-data set, iii) a set of signal processing operators, iv) a set of composition rules for combining signal processing operators, v) a set of rules for describing how the operators act on the set of input signals in order to produce the set of output signals, and vi) a user interface. The MATLAB numeric computation and visualization package was utilized for the modeling and simulation of this proposed system level design (SLD) approach with excellent results for applications dealing with synthetic aperture radar (SAR) image formation support algorithms.

Figure 3: PC to DSP Unit Mapping

The SLD approach described above was utilized to map algorithms from the master sensor node (MSN) to the

sensor signal processing (SSP) nodes in a basic sensor array processing testbed (see Figure 4). These algorithms constitute a preprocessing stage for the advanced signal processing algorithms being performed by the overall SAP testbed framework such as computing weighted time-frequency signal correlations from signals acquired at the sensor signal processing (SSP) nodes.

Figure 4: MSN to SSP Mapping

The signal correlations are being used, for example, to visualize cross-correlograms of acoustic patterns of vocalizations between pairs of neo-tropical anurans in their natural habitat in the island of Puerto Rico. Vocal patterns are being utilized to try to infer anuran population attributes such as call overlap avoidance, active call-jamming, and dynamic vocal chorus structure, following the work of Peter Narins on anurans chorus dynamics. These advanced signal-based information processing tasks demand a very large amount of computation and communication resources. For example, in our distributed signal processing formulation of weighted time-frequency correlograms,

a single signal correlation requires parallel

unitary signal transforms, each of length , resulting in

sets time-frequency representations of size

. A typical signal length being utilized in this work corresponds to vocalization segments of 200 to 6000 milliseconds time duration while being sampled at a

rate of 44100 samples per second, resulting in values of the order of 8820 to 264600 samples. Other advanced signal processing operations include the treatment of time-frequency representations such as the cyclic short time Fourier transform, the discrete ambiguity function. These advanced signal processing operations are implemented as finite sequences of basic signal processing operators. In the next section some implementation results are presented.

3. Implementation Results Table 1 presents the execution time results obtained for the implementation fast Fourier transform (FFT) and linear convolution algorithms when implemented on gumstixs embedded computing units.

Page 195: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

177

Table 5: Execution Times for Gumstix Units

# points Convolution Time (s)

Chassaing FFT 1D

1024 2.4838 0.0047 2048 5.0881 0.01023 4096 10.4792 0.0258 8192 22.4265 0.07979 16384 47.7035 0.2234 32768 98.6193 N/A 65536 203.8028 N/A 131072 407.8772 N/A 262144 817.3505 N/A 524288 1628.5517 N/A 1048576 3262.4102 N/A

Table 2 below presents computation times for the FFT operation when implemented on the TMS320C6713 DSP units.

Table 6: Execution Times for DSP Chassaing FFT

1D Number

of points

Number of cycles

Time (s)

1024 4051589

0.0180

2048 8886569 0.0395

4096 19346541 0.0860

8192 41823199 0.1859

16384 89920407 0.3996

Figure 5 below depicts the error difference results between the magnitude of the FFT’s spectra of a harmonic signal computed on various platforms (MATLAB, DSP, Gumstix). Figure 6 depicts the error difference between the harmonic signals themselves when generated by the same platforms (MATLAB, DSP, Gumstix) before performing the FFT computations. The algorithms were developed based on the routines designed by R. Chassaing [5].

Figure 5: Error Difference of FFT Moduli

Figure 6: Error Difference between Generated Signals

Figure 7 below depicts the spectra of the various signals generated by the different platforms (MATLAB, DSP, Gumstix).

Figure 7: Comparisons of Resulting Spectrum

Page 196: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

178

It is known that the linear convolution operation is one of the prevalent operations in signal processing applications. The linear convolution operation is usually computed indirectly through the cyclic convolution operation. The discrete Fourier transform (DFT) can establish a relationship between a signal and its spectrum through a cyclic convolution theorem either in the object domain or the spectral domain. This work formulates the cyclic convolution as linear operator acting on discrete signals in the following manner:

Th :L ZN( )→ L ZN( ) , where is a linear transformation determined by its action on a set of basis vectors (signals) spanning , the set of all

complex signals of length .

If the standard basis set

δ j{ } : j ∈ ZN{ } is

selected, then each signal

Th δ j{ }( )∈ L ZN( ) can be

uniquely expressed as a linear combination of this basis set as follows:

T h δ k{ }{ } = h j,k[ ]j∈ZN

∑ δ j{ } , where the

scalars

h j,k[ ] : j ∈ ZN{ }, k ∈ ZN

represent the vector coordinates of the given signal

T h δ k{ }{ } ,k ∈ ZN with respect to the standard basis

set. The signal

T h δ k{ }{ } can be written as follows:

T h δ k{ }{ } =j∈ZN

T h δ k{ }{ } j[ ]δ j{ } , where

T h δ k{ }{ } j[ ] = h m[ ]m∈ZN

∑ SNm δ k{ }{ }( ) j[ ]

= h m[ ]m∈ZN

∑ δ k+m{ } j[ ]

Thus,

T h δ k{ }{ } = h j,k[ ]j∈ZN

∑ δ j{ } = h j − k[ ]j∈ZN

∑ δ j{ }

T h δ k{ }{ } = SNk h{ }( ) j[ ]

j∈ZN

∑ SNj δ{ }

Next, we define the matrix HN as follows

HN = h j,k[ ][ ] j,k∈ZN = h j − k[ ][ ] j,k∈ZN

The matrix HN represents the impulse response function of the system in operator form and it is related to the DFT operator through the following expression:

, where denotes the DFT matrix

of order .

4. Conclusions A system level design (SLD) approach for developing signal processing algorithms was presented. The work is concentrated on two main signal processing operations, namely, the discrete Fourier transform (DFT) and the convolution operation. The SLD approach was formulated on the basis of an aggregated of six fundamental elements: i) an input signal-data set, ii) an output signal-data set, iii) a set of signal processing operators, iv) a set of composition rules for combining signal processing operators, v) a set of rules for describing how the operators act on the set of input signals in order to produce the set of output signals, and vi) a user interface. Acknowledgement The authors acknowledge the assistance provided by the students Abigail Fuentes, Héctor Santiago, David Márquez, César Aceros, Gonzalo Vaca, and Gail Ross on the development of this work. Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References

1. Daniel D. Gajski, New Strategies for System Level Design,

Center for Embedded Computer Systems, University of California at Irvine.

2. D. Rodriguez, A. Quinchanegua, and H. Nava, Signal Operator Cores for SAR Real Time Processing Hardware, IEEE International Geoscience and Remote Sensing Symposium, Vol. 4, pp. 24-28, Canada, 2002.

3. Gumstix Inc., audiostix 2, available from World Wide Web: http://gumstix.com/store/catalog/product_info.php?products_id=158

4. Gumstix Inc., gumstix verdex XL6P, available from World Wide Web: http://gumstix.com/store/catalog/product_info.php?cPath=27&products_id=178

5. R. Chassaing, Digital Signal Processing and Application with the C6713 and C6416 DSK, Wiley-Interscience, John Wiley & Sons, Inc., NY, 2005.

6. J. Johnson, R. Johnson, D. Rodriguez, and R. Tolimieri, A Methodology for Designing, Modifying, and Implementing Fourier Transform Algorithms on Various Architectures, Journal of Circuits, Systems and Signal Processing, Vol. 9, No.4, pp. 449-500, Birkhäuser, 1990.

Page 197: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

179

Electronic Learning Agent System

Jonathan Keele, Dr. Hong Lin

Department of Computer and Mathematical Sciences University of Houston-Downtown

Houston TX, 77002 Emails: [email protected]

Abstract The ultimate goal of this project is to formulate a formal system for creating multi-agent systems (MAS) so that one no longer has to rely on the use of a high level specification language. This will be accomplished by creating a gamma calculus parser and running the parser on a prototype to formulate a method for a formal system of creating multi-agent systems. The prototype is a creation of two agent systems integrated together in which one is an agent system that enters and reads data into a database acting as a web server for client to enroll and lookup course content. The other is a system of beliefs, desires and intentions using argumentation based negotiation in which the agents of the second system act as a higher level logic abstraction for the corresponding agents of the first system. 2. Methods This research will be done on a distributed system using c++, Java and the Jason AgentSpeak(L) parser to create the models. There will be two models in total which will be integrated together as a system; a BDI argumentation based negotiation model and an E-learning MAS. Once the models are created, a gamma calculus parser will be created to run tests on the system. 2.1 Resources All studies will be conducted at the University of Houston Downtown. To date the university owns several clusters which were used with this project. Each cluster contains 16 nodes and the distribution of the system was accomplished using Message Passing Interface (MPI). 2.2 Implementation Steps Methods of implementation are as follows:

First it was imperative to create a model MAS to run the calculus parser on. The chosen model was an E-Learning Environment MAS. This model was built using four main agents to distribute tasks; Master-Control Agent, Student Agent, Instructor Agent, Registrar Agent. These agents will handle registration and enrollment of students and the managing of course content. The technology used to create these agents was the message passing interface. Using this method, each agent will be created parallel, distributed over multiple nodes of the cluster. MPI also handles communication between agents. The way that the system runs is that first a request to do a particular job is sent to the Master Control agent, The agent that has the necessary constructs to parse and determine which agent the job belongs to, and once this is done, the Master Control agent sends the necessary information to the particular corresponding agent who then implements the procedures corresponding to the job that is to be done. There are also other agents called control agents that work behind the scenes to make sure that the necessary flow of control is kept intact. The overall view of the system interactions can be seen in the diagram below.

Figure 1: Agent Interactions

Maintenance

Agent

Control Agent

Student Information

Agent

Instructor

Notification and Recommendation

Agent

Control Agent Control Agent

Master Control Agent

Link DB

Student

Registrar

Student DB

Page 198: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

180

It was also important to develop a framework using sockets to allow a user to connect to this multi-agent system. This would allow for a user to connect to a created webpage and from there input information which would then request jobs to the system handled by the master control agent. The way that this was developed was by using Apache Tomcat to run java server pages as a backend to the web portion of this project. From within the java server pages code was formulated to establish a socket connection to the E-Learning Multi Agent framework as well as to interpret based on which page is being currently used, what job to send to the Master Control agent. The way the jobs are handled is by a specific command code which contains various elements referring to the destination of the agent and the type of the particular job to be achieved as well as concatenated input. Below is a screenshot showing the use of the command code.

Figure 2: Command Code Displayed

Also you can see in the picture that the E-Learning Multi-Agent System is waiting for connections. This is because the system was also re-worked after its initial creation to listen for socket connections. This means that the E-Learning MAS actually works as a backend server for the java server pages which make-up the front-end Client construct for the user to interact with the system. Below is a sample screenshot of the front-end web pages. Second is to create the advanced logic to run with these agents. The logic chosen was argumentation based negotiation. This means that the agents will argue with each other using data constructed from a Belief Desires and Intentions database to coerce the other agents as a method of achieving their own Desires and Intentions. In this model, beliefs can change due to coercion and also the beliefs are used to measure the correctness of another agent’s argument or proposal.

Agents can tell each other beliefs, statements, desires and signal others that they can now achieve desires, intentions. What is important about this model is each agent will argue for its beliefs and if other agents are coerced, they will create a compromise among themselves.

Figure 3: Front-End View

The program was created in AgentSpeak(L) in the Jason parser, for this language already has Belief, Desires and Intentions constructs within it already. This makes the creation of the logic to be more intuitive and straightforward. In this language, agents have a Belief Base, which holds their current BDI, and they are given plans which are actions to be taken when certain events occur. Using this we can assign particular actions to an agent to allow it to take a particular course of action based on the current BDI. There is more constructs in the language but as this paper is to discuss my research and not the entirety of the AgentSpeak(L) language I deem it not necessary to delve any deeper. In this model, each corresponding agent is given initial beliefs, desires and intentions and from there creates interactions among the other agents of the System based on its current BDI. For example, the instructor agent’s intention and desires correspond to it teaching certain classes while the student agent’s intentions and desires correspond to him enrolling in a class. When an agent communicates with the other, their proposal is reviewed according to the current BDI of the reviewing agent, and based on this, a plan of action is followed. When the instructor sends a proposal to teach a class that cannot be taught, the registrar agent looks up in its BDI that the class is restricted and looks for a plan where this is true in the BDI. Once the plan is found, he creates and interaction with the instructor telling it to find a plan of action where the no signal has been reached. Thus using the interactions between the agents a successful enrollment of classes by both student and instructor is created similarly as how it might be done person to person. The end product also

Page 199: MOUNTAIN VIEW, CA January 15 -18, 2009cahsi.cs.utep.edu/Portals/0/AnnualReports/Proceedings2008-09.pdf · MOUNTAIN VIEW, CA January 15 -18, 2009 Leaders Through Mentoring University

Proceedings of the CAHSI Annual Meeting 2009

181

fits to the current rules dictated by a university and the corresponding colleges among the university. The third point is to create a gamma-calculus parser to run on the MAS created. The parser will use (MAS) specifications and transform them into module level specifications. The purpose of this is once they are transformed into a module level specification, the development of MAS specifications can then by guided by the output of the parser in lower-level programming languages (concrete programming languages) rather than the use of higher level specification languages. Thus the end-goal of this project is to run the created E-Learning MAS with the integrated BDI argumentation model in the constructed gamma calculus parser to transform it into a module level specification. This is because the E-Learning MAS was created using the gamma specification language thus the gamma parser can be used on it for the gamma parser will be used to transform specifications created under the gamma language. This will allow data to be collected and interpreted to formulate a method for the development of a formal system of creating multi-agent systems. 3. Results Successful completion of the multi-agent system prototype has been accomplished. Using MPI, the MAS divides tasks and sends the task to be accomplished by the appropriate agent. This system runs concurrently with a server/client socket structure. The Master-Control agent handles information received from the server socket which waits for a client on the same machine to communicate. This client gathers its information through use of Apache and Java Server pages. Thus the client of this system is a simple web page in which a user enters data to be used by the MAS.

The argumentation based negotiation logic with the BDI model has been preliminarily created. The rough prototype successfully integrates desires in which the registrar argues beliefs of classes that cannot be taught and classes that must be taught. When the system begins, the instructor argues what class it wants and the registrar responds, arguing what changes it may need to make. This is similar to what goes on with the student and registrar, in which the student has a list of desired classes and must argue to allow the registrar to accept its proposal. Current work is to make it more complex and add a visual aid to the program. All of this was done using Jason with agent-speak.

4. Conclusions Future work includes looking into the BDI structure and making it more complex as well as creating the gamma-calculus parser. Currently there is no experimental data to make any experimental conclusions on. Acknowledgements Publication of this work has been possible in part by the support of NSF Grant CNS-0540592. References 1. Bordini, Rafael H. and H¨ubner, Jomi F, BDI Agent

Programming in AgentSpeak Using Jason (Department of Computer Science, University of Durham).

2. Rahwan, Iyad & Amgoud, Leila, An Argumentation based Approach for Practical Reasoning (Universtiy of Edinburgh, Institute of Informatics-British University in Dubai, IRIT Toulouse, France: Copyright 2006 ACM).