A Taxonomy of Mobile and Pervasive Applications - CiteSeerX

2 downloads 68320 Views 325KB Size Report
Department of Computer Science and Engineering. Department of ..... Computer and Information Science from OSU and a Bachelor's degree in English from ...
A Taxonomy of Mobile and Pervasive Applications Krista M. Dombroviak

Rajiv Ramnath

The Ohio State University

The Ohio State University

Department of Computer Science and Engineering

Department of Computer Science and Engineering

395 Dreese Laboratories, 2015 Neil Ave.

291 Dreese Laboratories, 2015 Neil Ave.

Columbus, OH 43210, U.S.A

Columbus, OH 43210, U.S.A

[email protected]

[email protected]

ABSTRACT In this paper we present a taxonomy for characterizing pervasive applications. This taxonomy focuses on abstracting application characteristics, independent of the characteristics of the middleware or infrastructure that support the application, and provides a controlled vocabulary for thinking about the application. We provide an informal verification for the taxonomy by using it to categorize a range of pervasive applications, culled from the literature and from projects we are involved in, and showing that the taxonomy is (a) consistent and complete - similar applications are categorized similarly and applications that are different are not similarly categorized and (b) useful each characteristic provides new information about applications not explained by the other characteristics. Finally, we present concrete uses for the taxonomy.

We categorize mobile, pervasive applications based on application-specific characteristics independent of underlying architectures or other software or hardware involved in the operation of the system. We characterize a mobile and pervasive application as an application integrated with its physical environment and/or aware of its location. Note that an application running on a mobile device is not necessarily a mobile application under this characterization.

Categories and Subject Descriptors

In the remainder of this paper, we present our method for developing the taxonomy, the taxonomy itself and possible uses. Section III describes our method. Section IV describes the characteristics in our taxonomy. Section V describes the pervasive applications used as examples and applies the taxonomy to the applications. In Section VI we discuss our analysis of the taxonomy and informally demonstrate its consistency and completeness. Finally, in Section VII we discuss uses for the taxonomy and future work.

D.2.1 [Software Engineering]: Requirements/Specifications Tools.

2. METHOD

General Terms Design, Human Factors.

Keywords Mobility, Architecture, Pervasive Applications, Taxonomy, Ubiquitous Applications.

1. INTRODUCTION In our effort to build development and experimental tools for mobile and pervasive applications, we found that it was extremely useful to us to categorize and characterize potential applications using a common vocabulary, so that we could engage in useful discussion about their architectural, middleware service and development tool requirements. In this paper, we report the results of such a study. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. SAC 07, March 11-15, 2007, Seoul, Korea. Copyright 2007 ACM 1-59593-480-4/07/0003 $5.00.

To develop the taxonomy, we looked at 14 sample applications from a range of domains, drawn from projects undertaken by us and from the research literature. To establish a representative set of applications, we first embarked on a survey of pervasive computing literature. We identified several areas of research including middleware, device communication and discovery and pervasive computing challenges such as security and power management. Additionally, we found many papers describing applications of pervasive computing technologies in the following broad domains: business, medicine, scientific research and entertainment. We selected representative applications from each of these domains and eliminated similar applications. This gave us a set of example applications. Using these applications, we identified a set of relevant characteristics of the applications and associated them with the applications. To show the taxonomy is consistent and complete, we charted the associated characteristics for each application to visually demonstrate the similarity of the categorizations of similar applications as well as the differences between the categorizations of different applications. We determined the taxonomy is useful by providing counterexamples to show that the characteristics are independent from one another.

3. CHARACTERISTICS In this section we identify and describe the characteristics. Note that some characteristics, such as time constraints, have sub-

categories. Finally, for each category, we provide examples of how each characteristic impacts the application architecture.

methods used to determine location, a transition is a locationbased event.

Transitionality - The degree to which use of the application occurs in varied environments. The transitionality could range from having to operate in just one environment to having to transition between many varied environments. More transitionality indicates the need for or the existence of multiple architectures with varied devices and hardware.

Event Awareness - Awareness of events in the application s environment. Event awareness requires sensing capabilities in the system. Higher-level events may be extracted from the occurrence of other events.

Time Constraints - Whether the application has real-time constraints or is delay-tolerant. Applications can either accept some delay in output or require a real-time response. Real-time requirements usually indicate the need for greater and more reliable bandwidth than delay-tolerant applications Goal - We describe the goal as the type of benefit to be achieved from the application. The goal may simply be entertainment. The goal may also be increased access to information or improved performance. The goal can affect, amongst others, the security, reliability and quality aspects of the architecture. Collaboration - The degree to which multiple agents participate in a single instance of the application. An agent may be a person or a device located in either a static or mobile location. We define the degree of collaboration as the extent to which the context of agents must be shared, and can be affected and manipulated by the other agents. Lifetime - The length of time an instance of the application runs. An application may run from a few seconds to several days or for years. The longevity of an instance of the application impacts power requirements and what degree of persistence is required in the infrastructure. Centricity A data-centric application primarily collects data. An action-centric application also performs actions in response to the environment. The centricity of an application affects requirements for storage, in-network computation, and communication. The next 4 categories are all related to location awareness which is the knowledge by an object of its location. As detailed in [16] there is a rich taxonomy of location awareness. This taxonomy is not a simple one that can be represented as points on a continuum of location awareness, hence we have chosen to list these location-related categories as separate categories. Absolute Location Awareness - In this taxonomy absolute location is a position in a coordinate system, frequently the geographic coordinate system. Applications that require knowledge of absolute location typically use methods such as GPS or signal triangulation. Applications may require varying degrees of precision in absolute location information. Space Awareness - Awareness of location as described by a presence in a particular space. The space may be a building, a room inside it, etc. Proximity Awareness - The self-awareness of an object s proximity to another object. Proximity awareness generally indicates a need for methods such as sensors. Transition Awareness - The degree to which an application's behavior depends on knowledge of transitions between spaces. Note that while transitions can be extracted using any of the

Object Awareness - Awareness of other objects in the system and their state. Awareness of the other objects includes their location and attributes of the objects such as their identification, type, owners, changes to the objects, capabilities and simple attributes such as color. Operational Awareness - The degree to which an application's behavior depends on awareness of system history, such as the context of a workflow.

4. EXAMPLE APPLICATIONS We describe the example applications used in the process of developing the taxonomy in this section. Each application has a label in parentheses, a brief description, and associated characteristics.

1.

Networked Cows (Cows) [1] Description: Cows in a pasture wear collars with GPS-embedded communicating, computing and actuating devices that produce sounds to herd the animals in a virtual fence as well as provide data on the animals. Characteristics: The application has real-time requirements and is action-centric with a goal to improve performance (i.e. cost savings on fencing). There is collaboration between devices as the fence boundaries are distributed through multi-hop routing between the cows. Space awareness and proximity awareness are relevant in determining that cows are within the provided space and in responding when they approach the virtual boundaries.

2.

Small Ohio Farm (Farm) [12] Description: PDAs are used for on-site operational data collection and off-line productivity and cost analysis in cow-calf operations in small Ohio farms. Characteristics: The goal of this data-centric application centers around increasing access to information. The application is delaytolerant and requires operational awareness in determining the information to request at each stage.

3.

ZebraNet (ZNet) [2] Zebras in the wild wear radio-enabled PDA collars to collect data about their environment and behaviors and transmit it using the animals themselves as data mules to a mobile base station. The system is intended to provide new information about the movements and activities of zebras in the wild. Characteristics: The application is delay-tolerant and data-centric with a goal to increase access to information. There is collaboration between devices as the collars store and forward information to a mobile base station. There is both absolute location-awareness when the GPS device records the location of the zebra and proximity awareness when a device must recognize when it is near another or the mobile base station. There is also an element of object awareness as the nodes use a history-based algorithm to determine if the data passed by another node should be stored depending on the likelihood of the node passing the data to the base station.

Figure 1. Using this chart, we can compare the characteristics associated with each application. This allows us to quickly compare and contrast the requirements of applications. It also shows that each of our example applications, which we know differ, are categorized differently by our taxonomy. Operating Room Time-stamping (OR)1 Description: RFID and PDAs are used to automate patient tracking and event time stamping in the hospital in order to provide visibility to patient families and for efficiency improvements in the OR. Characteristics: There is transitionality in the application as the timestamps must be recorded when the patient passes through different areas of the OR that are differently instrumented for event recording. The application is data-centric but with a real-time requirement, since the families need the information while the surgery occurs. The goal is to increase access to information. There is space awareness because it is necessary to record when a patient is in a particular room, as well as transition awareness to record

4.

1

We are currently working on a concept prototype at a local university hospital.

when a patient passes between different areas of the OR. Finally, the application requires event awareness in determining when the surgery begins and ends. Mobile Music (Music)2 Description: The music playing on a mobile device is seamlessly broadcast through the most appropriate available media as the wearer of the device transitions through different environments. Characteristics: The primary goal of the application is entertainment. The application is transitional and has transition awareness. There is collaboration between the player and the output media. There is proximity awareness and object awareness

5.

2

A reference application for mobile, transitional computing from Motorola Inc.

Figures 2 (a), (b), (c) and (d). These matrices show a portion of the counterexamples showing the independence of the characteristics. in determining the proximity, availability and capability of the output medium.

6.

The Drop (Drop) [3] Description: An augmented reality game where collaborating players on opposing teams use PDAs to hide and search (respectively) for a virtual briefcase in a physical space such as a mall. Characteristics: This real-time application is action-centric with an entertainment goal. There is a significant amount of collaboration due to joint strategizing among players and shared context manipulation of their devices. There is space awareness in determining the locations of players and the briefcase within the floor-plan of the site, as well as proximity awareness with respect to the location of the briefcase. There is also object awareness of other players.

7.

Chemistry Lab Book (Chemlab) [4] Description: An electronic chemistry lab book allows chemists to automatically and non-intrusively record experiments for later analysis. Characteristics: The application is data-centric with a goal to increase access to information. The lab book requires event awareness in order to determine when data is available to record. It also requires object awareness and operational awareness to know the steps and procedures involved in the experiment as well as the properties of substances.

8.

CenWits Search and Rescue System (CenWits) [5] Description: Records of passing users create "witnesses" to use in detecting and locating lost hikers in wilderness areas. Characteristics: CenWits is action-centric with a real-time requirement and a primary goal to increase safety. There is collaboration between the mobile devices to store and forward position information of passing hikers. There is absolute location awareness in the base stations which have fixed locations. There is also proximity awareness in transmitting identity information and in uploading information to a base station. Finally, CenWits requires event awareness in using witness data to determine if a hiker is missing,

9.

Networked Home (Home) [1] Description: Lights, music and multimedia adjust automatically to the needs and preferences of the people present to create a pleasurable environment. Characteristics: The primary goal of the application is entertainment in real-time in response to changes in the environment. The application requires transitionality and transition awareness as a person may move between rooms in the house with different forms of media available. The application also requires space awareness to determine when a person is in a particular room. Operational awareness is necessary to know a person's preferences and schedule.

10. Smart Conference Room (Conference) [6] Description: Improve efficiency and quality of presented content by organizing conference activities and meetings and providing supplementary information and services as available and required to presenters and attendees. Characteristics: The application uses space awareness in determining when the speaker and meeting attendees are in the room. Knowledge of the meeting starting and ending constitute event awareness. Finally, the application requires operational awareness to know of the procedures of a conference in the room as well as the schedules and attendees.

11. Pervasive Retail (Retail) [8] Description: The application tracks inventory of items in customers' homes and provides an in-store shopping list. In the store, the application automatically tracks items purchased and makes recommendations to improve the customers shopping experience. Characteristics: This system requires transitionality, space awareness and transition awareness as the shopper moves from the home to the store and between different areas of the store and home. There is collaboration between the shopper's mobile devices, devices in the store and in the home. Event awareness is necessary to detect when a shopper runs low on a product or when the shopper has an event that might require special products. The application uses object awareness in the store to determine whether the shopper already has an item in the cart and to detect when a product is running low or about to expire at home. Finally, there is operational awareness to present items that are associated

with each other, suggest items for a particular event or suggest items that are typically purchased with a certain frequency.

12. Incident Command for Firefighters (Fire) [9] Description: The application organizes incident command, tracks firefighters, warns of safety conditions and automatically retrieves data about incident sites in order to organize firefighting operations efficiently and safely . Characteristics: The application has a strict real-time requirement and is very action-centric with a mission critical goal of improved safety. There is transitionality, space awareness and transition awareness as the application must know when a firefighter is in a room or building, must operate in different environments and conditions in those spaces and detect when a firefighter moves from a safe area to an unsafe area. The application requires proximity awareness as it must detect when a firefighter approaches a fire, smoke or a person to be rescued. Event awareness is necessary as the application must react if a fire starts, spreads or is extinguished or if a victim or firefighter becomes trapped or is rescued. The application uses object awareness in knowing the floor-plan of the site, the stability of certain structures or whether another firefighter needs assistance.

13. Soundscapes for Urban Children (Urban) [6] Description: Mobile devices create soundscapes for urban children to richly experience their outdoor environment. Characteristics: The primary goal of the soundscapes application is entertainment. The application uses transitionality and transition awareness to respond with the appropriate soundscape as the child moves through different areas in the landscape. Space

awareness provides information about where a child is in relation to the virtual boundaries of areas in the soundscape.

14. Aircraft Maintenance (Hangar) [11] Description: The application automatically tracks tools and equipment in aircraft maintenance hangars and provides procedures to maintenance workers to maintain better control of inventory of tools and equipment and improve accuracy and safety of procedures. Characteristics: The goal is to improve performance. The application uses space awareness in detecting where in the hangar (and relative to the floor-plan) both the maintenance workers and equipment are. Operational awareness is important in determining when a piece of equipment has been checked out and for orchestrating maintenance procedures. The application requires object awareness to detect when a part is due for maintenance.

5. ANALYSIS We have found clear uses of the taxonomy in framing discussions about potential designs and architectures of applications. Categorizing a new application based on the taxonomy has increased our insight into the requirements as well as saving time and increasing accuracy in creating designs and effort estimates. The taxonomy has also provided us a convenient means to compare applications. We can see, for example, that the Drop and the Firefighters application have many similar requirements, and are different only in their mission (entertainment vs. safetycritical). This agrees with our intuition, as both applications require tracking individuals in real time and in physical spaces. It also follows intuition then, that the Firefighters application has additional requirements in reliability. The matrix also makes it apparent that each of the example applications has a different categorization. We find this satisfying to our intuition as well, since the applications have obvious differences. To determine whether the characteristics are independent we have to show that there should be at least one application to which one of the characteristics applies and the other does not as well as applications where both characteristics apply, and neither characteristic applies. More explicitly, we must show for each pair of characteristics (A,B): (A

B)

( A

B)

(A

B)

( A

B)

We created 4 triangular matrices providing these counterexamples (a portion of each shown in Figure 2). For each pair of characteristics the 4 conjuncts are shown in Figures 2 (a), (b), (c) and (d) respectively. In Figure 2(a) there is an application example in the cells where A is true but not B. In Figure 2(b) there is an example where A is not true but B is. In 2(c), A is true and so is B and in 2(d) A and B are both not true. There were a small number of blank cells. In each such case, we required an application that used absolute location awareness, which applied to relatively few of our example applications. It was trivial, however, to conceive of a suitable application that filled each box. However, we do allow that there could be exceptions found due to the bounded number of example applications we could consider.

6. USES AND FUTURE WORK As mentioned previously, the characteristics in this taxonomy may be used to compare and contrast applications in terms of their requirements as well as middleware frameworks, for example [13][14][15], in terms of their services provided. A very robust middleware would provide many of the services represented by these characteristics. For example, for collaboration, a middleware must provide APIs for sharing and manipulating context. To implement transitionality, a middleware might provide APIs for detecting changes in the environment, locating available services in a new environment as well as handling loss of access to services in the previous environment. Event awareness may require sensing services to detect changes in the environment. We are currently using the taxonomy as a foundation for building an application simulator framework for this class of applications. Such a framework is aimed at allowing users to quickly develop simulations using parameterized services that correspond to each of the elements in the taxonomy.

7. CONCLUSION Knowledge of the relevant elements of a taxonomy of pervasive applications has provided a simple method to understand the complexities and requirements of specific applications. By charting the associated characteristics, we can easily compare and contrast a new application with other pervasive applications we have encountered. This has provided us insight into architectural and infrastructure requirements for the applications as well as guidance for design. We have used this for analyzing middleware support for pervasive applications and are currently using it to understand the requirements for a pervasive application simulation. We find, in general, that reasoning about any problem dealing within the domain of pervasive applications as a whole becomes considerably less complicated in the context of this taxonomy. In essence, the taxonomy has provided us with a useful tool for working in this field.

8. REFERENCES [1] Z. Butler, P. Corke, R. Peterson, and D. Rus. Networked Cows: Virtual fences for Controlling Cows. http://lcawww.epfl.ch/luo/WAMES%202004_files/wames_N etworked%20Cows.pdf [2] T. Liu, C.M. Sadler, P. Zhang, M. Martinosi. Implementing Software on Resource-Constrained Mobile Sensors: Experiences with Impala and ZebraNet. In MobiSys '04, June 6-9, 2004. [3] I. Smith, S. Consolvo, and A. Lamarca. The Drop: Pragmatic Problems in the Design of a Compelling, Pervasive Game. In ACM Computers in Entertainment. Vol. 3, No. 3, July 2005, Article 4C. [4] M.C. Shraefel, G.V. Hughes, H.R. Mills, G. Smith, H.R. Payne, and J. Frey. Breaking the Book: Translating the Chemistry Lab Book into a Pervasive Computing Lab Environment. In CHI 2004, April 24-29, 2004. [5] J.H. Huang, S. Amjad, and S. Mishra. CenWits: A SensorBased Loosely Coupled Search and Rescue System Using Witnesses. In SenSys '05, November 2-4, 2005.

[6]

[7]

[8]

[9]

[10]

[11]

[12]

[13]

[14]

Mani, H. Sundaram, D. Birchfield, and G. Qian. The Networked Home as a User-Centric Multimedia System. In NRBC '04. October 15, 2004. H. Chen, F. Perich, D. Chakraborty, T. Finin, and A. Joshi. Intelligent Agents Meet Semantic Web in a Smart Meeting Room. In AAMAS '04. July 19-23, 2004. G. Roussos, P. Kourouthanasis, E. Gryazin, M. Pryzbliski, G. Kalpogiannis, and G. Giaglis. Systems Architecture for Pervasive Retail. In ACM 1-58113-624, February 3, 2003. X. Jiang, J.I. Hong, L.A. Takayama, and J.A. Landay. Ubiquitous Computing for Firefighters: Field Studies and Prototypes of Large Displays for Incident Command. In CHI 2004, April 24-29, 2004. M. Williams, O. Jones, and C. Fleuriot. Wearable Computing And The Geographies of Urban Childhood - Working With Children to Explore The Potential Of New Technology. In Proceeding of the 2003 conference on Interaction design and children. 2003. M. Lampe, M. Strassner, and E. Fleisch. A Ubiquitous Computing Environment for Aircraft Maintenance. In SAC '04, March 14-17, 2004. N. Larusso, A Mobile Real Time Data Collection and Analysis System for Farm Management. Bachelors of Science Honors Thesis, Dept. of Computer Science and Engineering, The Ohio State University, 2006. C. Sorensen, M. Wu, T. Sivaharan, G.S. Blair, P. Okanda, A. Friday, and H. Duran-Limon. A Context-Aware Middleware for Applications in Mobile Ad Hoc Environments. In ACM International Conference Proceeding Series; Vol. 77: Proceedings of the 2nd workshop on Middleware for pervasive and ad-hoc computing, 2004. J. Robinson, I. Wakeman, and T. Owen. Scooby: Middleware for Service Composition in Pervasive

Computing. In ACM International Conference Proceeding Series; Vol. 77: Proceedings of the 2nd workshop on Middleware for pervasive and ad-hoc computing, 2004. [15] M. Modahl, B. Agarwalla, G. Abowd, U. Ramachandran, and T.S. Saponas. Toward a standard ubiquitous computing framework. In ACM International Conference Proceeding Series; Vol. 77: Proceedings of the 2nd workshop on Middleware for pervasive and ad-hoc computing, 2004. [16] S. Dobson, Where's Waldo? - or - A taxonomy for thinking about location in pervasive computing. In Technical report TCD-CS-2004-05, Department of Computer Science, Trinity College Dublin. 2004, http://www.simondobson.org/files/personal/dict/softcopy/TC D-CS-2004-05.pdf Krista M. Dombroviak is a master's student in Computer Science and Engineering at The Ohio State University. She is studying pervasive computing applications and application-level simulation of those applications. She also works in industry in software development. She received a Bachelor's degree in Computer and Information Science from OSU and a Bachelor's degree in English from Kenyon College. Dr. Rajiv Ramnath is Director of Practice at the Collaborative for Enterprise Transformation and Innovation (CETI) at OSU. He is engaged in developing industry-facing programs of applied R&D, education and technology transfer. His expertise ranges from wireless sensor networking and pervasive computing to business-IT alignment, enterprise architecture, and software engineering. He teaches technology strategy and software engineering at OSU. Dr. Ramnath received his Doctorate and Master s degrees in Computer and Information Science from OSU and his Bachelor s degree in Electrical Engineering from the Indian Institute of Technology.

Suggest Documents