Funny & Jokes

A Framework for Mobile Collaborative Applications on Mobile Phones

A Framework for Mobile Collaborative Applications on Mobile Phones Carl-Henrik Wolf Lund and Michael Sars Norum TDT4735 Software Engineering, Depth Study November 23, 2004 Teaching supervisor: Alf Inge
of 142
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
A Framework for Mobile Collaborative Applications on Mobile Phones Carl-Henrik Wolf Lund and Michael Sars Norum TDT4735 Software Engineering, Depth Study November 23, 2004 Teaching supervisor: Alf Inge Wang Norwegian University of Science and Technology, Department of Computer and Information Science Abstract This project explores the domain of collaborative applications using mobile phones and Personal Area Networks (PANs) from a technical perspective, resulting in a design and implementation of a framework for developing such applications. This paper describes central, theoretical concepts connected to Peer-to-Peer (P2P) computing, Mobile Ad Hoc NETworks (MANETs) and the Computer Supported Cooperative Work (CSCW) domains, focusing on Same-Place-Same-Time collaboration. We argue how the spread of PAN technology and mobile phones enable for a broad range of collaborative applications supporting both collocated work and spontaneous interaction. We also present a wide study of available technologies for one family of MANETs, PANs. We then present and classify several usage scenarios of collaborative applications on mobile phones and study the scenarios in detail, producing a set of requirements for a framework. These requirements are then used to iteratively design and implement a network independent framework with support for Java 2 Micro Edition. In addition to the framework itself, the design and implementation of a Bluetooth network module for the framework is included. The Bluetooth module serves two purposes: To show how a network module can be implemented in order to be used by the framework, and to function as an example network during testing. Prototype applications are developed to illustrate how the framework can be used to develop collaborative applications and shorten the development time. The main results of this project are the theoretical conclusions drawn from our domain studies, the usage scenarios and the software produced. Preface This project has been carried out by Carl-Henrik Wolf Lund and Michael Sars Norum from August to November in The studies performed are related to the course TDT4735 System Engineering Depth Study, being a part of the fifth year of the Master in Technology degree in Computer Sciences at the Norwegian University of Science and Technology. The project was assigned by the Department of Computer and Information Science. Acknowledgements We would like to thank Alf Inge Wang for his guidance and sharing of expertise during the writing of this report. The support and advice he has given us has been invaluable to us along the way. Trondheim November 23, Carl-Henrik Wolf Lund Michael Sars Norum i ii Contents 1 Introduction Motivation Problem Definition Project Context Limitation of Scope Reader s Guide Method Prestudy and Scenario Building Scenario Analysis and Requirements Engineering The Design and Development Cycle Tools Eclipse Borland Together Control Center Phone Emulator I Prestudy 11 3 Central Concepts Peer-to-peer computing Architectures Applications Mobile P2P Mobile Ad Hoc Networks iii CONTENTS 3.3 Collaboration Computer Supported Cooperative Work Mobile Computer Supported Cooperative Work Related Projects Prototypes iclouds - Peer-to-Peer Information Sharing in Mobile Environments IPAD/Hummingbird Frameworks and Architectures JXTA JXTA for J2ME Proxied JXTA for J2ME Proxyless Proem The Spectre Framework New Technology Wireless Enabled Devices Implementation Platforms Java 2 Micro Edition Wireless Technologies Wireless Firewire Wireless USB Bluetooth ZigBee Wireless Local Area Network Summary Evaluation Evaluation of Related Projects Prototypes Frameworks and Architectures Technology Evaluation Wireless Enabled Devices Implementation Platforms Wireless Technologies Conclusion iv CONTENTS II Scenario and requirements analysis and evaluation 63 7 Scenarios Classification Matrix Previously Created Scenarios Strategy game Information Exchange Business Card Exchange Tank Game Synchronization New Scenarios Converging Top Ten List Tourist Information Ubiqutous Flea-market Planning the Next Meeting PAN Instant Messaging Summary Scenario Analysis Goal Analysis Concrete Scenario Goals Requirements Elaboration Inbound Event Analysis Event Identification Requirements Elaboration Categorize System Output Event Identification Requirements Elaboration v CONTENTS 9 Requirements Previously Gathered Requirements Functional Requirements Non Functinal Requirements Requirements Evaluation Removal of Requirements Related Requirements Additional Requirement Revised Prioritized Requirements III Design Designing the Framework Domain Concepts High-Level Architecture The Framework Design The Framework Package The Domain Package The Network Package Runtime Behaviour Bluetooth Design The Bluetooth Package The Domain Package The Network Package Prototype Applications DemoMIDlet ChatApp IV Implementation Covered Requirements 117 vi CONTENTS 12 Code Summary Code Statistics Code Examples Dynamic Loading of Network Module Finding Remote Nodes DemoMIDlet Testing Tool Evaluation Eclipse Borland Together Control Center Emulators V Evaluation Encountered Problems The Mobile Phones Mobile Phones versus Emulators The Sony Ericsson Bluetooth Implementation Bluetooth Own Contribution Conclusions Future Work Framework Design and Implementation Functionality Optimalization Reliability Building Applications vii CONTENTS VI Appendix 141 A Dictionary 143 B DemoMidlet Source Code 145 viii List of Tables 3.1 CSCW dimensions Communication combinations in icloud with their corresponding real world interactions Evaluation criteria with weigths Overall evaluation of the Wireless Firewire technology Overall evaluation of the WUSB technology Overall evaluation of the Bluetooth technology Overall evaluation of the ZigBee technology Overall evaluation of the WLAN technology Summary of the wireless technologies Total scores from the individual technology evaluations Classification matrix Summary of the categorized scenarios Revised and prioritized functional requirements Revised and prioritized non-functional requirements Covered non-functional requirements Covered functional requirements Code statistics ix List of Figures 2.1 The overall project process Taxonomy of computer systems [51] Pure P2P Model Hybrid P2P Model Taxonomy of ad hoc networks [12] A singlehop ad hoc network [1] A multihop ad hoc network [1] A scatternet comprising three piconets [3] A PAN creates a digital sphere around a person Three persons physically collocated JXTA For J2ME using proxy service Proxyless JXME Spectre main package structure [30] The Usable, Useful and Used hierarchy Network topology of a piconet A WUSB cluster The ZigBee Star network The ZigBee Mesh network The ZigBee Cluster Tree The central concepts related to this project The steps of scenario-based requirements analysis x LIST OF FIGURES 10.1 The relation bewteen the variuos domain concepts Overview of the framework architecture. The framework includes all the boxes above J2ME + Network specific APIs A logical architectural view showing the main packages UML for the Framework package UML for the Domain package UML for the Network package Sequnce diagram for an application wanting to receive incoming connections The process of initializing the framework The process of searching for other devices with applications running the same service The process of sending a message Overview of the Bluetooth protocol stack UML for the Bluetooth package UML for Bluetooth Domain package UML for the Bluetooth Network package UML for DemoMIDlet UML for ChatApp Dynamic loading of network module Connecting to a remote device and querying for services Initializing the framework and registering a service Handling a discovered group Beeing notified of a new node joining a group Testing the framework on the Nokia Emulator xi xii LIST OF FIGURES Chapter 1 Introduction Over the past 20 years, the influence computers have on our lives and the work carried out by us has grown. Our use of computers have gone from non-connected standalone applications, to being used for collaborative work where several actors can contribute to workprocesses without being collocated, both physically and time-wise. The recent years have shown a tendency where computers have become more and more portable to fit the needs of users on the move. This tendency has further been strengthened by the growth in the mobile phones user base in parallel with the increasing computational capacity of the mobile phones. Today, mobile phones have the same computational capacity of the late 80 s computers with one important addition. Mobile phones are constantly connected to a network, making them available for collaborative work anywhere and anytime. The use of handheld and other portable devices in collaboration is not a new idea, but is still a quite immature research field. Researchers have faced many problems in the research conducted on Computer Supported Cooperative Work (CSCW) using full scale computers, many which they have been unable to solve. The same difficulties will be present on more limited portable devices, but the portable devices can draw benefits from aspects such as mobility possibly making them more suitable for usage in certain areas of CSCW. Although having limited capacity, the mobile phones have a quite clear advantage over the traditional stationary computers and even laptop computers. Mobile phones are mobile to an extreme degree, providing us with always on, omnipresent computational devices. When using a mobile phone for collaborative applications, it is always available to be used in the collaborative process. Also the spread of mobile phones among the potential users and their familiarity with them, make them an ideal deployment platform for CSCW applications. This project will aim to design and implement a framework used to create collaborative applications on mobile phones. The emergence of mobile phones with some kind of ad hoc network technology built-in creates opportunities for new forms of computerized collaboration. Mobile, computer supported, collaboration between people that are collocated is now possible. 1 Introduction 1.1 Motivation The market for mobile technology has recently increased almost exponentially. A survey shows that e.g. in Norway, in september 2004, close to 96% of the population own a mobile phone, [41]. Other countries, mainly in Europe and Asia also show rapidly growing markets for mobile technology. The average phone has a lifetime before renewal of approximately two years. This extremely short renewal time speeds up the adoption of new technology. Personal Area Networks (PANs) are low cost, low range networks that allow users to create spontaneous ad hoc networks that do not depend on any central node. These ad hoc network technologies enable devices to detect and connect to other devices that are in sufficient proximity and form mobile peer-to-peer (P2P) networks. Ad hoc network technologies are ideal for transmitting information and synchronizing data, making them a viable solution for sending messages between users in a mobile network. Utilizing PAN technology for mobile phones enables for a broad range of collaborative applications supporting collocated work and spontaneous interaction. Development of applications requires a lot of effort not only from many stakeholders at implementation time, but also when it comes to capturing domain concepts, understanding underlying technology, and creating the necessary infrastructure for the application. Since the market for development of mobile applications is quite young and the technology itself is quite immature, there are not many common building blocks available that can be used to build the actual applications. Frequently this leads to developers reinventing the wheel by implementing almost similar infrastructures. Many research projects in the field of mobile collaboration have resulted in spesialized prototypes demonstrating the possibilities of the available technologies. No one has yet made a general framework for these types of applications on mobile phones. The researchers spend a vast amount of time developing these prototypes because everyone is starting from scratch, developing their own unique architectures. When we use the term framework, we refer to an object oriented framework defined in [27] as: A set of classes that embodies an abstract design for solutions to a family of related problems. In general, instead of designing a specific application architecture, a developer might choose to develop a framework. The framework will allow the developer to generate a collection of applications for an entire domain. It might require a significant larger amount of time to develop a framework rather than a single application. But a completed framework enables higher productivity and shorter development time, because of its capability of code and design reuse. By having a framework that deals with the network infrastructure that handles the communication between the nodes in the network and provides an applications interface, the development time for collaborative mobile applications can be shortened. This will be very useful for us and other researches when making proof-of-concept applications. A 2 1.2 Problem Definition well documented framework will also establish terms and definitions that can be used by researchers and other participants in the research field. A framework for developing applications will also hopefully reduce the time before someone creates a killer application that will help the field of mobile collaboration to gain acceptance in the consumer market. All in all we would like to contribute to the development of a standard for ad hoc collaboration applications on mobile phones. 1.2 Problem Definition This project aims to design and implement a framework for developing collaborative applications on mobile phones. Central concepts such as P2P networks, Mobile Ad Hoc Networks (MANET) and CSCW will be studied and described. To obtain a complete picture of the research domain and to take the right design decisions, the most important relevant research projects and different PAN technologies will be described and evaluated. To make the framework as generic as possible different kind of usage scenarios should be developed. In [30] Sveen and Kirkhus proposed a set of requirements for a framework design. These requirements should be used to verify the requirements extracted from the scenarios. Further the framework should be iteratively designed and implemented. Given the task of implementing a framework, the focus of this project will be technical rather than focusing on CSCW in general. 1.3 Project Context The work documented in this report is related to the MObile Work Across Heterogenerous Systems (MOWAHS 1 ) project. The MOWAHS project is a joint research effort by the software engineering and the database technology groups at the Department for Computer and Information Science (IDI) at the Norwegian University of Science and Technology (NTNU). The goals of the MOWAHS project are (as listed on the MOWAHS website): Helping to understand and to continuously assess and improve workprocesses in virtual organizations. Providing a flexible, common work environment to execute and share real workprocesses and their artifacts, applicable on a variety of electronic devices (from big servers to small PDAs). Disseminating the results to colleagues, students, companies, and the community at large. The aim of this project is to contribute to the second goal of the MOWAHS project. By producing a framework for the development of mobile ad hoc applications for supporting collaboration, we hope to give a useful contribution to MOWAHS. 1 3 Introduction 1.4 Limitation of Scope As mentioned in our problem definition, Chapter 1.2, the main goal of this project is to design and implement a framework for collaborative applications on mobile phones. This gives us a very technical focus. Due to the degree of technicality of the project we will limit our studies of the CSCW domain to a minimum, covering only those aspects necessary to make our design and implementation choices. 1.5 Reader s Guide The focus of the chapters in this report varies quite a lot. Not all readers are equally interested in all the information, therefore we will now present a brief readers guide. Chapter 1 Introduction: This chapter contains background information about the project such as motivation, problem definiton, project context, limitations of scope and this readers guide. Chapter 2 Method: This chapter describes our work process and methologies used during the project. It motivates for our choices in methods and gives a brief discussion of tools. Part I Prestudy Chapter 3 Central Concepts: This chapter discusses central concepts related to this project. Domains such as P2P computing and CSCW are discussed. Chapter 4 Related Projects: This chapter discusses related work. Related prototype projects and architectures and frameworks are discussed. It works as a summary of the State-of-the-Art. Chapter 5 New Technology: This chapter looks at what options we have when choosing technologies for this project. The main focus is on wireless technologies and the chapter is a bit technical. Chapter 6 Evaluation: This chapter evaluates all related work and new technologies and draws conclusions as to what we will use for the design and implementation parts of this project. Part II Scenario and requirements analysis and evaluation Chapter 7 Scenarios: This chapter presents usage scenarios for mobile collaborative applications using PAN technology, focusing on the user perspective. Chapter 8 Scenario Analysis: This chapter presents a method for deducing requirements from scenarios. This method is then used to extract requirements from the scenarios given in Chapter 7. Chapter 9 Requirements: This chapter presents all the requirements the framework will have to meet. 4 1.5 Reader s Guide Part III Design Chapter 10 Designing the Framework: This chapter presents our design for a framework for mobile collaborative applications on mobile phones. A high-level architecture is presented along with a more detailed presentation of each of the architecture components. The Bluetooth specific network design is also presented. This part illustrates how a network design is done in order to function as a guide for developers wanting to add a new network technology package to the software suite. Part IV Implementation Chapter 11 Covered Requirements: This chapter presents which requirements that were fulfilled during implementation. Chapter 12 Code Summary: This chapter presents some code examples that illustrate important aspects of the framework. Some code statistics are also listed. Chapter 13 Testing: This chapter describes the different test techniques used during implementation. Chapter 14 Tool Evaluation: This chapter gives a summary of our experiences with the tools used in this project. Part V Evaluation Chapter 15 Encountered Problems: This chapter discusses the problems encountered during the lifetime of the project. Chapter 16 Own Contribution: This chapter summarizes the contribution made by us through this project. Chapter 17 Conclusions: This chapter describes our conclusions. Chapter 18 Future Work: This chapter describes some of the areas we see as possible future work related to the framework and prototype applications. Part VI Appendix Appendix A Dictionary: A list describing the most important terms used in this report. Appendix B DemoMidlet Source Code: The source code for the DemoMidlet application. 5 Chapter 2 Method Our main goal with this project is to create a framework for collaborative applications on mobile phones. The framework will be designed and implemented as a proof-of-concept. Last we will test our framework through demo-applications, showing that it
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks