Introduction

The evolution of mobile devices and high-speed networks has been stimulating researches related to Mobile Computing (Diaz et al. 2009; Satyanarayanan et al. 2009). In this area, the improvement and the proliferation of Location Systems (Hightower and Gaetano 2001; Hightower et al. 2006) have motivated the adoption of solutions that consider the user’s precise location in the providing of services (Location-Based Services Dey et al. 2010and Vaughan-Nichols 2009). Furthermore, mobile applications have also been considering the user’s current context to make decisions (Context Awareness Hoareau and Satoh 2009). Among various definitions of context, the description of Dey et al. (2001) stands out. In this article, we use Dey’s definition for modeling context information. This description includes location data what allows us to consider users’ mobility to develop contextualized and adaptive services.

Context-aware applications are rich and easy to interact with Saccol et al. (2011) and Barbosa et al. (2011). Nevertheless, they usually use data only from the users’ current situations (i.e. the present) and do not consider the previous contexts observed during a period (i.e. the past). The past contexts are referred to as contexts histories (Hong et al. 2009) or trails (Driver and Clarke 2008; Silva et al. 2010). Dey et al. (2001) briefly described the importance of using contexts histories in the decision-making process.

Moreover, in previous works, we studied the value of considering users’ past actions performed in the contexts they visited during a period, for instance, the activities they were engaged in, the applications they used, the contents they accessed, and any other possible data (Silva et al. 2010). That information helped to improve the distribution of content and services, because applications were using an additional and more complete information source. In other words, applications passed to use the past temporal dimension, i.e. users’ contexts histories, in conjunction with the present dimension, i.e. their current contexts, to make decisions (Silva et al. 2010).

We define as multi-temporal context awareness the joint use of workers’ present and past contexts to assist them in the development of their competences.

In the business scenario, organizations give much importance to people management, especially related to the development of professional competences (Chang et al. 2010; Malachowski 2011). To help in this scenario, one possibility, is the use of multi-temporal context-aware systems that assist the users to develop their competences. There are many works on competences management. Nevertheless, most of them are mainly concerned on developing ontologies (Paquette 2007; Iordan et al. 2008) or strategies to identify competences needed for the organization and to allocate human resources to projects (Chang et al. 2010; Oliveira and Gluz 2010; Malachowski 2011).

Although there are many studies regarding educational recommender systems (Verbert et al. 2012), intelligent help systems (Rodriguez 2006), and learning object repositories (Barbosa et al. 2013), they are not focused on competence management in a way that helps companies to evaluate and track the workers progress in their competences. Nonetheless, a few proposals do consider the workers’ present environments to manage their competences (Ley et al. 2008; Colucci et al. 2011). Furthermore, few researches consider proficiency levels for the competences, among them we highlight the model proposed by Ley et al. (2008) and the framework presented by Tinelli et al. (2012).

In addition, it is important to highlight that none of the studied works considers the workers’ history of contexts, also called Trail (Silva et al. 2010; Wagner et al. 2014), to manage their competences. In this article, we consider Trail Management only as the use of the past dimension based on contexts as defined by Dey et al. (2001). We believe that the users’ history of contexts will enable to detect, automatically, their competences, allowing the assessment of which of them must be developed and acquired to achieve certain goals or to take up a specific post. Therefore, in this work we propose MultCComp, a multi-temporal context-aware system for competences management.

MultCComp applies proficiency levels and takes advantage of the workers’ present and past contexts to help them to develop their competences. The present context support enables MultCComp to suggest to the users the participation in events happening near their locations, the use of learning resources, and interactions with people with more experience in certain competence. On the other hand, the past context information is used to detect, automatically, the users’ advances in their competences and to create personalized services according to the users’ previous choices.

The article is divided into five additional sections. Section “Background Concepts” presents basic concepts, mainly addressing context, contexts history, ubiquitous learning and competence management. Section “Related Works” discusses and compares research works considered strategic for MultCComp. Section “The MultCComp System” describes the proposed system. Section “The MultCComp Evaluation Experiments” addresses two experiments used to evaluate the system functionality and acceptance. And Section “Conclusions and Future Works” deals with final remarks and possible future improvements to MultCComp.

Background Concepts

In this section, we present the concepts of context, history of contexts, and competences management. The section is divided into three subsections. The first one describes context and history and compares models for contexts histories management. The MultCComp system applies in the competence management our previous experience in mobile (Saccol et al. 2011) and ubiquitous learning (Barbosa et al. 2011, 2012, 2013; Levis et al. 2008; Silva et al. 2010; Wagner et al. 2014). Therefore, we discuss in the second section aspects of mobile and ubiquitous learning considered relevant to this article. The third section approaches competence management.

Context and History of Contexts

There are many studies concerning context information modeling (Bettini et al. 2010; Bellavista et al. 2012). In 2001, Dey et al. (2001) provided a classical categorization for context data, which is used by many works until today. They argued that context-aware applications look at the who’s, where’s, when’s and what’s of users and use this information to determine why a situation is occurring. Thus, the authors proposed four basic categories to model context, which are: (1) identity; (2) location; (3) time; and (4) activity. These context types not only answer the questions of who, where, when, and what, but also act as indices to other sources of contextual information. Along the years other context modeling approaches were proposed, such as, CC/PP (Klyne et al. 2005) and CML (Hoareau and Satoh 2009). Nevertheless, the categorization of Dey et al. (2001) is the most used until today and in most cases it serves as a basis for works on this subject (Bettini et al. 2010).

Context-aware architectures that use not only present contexts, but also measurements about the past, need to store observed contexts for further use. The concept that implements this idea is contexts history. In literature, there are many works that approach contexts history (Ciaramella et al. 2010; Hong et al. 2009). There are works on history focusing, specifically, on life logging (Smith 2008; Doherty et al. 2011; Sellen and Whittaker 2010). Their main purpose is to enhance human memory by using the capabilities of computers. Some life logging systems aid users to remember past events, providing different forms of visualization and access to the recorded contents (Gemmell et al. 2002). For example, there are works that focus, specifically, on helping people with episodic memory impairment (Lee and Dey 2008).

In contrast, there are works that approach contexts history focused on assisting systems to personalize services and contents according to the users’ previous choices (Hong et al. 2009; Ciaramella et al. 2010). Some of these proposals refer to the history as trail (Silva et al. 2010; Levis et al. 2008). These works usually have a well defined domain representation through an ontology. The domain definition facilitates queries and reasoning to discover users’ preferences based on their past actions (Song et al. 2010). The use of ontologies for education has been discussed by the academic community (Mizoguchi and Bourdeau 2000; Wagner et al. 2014). Furthermore, specific ontologies have been applied in competences modeling and management (Paquette 2007). In this sense, a promising research theme is the use of educational ontologies to support learners’ contexts histories. Previous researches have explored the use of contexts history in the educational scope but without the use of specific ontologies (Silva et al. 2010). MultCComp proposes a specific ontology to competence management and the system uses it to manage the contexts history of workers.

In previous research (Silva et al. 2010), we have noted that there are some generic models that ease the trails or histories management task. For this reason, we have decided not to develop a trails management mechanism in MultCComp. Instead of that, we have chosen to use the UbiTrail model (Silva et al. 2010). Therefore, aiming at justifying our choice, we will present and compare three models for trails management, pointing out the UbiTrail advantages. Life Annotation (Smith et al. 2006), for instance, proposes the annotation of the places visited by users of mobile devices, thereby composing their trails. However, it does not standardize the trails information, which makes it difficult to query them. PELEP (Levis et al. 2008) records the activities of learners during a period. Based on these records, it updates automatically the learners’ preferences. Nonetheless, this system is focused on the learning area and it does not support generic trails management. Hong et al. (2009) proposed a mechanism to store trails based on an ontology. However, the main focus of this work is on techniques to take decisions. Moreover, the study does not support the creation of services to query the trails.

Differently from those proposals, UbiTrail (Silva et al. 2010) supports the generic trails management in context-aware environments and uses an ontology to standardize the trails data. Furthermore, the model has a mechanism that eases the creation of query services for the trails. Thus, UbiTrail was used for the trails management task in MultCComp. Table 1 presents the comparison of trail management models.

Table 1 Comparison of the trail management models

Mobile and Ubiquitous Learning

The application of mobile and ubiquitous computing in the improvement of education strategies has created two research fronts called Mobile Learning and Ubiquitous Learning. Mobile learning (m-learning) (Tatar et al. 2003) is fundamentally about increasing learners’ capability to carry their own learning environment along with them. M-learning is the natural evolution of e-learning, and has the potential to make learning even more widely accessible. In m-learning model, mobile computers are still not embedded in the learners’ surrounding environment, and as such they cannot seamlessly obtain information about learner context.

On the other hand, Ubiquitous Learning (Barbosa et al. 2011) refers to learning supported by the use of mobile and wireless communication technologies, sensors and location/tracking mechanisms, which work together to integrate learners with their environments. Ubiquitous learning environments connect virtual and real objects, people and events, in order to support a continuous, contextual and meaningful learning. A ubiquitous learning system can use embedded devices that communicate mutually to explore the context, and dynamically build models of their environments. While the learner is moving with mobile device, the system dynamically supports learning process by communicating with embedded computers in the environment. The opportunities made available by the context can be used to improve the learning experience. So, in this scenario, the mobility of learners and the perception of the elements that are near them (context) are part of the learning process, and this process can be continuous, comprehensive and transparent. Therefore, these environments support learning processes related to the situation involving the learner.

The learners’ contexts can be composed of Social Context and Physical Context as proposed by GlobalEdu (Barbosa et al. 2012; Barbosa et al. 2013). The Social Context has the information about People (for example, name, e-mail, commitments and role), Events (for example, type, description and location) and Resources (for example, name, type, description and commitments) related to a specific context. The presence of learners with the same goals, competences and preferences, can be used to stimulate the collaboration between learners (Barbosa et al. 2011). Moreover, this information can also be used for the creation of learner groups in the same context. The Physical Context represents the resources accessed by the learner, such as network, locations and devices.

Competence Management

Competence management follows different methodologies. It aims at increasing the organization’s overall performance by improving the performance of the people who compose it (Malachowski 2011). To achieve this goal, organizations aim at identifying the necessary competences to meet their organizational strategies. In addition, organizations try to select, develop and evaluate people according to their competences. Thus, the competence management focuses on approximating organizational objectives with personal or professional goals.

Competences can be analyzed over three distinct perspectives, which are: the organizational, the intermediate, and the personal. In the organizational viewpoint, the focus is on the conceptual aspects of the company in terms of strategy, business, and competitiveness (Prahalad and Hamel 1990; Hafeez et al. 2002). The intermediate level expresses the organizational competences in terms of the main processes of the organization (Mills et al. 2003; Chang et al. 2010). And the personal viewpoint emphasizes the formation and development of people (Chang et al. 2010). Table 2 presents the relationship among these three dimensions.

Table 2 Organizational dimensions of competences

In practice, those concepts are closely related and, sometimes, they are confused, because they approach a multiple analysis of dimensions that are related to the individual, the group, and the organization. Moreover, those elements can be largely analyzed over different perspectives. Many companies are considering more relevant to represent organizational and functional competences as individual competences. One reason for this is that the decoupling of the individual and organizational competences makes difficult the visualization of the individuals’ contributions to the achievement of the company’s goals (Chang et al. 2010).

As discussed by Wagner et al. (2014), personalization means the individual adaptation of products, services and information. Personalization technology usually involves programs that learn patterns, habits and preferences of a user, allowing the user modelling. Based on this information, an application adapts itself effectively to a user. This kind of application organize its knowledge about a user in User Profiles and the profiles are stored in a format called User Models. Modern proposals of learning environments (for example, GlobalEdu Barbosa et al. 2013, LOCAL Barbosa et al. (Barbosa et al. 2011) and iHelp Brooks et al. 2006) use Learner Models to improve their pedagogical support. In this sense, some ubiquitous learning proposals (Wagner et al. 2014; Silva et al. 2010) have used the context history to learner modelling. Personal competence modelling follows the same principles of learner modelling, focusing on the individual competences of the company’s workers. The MultCComp system uses personal competence modelling to better support the improvement of users’ competences.

Related Works

We considered as related works only the systems that contain a mechanism to assist the users to advance in their competences or that detect their improvements in competences. In addition, we analysed the related works according to their ability of applying proficiency levels. Proficiency levels, in our work, means a mechanism to measure how good a user is in certain competence. Although this notion of weighting the expertise of a user in a competence might be simplistic in some cases, we understand that this information is important to choose among many users who is more suitable for a task. For instance, let’s assume a manager wants to choose between two users who is more fitting for reviewing the grammar of a paper written in English. However, both users have the competence ”English reading and writing”. How would the manager differentiate between the users? With the notion of proficiency levels, the manager could simply assign this task to the user with greater proficiency in the english reading and writing competence. This, however, is a very simplistic scenario and it only serves the purpose of demonstrating the utility of proficiency levels. In a real world case, it would make more sense to consider other competences altogether, for instance, the competence of reviewing a paper itself.

Lindstaedt et al. (2010), for example, introduced the APOSDLE environment, whose goal is to significantly enhance knowledge worker productivity by supporting informal learning and collaboration activities in the workers everyday work processes and within their work environments. Different types of Knowledge Resources are presented to the user within APOSDLE: Topics, Tasks, Learning Paths, Documents, Snippets, Cooperation Transcripts, and Persons. In addition, the environment supports the acquisition of new knowledge by the users by making them aware of learning material, learning opportunities and by providing relevant material. APOSDLE recommends Knowledge Resources for the workers’ current environment.

Furthermore, APOSDLE uses Learner Models (Lindstaedt et al. 2009; Kump et al. 2012; Ley and Kump 2013) (or learner’s knowledge state (Kump et al. 2012; Ley and Kump 2013)) to deal with the users’ information. Lindstaedt et al. (2009) discuss a user model and respective services to support Work-Integrated Learning (WIL), mainly considering the importance of user modeling to adaptive systems. One of the production services (usage data history service) allows to access the user’s history, mainly registering the Knowledge Indicating Events (KIE). Based on this information, inference services (for example, learning need service and people recommender service) can help the users in their learning. In this sense, MyExperience (Kump et al. 2012) was proposed to allow the users to access their learners’ models. Thereby, they can better understand the interactions with APOSDLE and contribute to the improvement of their users’ models. In a more recent work, Ley and Kump (2013) compared two proposals to predict the users’ level of expertise based on their interaction with APOSDLE (historical information). These three articles (Lindstaedt et al. 2009; Kump et al. 2012; Ley and Kump 2013) show that APOSDLE takes into account the users’ interaction history with the system to detect automatically improvements in their competences.

Two additional articles (Ley et al. 2010a; Beham et al. 2010) focus on specific applications of user models. Ley et al. (2010a) conducted a study to explore the impact of personalized learning goal recommendations in scaffolding learning. In this work, the learning goal recommendation is the service and the learner’s knowledge state was obtained through a pre-test. The work was not focused on the inference of learner’s knowledge state, instead of that it aimed at evaluating the relevance of personalized models. Beham et al. (2010) described a specific APOSDLE’s service to recommend knowledgeable people (People Recommender Service). The article indicates that the service can be configured with different algorithms to recommendation. Moreover, the text details two algorithms based on history of KIEs. Considering specifically these two last articles (Ley et al. 2010a; Beham et al. 2010) but also the other three (Lindstaedt et al. 2009; Kump et al. 2012; Ley and Kump 2013), it is possible to see that APOSDLE uses the users’ history to create personalized services.

APOSDLE uses the workers’ environments (present dimension) and their interaction history (past dimension). Nevertheless, the system is not context-aware as defined by Dey et al. (2001), because location information and physical mobility of users are not considered.

Colucci et al. (2011) presented an integrated semantic-based knowledge management system providing decision support services for several activities typical of competence management, including core competence evaluation, human resources allocation, and training programs planning. They adopted a semantic-based approach (Colucci et al. 2008) supporting long term organizational strategy in the identification of the core competence. In addition, they specified a method to allocate human resources to tasks according to their competences. They also described a mechanism that assists the users to advance in their competences suggesting learning objects. Nevertheless, the work does not consider proficiency levels to describe the competences. Furthermore, the authors do not use any temporal dimension of context awareness to assist the users in the improvement of their competences.

Puustjärvi and Puustjärvi (2011) proposed a system that uses cloud computing for managing competences and learning paths in pharmacy. The authors presented an ontology for describing pharmacy competences and specified an architecture. The system has a mechanism that calculates the users’ competences gaps and helps the users to fulfill the gaps. It also allows new applications that manage learning objects or specify competences to be easily added to the system as needed. Nonetheless, the proposal does not use any context information to assist the users in the improvement of their competences. The work also does not consider proficiency levels for the competences.

Leblanc and Abel (2009) developed a learning environment based on the concept of learning organizational memory. This environment is a web platform using semantic annotations and Web 2.0 technologies in order to organize, share, and capitalize organizational competences, knowledge, and resources. The environment enables the users to use learning objects in different formats (e.g. text, video, and audio) to advance in their competences. They used an ontology to define knowledge and competences within the organization. However, the work does not use any context information to assist the users neither considers proficiency levels for the competences.

Ley et al. (2008) proposed a formal model to describe competences and a method for learning integrated with work. The authors described context as the resources and tools available to the workers, the materials for the acquisition of competences, and the knowledge stored in the organization. According to Ley et al. (2008), the main contribution of this work was connecting researches in cognitive psychology and behavioral sciences with a formal approach. Nevertheless, the authors did not describe an architecture to support the proposed model. Although the work considers proficiency levels for competences and resources to assist the users, it does not use context information of location and events. In addition, the approach also does not consider the users’ past contexts to detect their improvements and to create personalized services.

The system proposed in this article, namely MultCComp, applies proficiency levels to the competences and uses past and present contexts information to help the users in the improvement of their competences. The system takes advantage of the users’ present contexts to suggest participations in events, interactions with people, and utilization of resources. The users’ past context is used to automatically detect the improvement of the users’ competences levels. In addition, this temporal dimension is also exploited to create personalized services according to the users’ previous choices. MultiCComp is based on the Dey’s definition of context (Dey et al. 2001) which considers the location information and thus enables to explore the users’ mobility to implement contextualized and adaptive services. MultiCComp is a context-aware system and all its design was based on this principle. We believe this aspect is the main contribution of our work.

Table 3 presents the comparison among the studied competence management systems. MultiCComp was included in the last column. The comparison aspects that we considered are:

  1. 1.

    To consider the present dimension of context awareness to assist in the improvement of competences;

  2. 2.

    To suggest resources, events, and people available in the users’ current environments to help them to advance in their competences;

  3. 3.

    To take into account the users’ history (past dimension) to detect automatically their competences improvements;

  4. 4.

    To use the users’ history (past dimension) to create personalized services according to their previous choices;

  5. 5.

    To apply proficiency levels to describe the users’ evolution in their competences;

  6. 6.

    To consider location information and physical mobility of users for competences management.

Table 3 Comparison among the related works and MultCComp

The MultCComp System

We decided to design MultCComp in two stages aiming to ease the understanding. This section is divided into two subsections and each of them presents one of the development stages. The first stage concerns only the present temporal aspect, and the second one approaches the inclusion of the past dimension. In previous researches, we verified the importance of the use of context information, mainly location data, in learning. For instance, Barbosa et al. (2011) studied learning models focused on learners integration. Silva et al. (2010) investigated content distribution in trail-aware environments. And Wagner et al. (2014) proposed a model for profile management applied to ubiquitous learning environments.

These works used location data to compose the users’ contexts (Barbosa et al. 2011; Silva et al. 2010; Wagner et al. 2014) and their trails (Silva et al. 2010; Wagner et al. 2014). The use of this information enabled to consider the physical mobility of users to develop contextualized and adaptive services. We consider that this capacity is a critical aspect of context-aware applications, so we decided that MultiCComp also would take into account location and users’ mobility.

The design decisions related to competence management domain, such as, which information would be considered in the MultiCComp modules (Section “MultCComp Modules”), were based on an actual consulting for the implementation of competence management processes in an Enterprise Resource Planning (ERP) vendor located in Southern Brazil. Decisions about the system implementation took into account the lessons learned from two case studies in mobile learning in organizations (Saccol et al. 2011). Saccol et al. (2011) present 23 lessons learned considering 6 kinds of mobility (physical, temporal, conceptual, social, interactional and technological), but the main for the MultiCComp design were: (1) physical mobility can be restricted by the lack or instability of wireless network; (2) ergonomic restrictions are challenging, especially for mobile tools that require texting; and (3) difficulties to understand and use the technology can distract individuals during the learning process.

Regarding the first lesson, MultiCComp was designed to minimize restrictions on physical mobility, providing a way to tolerate communication’s failures. The information residing on the mobile device is not lost in areas without wireless network coverage because a local buffer supports limited functionalities until a reconnection to the server is established. The other two lessons are mainly related to interface design. We have designed the MultiCComp interface as simple as possible, minimizing the interactions through texting and maximizing the use of icons and intuitive navigation screens. Section “Technologies used in the Prototype Development” deals with the prototype development and the Section “Experiment 1: Evaluation Scenarios” presents some screens used during the evaluation.

MultiCComp always informs the user when a contextualized opportunity is detected. We have adopted this strategy because we believe that the contextualized opportunities are very dynamic and must be mapped continuously. Considering the possible mobility of users and resources, the opportunities may arise at anytime and anywhere. We have used this approach in the development of other context-aware systems in different research areas, such as, Commerce (Franco et al. 2011), Health (Vianna and Barbosa 2014) and Education (Barbosa et al. 2011). All these systems received good evaluation of users’ acceptance.

Present Dimension in MultCComp System

The present dimension enables MultCComp to suggest for the users the participation in the events happening near their locations, use of learning resources, and interaction with people with more experience in certain competence.

The MultCComp architecture has seven components to support the present dimension (Fig. 1), which are: three modules, three agents, and an administrative website. The modules are: (1) Profile Module - it stores the worker profiles, in a similar way and with the same goal that learner profiles are stored in learning environments (Wagner et al. 2014; Barbosa et al. 2013, 2011); (2) Competence Module - it keeps information about the entire map of competences of the organization; and (3) Context Module - it maintains the contexts defined in the system.

Fig. 1
figure 1

Present dimension in MultCComp architecture

The agents present in MultCComp are: (1) Personal Assistant - it accompanies the users on their mobile devices; (2) Relationship Agent - it provides to the users, at the right time, messages sent by the Competences Agent; (3) Competences Agent - it makes inferences of events (for example, congresses or lectures), people to interact with, and contents to be accessed by the users. Those inferences are based on the map of competences of the organization and the context of the user (profiles, resources, location, and events). The last module is the Administrative Website, which enables the administrator to manage the modules data.

MultCComp Modules

Profile Module

organizes the knowledge about the workers in user profiles (Wagner et al. 2014), considering the profile model shown in Fig. 2. It adapts the concepts used in learner profiles (Barbosa et al. 2011, 2013) aiming to model the knowledge about workers. MultCComp uses the workers’ profiles to better explore the opportunities to improve their competences.This module uses the classes from the PAPI standard (PAPI 2010) to describe information of contact, preferences, and security. In addition, MultCComp has the classes PersonCompetence and Project.

Fig. 2
figure 2

Profile module of MultCComp

The principal class is Person (inherited from the PAPI standard PAPI 2010), because it describes the person’s profile. There must be only one class Contact and Security for each Person, but there may be several Preference, Project, and PersonCompetence associated to the Person class. The PersonCompetence class stores abilities, experiences, and knowledge of the users with their respective proficiency level. The Project class describes the function and the role played by the user. Furthermore, it defines what are the competences and proficiency levels expected for the workers to adequately perform their work in the project.

The Competence Module is used by Competences Agent to analyze and to identify competence gaps. Figure 3 presents the classes of this module. The Competence class is associated with a Group, which groups similar competences. For each competence, we can attribute proficiencies levels, using the ProficiencyLevel class. For example, we can attach the initial, basic, intermediate, advanced, and fluent levels to describe a competence related to the ability to communicate in the English language. This class is fundamental, because it allows evaluating quantitatively how much a person has to develop a competence in order to achieve certain goals or to obtain some position.

Fig. 3
figure 3

Competence module of MultCComp

The Context Module is based on the context proposed by Dey et al. (2001), which was described in Section “Context and History of Contexts”. This module allows characterizing the situation of a user in an interaction. Figure 4 presents the Context Module, which is divided into five categories. Each one of these categories tries to answer the following questions:

  1. 1.

    Location Context - where am I?

  2. 2.

    Temporal Context - what events have not occurred yet in my surrounding and can assist me to fulfill my gaps?

  3. 3.

    Social Context - which people and resources are close and can help me to fulfill my gaps?

  4. 4.

    Competence Context - which are my competence gaps?

  5. 5.

    Physical Context - which device am I using?

Fig. 4
figure 4

Context module of MultCComp

The Location Context is composed of the Location class, which contains information about the mapped geographical regions. The main elements that form this class are the following: (1) Identifier - unique identifier; (2) Name - symbolic name of a geographical region; (3) Description - description of a region (for instance, the characteristics of a laboratory or auditorium); (4) LocationRoot - it enables the hierarchical classification of regions, so that a company can be mapped in a tree structure (for instance, building, floors and rooms); (5) PointsList - it is a list of points (coordinates) that outline a geographical region; 6) Bucket - it is a field for information expansion, if needed.

MultCComp allows a company to map its regions, such as conference rooms, offices and auditoriums, and even larger spaces, covering an entire branch or headquarters. Figure 5 shows an example of floor plan for a company’s headquarters and branch with the following eight location contexts mapped: (1) Company Headquarters; (2) Human Resources Department; (3) Development Sector; (4) Conference Room; (5) Event Room; (6) Break Room; (7) Management Office; and (8) Branch.

Fig. 5
figure 5

Example of location context mapping

The Company Headquarters context encompasses six context components (2, 3, 4, 5, 6 and 7). This definition of encompassing allows to determine that the contexts are close enough to share information. Thus, MultCComp considers the contexts 1, 2, 3, 4, 5, 6 and 7 as being the same context for the purpose of inferences. On the other hand, information about context components is relevant, for example, when a context where a particular event will take place can be accurately identified. A broader context also avoids the need to map all the environments in the company. Thus, if an employee is not specifically in one of the six contexts, but is within the Company Headquarters, he or she will continue to be monitored.

The information that describes the elements of the Physical Context is provided by the user’s device. The Competence Context supports the information on employees’ competences, the competences required in order to perform their job and the projects they are engaged in. The ProficiencyLevelPerson element defines the proficiency level developed and ValueGap defines the value of the gap calculated for that competence.

The Person and Resource classes form the Social Context. Person contains information about employees and is associated with the Location and PhysicalContext categories. Resource stores information about the resources available within a location.

Temporal Context is formed by the Event class. The definition of events that may be relevant to a person considers when the event will take place, or if the event has already taken place, the geographic region where people are and what they still need to learn in order to perform their work with excellence within the organization.

The Context module also determines the location of employees. The module links information about the current location, using data such as latitude and longitude, with symbolic names, thus enabling real-time mapping of the displacement of a mobile device. The users authorize their location and, from then on, the module records their displacement. The module uses a location system that supports different techniques to determine the position of mobile devices (Rolim et al. 2008). The chosen location technique depends on the resources available in the environment and in the mobile devices. In order for this support to be available, the model requires the inclusion of a list of points for locations (PointsList).

MultCComp Agents

The application of agents technology to support education is not a new research approach. The work of Chou et al. (2003) discussed the emergence of learning companion systems as a new breed of intelligent learning environments when compared with intelligent tutoring systems. Some systems used intelligent agents to match learners with peer helpers to foster the collaboration and education, as iHelp (Brooks et al. 2006; Greer et al. 1998) and GlobalEdu (Barbosa et al. 2013). Agents also have been used as intelligence technology in different kind of specific systems as for example in the Tactical Language and Culture Training System (TLCTS) as discussed by Johnson and Valente (2008). Additionally, some works explore the potential of agents technology in specific strategies of education, as for example the learning by teaching approach (Krittaya and Biswas 2008). In this strategy, teachable agents can be teached by students and, through this process, they help the students to learn themselves. In the context of intelligent tutoring systems, some works use agents to support the communication with students through conversational agents, as the AutoTutor system (Sidney and Art 2013).

These approaches discuss and apply the agents technology in different aspects of education. Following this research community effort, we proposed the use of agents to support Ubiquitous Learning (Barbosa et al. 2013). MultCComp contributes by applying in the competences management our previous experience in agents technology. To model the MultCComp agents, we used some parts of the Prometheus methodology (Padgham and Winikoff 2004). Figure 6 presents an overview of the MultCComp agents, which were modeled by the PDT tool (Padgham and Winikoff 2002). The agents run concurrently with the rest of the system in an autonomous way. The Competences Agent sends messages to the Relationship Agent, which, in its turn, forwards the communication to the Personal Assistant. The Personal Assistant is responsible for presenting the messages to the users. Furthermore, this agent enables the users to update their profiles and to interact with the system.

Fig. 6
figure 6

General vision of MultCComp agents

The Relationship Agent is, basically, responsible for delivering messages from the Competences Agent to the Personal Assistant. We use this agent to increase the decoupling between the other two agents, simplifying the management of the communication process between them. As discussed in Section “Technologies used in the Prototype Development”, in the prototype the Competences Agent runs on a server and the Personal Assistant can run in several clients on users’ mobile devices.

The Competences Agent perceives changes in the users’ contexts and triggers its capability of making recommendations about people, events, and resources. The context of the user that triggers the search for suitable resources, because only when one of the contexts changes, the Competence Agent triggers its capability of making recommendations. In cases where Competences Agent finds recommendations about people, events, and resources for the same context, all options are shown to the users so that they can choose which one they want to use. The capability to make recommendations was divided into specific capabilities, which are initiated by different perceptions, i.e. context changes, and modelled in the diagram presented in Fig. 7.

Fig. 7
figure 7

Capabilities of the competences agent for making recommendations

The capabilities of the Competences Agent are triggered by the following perceptions:

  • Events update (Fig. 7a) - it detects the insertion or update of events (through the Context Module) and triggers the capability Find users by events. The capability then selects all users in the same location of the event (using the Context Module) and that have competences that can be developed through it (through the Competences and Profile Modules). After that, the capability sends for each of the selected users a message regarding the new event that can help them to develop their competences;

  • Resources update (Fig. 7b) - it perceives the insertion or update in resources and enables the capability Find users by resources. This capability selects all users in the same location and that have competences that can be developed using the resource. In the sequence, the capability sends the users a message about the new resource that can help them to advance in their competences;

  • Locations update (Fig. 7c) - it captures the entry of a user in a location and triggers the capability Find users by location. This capability selects all users in the same location and activates the capability Find user by competences. This second capability filters, among those pre-selected users, the ones that can be assisted considering the competences that each one needs to develop and the competences that the user who entered the location has. After this filter, the capability sends a message to the selected users regarding the new user in the location that can assist them to improve their competences;

  • Profile update (Fig. 7d) - it detects insertions or update competences in the user’s profile and enables the capability Find competences and gaps. This capability executes into two steps. The first step scans the user’s competence map, through the Competence Module, and re-calculates his or her gaps. In the second step, the capability searches for other people, in the same location, that can be assisted by the user’s new competence. For the matched people, the capability sends messages suggesting the interaction with the user in order to advance in their competences;

  • Competences update (Fig. 7e) - it triggers the capability Find users by competences. This capability finds users affected by changes in the competences map. For each selected user, the capability sends a message saying that there is new information available regarding their gaps of competences.

Past Dimension in MultCComp System

The past dimension enables MultCComp to detect, automatically, the users’ advances in their competences. As discussed in Section “Context and History of Contexts”, the trails (Hong et al. 2009; Driver and Clarke 2008) allow the handling of the past dimension. Thus, we used the UbiTrail model (Silva et al. 2010) as trails management mechanism. UbiTrail has many features to enable competences management in multi-temporal context-aware systems. This section is divided into four subsections. The first one briefly describes the UbiTrail model, whereas the following sections detail the past temporal support in MultiCComp through UbiTrail.

The UbiTrail Model

The UbiTrail model (Silva et al. 2010) manages users’ trails. Records related to the contexts visited by a specific user are stored in his or her corresponding trail. The trail is composed of a sequence of registers of a structure called ptrail (piece of trail). A ptrail is composed of the following attributes: entity - it gathers user’s data; resources - it keeps information of the device that the user was using when performed an event; event - it stores data about the events that the users performed; extension - it records additional information for events (e.g. a event of resource use could have additional data describing the resource); and location - it maintains the user’s location. The ptrail structure is based on the UbiTrail ontology (Silva et al. 2010); thus each of its attributes, basically, corresponds to a class of the ontology.

The architecture model, presented in Fig. 8, consists of a server (UbiTrailServer) and a client (UbiTrailClient). The server component stores the trails and provides services to applications. There are two types of services, which are: (1) basic - it enables the trail composition and simple queries to the trails; and (2) specialized - it allows applications to develop service according to their needs. The UbiTrailClient component runs on the users’ mobile devices, collecting information and sending it to the server component to form the users’ trails. Moreover, UbiTrail also considers the existence of two external providers of context and location data. Silva et al. (2010) describe in details the UbiTrail and its proposal to trails management. Furthermore, the article presents an example of analyzing trails applied to ubiquitous learning.

Fig. 8
figure 8

The UbiTrail architecture

Past Temporal Support through UbiTrail

Figure 9 shows the past temporal support in MultCComp through UbiTrail model. MultCComp integrates modules and agents involved in the trails management and in the use of trails to improve the competences management. Section “Experiment 1: Evaluation Scenarios” exemplify through two scenarios the interaction among these modules and agents. Moreover, the scenarios are complemented with interfaces of the Personal Assistant accessed by the users.

Fig. 9
figure 9

Past temporal support in MultCComp through UbiTrail model

Workers who use MultCComp to develop their competences have to inform the Personal Assistant about the activities that they did to improve their competences. Personal Assistant passes this data, including other users’ information, such as, their locations and the devices that they were using, to the TrailClientCore subcomponent of UbiTrailClient. The location data is obtained through the TrailClientLocation subcomponent of UbiTrailClient that queries the External Provider of Location.

The TrailClientCore sends the data to the UbiTrailServer through the TrailClientComm subcomponent. The TrailServices receives the data and forwards it to TrailCore, which stores it in the Trails base. To detect users’ competences automatically, the Competences Agent queries the trails through the TrailServices subcomponent.

The Ontology base of UbiTrailServer keeps the ontology, whereas the Entity base stores the users’ profiles. The TrailContext subcomponent, in its turn, queries the External Provider of Context to obtain context data of the user’s location (for example, people around and subject discussed) and adds the information to the user’s trail.

Specification of the Ontology to the Competence Domain

Ontologies have been used to support complex aspects in the development of modern learning environments, as for example, the use of trails management to treat Learner Profiles (Wagner et al. 2014). As described in Section “The UbiTrail Model”, UbiTrail has an ontology to standardize the management of the trails information. Therefore, one of the first steps to any application that is going to use it is to specify the ontology. The most important class to specify is the Event, since it determines the events the users can perform to develop their competences. Since MultCComp suggests resources, events, and interactions with people, those are the event the users can perform to advance in their competences. Therefore, the Event class was specified with the following instances: (1) Resource Use - it consists of reading documents or watching video lessons; (2) Participation of Event - it refers to participation in seminars, congresses, lectures, and other events; and (3) Interaction with Person - it consists of the interaction with other users, with a higher-level competence, in order to improve the user’s competence.

Every time workers perform those activities, the MultCComp system registers a ptrail on their trails, thus keeping all actions they performed to improve their competences. Nevertheless, that information is not enough to determine whether users improved their competences or not. It is necessary to validate the knowledge. Thus, we introduced a fourth event to the ontology, which is: (4) Accomplishment of Evaluation Test. The users must undertake some tests to attain the proficiency level of the competence marked as developed. Otherwise, the proficiency level is marked as partially developed. Competences have five proficiency levels and each level may have an evaluation test associated to it. The other classes of the ontology were described as following: Entity - it groups the system’s users; Resource - it gathers the devices types the users can use; Location - it keeps the regions the users can be while performing activities to develop their competences.

During the development of MultiCComp we needed a strategy to make sure that a competence was developed. The use of a test was the choice. We believe that the effectiveness of competences tests will be relevant to the adoption of MultiCComp by companies. But we have no concrete data to affirm that the tests will enable a viable approach to indicate the sure on the development of a competence. In addition, we believe that other alternatives could be considered, such as a peer review or a supervisor review through workplace activities.

Obtainment of the Activities of Competence Development

The system must register a ptrail on the worker’s trail whenever occurs one of the development competences activities. However, the system needs to know when the activities occur. There are basically two ways of obtaining that information. The first is monitoring constantly all users’ actions on their devices. And the second approach is the users themselves inform the activities that they did. The advantage of the monitoring strategy is that the users do not need to enter any information into system. Nonetheless, this method requires sophisticated techniques to detect the users’ actions of competences development. Furthermore, we also need to consider ethical issues involved in the worker’s monitoring (Martin and Freeman 2004).

Thus, we decided to use the approach in which the own users inform the activities that they performed to develop their competences. The Participation of Event activity is obtained in two ways. The first is through the option Inform Participation that is available in the event description presented to the user in the Personal Assistant. The second method is through the worker’s Curriculum Lattes,Footnote 1 which is a curriculum vitae database maintained by CNPq (Brazilian National Council of Scientific and Technological Development). After a user has updated his or her Lattes, he or she must download it, in the XML format, and send it to the system.

The user also informs the Resource Use activity. After using resources, users can mark them as used in the Personal Assistant. Similarly, the user can inform the activity of Interaction with Person. The people the user interacted receive messages asking whether they really helped the person to develop a competence. If they respond no, the information is not registered in the trail and the worker is informed of this. If they respond yes, the activity is recorded in the user’s trail. The last activity is Accomplishment of Evaluation Test. The person in charge of applying evaluation tests to users informs this activity, using the Administrative Website. This person also informs the final grade of users.

Automatic Competences Identification based on Trails

Systems capable to diagnose learners have been targeted by researchers in the educational area as much as in the computational area (Chen 2011; Chen and Bai 2009; Lee et al. 2009). They mainly differ in the technique used to diagnose. Moreover, some works use the diagnosis to enhance the pedagogical process as proposed by Chen (2011). In a similar way, MultCComp uses the trail management to automatically identify the competences acquired by workers. This automatic identification keeps updated their profiles, making the process of gaps diagnosis more precise. As discussed in Section “MultCComp Agents”, the Competences Agent uses this information to foster the competences development.

In order to enable automatic competences identification in MultCComp, we needed to add some perceptions and actions to the system agents, as shown in Fig. 10. In Personal Assistant, we included new data inputs about the competences development activities to the Users’ input perception. In addition, we also inserted the Trail update action to Personal Assistant. In Competences Agent, we created the Trail update perception, which enables the agent to know when new data are inserted in the trails and thus to infer which competences were developed.

Fig. 10
figure 10

New agents’ perceptions and actions to support the past temporal aspect

If Competences Agent detects the improvement of a competence, it informs the user through the Competences protocol. Figure 11 shows the new capability that was added to Competences Agent. This capability detects the insertion of data in the trails through the Trail update perception. After that, it searches, in the Trail base, for the ExtensionEvent class of the Event that happened. The ExtensionEvent class can have a Resource, an Event, a Person, or a Test depending on the action that the user performed.

Fig. 11
figure 11

Capability added to the Competences Agent to support the past temporal aspect

If the worker performed an action of Accomplishment of Evaluation Test, the capability obtains the user’s score in the test, through the ExtensionEvent class, and queries the Competence module to acquire the competence and the proficiency level that the test is related. If the user obtained the minimal specified grade in the test, the proficiency level of his or her competence is marked as ”Developed”. However, if the user did not obtain the minimal grade, the system analyzes if he or she performed all suggested activities to develop the proficiency level of that competence.

This is done by the Competences agent. The interaction of agents with the UbiTrail components can be seen in Fig. 9. The Competences agent queries a specific service created in TrailServices component of UbiTrailServer. The service is called Verify Activities Accomplishment. It receives user’s competences as input and analyzes, by querying the trails, if he or she did all necessary activities to develop the competences. The service can have one of the following outputs:

  • Response 1: Suggestions of Competence Development Completely Used - it means that the worker has already used all suggestions of the system to advance in a competence, but he or she still has not taken the accomplishment test to validate the obtained knowledge;

  • Response 2: Suggestions of Competence Development Not Used - it shows that the user still has not used all the system suggestions to advance in a competence.

If the service returns the first option, the competence proficiency level of the worker is marked as “Partially Developed”. Nonetheless, if the service returns the second option, the competence proficiency level continues marked as “Needs Development”. The competence level is marked as “Developed” only when the user does the evaluation test and scores more than the average. The “Partially Developed” sign means that the worker used all system suggestions and should be prepared to undertake the evaluation test.

The system enables the worker to do the evaluation test without having used all suggestions to develop a proficiency level of a competence. This is because we consider that the user can use other materials or take courses that are not mapped in the system. Nevertheless, if the users take a certain number of tests without using all system suggestions and fail, they can be obligated to use all system suggestions next time before taking the test. We adopt this strategy to avoid that the users do the evaluations before being prepared. When users make the test and reach the average, all suggestions of development referent the level in question are recorded as ”used” in the worker’s trail, even if they did not use all the suggestions. This occurs because the test is related to the competences development suggestions.

Until now, we have discussed the steps for the Accomplishment of Evaluation Test event. This event requires further analyzes because it determines the change in the competence proficiency level. However, now, we present the steps of the Update User’s Competences capability for the other three events, which are: (1) Resource Use; (2) Participation of Event; and (3) Interaction with Person. As all these events have a similar function, which is to assist in the competences improvement, they are approached in the same way by the capability. Whenever those events are detected, MultCComp selects all competences that the Event, Resource, or the Person can have helped to improve.

The system also selects all activities necessary to advance in those obtained competences. Then, the capability queries the users’ trails, using the Verify Activities Accomplishment service, to discover which activities related to the competence were performed. If the service returns that the worker has already used all suggestions (response 1), the competence proficiency level of the worker is marked as “Partially Developed”. In addition, the system also suggests for the user to take the accomplishment test. Nonetheless, if the service returns that the worker has not used all suggestions (response 2), the competence proficiency level continues marked as “Needs Development”.

Technologies used in the Prototype Development

The MultCComp prototype was developed in two stages following the methodology used in the system design. In the first stage, we implemented only the support for the present temporal dimension. And in the second stage we included the past temporal features. The present characteristic in MultCComp were developed using the .NET framework with C# programming language. The system modules were implemented in ASP.NET Web Service Application. The Administrative Website and the Personal Assistant were developed as ASP.NET Web Application. The Competences and the Relationship agents were implemented as Windows Applications. To ensure the persistence of information, we used the relational database SQL Server 2008 R2. Figure 12 shows the prototype’s architecture. The implemented components were as follows:

  • DataBase - it is a set of tables, views, triggers and store procedures that store information and procedures to perform the basic system tasks and are accessed by the Class Library Application;

  • Class Library Application (CLA) - it is a dynamic link library (DLL) that implements the system functionalities, serving as the foundation for the webservices;

  • WebServiceProfiles, WebServiceCompetences and WebServiceContext - they are webservices to access the data of profiles, competences, and contexts;

  • Competences Agent - it makes inferences based on users’ profiles, competence map and contexts, making recommendations by sending messages to the Relationship Agent;

  • Relationship Agent - it delivers the messages from the Competences Agent to the Personal Assistant agent;

  • Personal Assistant Agent - it interacts with the user through a set of web forms developed in AJAX;

  • Administration site - it is an ASP.NET Web Site that accesses webservices in order to perform the tasks of entering and updating data.

Fig. 12
figure 12

Present dimension in MultCComp prototype

The Personal Assistant runs on mobile devices as an ASP.NET Web Application. In ASP.NET, content is dynamically generated on the server, thus making the Personal Assistant independent from the operating system. The adaptation of the interface to the devices was performed by separating content (HTML) and its presentation (CSS).

For the implementation of the past features, we used the UbiTrail prototype that we had already implemented (Silva et al. 2010). The UbiTrailServer was developed through the Java programming language. The JENA FrameworkFootnote 2 was used to access the ontology represented in OWL. The services of TrailServices were available through Webservices. The UbiTrailClient was developed in C#, but also is available in Java SE and Android. The External Location Provider is based on triangulation of Wi-Fi antennas. The locations must be previously registered on the system database. Thus, locations are inferred through a comparison between the data sent and the data previously captured through samples.

The integration of UbiTrail to support the past temporal aspect was mainly based on changes made in the Competences Agent and on creation of new specialized services in TrailServices component. The Competences Agent became to use the new services provided by TrailServices to detect automatically the users’ advances in their competences and to create personalized services. Moreover, we also made some adaptations on Personal Assistant, which became capable of calling UbiTrailClient to inform the occurrence of activities of competence development.

The MultCComp Evaluation Experiments

The scientific community has been using scenarios to validate context-aware environments (according to the approach of Dey et al. 2001) and ubiquitous environments (according to Satyanarayanan 2001). Following this strategy, we developed an experiment based on the two usage scenarios, which aimed to demonstrate the system functionalities. Both scenarios were conducted based on a script handed out to the users of what to do. They followed the script using the developed prototype. In addition, we performed another experiment focused on evaluating the acceptance of MultCComp. The assessment involved volunteers, who used MultCComp and filled out a questionnaire. The learning goals of the experiments were to developed workers specific competences. The materials they accessed were resources we had previously created and inserted in Context Module.

This section is divided into three subsections. The first one presents the simulated environment in which we carried out the experiments. The second subsection describes the scenarios used to demonstrate the system functionalities. And the third subsection discusses the acceptance evaluation experiment.

Evaluation Environment

Figure 13 presents the map of the second floor of the building 6B at the University of Vale do Rio dos SinosFootnote 3 localized in the south of Brazil. Each physical room represented a room of a specific company using MultCComp to manage its workers’ competences. Thus, as the users moved around these rooms, it represented the movement in a real company.

Fig. 13
figure 13

Map of the evaluation environment

All rooms are sub-locations of the Company location, thus a user within any of the rooms is also within the Company. The environment is composed of nine rooms, in which we installed four wireless antennas Cisco Aironet 1100. The External Provider of Location of UbiTrail is based on the strategy of antennas triangulation (Brunato and Battiti 2005) and allows the exact determination of the rooms in which the users were located. The organizational and posts competences as well as the workers competences used in the two usage scenarios are related to a real Enterprise Resource Planning (ERP) company from the south of Brazil.

Experiment 1: Evaluation Scenarios

We created two evaluation scenarios to demonstrate the system functionalities. In this experiment, both were executed by volunteers using the developed prototype. The prototype was installed in the evaluation environment shown in Fig. 13. The first scenario was tested by only one user and did not involve movement through the rooms of the environment. The second involved both volunteers which moved around the rooms, where they acted and interacted as described in Section “Scenario 2: Creating Opportunities and Personalized Services Through Past Dimension”. The following subsections describe the scenarios.

Scenario 1: Advantages of the Multi-Temporal Context-Aware Support to Manage Competences

The scenario aimed to evaluate the advantage of the multi-temporal context-aware support to manage competences. In the scenario, we firstly describe how MultCComp uses the present dimension to suggest resources, events and interactions for the workers to advance in their competences, and, in the sequence, we present how the past dimension is applied to enable the automatic detection of competences development. The scenario is described below:

Matheus works in the ERP company and wants to develop his Web Developer competence. He accesses the MultCComp through the Personal Assistant (PA), informing his username and password. After logged in, he requests information about his competences gaps related to the Developer post. The PA accesses the Context Module of MultCComp, which calculates and provides a list of gaps to the user. For each competence, the Context Module provides resources, events or people that can help to fulfill the gap according to his present context. Figure 14a shows the prototype screen of the Gaps of Competences seen by Matheus.

Fig. 14
figure 14

Prototype screens of MultCComp

Matheus uses all suggested resources and informs this to the system. Figure 14b presents the prototype screen that he uses to do this. MultCComp perceives that Matheus used all suggestions, by querying his trails through the Verify Activities Accomplishment service, and marks automatically the proficiency level of his competence as Partially Developed in the screen shown in Fig. 14a. Subsequently, Matheus receives a message informing that he is able to undertake the proficiency test. He schedules the test and does it. After that, the person responsible for applying the test corrects it and enters the grade in the system, using the Administrative Website. During the execution of the scenario, the specific steps about the test were simulated because the only occurrences were the message receipt by Matheus and the change in his competence (grade) made through the WebSite by a third people involved in the experiment.

At this time, the system (more specifically the Competences Agent) notes the occurrence of the Accomplishment of Evaluation Test and checks whether the user is above the average or not. As Matheus got a grade above the minimum in the test, the Competences Agent sends a message to his PA congratulating him for evolving his proficiency level in the Web Developer competence. Figure 14c shows the message sent to him. Following, the proficiency level is marked as “Developed” in the interface “Gap of Competences”, presented in Fig. 14a.

Scenario 2: Creating Opportunities and Personalized Services Through Past Dimension

This scenario shows how the past dimension can be used to create opportunities and to personalize services. For this situation, we created two specialized services in TrailServices that query the users’ trails to obtain the following information: (1) PreferredFormatResource - it returns the preferred format resource of a user in a location; (2) UserInLocation - it returns users that visited a location in a given time interval. The scenario is presented below:

Roberto, as Matheus, wants to develop his Web Developer competence, which has proficiency level 3. Figure 15a shows the prototype screen of the Gaps of Competences seen by Roberto. Matheus, now, has this competence fully developed, that is, its proficiency level is 5. Roberto and Matheus work in the same company, however, in different shifts. Roberto works in the morning shift in the Office 1 location and Matheus works in the afternoon shift in the Office 2 location. Roberto asks for his gap in the Web Developer competence through the Personal Assistant (PA). The Context Module calculates it and provides suggestions of interaction with other people with higher proficiency level and the use of resources.

Fig. 15
figure 15

Prototype screens of MultCComp

In the suggested interactions with people, the system includes Matheus. Figure 15b presents the prototype screen with the suggested people. The Competences Agent queries the specialized service UserInLocation, which determines that the users were at the same location (in the Company), but in different shifts. Without the trails, the system would not suggest that Roberto interact with Matheus, since they are never in the same location, at the same time. Roberto exchange messages with Matheus, and they schedule a period to interact in order to assist Roberto to fulfill his gap. After that, Roberto informs, through his PA, that he interacted with Matheus. Matheus receives a message asking for confirmation of the interaction, which he confirms. This verification is made by the Competences Agent. Figure 15c shows the screen with the interaction with Matheus confirmed.

In the suggested resources, the Competences Agent considers Roberto’s habits. Roberto has the habit of using the suggested resources in the “Coffee Room” location. Almost every day, he uses the suggested resources there in the audio format and informs it to the system, which keeps his trail. This preference emerges from his interest in always to learn in his free time spent in the Coffee Room, but without the need to read texts in the uncomfortable screen of his smartphone.

When Roberto asked for the system to evaluate his gap in the Web Developer competence, the Competences Agent used the specialized service PreferredResourceFormat to determine the user’s preferences of resource format in his current location, which is the “Coffee Room”, and sends the resources in audio format. Figure 15c shows the suggested resources. Thus, the system uses the trails to determine the user’s resource format preference according to his previous choices in the “Coffee Room” location. Roberto uses all suggestions, got approved in the test, and advanced his proficiency level to 4.

Experiment 2: Acceptance Evaluation of the System

This experiment aimed to evaluate the acceptance of the system. The assessment involved volunteers, who used the system and filled out a questionnaire. The sample used was composed of 21 subjects, among professors, students, human resources professionals, and company managers. Each user accessed the Personal Assistant and received the basic instructions to conduct the test. The test consisted of the execution of the scenario 1, presented in Section “Scenario 1: Advantages of the Multi-Temporal Context-Aware Support to Manage Competences”, by each of the participants who took the role of the worker. The experiment was performed in the following stages:

  1. 1.

    Register of the Competences, Resources and Events - we mapped the competences of the 21 participants and registered resources and events in the system in order to them to fulfill their gaps;

  2. 2.

    Scenario Simulation - the users used the Personal Assistant in their smartphones to evaluate MultCComp using the described scenario. The goal was to analyze the users’ perceptions related to the easiness of use and the utility of the system;

  3. 3.

    Questionnaire - the participants filled out a questionnaire related to their experiences of the system use. The responses followed the Likert scale of five points (Likert 1932), spanning from 1 (completely disagree) to 5 (completely agree). The option 3 (indifferent) means no particular opinion.

The questionnaire was elaborated based on the concepts of the TAM acceptance model, which stands for Technology Acceptance Model. This model was proposed by Davis (1989), and applied and expanded by Yoon and Kim (2007) in their study on the acceptance of wireless networks. The TAM model considers the following items as main influences for the acceptance of a new technology:

  • User Friendly - the degree of how many people believe that the technology will reduce their efforts;

  • Perceived Utility - the degree of how many people believe that the technology could improve their performance.

Table 4 shows the questionnaire presented to the users. The statements 1 to 3 represent the User Friendly item of the TAM model and the statements 4 to 7 characterize the Perceived Utility item.

Table 4 Statements of the questionnaire

In the results, 89 % of the users agreed with the statements regarding the perceived easiness in the MultCComp use (statements 1 to 3). This indicates that according to most of the people interviewed, the routine use of this system could reduce efforts to develop competences. Figure 16a depicts the results obtained from the statements 1 to 3.

Fig. 16
figure 16

User friendly and perceived utility

In the results obtained from the statements 4 to 7, 96 % of the users agreed with the statements regarding the MultCComp utility. This indicates that the model would be helpful in the day by day and would improve the improvement of competences. Figure 16b depicts the results obtained from the statements 4 to 7.

Conclusions and Future Works

In this article, we presented MultCComp, a multi-temporal context-aware system for competences management. The system applies proficiency levels and takes advantage of the workers’ present and past contexts to help them to develop their competences. We developed a prototype and conducted two experiments with it in a simulated environment. The first experiment aimed to demonstrate the system functionalities. It consisted of two evaluation scenarios that were followed by two users. The second experiment comprised a scenario that was followed by 21 users to validate the acceptance of the system. MultCComp obtained high levels of acceptance regarding ease of use and utility.

With the use of the users’ current contexts (present) and their contexts histories (past), MultCComp already had a reasonable information source to help the users to advance in their competences. Nonetheless, the future temporal dimension could be included to expand MultCComp abilities to manage competences. This dimension would enable the system to be proactive and act before the contexts actually change (König et al. 2011). To support the future, contexts prediction techniques need to be included. There are many studies regarding context prediction methods (Sigg et al. 2012; Voigtmann et al. 2011; F0̈ll et al. 2011b). Those approaches predict the contexts that probably will describe the users’ future situations based on users’ histories and their current contexts. Furthermore, we are currently developing a context prediction model, which will be integrated with MultCComp in order to support the future temporal dimension.

Moreover, there are other improvements that can be made in MultCComp as future works. One of them is the development of the feature that would detect automatically the users’ activities of competences development. As we argued in Section “Obtainment of the Activities of Competence Development”, this characteristic demands some sophisticated techniques. Furthermore, another important problem that must be considered in the implementation of this feature is the ethical issue evolved.

Ley and Kump (2013) analysed the prediction of knowledge levels from user’s implicit interactions with an adaptive work-integrated learning system, APOSDLE (Lindstaedt et al. 2010), that is used in daily work tasks. They collected interactions of six persons working with the APOSDLE over a period of two months to find out whether naturally occurring interactions with the system can be used to predict their level of expertise. One set of interactions is based on the tasks they performed, the other on a number of additional Knowledge Indicating Events (KIE) (Lindstaedt et al. 2010). They found that the addition of KIE significantly improves the prediction as compared to using tasks only, and both approaches are superior to a model that uses only the frequencies of events.

Although we have left this issue outside the scope of our research, we think that the educational environment initialization is a critical step for the proper work of competence management. Therefore, we suggest this characteristic as a future work. One way of addressing it, would be the integration with GlobalEdu (Barbosa et al. 2013), a previous work of our research group proposing a content management model for ubiquitous learning environment. However, other researches have been presented, for example Ley et al. (2010b) and Ley and Kump (2013), and they should be taken into account in the implementation of this feature.

Our evaluation methodology was elaborated based on the concepts of the Technology Acceptance Model (Yoon and Kim 2007; Davis 1989), which has been considered a standard for the evaluation of new technologies acceptance (Marangunic and Granic 2014). In addition, we evaluated our system using controlled simulations, and because of that we did not find very useful to collect interaction data, since the users were following scripted scenarios. However, additional information on the users interaction would enrich our evaluation. Therefore, we suggest as a future work a detailed analysis of users interaction with the system.

Moreover, the scenarios did not allow to measure the influence of physical proximity of users in the quality of recommendations. We believe that this should receive a special attention in future evaluations. We would also like to implement additional scenarios to explore location information and user mobility. In addition, an evaluation of acceptance involving workers in their working environment over a significant period of time would be valuable. In this sense, an aspect to be considered would be the possible information overload due to the strategy of always immediately notify the occurrence of contextualized opportunities.

In the work of Berio and Harzallah (2007), the authors discuss ontologies to represent competences, knowledge engineering techniques in competence management, and they also propose an integrating architecture for competence management. As a future work, MultCComp could take advantage of the knowledge engineering techniques and technologies described by Berio and Harzallah (2007), as means of improving the way the competences are modeled in MultCComp. Other feature could be developed in order to help companies to analyze the curve of competence development of the workers. To do this, specialized services could be created to query the trails, looking for activities that the users did to fulfill their gaps, and how much time they took to evolve the proficiency levels. This data could be presented in a chart, indicating users’ performance in developing their competence and the perspective of evolution. In addition, more specialized services could be created to adapt the system suggestions to the users’ preferences (e.g. preferred reading time or location). Further evaluations could also be conducted in order to analyze how the suggestions of competence development balances needed help on the one hand, and disturbance, privacy concerns and other potential problems on the other.