ables mobile workers to retrieve knowledge contained within topic maps and associated in- ... responds to characteristics in the development of mobile systems. 2. ... (SAM), a Reference Model, a Topic Map Query Language (TMQL) and Topic Map Con- ... tured Query Language (SQL). .... publications/mKM-White.pdf.
Creating a Topic Map Query Tool for Mobile Devices Using J2ME and XML Stefan Seedorf, Axel Korthaus, Markus Aleksy University of Mannheim Department of Information Systems Schloss, D-68131 Mannheim, Germany {seedorf|korthaus|aleksy}@uni-mannheim.de Abstract Most of today’s enterprises conduct knowledge management initiatives for achieving competitive advantage. Information technology plays a key role in codifying knowledge and distributing it throughout the organization. However, the utilization of mobile technology for supporting knowledge management has been largely overlooked so far. As mobile devices are becoming increasingly powerful and ubiquitous, new possibilities to realize fully integrated knowledge management processes are created. This paper presents a basic architecture that enables mobile workers to retrieve knowledge contained within topic maps and associated information objects. Topic maps enable knowledge structures to be codified and linked with information resources. The paper comprises Java-based mobile tools that run on PDAs as well as mobile phones and exchange XML data with a topic map server. Our prototypical implementation is evaluated and directions for future work are proposed. 1.
Introduction
With organizational knowledge being perceived as a strategic asset issues in knowledge management and information systems attain increasingly high interest. Since codification strategies are suitable for distributing knowledge in large organizations, information systems play a vital role in coping with knowledge management processes such as knowledge storage and retrieval. As information and communication technologies are continuously evolving, this opens up new possibilities for supporting knowledge-intensive work. This paper elaborates on two different developments in knowledge management and information systems, namely topic maps and mobile computing. In the first part, we introduce the topic map standard and relate it to knowledge representation and knowledge management. Furthermore, the Topic Maps for Java (TM4J) toolkit serving as backend to our mobile application is presented. In adherence to Tim Berners-Lee’s semantic web vision [2] there exists a number of standardization efforts to set up a framework that allows the sharing of semantic data across application and enterprise boundaries [21]. The topic map standard, which has been primarily published by ISO/IEC in 1999, represents a related approach. Topic maps enable knowledge structures to be codified and linked with arbitrary information resources [20]. Moreover, the topic map concept is based on a compact vocabulary and encloses mechanisms for merging. We decided to build our mobile application based on topic maps because they are not only suitable for knowledge representation and information management but also meet the requirements of mobile users demanding capable applications for retrieving and visualizing semantic information. During the past few years, wireless technologies and particularly mobile devices have been experiencing a tremendous boost in terms of functionality, capacity and availability. Not only is the direction towards pervasive computing unquestionable [4], but there is also a tendency of working environments becoming increasingly dispersed. This implicates new challenges in
Copyright © held by author/owner
111
the development of information systems. Locally dispersed job tasks and mobile collaboration can be classified by different types of mobility such as local mobility or remote mobility [10]. The potential of this in terms of knowledge management lies in using mobile technology for realizing fully integrated knowledge management processes. Mobile knowledge is generally defined as being specific to time and place [3]. There exist several approaches dealing with the integration of mobility aspects in knowledge management [3] [19]. The main application scenario propagated here targets mobile workers who are confronted with a specific problem in a mobile work setting. In many cases, the solution to this problem may already exist in the organizational repository. Based on a stationary topic map server a mobile solution is promoted providing a framework for querying topic maps using Javaenabled handheld devices with internet connectivity. A mobile worker obtains a query result that is presented according to the restrictions of mobile devices. Consequently, the framework responds to characteristics in the development of mobile systems. 2. 2.1
Topic Maps in Knowledge Management Topic Maps Basic Concepts
Topic maps are a standard for describing knowledge structures and associating them with information resources [20]. The origins of the topic map paradigm date back until the early 1990’s when an explicit model to merge document indices was requested [13]. Currently, the topic maps ISO/IEC 13250:2002 standard comprises notations in HyTime and XML Topic Maps (XTM). The standard family is going to be extended by a Standard Application Model (SAM), a Reference Model, a Topic Map Query Language (TMQL) and Topic Map Constraints Language (TMCL) [5]. Topic maps are designated to improve navigation in large pools of information. That is why they are sometimes referred to as the “GPS of the information universe” [13]. The basic concepts described here are topics, topic types, occurrences and associations. Topic maps are constructed around topics which represent a subject each. Figure 1 shows an outline of a topic map that contains six topics. There are three kinds of topic characteristics: Topic types, occurrences and roles played in associations [6]. Topic names are used to assign labels to topics, while a single topic may have multiple name attributes. Thus, different names can be applied for the same subject depending on the specific context or scope. Topic types enable topics to be categorized according to their kind. This is done by establishing an instance-of relationship between two topics. A topic occurrence specifies information that is related to a given subject. In many cases, a topic is linked with information resources, e.g. Web pages or multimedia files. Since a topic map instance does not contain other data than topic map elements, there are two different layers. The abstract layer which embodies the knowledge structure serves as overlay to the information objects that are referenced [6]. Associations are used to describe multidirectional relationships between topics. They are generally grouped according to association types [13]. Furthermore, all topics that participate in a single association play roles which are referred to as association roles. Association types and association roles are modeled by using topics. More advanced topic map concepts, e.g. assignment of public subject identifiers to topics, defining the scope of topic characteristics and merging of topic maps, are not discussed within the scope of this paper.
112
T
Assoc
Project
T
Person
T Paul Keith T
KMIS
T
works-in
T
Karla Hall
Assoc
html html
doc
information resources
Figure 1: Topic Map Example
2.2
Topic Map for Java (TM4J) and Query Language
TM4J is an open-source framework for developing topic map processing applications. It provides a set of APIs that allow parsing, manipulating and exporting of topic maps. The standard topic map format used is XTM. TM4J supports different storage models, e.g. in a relational database or in memory, hiding implementation details from the application developer [1]. Since a standardized language for querying and modifying topic maps has not been released so far, our prototypical implementation uses the TM4J query engine, which supports the Tolog 1.0 query language. Tolog 1.0 has been developed by Ontopia and is based on firstorder predicate logic [12]. The syntax of a Tolog query string is partially geared to the Structured Query Language (SQL). The query engine returns all sets of values which make an assertion become true. Subsequently, we concentrate on association predicates that are created dynamically according to the association types in a topic map. Following the example above, the simplified query string “select $PERSON from works-in(kmis: project, $PERSON: person)?” returns an unsorted set of all members participating in the “KMIS” project. By applying other mechanisms like boolean variables, built-in predicates or inference rules complex queries can be passed to the topic map engine. 2.3
Topic Maps in Knowledge Management and Mobile Work
The topic map paradigm can be split up into two different axes. The topics/associations axis relates to knowledge representation, whereas the topics/occurrences axis bridges the gap to information management [13]. Thus, two main areas of application in knowledge management are identified. Superimposed information is used to enrich existing knowledge resources without modification. It aims at improving knowledge retrieval. Moreover, topic maps can be used to model domain ontologies which represent an explicit representation of an organization’s domain-specific knowledge [15]. In a collaborative environment, topic maps are highly qualified for creating a knowledge grid infrastructure which facilitates knowledge exchange between distributed entities [7]. From a user’s perspective topic maps are applicable for navigation on an abstract level. This is useful to get a quick overview in the domain of interest. If the user’s question is known a topic map query can be specified [9]. This view is transferable to knowledge management in mobile work settings. In the first case, a mobile user prefers navigation features before going into detail by loading topic map fragments. Since topic maps are usually containing thousands
113
of topics, the data resides on the topic map server. In the latter case, a query interface is provided for putting a specific question to the topic map engine. 3. 3.1
Creating a Topic Map Query Tool for Mobile Devices Defining the Problem Domain
So far, organizations have been focusing on supporting knowledge management processes using conventional information and communication technology. However, mobile workers spend a great deal of time traveling or working at a local site where they may not be able to access the organizational repository. That is why home office workers have to be called in or problem solving is delayed. Most often mobile workers are equipped with powerful mobile devices which offer internet connectivity already, e.g. high-end PDAs with wireless LAN or GPRS enabled mobile phones. By developing a mobile application that enables mobile workers to retrieve topic map data and to create topic map queries, the process of knowledge retrieval is significantly improved. Because the topic map concept targets a wide range of applications, multiple scenarios are supported by a single software system. For example, if topic maps are applied to codify the employees’ competencies, this enables mobile workers to perform expert search on site. Another application are topic map indices that can be browsed and hence serve as navigation tool. Here, the focus is laid on enabling topic map queries by developing smart clients that run on PDAs. 3.2
Deriving the System Architecture
The system architecture is not only derived from restrictions in mobile hardware but from user requirements favoring smart clients. By developing smart clients it becomes possible to design rich user interfaces which are specifically optimized for visualizing topic map data and providing ease of navigation. Recently, Sun’s Java 2 Micro Edition (J2ME) has been extensively deployed in mobile devices. That is why the framework includes clients for PDAs implementing J2ME Personal Profile 1.0 and for mobile phones providing Mobile Information Device Profile 2.0 (MIDP). The initial design of the topic map server defines remote interfaces using Remote Method Invocation (RMI). However, this technology may be replaced in future versions of the prototypical implementation. Since MIDP does not include any sophisticated communication protocol, client/server communication in mobile enterprise applications is limited to HTTP [16]. Secondly, a customized message format is described using XML schema [22]. The document schema defines how conforming requests and responses are created. Usually, responses include customized objects as childs, e.g. tables carrying topic map query results. Since XML parsing is a costly operation, both clients use a parser which implements the XML Pull Parser API [8] and is optimized for resource-restrained devices. In the heart of this architecture a Java servlet acts as a broker between mobile clients and the topic map server. JAX Binding is involved in mapping XML client requests to request objects according to the classes defined in the XML schema document. Afterwards, the servlet discovers the associated RMI method and passes all parameters by Java reflection. The first part in the JAX binding process refers to unmarshalling, whereas the mapping of response objects to XML data is called marshalling [17]. The binding process involves validation of the parsed XML data. Figure 2 summarizes the multi-layered system architecture proposed and shows small screenshots of the prototypes’ GUIs.
114
Mobile Clients
Web Container
Topic Map Server
Client for PDAs J2ME Personal Profile java.net java.awt
Servlet
RMI Server
XML-Pull-Parser JAX Binding
Topic Maps
TM4J API
Client Mobile Phones J2ME MIDP Generic Connection Framework LCDUI XML-Pull-Parser
HTTP
RMI
Figure 2: System Architecture
3.3
Prototypical Implementation and Test
Given the system architecture design the following section focuses on specifics regarding the mobile clients for Personal Profile and MIDP. Because both J2ME profiles promote substantially different GUIs, a separate user interface is implemented for each client. Moreover, custom lightweight components are required with regard to the limited display size, e.g. for presenting topic map query results to users. If a result set is too large to be displayed at once, performing iterations might be an alternative. For example, the topic map server creates an iterator when a mobile user requests a topic name index. With respect to user acceptance the query interface has to minimize the required user input. This goal is achieved by automatically proposing association role types when a user selects a 2-ary association predicate. Furthermore, the topic map server preprocesses query strings in order to substitute user-friendly topic names with identifiers that are accepted by the query engine. This process may eventually fail due to ambiguous or non-existing topic names. However, the mobile user is able to adjust her previous request in any case. Following the Model-View-Controller principle in mobile application development [11], the model can be reused for both mobile clients, which are partially based on different Java APIs. When it comes to characteristic limitations of mobile devices, a central goal is to minimize the application’s memory footprint. Here, selecting the XML parser and implementing efficient algorithms turns out as key factor for the overall performance. A prototypical client for J2ME Personal Profile 1.0 has been tested using the Sharp Zaurus 5500-SL. The performance of the application depends on several factors; e.g. topic map size, storage model, network bandwidth and latency, the XML document parsed. The evaluation was successful since query results were parsed producing a maximum delay of two seconds. The performance and usability of the prototypical MIDP client remains to be demonstrated in a real-world context. 4.
Conclusion and Future Work
In this paper, we have presented an approach to leverage the topic map concept for use in the context of mobile knowledge management applications that serve the requirements of mobile
115
workers for semantic retrieval. With topic maps and related standards being further developed sophisticated knowledge management processes that respond to the characteristics of mobile working environments can be realized using cutting-edge mobile technologies. The system architecture proposed in this paper turns out to be effective and meets the requirements identified. Hence, the mobile application may be extended by features that further improve the process of knowledge retrieval for mobile workers. For example, adding graphical visualization features is worthwhile in order to enhance user orientation in large topic maps. There exist several visualization approaches such as the hyperbolic tree that can make use of “focus+context” techniques [9] [14] and might be the starting point for future enhancements. Additionally, short summaries of referenced information resources might be added to a detailed topic view if the information resources cannot be downloaded on a mobile device because of resource limitations. Some advanced topic map concepts are not yet covered by our current prototypes. However, using scopes and themes for filtering might be a suitable method for displaying solely relevant information to the user and will be considered in future work. Finally, Sun’s J2ME Web Services APIs [18] will be evaluated as an alternative to our present communication architecture. References [1] Ahmed, K. (2002): "TM4J Developer’s Guide"; http://tm4j.org/tm4j/docs/devguide/. [2] Berners-Lee, T., Hendler, J. and Lassila, O. (2001): “The Semantic Web”; Scientific American. [3] Fagrell, H. (2000): “Mobile Knowledge”, PhD Thesis, Department of Informatics, Göteborg University. Göteborg Studies in Informatics, Report 18, http://www.newmad.se/fagrell/thesis.pdf. [4] Gupta, S.K.S., Wang-Chien, Lee, Purakayastha, A., and Srimani P.K. (2001): “An Overview of Pervasive Computing”; in: IEEE Personal Communications, Vol 8, Issue 4. [5] ISO 13250 (2002): “Guide to the topic map standards”; ISO/IEC JTC1/SC34. [6] ISO 13250 (2002): “Topic Maps”, 2nd ed., ISO/IEC JTC1/SC34. [7] Korthaus, A., Hildenbrand, T. (2003): “Creating a Java- and CORBA-Based Enterprise Knowledge Grid Using Topic Maps “, in: Proc. Workshop on Knowledge Grid and Grid Intelligence, Halifax, Canada, 207-218. [8] kXML (2003): “About kXML”, http://kxml.enhydra.org/project/aboutProject/index.html. [9] Le Grand, B. (2003): “Topic Map Visualization”; in: Park, J. and Hunting, S. (eds.): XML Topic Maps: Creating and Using Topic Maps for the Web, Addison-Wesley, Boston, 267-281. [10] Luff, P. and Heath, C. (1998): “Mobility in Collaboration”, in: Poltrock, S. and Grudin, J. (eds.), Proceedings of CSCW 1998, ACM Press, Seattle, Washington, 305-314. [11] Nokia Forum (2004): “Series 40 Developer Platform 1.0 - The J2ME™ Implementation of a Blueprint Application”, http://www.forum.nokia.com/main/1,,040,00.html?fsrParam=3-3-/main.html&fileID=4576. [12] Ontopia (2003): “Tolog tutorial”, Ontopia AS, http://www.ontopia.net/omnigator/docs/query/tutorial.htm. [13] Pepper, S. (2000): “The TAO of Topic Maps - finding the way in the age of infoglut”, Proceedings of the XML Europe Conference 2000. [14] Smolnik, S. and Erdmann, I. (2003): “Visual navigation of distributed knowledge structures in groupwarebased organizational memories”, in: Business Process Management Journal, Vol. 9, Issue 3, 261-280. [15] Steiner, K., Essmayr, W. and Wagner, R. (2001): Topic maps - an enabling technology for knowledge management, in: Proc. 12th Int. Workshop on Database and Expert Systems Applications, IEEE, 472-476. [16] Sun Microsystems (2003): “Designing Wireless Clients for Enterprise Applications with Java Technology”, http://java.sun.com/blueprints/earlyaccess/wireless/designing/designing.pdf. [17] Sun Microsystems (2003): “The Java Web Services Tutorial”, http://java.sun.com/webservices/ downloads/webservicestutorial.html. [18] Sun Microsystems (2004): “J2ME Web Services APIs”, http://java.sun.com/products/wsa/. [19] Tazari, M. R., Grimm, M., Finke, M., Balfanz, D. and Windlinger, L. (2003): “White Paper: Mobile Knowledge Management”, MUMMY (IST-2001-37365) Public Deliverable, http://www.igd.fhg.de/~stazari/ publications/mKM-White.pdf. [20] TopicMaps.Org (2001): “XML Topic Maps (XTM) 1.0”, http://www.topicmaps.org/xtm/1.0/. [21] W3C (2004): “Semantic Web”; World Wide Web Consortium, http://www.w3.org/2001/sw/. [22] W3C (2004): “XML Schema Specifications and Development”, http://www.w3.org/XML/Schema#dev.
116