Semantic Web technologies have been acknowledged as tools to promote interoperability and intelligent information processing in ubiquitous computing. Scenarios include supply chain management, u-commerce (Liu, 2013; Ruta, Di Noia, Di Sciascio, Piscitelli, & Scioscia, 2007), peer-to-peer resource discovery (Ruta, Di Sciascio, & Scioscia, 2011) and so on. The increasing computational resources and communications effectiveness of mobile devices enable ubiquitous processing and exchange of rich and structured information for context-aware resource discovery and decision support. The Semantic Web and the Internet of Things paradigms are converging more and more toward the so–called Semantic Web of Things (SWoT) (Scioscia & Ruta, 2009; Pfisterer et al., 2011). It enables semantic-enhanced pervasive computing by embedding intelligence into ordinary objects and environments through a large number of heterogeneous micro-devices, each conveying a small amount of information.
Such a vision requires an increased flexibility and autonomy of ubiquitous knowledge-based systems in information encoding, management, dissemination and discovery. User agents running on mobile personal devices should be able to discover dynamically the best available resources according to user’s profile and preferences, in order to support her current tasks through unobtrusive and context-dependent suggestions. Reasoning and query answering are particularly critical issues, stimulating the need for further specialized inference services in addition to classical ones like subsumption and satisfiability check. Furthermore, mobile computing platforms (e.g., smartphones, tablets) are still constrained by hardware/software limitations with respect to typical setups for Semantic Web reasoning engines. In fact, architectural and performance issues affect the porting of current OWL-based reasoners, designed for the Semantic Web, to mobile devices (Yus, Bobed, Esteban, Bobillo, & Mena, 2013).
This paper presents Mini-ME (the Mini Matchmaking Engine)1, a compact matchmaker and reasoner for the ALN (Attributive Language with unqualified Number restrictions) Description Logic (DL). It is aimed to semantic matchmaking for resource/service discovery in mobile and ubiquitous contexts, although it is also a general-purpose Semantic Web inference engine. The reduced expressivity of the logical language is compensated by an increased mobility level and provided quality of the resource discovery. Optimized non-standard inference services allow a fine-grained categorization and ranking of matching resources w.r.t. a request, providing both a distance metric and a logic-based explanation of the outcomes. Mini-ME is suitable to a widespread class of applications where a large number of low-complexity component resources can be aggregated to build composed services with growing semantic complexity. This is fit for the computational and power supply limitations of resource providers in ubiquitous contexts and their short storage availability. An “agile” service discovery architecture able to select, assemble and orchestrate on the fly many elementary components is more manageable and effective in ubiquitous applications.
Mini-ME uses the OWL API (Horridge & Bechhofer, 2009) to parse and manipulate Knowledge Bases in all OWL 22 supported syntaxes. It exploits structural inference algorithms on unfolded and CNF (Conjunctive Normal Form) normalized concept expressions for efficient computations also on resource-constrained platforms. Mini-ME implements both standard reasoning tasks for Knowledge Base (KB) management (subsumption, classification, satisfiability) and non-standard inference services for semantic-based resource discovery and ranking (abduction, contraction (Colucci et al., 2007), covering (Ragone et al., 2007)). It is developed in Java, with Android as the main target computing platform. Mini-ME supports the OWLlink protocol (Liebig, Luther, Noppens, & Wessel, 2011) for standard application-reasoner interaction. Furthermore, reasoner and GUI (Graphical User Interface) plug-ins have been developed for the Protégé3 ontology editor (Gennari et al., 2003). Mini-ME has already been employed in prototypical testbeds on mobile and embedded devices for ubiquitous and pervasive computing scenarios.