| Literature DB >> 35111905 |
Victor Ponce1, Bessam Abdulrazak1.
Abstract
The current generation of connected devices and the Internet of Things augment people's capabilities through ambient intelligence. Ambient Intelligence (AmI) support systems contain applications consuming available services in the environment to serve users. A well-known design of these applications follows a service architecture style and implement artificial intelligence mechanisms to maintain an awareness of the context: The service architecture style enables the distribution of capabilities and facilitates interoperability. Intelligence and context-awareness provide an adaptation of the environment to improve the interaction. Smart objects in distributed deployments and the increasing machine awareness of devices and people context also lead us to architectures, including self-governed policies providing self-service. We have systematically reviewed and analyzed ambient system governance considering service-oriented architecture (SOA) as a reference model. We applied a systematic mapping process obtaining 198 papers for screening (out of 712 obtained after conducting searches in research databases). We then reviewed and categorized 68 papers related to 48 research projects selected by fulfilling ambient intelligence and SOA principles and concepts. This paper presents the result of our analysis, including the existing governance designs, the distribution of adopted characteristics, and the trend to incorporate service in the context-aware process. We also discuss the identified challenges and analyze research directions.Entities:
Keywords: Ambient intelligence; Context-aware; SOA; Self-service; Service governance; Service-oriented
Year: 2022 PMID: 35111905 PMCID: PMC8771785 DOI: 10.7717/peerj-cs.788
Source DB: PubMed Journal: PeerJ Comput Sci ISSN: 2376-5992
Characterization of ambient intelligence systems.
| Aspect | Uses | Approaches to implementation |
|---|---|---|
| Context lifecycle | Representation |
Symbol table ( Markup ( Logic-based ( Ontic-based ( Graphical ( Object-oriented-based ( Ontology-based ( Graph-based ( |
| Management |
Acquisition: query [the source]-based, event-driven, introduced by the user, Preprocessing (process raw data) in a centralized, distributed, or hybrid scheme Inconsistency and resolution of conflicts through user interference, based on the quality of context, | |
| Reasoning | Based on AI reasoning and learning techniques, | |
| Adaptation (context-awareness) |
Context-based ( Context-aware ( Situation-aware ( Social-aware ( | |
| Security | Based on information security principles, | |
| Dissemination | Based on the ubiquity and middleware distribution approaches | |
| Intelligence | Represent, reason, learn | User model, spatial & temporal reasoning, activity recognition, planning & decision-making. Multiple algorithms and models, |
| Ubiquity | Interaction |
Human-Computer: Unobtrusive interaction, Computer-Computer: based on computer support, Things: system's extension with tagging or modeling, Sensors/actuators, |
| Distribution | Based on network communication and distributed systems, | |
| Mobility | Distribution based on the capacity to move, | |
| Autonomy | Based on the autonomic computing approach, | |
| Reasoning | Based on intelligence and context awareness, |
Structure of SOA, WS, and self-service.
| SOA ( | XML Web-Services (WS), Semantic WS ( | Self-Service ( |
|---|---|---|
| Two ways: (1) Developing an interface; (2) using a communication/integration layer which either (a) results in a point-to-point communication or (b) involves an ESB. | Broker: To facilitate the interaction, intermediary between provider and consumer | |
| Idem as service-oriented architecture (SOA) | Negotiator: To assist in complex decisions | |
| Through service registry services, | Registry: To manage the directory and to reach services | |
| Implemented in the application server | Sentinel: To monitor services |
Characteristics of AmI service-based systems.
| Structure | Characteristic | Approaches to implementation |
|---|---|---|
| Communication and integration | Interoperability |
Syntactic: Includes communication and integration using standards such as HTML, XML, SOAP Semantic: Communicates meaning. The basis is shared conceptualization and integration of a domain |
| Middleware distribution |
Central Server: An application server(s) is responsible for the distribution in a server-client approach. Can include support from distributed components such as proxies or gateways Enterprise Serial Bus: Intermediary that allows the normalization of the distribution Peer-to-Peer: Each element acts as both a server and a client Autonomous Agents: The elements manage themselves and distribute in different ways ( | |
| Application Logic | Composition/Aggregation |
AI Planning (algorithms): Based on a goal, connects the components Capabilities Matching: Match expressions ( Agent Matching: With context-based negotiations based on rules inside the agent with semantic matching |
| Registry/Repository | Registry |
Canonical Expression: Static service contract ● Use of an Intermediary ( Runtime registration: Dynamic registration at runtime ● No Registry: Coded manually |
| Discovery |
Query: Search inside the registry ● Subscriber: Publish/subscribe paradigm Direct Access: Pre-defined/coded manually ● Lookup: By broadcast/algorithm/semantic matching | |
| Monitoring and management tools | Management |
Admin Service: A service is responsible for coordinating the system. Can be an Admin Agent Self-Adaptable Governance: Self-management (self-config, self-optimization, self-healing, self-protection) |
| Monitoring |
Supervisor Service: A service monitors the system. Can be a supervisor agent (or Sentinel) Self-Adaptable Monitoring: Based on self-management aspects | |
| Quality of Service (QoS) |
Service Performance: Considers the quality of service Service Resources: Considers physical and logical resources, Service Context: Considers rules and functional policies to define the Quality of Context (QoC) |
Figure 1Ambient intelligence service architecture styles.
Figure 2Review method.
Screening of papers.
| Consideration | Inclusion | Observations |
|---|---|---|
| Publication year | 2001 to 2021 | The final range is 2006 to 2021 |
| Relationship with the subject | AmI AND SOA characteristics | Based on the conceptualization |
| Research type ( | Proposal of solutions and philosophical papers | |
| Available details, comprehensive | Description with an argumentation | Based on the details (components, tools, algorithms, |
| Type of Document | Proceedings, journals | IEEE, ACM, SCOPUS, Web of Science |
Classification scheme and contribution to the review.
| Facet | Attribute | Objective | Aim | |
|---|---|---|---|---|
| Ambient intelligence | Domain | To identify the variety of uses | 2, 4 | |
| Awareness | To identify the awareness for adaptation | 2,4 | ||
| Mobility | To identify if components are in mobile devices | 1, 3, 4 | ||
| Service-as-a-Context | To determine the trend of considering the service in context-aware processing | 2, 4 | ||
| Agent-Based | To determine the trend of using agents | 1, 3, 4 | ||
| Service styles | Architecture | To classify as SOA, self-service, or hybrid | 1, 3, 4 | |
| Registry/Repository | To identify applied techniques for registering and discovering | 1, 3, 4 | ||
| Distribution | To identify applied techniques | 1, 3, 4 | ||
| Composition | To identify applied techniques | 1, 3, 4 | ||
| Interoperability | To identify the use of semantic communication | 1, 3, 4 | ||
| Management | To identify the applied management techniques | 1, 3, 4 | ||
| Monitoring | To identify the applied monitoring techniques | 1, 3, 4 | ||
| QoS | To identify the use of quality attributes | 1, 3, 4 | ||
| Research/Global | Publication | To identify the research over time | 4 | |
| Security | To identify the applied security mechanisms | 3, 4 | ||
| Research Type | To classify as solution proposal or framework | 4 | ||
Note:
Aim: 1: SOA features on AmI; 2: Variety of context; 3: Infrastructure; 4: Identifying challenges.
Categorization in ambient intelligence and research and global facets.
| Year | Research project | Research type | Domain | Awareness | SaaC | Agent-Based | Mobility | Security | |
|---|---|---|---|---|---|---|---|---|---|
|
| 2007 |
| Sol. Proposal | Business–BPM | Situation-aware | ✓ | ✗ | ✗ | ✗ |
| 2007 |
| Framework | General–smart space | Context-aware | ✓ | ✗ | ✗ | ✗ | |
| 2008 |
| Framework | General–AmI | Situation-aware | ✗ | ✗ | ✗ | ✗ | |
| 2009 |
| Sol. Proposal | Healthcare–prescriptions | Context-based | ✗ | ✗ | ✓ | ✗ | |
| 2010 |
| Framework | General–smart space | Context-based | ✗ | ✗ | ✗ | ✓ | |
| 2010 |
| Framework | General–smart space | Context-aware | ✓ | ✗ | ✗ | ✓ | |
| 2010 |
| Framework | General–AmI | Context-aware | ✓ | ✗ | ✓ | ✗ | |
| 2011 |
| Sol. Proposal | Healthcare | Situation-aware | ✗ | ✗ | ? | ✗ | |
| 2013 |
| Sol. Proposal | Assisted Living | Context-aware | ✗ | ✗ | ✓ | ✗ | |
| 2013 |
| Sol. Proposal | Smart home | Context-based | ✓ | ✗ | ✗ | ✗ | |
| 2013 |
| Sol. Proposal | Emotional | Situation-aware | ✗ | ✗ | ✓ | ✓ | |
| 2015 |
| Framework | General–AmI + IoT | Context-aware | ✗ | ✗ | ✗ | ✗ | |
| 2016 |
| Sol. Proposal | Assisted Living | Context-based | ✗ | ✗ | ✓ | ✗ | |
| 2017 |
| Sol. Proposal | Assisted Living | Context-based | ✗ | ✗ | ✗ | ✓ | |
|
| 2011 |
| Sol. Proposal | Institutions–emergency | Situation-aware | ✓ | ✗ | ✓ | ✗ |
| 2012 |
| Framework | Data–AmI | Situation-aware | ✓ | ✗ | ✓ | ✓ | |
| 2014 |
| Framework | General–AmI | Situation-aware | ✗ | ✗ | ✗ | ✗ | |
| 2014 |
| Framework | General-AmI | Context-aware | ✗ | ✗ | ✗ | ✓ | |
| 2017 |
| Framework | General-IoT | Situation-aware | ✓ | ✗ | ✗ | ✗ | |
|
| 2009 |
| Framework | General–smart space | Context-aware | ✗ | ✗ | ✓ | ✗ |
| 2009 |
| Framework | General–AmI | Situation-aware | ✗ | ✗ | ✓ | ✗ | |
| 2010 |
| Framework | Data management–WSN | Situation-aware | ✗ | ✗ | ✗ | ✗ | |
| 2011 |
| Framework | General–AmI | Context-aware | ✓ | ✗ | ✓ | ✗ | |
| 2013 |
| Sol. Proposal | Smart Building | Context-aware | ✗ | ✗ | ✗ | ✗ | |
| 2013 |
| Framework | General–AmI | Context-based | ✗ | ✗ | ✓ | ✗ | |
| 2013 |
| Sol. Proposal | Emotional–games | Context-aware | ✗ | ✗ | ✗ | ✗ | |
| 2014 |
| Sol. Proposal | Assisted Living | Situation-aware | ✗ | ✗ | ✗ | ✗ | |
| 2014 |
| Framework | Business–BPM + IoT | Context-aware | ✗ | ✗ | ✓ | ✗ | |
| 2016 |
| Framework | General–AmI | Context-based | ✗ | ✗ | ✗ | ✓ | |
| 2017 |
| Framework | General-IoT | Context-aware | ✗ | ✗ | ✗ | ✗ | |
| 2019 |
| Framework | General-WSN/IoT | Context-based | ✗ | ✗ | ✗ | ✗ | |
| 2020 |
| Sol. Proposal | General–AmI + IoT | Context-aware | ✗ | ✗ | ✗ | ✗ | |
| 2020 |
| Framework | Smart cities | Context-based | ✗ | ✗ | ✗ | ✓ | |
| 2021 |
| Sol. Proposal | General-smart environments | Context-aware | ✓ | ✗ | ✗ | ✓ | |
|
| 2006 |
| Framework | General–smart space | Situation-aware | ✗ | ✓ | ✗ | ✗ |
| 2009 |
| Sol. Proposal | Institutions–learning | Context-aware | ✓ | ✓ | ✓ | ✗ | |
| 2012 |
| Sol. Proposal | Institutions–Traffic | Context-aware | ✗ | ✓ | ✗ | ✗ | |
| 2012 |
| Framework | Data–wireless, WSN | Context-aware | ✗ | ✓ | ✗ | ✓ | |
| 2013 |
| Framework | Data–WSN | Context-aware | ✓ | ✓ | ✓ | ✓ | |
| 2015 |
| Framework | General–AmI | Situation-aware | ✗ | ✓ | ✗ | ✗ | |
| 2016 |
| Framework | General–AmI | Situation-aware | ✓ | ✓ | ✗ | ✓ | |
| 2017 |
| Framework | Smart cities | Context-based | ✓ | ✓ | ✗ | ✓ | |
|
| 2006 |
| Sol. Proposal | Data–robot control | Situation-aware | ✓ | ✓ | ✓ | ✗ |
| 2010 |
| Model | General–AmI | Context-based | ✓ | ✓ | ? | ? | |
| 2011 |
| Framework | General–smart space | Situation-aware | ✓ | ✓ | ✓ | ✗ | |
| 2011 |
| Sol. Proposal | Emotional | Situation-aware | ✗ | ✓ | ✗ | ? | |
| 2011 |
| Model | General–smart space | Situation-aware | ✗ | ✓ | ✓ | ✗ | |
| 2018 |
| Framework | Smart home/building | Situation-aware | ✓ | ✓ | ✓ | ✗ |
Note:
✓ = Considered; ✗ = Not considered; ? = Undefined; SaaC = Service-as-a-Context.
Categorization in service facet.
| Year | Research project | Style | Registry | Discovery | Middleware | Composition | Interoperability | Management | Monitoring | QoS | |
|---|---|---|---|---|---|---|---|---|---|---|---|
|
| 2007 |
| SOA | Canonical | Query | Central server | Capabilities | Syntactic | ✓ | ✓ | ✓ |
| 2007 |
| SOA | Canonical | Query | Central server | Capabilities | Syntactic | ✓ | ✓ | ✓ | |
| 2008 |
| SOA | Runtime | Query | Central server | Capabilities | Semantic | ✗ | ✗ | ✗ | |
| 2009 |
| SOA | ✗ | Direct | Central server | ✗ | Syntactic | ✗ | ✗ | ✗ | |
| 2010 |
| SOA | Runtime | Query | Central server | Capabilities | Syntactic | ✗ | ✗ | ✗ | |
| 2010 |
| SOA | Runtime | Query | Central server | ✗ | Semantic | ✗ | ✗ | ✓ | |
| 2010 |
| SOA | Canonical | Query | Central server | ✗ | Syntactic | ✓ | ✗ | ✗ | |
| 2011 |
| SOA | ✗ | Direct | Central server | ✗ | Semantic | ✗ | ✗ | ✗ | |
| 2013 |
| SOA | ✗ | Direct | Central server | ✗ | Syntactic | ✗ | ✗ | ✗ | |
| 2013 |
| SOA | Canonical | Query | Central server | Capabilities | Semantic | ✓ | ✓ | ✗ | |
| 2013 |
| SOA | Canonical | Subscriber | Central server | ✗ | Sem/Syn | ✓ | ✓ | ✓ | |
| 2015 |
| SOA | Runtime | Lookup | Central server | Cap+plan | Syntactic | ✗ | ✗ | ✓ | |
| 2016 |
| SOA | Canonical | Query | Central server | Capabilities | Semantic | ✗ | ✗ | ✗ | |
| 2017 |
| SOA | Canonical | Query | Central server | Capabilities | Sem/Syn | ✓ | ✗ | ✗ | |
|
| 2011 |
| SOA | Canonical | Query | Central+agents | ✗ | Semantic | ✓ | ✓ | ✗ |
| 2012 |
| Self | Runtime | Lookup | P2P | Planning | Semantic | ✓ | ✓ | ✓ | |
| 2014 |
| SOA | Runtime | Query | ESB | Cap+plan | Semantic | ✓ | ✓ | ✓ | |
| 2014 |
| SOA | Runtime | Query | ESB | Capabilities | Syntactic | ✗ | ✗ | ✗ | |
| 2017 |
| SOA | Runtime | Que+Subs | ESB | Capabilities | Syntactic | ✓ | ✗ | ✗ | |
|
| 2009 |
| SOA | ✗ | Lookup | Central+gateways | ✗ | Syntactic | ✓ | ✓ | ✗ |
| 2009 |
| SOA | Canonical | Que+Subs | Central+gateways | Capabilities | Syntactic | ✓ | ✗ | ✓ | |
| 2010 |
| SOA | Runtime | Subscriber | Central+gateways | ✗ | Syntactic | ✗ | ✓ | ✗ | |
| 2011 |
| SOA | Canonical | Lookup | Central+gateways | Capabilities | Syntactic | ✓ | ✓ | ✓ | |
| 2013 |
| SOA | Canonical | Subscriber | Central+gateways | Cap+plan | Syntactic | ✓ | ✓ | ✗ | |
| 2013 |
| SOA | Canonical | Query | Central+gateways | ✗ | Syntactic | ✗ | ✓ | ✗ | |
| 2013 |
| SOA | Runtime | Subscriber | Central+gateways | Capabilities | Semantic | ✗ | ✗ | ✗ | |
| 2014 |
| SOA | Canonical | Query | Central+gateways | Capabilities | Syntactic | ✓ | ✗ | ✗ | |
| 2014 |
| SOA | Runtime | Que+Subs | Central+P2P | Capabilities | Syntactic | ✓ | ✓ | ✓ | |
| 2016 |
| SOA | Canonical | Lup+Subs | Central+gateways | Capabilities | Syntactic | ✗ | ✗ | ✗ | |
| 2017 |
| SOA | Canonical | Query | Central+gateways | Capabilities | Syntactic | ✗ | ✓ | ✗ | |
| 2019 |
| SOA | Canonical | Query | Central+gateways | Capabilities | Syntactic | ✓ | ✗ | ✗ | |
| 2020 |
| SOA | Canonical | Query | Gateway+mservices | Capabilities | Syntactic | ✓ | ✓ | ✓ | |
| 2020 |
| SOA | Canonical | Query | Central+ gateways | Capabilities | Sem/Syn | ✓ | ✗ | ✗ | |
| 2021 |
| SOA | Runtime | Que+Subs | Microservices | Capabilities | Syntactic | ✓ | ✓ | ✓ | |
|
| 2006 |
| Hybrid | Runtime | Query | Central+agents | ✗ | Semantic | ✓ | ✓ | ✓ |
| 2009 |
| SOA | Canonical | Query | Central+agents | ✗ | Syntactic | ✗ | ✗ | ✓ | |
| 2012 |
| SOA | Runtime | Subscriber | ESB+agents | Cap+plan | Semantic | ✗ | ✗ | ✗ | |
| 2012 |
| SOA | Canonical | Subscriber | Central+agents | Capabilities | Syntactic | ✓ | ✗ | ✓ | |
| 2013 |
| SOA | Canonical | Query | Central+agents | ✗ | Syntactic | ✓ | ✓ | ✓ | |
| 2015 |
| Hybrid | Canonical | Query | Agents | Capabilities | Semantic | ✓ | ✓ | ✗ | |
| 2016 |
| Hybrid | Runtime | Query | Central+agents | Capabilities | Syntactic | ✓ | ✓ | ✓ | |
| 2017 |
| Hybrid | Runtime | Lookup | Central+agents | Capabilities | Syntactic | ✓ | ✓ | ✓ | |
|
| 2006 |
| Self | Runtime | Query | Agents | Agent match | Syntactic | ✓ | ✓ | ✗ |
| 2010 |
| Hybrid | ? | ? | Agents | Agent match | Undefined | ✓ | ✗ | ✗ | |
| 2011 |
| Self | ✗ | Direct | Agents | Agent match | Syntactic | ✓ | ✓ | ✗ | |
| 2011 |
| Hybrid | ? | ? | Agents | ? | Syntactic | ? | ? | ? | |
| 2011 |
| Self | Canonical | Lookup | Agents | Agent match | Semantic | ✓ | ✓ | ✓ | |
| 2018 |
| Self | Canonical | Lookup | Agents | Agent match | Semantic | ✓ | ✓ | ✓ |
Note:
✓ = Considered; ✗ = Not Considered; ? = Undefined; Que = Query; Subs = Subscriber; Lup = Lookup; Self = Self-service; Cap = Capabilities; Plan = AI planning.
Figure 3Systematic map (contribution per characteristic).
Figure 4Awareness of the context and service.
Figure 5(A) Projects by service architecture. (B) Distribution of SOA aspects.
Figure 6Projects by (A) research type, (B) year and consider security.