The actual mobile technology and the increasing need to obtain rich multimedia content about each and every aspect of the human life are changing the approach of the users to the World Wide Web. Indeed, the pervasive use of mobile devices and the heterogeneity of the provided services and information make the accessibility and usability of the Web resources a hard assignment. In particular two main tasks have been identified as focal issues, the first one regards the choose of a suitable model to express the complex activities of the Web (context modeling approaches), and the second one regards the translation of the different schemas, representing these Web activities, in a more suitable, manageable and standardizing schema. In this chapter we will present the problems related to the modeling of context data, and we will describe the actual and future approaches of Context Modeling according to the mobile devices world.
Context Modeling Motivations
The increasing spread of mobile devices (such as PDAs, smart phones, etc.) is inspiring new kinds of applications that are more and more dynamics, distributed and highly customizable. These applications represents an interesting challenge to the developer, because they must be independent from the context’s features such as location, time, user’s preferences or used device.
In Web adaptive systems, for example, the management of context information represents an important requirement to analyze the available resources of a mobile devices, to select relevant data for the users, to improve interoperability with other systems and, in general, to make the interaction with the system more simple and natural. This scenario changes the role of context information especially if compared with traditional information systems (Kaschek, Schewe, Thalheim & Zhang, 2003; Motschnig-Pitrik, 1995). Another key element of these applications is the interoperability, in which metadata play a fundamental role.
The reliance on the context is one of the most important results in the area of ubiquitous computing systems (UCS) that represent a specialization of mobile and distributed systems as shown in Figure 1.Top
Context Modeling Approaches: Classification And Evaluation
In the field of context representation there are different modeling approaches, most of them present only simple changes from the others. In this section we present a classification of these approaches and then we discuss and compare them. In particular we distinguish: (i) Graphical Models; (ii) Key-Value Models; (iii) Markup Schema Models; (iv) Object-Oriented Models; (v) Ontology Based Models; (vi) Logic Based Models.
Key Terms in this Chapter
Context-Awareness: This term refers to the idea that computers can both sense, and react based on their environment. Devices may have information about the circumstances under which they are able to operate and based on rules, or an intelligent stimulus, react accordingly. One goal of context-aware computing is to acquire and utilize information about the context of a device to provide services that are appropriate to the particular people, place, time, events, and so forth. Context-awareness is fine in theory. The research issue is figuring out how to get it to work in practice. The problems for human-computer interaction, in particular, are significant ones. Context-aware computing completely redefines the basic notions of interface and interaction. Actually, context-awareness is used to design innovative user interfaces, and is often used as a part of ubiquitous and wearable computing. It is also beginning to be felt in the internet with the advent of hybrid search engines
Unified Modeling Language: UML is a standardized specification language for object modeling. UML is a general-purpose modeling language that includes a graphical notation used to create an abstract model of a system, referred to as a UML model. UML is officially defined at the Object Management Group (OMG) by the UML metamodel, a Meta-Object Facility metamodel (MOF). Like other MOF-based specifications, the UML metamodel and UML models may be serialized in XML Metadata Interchange (XMI). UML was designed to specify, visualize, construct, and document software-intensive systems
Object-Role Modeling: ORM simplifies the design process by using natural language, as well as intuitive diagrams which can be populated with examples, and by examining the information in terms of simple or elementary facts. By expressing the model in terms of natural concepts, like objects and roles, it provides a conceptual approach to modeling. Its attribute-free approach promotes semantic stability. ORM’s rich graphic notation is capable of capturing many business rules that are typically unsupported as graphic primitives in other popular data modeling notations
Context: Context is a powerful, and longstanding, concept in human-computer interaction. Interaction with computation is by explicit acts of communication (e.g., pointing to a menu item), and the context is implicit (e.g., default settings). Context can be used to interpret explicit acts, making communication much more efficient. Thus, by carefully embedding computing into the context of our lived activities, it can serve us with minimal effort on our part. Context refers to the physical and social situation in which computational devices are embedded
Ubiquitous Computing Systems: UCS represents new paradigms with a goal to provide computing and communication services all the time and everywhere. Automatic service composition in ubiquitous and pervasive environments requires dealing with several research issues such as service matching and selection, coordination and management, scalability, fault tolerance, and adaptiveness to users’ contexts and network conditions
Ontology: An ontology is an explicit specification of a conceptualization. The term is borrowed from philosophy, where ontology is a systematic account of Existence. For knowledge-based systems, what “exists” is exactly that which can be represented. When the knowledge of a domain is represented in a declarative formalism, the set of objects that can be represented is called the universe of discourse. This set of objects, and the describable relationships among them, are reflected in the representational vocabulary with which a knowledge-based program represents knowledge. Thus, we can describe the ontology of a program by defining a set of representational terms. In such an ontology, definitions associate the names of entities in the universe of discourse (e.g., classes, relations, functions, or other objects) with human-readable text describing what the names are meant to denote, and formal axioms that constrain the interpretation and well-formed use of these terms
Ubiquitous Computing: UC is a model of human-computer interaction in which information processing has been thoroughly integrated into everyday objects and activities. As opposed to the desktop paradigm, in which a single user consciously engages a single device for a specialized purpose, someone “using” ubiquitous computing engages many computational devices and systems simultaneously, in the course of ordinary activities, and may not necessarily even be aware that they are doing so. Ubiquitous computing encompasses a wide range of research topics, including distributed computing, mobile computing, sensor networks, human-computer interaction, and artificial intelligence
Mobile Computing: The term is evolved in modern usage such that it requires that the mobile computing activity be connected wirelessly to and through the internet or to and through a private network. This connection ties the mobile device to centrally located information and/or application software through the use of battery powered, portable, and wireless computing and communication devices. This includes devices like smart mobile phones, wearable computers, Personal Digital Assistants (PDAs), and so forth