**4. Development of personal knowledge management system**

This section contains more detailed description of PKMS technological aspects in context of PKMS development. Within this section are stated mobile device characteristics, strengths and weaknesses, as well as smart phone and agent integration in context of PKM. Also is provided description of PKMS basic module, frequently used modules and specific area module "m-learning" architecture.

### **4.1 Mobile technology**

By analysis of available information sources online and available literature it is determined that so far there have not done research exactly about PKMS development approaches based on mobile devices platform. Agnihotri and Troutt are even more categorical. They point out, that research about role of technologies in the PKM is only at its beginnings (Agnihotri & Troutt, 2009). For this reason within this work mobile device overview and evaluation in context of PKM is conducted.

One of the most important KW-s task is developing collaboration with other individuals, for example, as it is in case of Wright conceptual PKMS (Wright, 2005). Developing collaboration contains: ability to communicate, to share explicit and tacit knowledge elements, to do collaboration in any time and in any place.

It is important for KW to adjust mobile device from all PKMS aspects to his / her needs and requirements in order to conveniently and handy carried out everyday functions. It is also important so that this device (i.e. device physical shape) and available work environment within it is acceptable aesthetically (see PTM and individual needs). Device's shape based on it usage convenience (i.e. does it comfortably fit in palm, is there available convenient information input functionality) is one more mobile device characteristic. Based on PKM

KW to set up to do tasks for himself / herself as well as for a PKMS. The collaboration management module provides support of several communication types (see user card – social aspect part) for knowledge worker's collaboration with other individual or for a PKMS collaboration agent with particular individual's PKMS representing agent. More detailed description about agent usage and frequently used modules from architecture and

Each specific area module is intended for concrete group of KW-s with specific or partially specific tasks to do. As everyday work of one of the authors is connected with academic environment as a lecturer for professional bachelor study program in Vidzeme University of applied sciences, then m-learning module is chosen as a specific area module. As additional modules size should be kept as compact as possible, then this additional module is focused on providing learning environment support functionality by using mobile devices as the basis for a PKMS. So it is not considered as a universal m-learning module. However if for a particular company it is necessary to carry out additional m-learning support then by supplementing modules repository with new modules it is possible to add other m-learning modules to a PKMS. Thereby previous m-learning PKMS functionality is supplemented by additional one. In more details the particular specific area module is described also in fourth section of this chapter. As part of a work on particular specific area module authors have conducted research on mobile learning in PKM context (Osis & Grundspenkis, 2009a).

This section contains more detailed description of PKMS technological aspects in context of PKMS development. Within this section are stated mobile device characteristics, strengths and weaknesses, as well as smart phone and agent integration in context of PKM. Also is provided description of PKMS basic module, frequently used modules and specific area

By analysis of available information sources online and available literature it is determined that so far there have not done research exactly about PKMS development approaches based on mobile devices platform. Agnihotri and Troutt are even more categorical. They point out, that research about role of technologies in the PKM is only at its beginnings (Agnihotri & Troutt, 2009). For this reason within this work mobile device overview and evaluation in

One of the most important KW-s task is developing collaboration with other individuals, for example, as it is in case of Wright conceptual PKMS (Wright, 2005). Developing collaboration contains: ability to communicate, to share explicit and tacit knowledge

It is important for KW to adjust mobile device from all PKMS aspects to his / her needs and requirements in order to conveniently and handy carried out everyday functions. It is also important so that this device (i.e. device physical shape) and available work environment within it is acceptable aesthetically (see PTM and individual needs). Device's shape based on it usage convenience (i.e. does it comfortably fit in palm, is there available convenient information input functionality) is one more mobile device characteristic. Based on PKM

the technical solution perspective is given in fourth section of this chapter.

**4. Development of personal knowledge management system** 

**3.2.2 Specific area module "m-learning"** 

module "m-learning" architecture.

**4.1 Mobile technology** 

context of PKM is conducted.

elements, to do collaboration in any time and in any place.

security process and on safety needs level (see PTM whole-human imitation point of view – body part) as another important characteristic can be named mobile device security functionality from unauthorized access to device point of view. An additional important point of view to look at is a PKMS ability to function on different mobile devices, i.e. reducing PKMS dependence from one particular mobile device model or even platform.

Within this work have been conducted mobile device summary and analysis, and have been determined that currently there are available many different mobile devices. That included many different mobile device platforms. Each of them represents one mobile device operating system. As most used operating systems can be named Android, Symbian, iPhone OS, RIM and Microsoft developed mobile device operating systems (Gartner, 2011). Mobile device platforms and application development environments are also analysed. Within this aspect there is large diversity. Often development environments are specifically suited for particular platform. However in addition to mobile device basic platform no matter what operating system it runs on frequently there is provided support for Java environment. This is one of the reasons, which fosters to choose Java application developing environment for the PKMS development based on mobile devices. Later on we describe main Java mobile environment elements.

One of actual features of mobile devices is their ability to provide wireless communication and data transfer. Nowadays mobile devices usually are used for communication and data transfer with other mobile devices, for Web access or data synchronization with personal computer or notebook. Within our work we have determined and systematized mobile device communication and data transfer types in different parts of the World. In Table 2 these communication and data transfer types are depicted by focussing on European region.


Table 2. Wireless communication and data transfer types in European region context

Usually knowledge worker conducts its work in company premises or in open air territory of company. Assuming company is located in populated area or within its vicinity and

Agent Based Personal Knowledge Management

needs (see PTM individual needs point of view - body part).

**4.1.2 Main elements of mobile Java environment** 

running on desktop environment.

overview of main elements of Java execution environment is included.

System Supported by Mobile Technology Cross-Platform Solution 153

characteristic. For example, accordingly supplemented mobile devices serves as a camera, pocket torch light, bicycle speedometer or mini-projector for providing slide shows (AT&T, 2009) to support such PKMS process as usage and sharing, and to satisfy individual's safety

The PKM means to know what knowledge do we posses, how can we organize it, mobilize, continue to create new knowledge and to apply it for reaching own goals (Martin, 2006). By reviewing latter mentioned mobile devices platforms, wireless communication and data transfer types, mobile devices weaknesses and strength, mobile devices characteristics, their ever increasing processing power and number of users (Hill, 2010) is acquired a base for confidence about mobile platform validity and conformity for the PKMS development.

As a uniting element and cross platform unification solution for many mobile devices can serve Java programming language despite that these devices might operate on different operating systems (OS). Within mobile Java execution environment there are several differences based on mobile device technical specifications as well. That is why a short

This environment includes such elements as configurations and profiles. Configurations define the minimal requirements for the hardware of the device and what kind of Java virtual machine is included in the system. In turn profiles define the programming infrastructure available for applications intended to be run on top of particular configuration (Mikkonen, 2007). Two important configurations are distinguished: Connected Limited Device Configuration (CLDC) and Connected Device Configuration (CDC). Each of them sets requirements for underlying virtual machines which in turn are hosted on each particular mobile device operating system. CLDC is the simplest mobile Java configuration and it is available on low-end and middle-class mobile phones and smart phones. This configuration is based on simplified Java virtual machine. CDC configuration lays on standard-featured Java virtual machine even though it does not require all the libraries as in the case of desktop environment (Mikkonen, 2007). Therefore such configuration usually is available on most powerful mobile devices like tablet PC-s, communicators and PDA-s. Each of these configurations has profiles. They can be seen as a connecting element between Java environment creators and mobile application developers. CLDC has two closely related profiles: Mobile Information Device Profile (MIDP) and Information Module Profile (IMP). The first one is meant for mobile devices with small screens, as a minimum limited connectivity and a simple keyboard. Thus the MIDP profile actually is the most widespread one available. The IMP profile is geared for similar devices but lacking screen features like operate-able sensors. The CDC configuration has three profiles: Foundation Profile (FP) being a simplest profile among the three, Personal Basis Profile (PBP) extends the FP and Personal Profile (PP) basically mimicking standard Java

Currently in market the dominating configuration is the CLDC both among mobile phones and also among smart phones. Only few smart phones with the CDC configuration were in the market at the beginning of this century such as Nokia 9500 (Forum.Nokia, 2010). These devices were upper level smart phones with a very expensive price tag. As a result it turned out that there is no real business for the CDC configuration environment within a smart phone market. Also PDA-s (which are dominantly based on the CDC configuration) tend to disappear from market as smart phones are taking over their niche and offering even a

evaluating communication and data transfer ranges, then majority of 2G and 3G connections provide communication to mobile devices for conducting knowledge work. Data transfer basic types such as Bluetooth and IrDA operate in very limited range (till 10 meters). In addition IrDA requires direct visibility connection. There is also service coverage that can considerably differ from country to country. It is determined that Wi-Fi operation range allows its usage both in company premises and in open air territory of company.

An important aspect in KW's work is data transfer rate. From this point of view currently available best download rate is on 802.11n standard based Wi-Fi, which is 600 Mb/s.

Though latter mentioned data transfer rate is dependent on company used 802.11 standard versions. In many places there still is used one based on 802.11g which supports data transfer rate till 54 Mb/s. Also 3G technologies support a good data transfer rate, for example, WiMAX standard supports data transfer up to 75 Mb/s.

Additional aspect is based on costs of particular communication and data transfer rate. Bluetooth and IrDA are free of charge types of data transfer. However due to their limited operation range their usage to support the PKMS is not suitable. WiMAX data transfer type is suitable based on its operation range (till 50 km) and data transfer rate (up to 75 Mb/s). It is determined that it is rather expensive service and, for example, in Latvia it is not available yet even though for a testing time it was available in Lattelecom network. Also it is determined that there is not a wide range of mobile devices supporting WiMAX. Even there are a number of commercial Wi-Fi hot spots though there are available quite a few places (including company indoor and outdoor territories) with free of charge Wi-Fi hot spots as well. By evaluating latter mentioned aspects it is concluded that for KW and the PKMS support the most appropriate is Wi-Fi communication and data transfer type.

#### **4.1.1 Strength and weaknesses of mobile devices in perspective of PKMS**

By conducting mobile device strength and weaknesses analysis within this work it is determined that there are number of strength and weaknesses, which are related with mobile devices and which should be considered when involved in knowledge work. As weaknesses can be mentioned the following (Osis & Grundspenkis, 2009a): small and different size screens, small keyboards, small icons on touch screen displays, difficulties to access information and explicit knowledge elements (where add-ons are required), general navigation difficulties, diversity of mobile devices brands and each brand products diversity, mobile devices operating systems diversity (which creates difficulties for development of multi-platform PKMS applications), limited memory and processing power, limited buttery processing time, text messages and e-mail size limitations, difficulties to access Web content (originally designed for desktop computers screens sizes). At the same time several mobile devices strengths have been determined in the context of KW and the PKM which are actual both for m-learning and for mobile device based PKMS. They are (Mellow, 2005; Squire et al., 2006): portability, individuality, linking, context sensitivity; flexibility in a sense of time, place and new knowledge acquisition speed control; usage of technology, which is attractive to KW (i.e. from PKMS social and psychological aspects) and convenient.

By evaluating mobile devices strengths and weaknesses it is concluded that modern ones have several considerable strengths, which makes them especially attractive for use as a development basis for the PKMS. They are ubiquity, personalization, localisation functionality and interaction characteristic. In addition it is worth to point out that mobile devices supplemented with specific hardware obtain universal technical applicability

evaluating communication and data transfer ranges, then majority of 2G and 3G connections provide communication to mobile devices for conducting knowledge work. Data transfer basic types such as Bluetooth and IrDA operate in very limited range (till 10 meters). In addition IrDA requires direct visibility connection. There is also service coverage that can considerably differ from country to country. It is determined that Wi-Fi operation range

An important aspect in KW's work is data transfer rate. From this point of view currently

Though latter mentioned data transfer rate is dependent on company used 802.11 standard versions. In many places there still is used one based on 802.11g which supports data transfer rate till 54 Mb/s. Also 3G technologies support a good data transfer rate, for

Additional aspect is based on costs of particular communication and data transfer rate. Bluetooth and IrDA are free of charge types of data transfer. However due to their limited operation range their usage to support the PKMS is not suitable. WiMAX data transfer type is suitable based on its operation range (till 50 km) and data transfer rate (up to 75 Mb/s). It is determined that it is rather expensive service and, for example, in Latvia it is not available yet even though for a testing time it was available in Lattelecom network. Also it is determined that there is not a wide range of mobile devices supporting WiMAX. Even there are a number of commercial Wi-Fi hot spots though there are available quite a few places (including company indoor and outdoor territories) with free of charge Wi-Fi hot spots as well. By evaluating latter mentioned aspects it is concluded that for KW and the PKMS

allows its usage both in company premises and in open air territory of company.

support the most appropriate is Wi-Fi communication and data transfer type.

**4.1.1 Strength and weaknesses of mobile devices in perspective of PKMS** 

convenient.

By conducting mobile device strength and weaknesses analysis within this work it is determined that there are number of strength and weaknesses, which are related with mobile devices and which should be considered when involved in knowledge work. As weaknesses can be mentioned the following (Osis & Grundspenkis, 2009a): small and different size screens, small keyboards, small icons on touch screen displays, difficulties to access information and explicit knowledge elements (where add-ons are required), general navigation difficulties, diversity of mobile devices brands and each brand products diversity, mobile devices operating systems diversity (which creates difficulties for development of multi-platform PKMS applications), limited memory and processing power, limited buttery processing time, text messages and e-mail size limitations, difficulties to access Web content (originally designed for desktop computers screens sizes). At the same time several mobile devices strengths have been determined in the context of KW and the PKM which are actual both for m-learning and for mobile device based PKMS. They are (Mellow, 2005; Squire et al., 2006): portability, individuality, linking, context sensitivity; flexibility in a sense of time, place and new knowledge acquisition speed control; usage of technology, which is attractive to KW (i.e. from PKMS social and psychological aspects) and

By evaluating mobile devices strengths and weaknesses it is concluded that modern ones have several considerable strengths, which makes them especially attractive for use as a development basis for the PKMS. They are ubiquity, personalization, localisation functionality and interaction characteristic. In addition it is worth to point out that mobile devices supplemented with specific hardware obtain universal technical applicability

example, WiMAX standard supports data transfer up to 75 Mb/s.

available best download rate is on 802.11n standard based Wi-Fi, which is 600 Mb/s.

characteristic. For example, accordingly supplemented mobile devices serves as a camera, pocket torch light, bicycle speedometer or mini-projector for providing slide shows (AT&T, 2009) to support such PKMS process as usage and sharing, and to satisfy individual's safety needs (see PTM individual needs point of view - body part).

The PKM means to know what knowledge do we posses, how can we organize it, mobilize, continue to create new knowledge and to apply it for reaching own goals (Martin, 2006). By reviewing latter mentioned mobile devices platforms, wireless communication and data transfer types, mobile devices weaknesses and strength, mobile devices characteristics, their ever increasing processing power and number of users (Hill, 2010) is acquired a base for confidence about mobile platform validity and conformity for the PKMS development.

### **4.1.2 Main elements of mobile Java environment**

As a uniting element and cross platform unification solution for many mobile devices can serve Java programming language despite that these devices might operate on different operating systems (OS). Within mobile Java execution environment there are several differences based on mobile device technical specifications as well. That is why a short overview of main elements of Java execution environment is included.

This environment includes such elements as configurations and profiles. Configurations define the minimal requirements for the hardware of the device and what kind of Java virtual machine is included in the system. In turn profiles define the programming infrastructure available for applications intended to be run on top of particular configuration (Mikkonen, 2007). Two important configurations are distinguished: Connected Limited Device Configuration (CLDC) and Connected Device Configuration (CDC). Each of them sets requirements for underlying virtual machines which in turn are hosted on each particular mobile device operating system. CLDC is the simplest mobile Java configuration and it is available on low-end and middle-class mobile phones and smart phones. This configuration is based on simplified Java virtual machine. CDC configuration lays on standard-featured Java virtual machine even though it does not require all the libraries as in the case of desktop environment (Mikkonen, 2007). Therefore such configuration usually is available on most powerful mobile devices like tablet PC-s, communicators and PDA-s. Each of these configurations has profiles. They can be seen as a connecting element between Java environment creators and mobile application developers. CLDC has two closely related profiles: Mobile Information Device Profile (MIDP) and Information Module Profile (IMP). The first one is meant for mobile devices with small screens, as a minimum limited connectivity and a simple keyboard. Thus the MIDP profile actually is the most widespread one available. The IMP profile is geared for similar devices but lacking screen features like operate-able sensors. The CDC configuration has three profiles: Foundation Profile (FP) being a simplest profile among the three, Personal Basis Profile (PBP) extends the FP and Personal Profile (PP) basically mimicking standard Java running on desktop environment.

Currently in market the dominating configuration is the CLDC both among mobile phones and also among smart phones. Only few smart phones with the CDC configuration were in the market at the beginning of this century such as Nokia 9500 (Forum.Nokia, 2010). These devices were upper level smart phones with a very expensive price tag. As a result it turned out that there is no real business for the CDC configuration environment within a smart phone market. Also PDA-s (which are dominantly based on the CDC configuration) tend to disappear from market as smart phones are taking over their niche and offering even a

Agent Based Personal Knowledge Management

they are robust and fault tolerant.

Carvalho & Tavares Ferreira, 2006).

life cycle management (Bergenti et al., 2001).

on mobile devices.

System Supported by Mobile Technology Cross-Platform Solution 155

message. There are several reasons to use mobile agents (Lange & Oshima, 1999): they decrease network load (by travelling themselves to data), they overcome network latency, they encapsulate protocols, they execute asynchronously and autonomously, they dynamically adjust, they are naturally heterogeneous (by naturally adapting legacy system),

Intelligent agents perceive their environment, make deliberate decisions based on their perception and react accordingly. Intelligent agents perceive their environment in different ways depending on environment characteristics. Agents obtain information about their environment by using sensors. Intelligent agent is a software component, which can operate autonomously by perceiving/understanding environment, by evaluating options, and making action decisions by not having communication with a user (i.e. agent owner) (de

**Lightweight agent platform for mobile device based PKMS**. Mobile devices get more popular and individuals become more demanding regarding available mobile device based services. For KWs even more important becomes to find the right information in the right time. More, in some cases it is desirable that software in mobile devices can act on behalf of their users. It is especially important in frequently changing and unpredictable environments. Koch and Rahwan (Koch & Rahwan, 2004) point out that this is the area where usage of agent technology is a promising solution to develop modern software based

As a basis for agent and mobile technology integration serves created standards in this area. Such are Foundation for Intelligent Physical Agents (FIPA) developed agent based systems standards. FIPA specifications comprise a set of standards to facilitate collaboration of heterogeneous agents and their services (FIPA, 2009). Thus FIPA focuses not only on communication, but also on general meaning services such as standard approach to agent

Several world level companies such as Motorola, Siemens, British Telecom, Telecom Italia, etc. have realized the importance of this area and by joining effort they have started the Lightweight Extensive Agent Platform (LEAP) project. That is the first attempt of a kind to develop a FIPA agent platform that can run both on mobiles and on regular devices such as personal computers using wireless and land line networks. Main goal of the LEAP project is to develop a FIPA compliant agent platform, which is enough lightweight to run on mobile devices with limited resources, and is enough open and scalable to become a solution for devices with no particular resource limitations such as corporate servers (Bergenti et al., 2001). There are several development platforms for software agent development on mobile devices. One example of such platform is MicroFIPA-OS (Tarkoma & Laukkanen, 2002), while the most popular one is Java Agent DEvelopment Framework (JADE) (JADE, 2009; Wang et al., 2003; Weng & Tran, 2007). It is a software platform fully realized in Java. It facilitates multi-agent systems development by using middle-ware, which is compliant with FIPA and combines several graphical tools for debugging and implementation phases. An agent platform can be distributed over several computers which not necessarily need to have the same operating system; configuration can be controlled using remote GUI. Configuration can be changed during run-time by moving agents from one computer to another whenever it is necessary. Agent communication is based on passing messages by using FIPA ACL as a communication language (JADE, 2009). There is developed the platform based on JADE agents for mobile devices called JADE-LEAP. It is based on FIPA standards and on latter mentioned LEAP project. This is also the frequently used agent

wider variety of functionality. However the future of CDC is not necessarily dim. Thus, for example, Amazon Kindle e-Reader is taking over the run for the CDC configuration support. The Kindle software development kit (SDK) (Amazon, 2010) has been made available since spring 2010. Though for time being it is available for Amazon chosen or approved developers only.

### **4.2 Mobile devices and agent technology in perspective of PKMS**

Research was conducted regarding software agent application areas in context of PKMS. It was determined that software agent can be used in a rather wide range of different areas such as searching for explicit knowledge elements localy within the PKMS, fostering collaboration among KWs and their representing PKMS, information searching in Web resources, supporting actions of KW in communities of practice and the PKMS hardware operation monitoring and supporting.

Regarding software agents, their characteristics and communication it is determined that first of all agent is a computer system existing in its environment, which can carry out autonomous operations within this environment in order to reach set goals (Jennings & Wooldridge, 1998). Agents ability to perform autonomous actions is one of the most important ones also due to that majority of researchers agree that agents should possess it (Wooldridge, 1999). Agents' autonomy is compared as equivalent characteristic to humans' free will (Vidal et al., 2011).

Agents possess abilities or characteristics (Jennings & Wooldridge, 1998). They are (Wooldridge & Jennings, 1995; Tveit, 2001; Padgham et al., 2008): autonomy, social abilities, ability to react, pro-activity, mobility, truth, benevolence, rationality. Based on Bradshaw (Bradshaw, 1997) some other agent characteristics include: temporal continuity, personality and adjustment.

An important area in agents' collaboration context is their ability to communicate. In case of humans in order to communicate they choose communication language which is understood by all involved parties. Similarly is used Agent Communication Language (ACL), which is based on (Bradshaw, 1997): vocabularies, Knowledge Interchange Format (KIF), and on Knowledge Query Manipulation Language (KQML). It is determined that a common vocabulary should be defined so that agents could mutually communicate. In addition communication is supported by using common ontology, which defines particular domain concepts and relations among them. Common ontology is used to design communication protocols. Also a common ontology is a support for vocabulary usage in agent communication. Agents should not be forced to use only one communication protocol in such a wide many sided environment as the Internet. Instead their collaboration must be regulated by using number of ontology protocols (Zack, 1999).

There are distinguished several types of agents. For example, there are collaboration agents, interface agents, information agents, reactive agents, hybrid agents, mobile agents and intelligent agents (Nwana, 1996). Within context of this work more attention is geared towards mobile and intelligent agents as the set of their characteristics is suitable for development of mobile device based PKMS.

Mobile agent is an execution unit which can autonomously migrate to another execution place by transporting along with it its code and execution status. Then it dynamically installs it code and seamlessly continue its execution in the new environment (Nwana, 1996; Lander, 1997; Lange & Oshima, 1999; Kelash et al., 2005; Kotz et al., 2002). Mobile agents use three types of messages (Kelash et al., 2005): proposal, knowledge based, and mobility

wider variety of functionality. However the future of CDC is not necessarily dim. Thus, for example, Amazon Kindle e-Reader is taking over the run for the CDC configuration support. The Kindle software development kit (SDK) (Amazon, 2010) has been made available since spring 2010. Though for time being it is available for Amazon chosen or

Research was conducted regarding software agent application areas in context of PKMS. It was determined that software agent can be used in a rather wide range of different areas such as searching for explicit knowledge elements localy within the PKMS, fostering collaboration among KWs and their representing PKMS, information searching in Web resources, supporting actions of KW in communities of practice and the PKMS hardware

Regarding software agents, their characteristics and communication it is determined that first of all agent is a computer system existing in its environment, which can carry out autonomous operations within this environment in order to reach set goals (Jennings & Wooldridge, 1998). Agents ability to perform autonomous actions is one of the most important ones also due to that majority of researchers agree that agents should possess it (Wooldridge, 1999). Agents' autonomy is compared as equivalent characteristic to humans'

Agents possess abilities or characteristics (Jennings & Wooldridge, 1998). They are (Wooldridge & Jennings, 1995; Tveit, 2001; Padgham et al., 2008): autonomy, social abilities, ability to react, pro-activity, mobility, truth, benevolence, rationality. Based on Bradshaw (Bradshaw, 1997) some other agent characteristics include: temporal continuity, personality

An important area in agents' collaboration context is their ability to communicate. In case of humans in order to communicate they choose communication language which is understood by all involved parties. Similarly is used Agent Communication Language (ACL), which is based on (Bradshaw, 1997): vocabularies, Knowledge Interchange Format (KIF), and on Knowledge Query Manipulation Language (KQML). It is determined that a common vocabulary should be defined so that agents could mutually communicate. In addition communication is supported by using common ontology, which defines particular domain concepts and relations among them. Common ontology is used to design communication protocols. Also a common ontology is a support for vocabulary usage in agent communication. Agents should not be forced to use only one communication protocol in such a wide many sided environment as the Internet. Instead their collaboration must be

There are distinguished several types of agents. For example, there are collaboration agents, interface agents, information agents, reactive agents, hybrid agents, mobile agents and intelligent agents (Nwana, 1996). Within context of this work more attention is geared towards mobile and intelligent agents as the set of their characteristics is suitable for

Mobile agent is an execution unit which can autonomously migrate to another execution place by transporting along with it its code and execution status. Then it dynamically installs it code and seamlessly continue its execution in the new environment (Nwana, 1996; Lander, 1997; Lange & Oshima, 1999; Kelash et al., 2005; Kotz et al., 2002). Mobile agents use three types of messages (Kelash et al., 2005): proposal, knowledge based, and mobility

**4.2 Mobile devices and agent technology in perspective of PKMS** 

regulated by using number of ontology protocols (Zack, 1999).

development of mobile device based PKMS.

approved developers only.

free will (Vidal et al., 2011).

and adjustment.

operation monitoring and supporting.

message. There are several reasons to use mobile agents (Lange & Oshima, 1999): they decrease network load (by travelling themselves to data), they overcome network latency, they encapsulate protocols, they execute asynchronously and autonomously, they dynamically adjust, they are naturally heterogeneous (by naturally adapting legacy system), they are robust and fault tolerant.

Intelligent agents perceive their environment, make deliberate decisions based on their perception and react accordingly. Intelligent agents perceive their environment in different ways depending on environment characteristics. Agents obtain information about their environment by using sensors. Intelligent agent is a software component, which can operate autonomously by perceiving/understanding environment, by evaluating options, and making action decisions by not having communication with a user (i.e. agent owner) (de Carvalho & Tavares Ferreira, 2006).

**Lightweight agent platform for mobile device based PKMS**. Mobile devices get more popular and individuals become more demanding regarding available mobile device based services. For KWs even more important becomes to find the right information in the right time. More, in some cases it is desirable that software in mobile devices can act on behalf of their users. It is especially important in frequently changing and unpredictable environments. Koch and Rahwan (Koch & Rahwan, 2004) point out that this is the area where usage of agent technology is a promising solution to develop modern software based on mobile devices.

As a basis for agent and mobile technology integration serves created standards in this area. Such are Foundation for Intelligent Physical Agents (FIPA) developed agent based systems standards. FIPA specifications comprise a set of standards to facilitate collaboration of heterogeneous agents and their services (FIPA, 2009). Thus FIPA focuses not only on communication, but also on general meaning services such as standard approach to agent life cycle management (Bergenti et al., 2001).

Several world level companies such as Motorola, Siemens, British Telecom, Telecom Italia, etc. have realized the importance of this area and by joining effort they have started the Lightweight Extensive Agent Platform (LEAP) project. That is the first attempt of a kind to develop a FIPA agent platform that can run both on mobiles and on regular devices such as personal computers using wireless and land line networks. Main goal of the LEAP project is to develop a FIPA compliant agent platform, which is enough lightweight to run on mobile devices with limited resources, and is enough open and scalable to become a solution for devices with no particular resource limitations such as corporate servers (Bergenti et al., 2001).

There are several development platforms for software agent development on mobile devices. One example of such platform is MicroFIPA-OS (Tarkoma & Laukkanen, 2002), while the most popular one is Java Agent DEvelopment Framework (JADE) (JADE, 2009; Wang et al., 2003; Weng & Tran, 2007). It is a software platform fully realized in Java. It facilitates multi-agent systems development by using middle-ware, which is compliant with FIPA and combines several graphical tools for debugging and implementation phases. An agent platform can be distributed over several computers which not necessarily need to have the same operating system; configuration can be controlled using remote GUI. Configuration can be changed during run-time by moving agents from one computer to another whenever it is necessary. Agent communication is based on passing messages by using FIPA ACL as a communication language (JADE, 2009). There is developed the platform based on JADE agents for mobile devices called JADE-LEAP. It is based on FIPA standards and on latter mentioned LEAP project. This is also the frequently used agent

Agent Based Personal Knowledge Management

System Supported by Mobile Technology Cross-Platform Solution 157

Fig. 4. PKMS three group agent environment in context of mobile devices and agent

A KW and the PKMS three group agents environment in context of PKMS modules is depicted in middle part of Figure 4. In green are agents connected with PKMS basic module.

development environment JADE-LEAP

platform, which is well documented and has active developers' community. It is determined that the JADE-LEAP is suitable as a development platform for mobile device based PKMS with built-in software agent support.

### **4.3 Architecture of personal knowledge management system**

Based on PKMS general architecture, it is scalable and consists from modules combining the basic module and several supplemental modules. The basic module contains KW's knowledge profile and a user profile. The *knowledge profile* contains information about system's user: his / her knowledge level, knowledge specifics, information about desirable knowledge and also knowledge sharing frequency. In addition it contains a knowledge development plan and a knowledge element repository list. The *user profile* contains particular KW personal information, social aspect information, and psychological aspect information. Both these cards are used by the PKMS when there is collaboration with other KWs and accordingly with their PKMS. The *supplemental modules* contain two frequently used modules (i.e. the goal and task management module, and the collaboration module) and specific area modules. Within this work as a *specific area module* is chosen m-learning module, which provides functionality of learning environment support.

When there are developed new PKMS supplemental modules for inclusion in repository of supplemental modules, then there is updated also special supplemental module list. This list is transferred to the PKMS basic module along with installation of a new upgrade package. Based on this list the PKMS recognizes additional supplemental modules. In order to add frequently used module or specific area module to the PKMS there has to be used special PKMS settings and module configuration area called PUMKA. A KW uses PUMKA area only for PKMS configuration purposes and this area is not used during his / her everyday task processing. PUMKA combines the following functionality: adding frequently used modules or specific area modules to the PKMS, and PKMS (i.e. basic module) default settings configuration.

There is needed an intellectual support for a KW everyday to-do tasks in context of PKMS. Solution for this is an intelligent agents' community (see middle part of Figure 4) which creates a base for KW's environment. First of all agents can serve as hard work performers – as a driving force in so called "engine room". In basics it is hardware, software and technology integrated area to support knowledge acquisition, processing, storing and representation as it is mentioned in Grundspenkis approach (Grundspenkis, 2003) in companies' context. In this work it is used in context of PKMS. Secondly, there are agents supporting communication. And finally there are personal agents, which are tightly connected with KW.

"Engine room" agents idea is that nowadays a number of to-do tasks are connected with technical solutions, which should be done by KWs in order to streamline their everyday actions. These agents can appropriately react on changes in "engine room" environment. Such "engine room" environment consists, for example, from local network, wireless network, Internet and from KW used hardware. It is especially difficult and time consuming for majority of individuals to work with such environment. Other intelligent agents group is communication agents. They are responsible for communication support. Communication is an important aspect for an individual in multi-agent environment in order to perform knowledge creation, acquisition, sharing and distribution. Personal agents, which are directly influenced by a KW, support interaction with particular hardware device as well as provide support in knowledge work.

platform, which is well documented and has active developers' community. It is determined that the JADE-LEAP is suitable as a development platform for mobile device based PKMS

Based on PKMS general architecture, it is scalable and consists from modules combining the basic module and several supplemental modules. The basic module contains KW's knowledge profile and a user profile. The *knowledge profile* contains information about system's user: his / her knowledge level, knowledge specifics, information about desirable knowledge and also knowledge sharing frequency. In addition it contains a knowledge development plan and a knowledge element repository list. The *user profile* contains particular KW personal information, social aspect information, and psychological aspect information. Both these cards are used by the PKMS when there is collaboration with other KWs and accordingly with their PKMS. The *supplemental modules* contain two frequently used modules (i.e. the goal and task management module, and the collaboration module) and specific area modules. Within this work as a *specific area module* is chosen m-learning

When there are developed new PKMS supplemental modules for inclusion in repository of supplemental modules, then there is updated also special supplemental module list. This list is transferred to the PKMS basic module along with installation of a new upgrade package. Based on this list the PKMS recognizes additional supplemental modules. In order to add frequently used module or specific area module to the PKMS there has to be used special PKMS settings and module configuration area called PUMKA. A KW uses PUMKA area only for PKMS configuration purposes and this area is not used during his / her everyday task processing. PUMKA combines the following functionality: adding frequently used modules or specific area modules to the PKMS, and PKMS (i.e. basic module) default

There is needed an intellectual support for a KW everyday to-do tasks in context of PKMS. Solution for this is an intelligent agents' community (see middle part of Figure 4) which creates a base for KW's environment. First of all agents can serve as hard work performers – as a driving force in so called "engine room". In basics it is hardware, software and technology integrated area to support knowledge acquisition, processing, storing and representation as it is mentioned in Grundspenkis approach (Grundspenkis, 2003) in companies' context. In this work it is used in context of PKMS. Secondly, there are agents supporting communication.

"Engine room" agents idea is that nowadays a number of to-do tasks are connected with technical solutions, which should be done by KWs in order to streamline their everyday actions. These agents can appropriately react on changes in "engine room" environment. Such "engine room" environment consists, for example, from local network, wireless network, Internet and from KW used hardware. It is especially difficult and time consuming for majority of individuals to work with such environment. Other intelligent agents group is communication agents. They are responsible for communication support. Communication is an important aspect for an individual in multi-agent environment in order to perform knowledge creation, acquisition, sharing and distribution. Personal agents, which are directly influenced by a KW, support interaction with particular hardware device as well as

with built-in software agent support.

settings configuration.

provide support in knowledge work.

**4.3 Architecture of personal knowledge management system** 

module, which provides functionality of learning environment support.

And finally there are personal agents, which are tightly connected with KW.

Fig. 4. PKMS three group agent environment in context of mobile devices and agent development environment JADE-LEAP

A KW and the PKMS three group agents environment in context of PKMS modules is depicted in middle part of Figure 4. In green are agents connected with PKMS basic module.

Agent Based Personal Knowledge Management

agent development environment JADE-LEAP

which contains all three latter mentioned PKMS aspects.

**5. Conclusion**

request.

System Supported by Mobile Technology Cross-Platform Solution 159

Then that information is transferred to the operator agent. There it is saved and communicated further with the audit agent and then student agents are informed. (4) *Scheduling an appointment scenario* provides possibility for the student agent to send a request directly to an instructor agent to schedule an appointment. If such request is received by the instructor agent then it consults with its PKMS time management module agent (i.e. if it is available). The latter one on its own decides if to accept or reject particular appointment

Fig. 5. PKMS specific area module m-learning architecture in context of mobile devices and

The goal of broader research and to create within this work the personal knowledge management system conceptual development approach of combining technological aspect, social aspect and psychological aspect and such system's architecture solution based on mobile and agent technologies has been reached. Within this work is gained the following scientific novelty: (\*) defined PKM nine processes and created PKM process model; (\*) developed conception for united PKMS development based on suggested personal trinity model which combines technological, social and psychological aspects; (\*) developed adaptable PKMS's architecture based on application of mobile and agent technology, and

In grey are agents connected with PKMS frequently used modules. Meaning that workflow agent intelligent Web agent is connected with PKMS goal and task management module, but remaining grey-coloured agents are connected with collaboration module. Specific area modules agents should not be showed in details before accordant specific area module is not created and added to modules repository.

Solid lines in the middle part of Figure 4 (i.e. three group agents environment in context of PKMS modules) denote data, information and knowledge flow, but interrupted lines denote possible collaboration between accordant agents. PKMS three group agents' environment in context of mobile devices is depicted in Figure 4 entirely. It depicts the PKMS architecture by combining agent technology view, mobile device technology view, agent development environment JADE-LEAP view and five KWs using notebook computers and smart phones accordingly as a basis for PKMS.

**Specific area module "m-learning" architecture**. PKMS specific area module m-learning architecture from agent technology perspective is depicted in the middle part of Figure 5. Solid lines denote communication within specific area module m-learning, but interrupted lines denote communication with the PKMS. This module has four main agents types (Osis & Grundspenkis, 2010): instructor agent, operator agent, student agent and audit agent. The JADE-LEAP agent environment is used. There are included some more FIPA standard management agents. Architecture of PKMS specific area module m-learning in context of mobile devices and agent development environment JADE-LEAP is depicted in Figure 5. In particular solution m-learning module has the Main-Container (located on a server or can be located on a notebook computer) and five other containers: Container 1, Container 2 and three split Containers. The Main-Container contains audit agent and operator agent. It also has FIPA standard management agent Directory Facilitator (DF) and FIPA agent platform's mandatory component called Agent Management System (AMS). Containers 1 and 2 are located on notebook computers having regular Java environment. Other three split containers are located on smart phones (i.e. their front-ends). All back-ends of these split containers are located on a server (or can be located on a notebook computer). Automatic management of back-ends of all three front-ends is performed by the JADE-LEAP architectural unit called a mediator as depicted in Figure 5.

Specific area module m-learning has several scenarios. They are as follows: setting a mark, appealing, extending a deadline and scheduling an appointment. (1) *Setting a mark scenario* begins when instructor has corrected, for example, a home work and assigns points. The instructor agent provides option to create a batch collection of the student ID, a single item of points, and the exercise ID. Next it sends this batch collection to the operator agent. Then the operator agent saves that information. It uses help of DF agent (i.e. it is a JADE framework internal agent) and broadcasts this information to each student agent accordingly. In addition if student agents specifically request then they can receive a total summary status of assigned points at a given time. Meanwhile audit agent keeps track of done and not-yet-done exercises. It informs the student agent accordingly based on deadline proximity property value. This value can be set by the student agent. (2) *Appealing scenario* is started by the student. Then it is taken over by the student agent. It sends an appeal directly to the instructor agent. If it is too late and the appeal deadline is passed then the instructor agent on its own rejects this appeal. If that is not the case, then the instructor is informed. (3) *Extending deadline scenario* begins when the instructor decides to extend a deadline for a given exercise.

In grey are agents connected with PKMS frequently used modules. Meaning that workflow agent intelligent Web agent is connected with PKMS goal and task management module, but remaining grey-coloured agents are connected with collaboration module. Specific area modules agents should not be showed in details before accordant specific area module is not

Solid lines in the middle part of Figure 4 (i.e. three group agents environment in context of PKMS modules) denote data, information and knowledge flow, but interrupted lines denote possible collaboration between accordant agents. PKMS three group agents' environment in context of mobile devices is depicted in Figure 4 entirely. It depicts the PKMS architecture by combining agent technology view, mobile device technology view, agent development environment JADE-LEAP view and five KWs using notebook computers and smart phones

**Specific area module "m-learning" architecture**. PKMS specific area module m-learning architecture from agent technology perspective is depicted in the middle part of Figure 5. Solid lines denote communication within specific area module m-learning, but interrupted lines denote communication with the PKMS. This module has four main agents types (Osis & Grundspenkis, 2010): instructor agent, operator agent, student agent and audit agent. The JADE-LEAP agent environment is used. There are included some more FIPA standard management agents. Architecture of PKMS specific area module m-learning in context of mobile devices and agent development environment JADE-LEAP is depicted in Figure 5. In particular solution m-learning module has the Main-Container (located on a server or can be located on a notebook computer) and five other containers: Container 1, Container 2 and three split Containers. The Main-Container contains audit agent and operator agent. It also has FIPA standard management agent Directory Facilitator (DF) and FIPA agent platform's mandatory component called Agent Management System (AMS). Containers 1 and 2 are located on notebook computers having regular Java environment. Other three split containers are located on smart phones (i.e. their front-ends). All back-ends of these split containers are located on a server (or can be located on a notebook computer). Automatic management of back-ends of all three front-ends is performed by the JADE-LEAP

Specific area module m-learning has several scenarios. They are as follows: setting a mark, appealing, extending a deadline and scheduling an appointment. (1) *Setting a mark scenario* begins when instructor has corrected, for example, a home work and assigns points. The instructor agent provides option to create a batch collection of the student ID, a single item of points, and the exercise ID. Next it sends this batch collection to the operator agent. Then the operator agent saves that information. It uses help of DF agent (i.e. it is a JADE framework internal agent) and broadcasts this information to each student agent accordingly. In addition if student agents specifically request then they can receive a total summary status of assigned points at a given time. Meanwhile audit agent keeps track of done and not-yet-done exercises. It informs the student agent accordingly based on deadline proximity property value. This value can be set by the student agent. (2) *Appealing scenario* is started by the student. Then it is taken over by the student agent. It sends an appeal directly to the instructor agent. If it is too late and the appeal deadline is passed then the instructor agent on its own rejects this appeal. If that is not the case, then the instructor is informed. (3) *Extending deadline scenario* begins when the instructor decides to extend a deadline for a

created and added to modules repository.

architectural unit called a mediator as depicted in Figure 5.

accordingly as a basis for PKMS.

given exercise.

Then that information is transferred to the operator agent. There it is saved and communicated further with the audit agent and then student agents are informed. (4) *Scheduling an appointment scenario* provides possibility for the student agent to send a request directly to an instructor agent to schedule an appointment. If such request is received by the instructor agent then it consults with its PKMS time management module agent (i.e. if it is available). The latter one on its own decides if to accept or reject particular appointment request.

Fig. 5. PKMS specific area module m-learning architecture in context of mobile devices and agent development environment JADE-LEAP
