Abstract

Software components within heterogeneous devices of the Internet of Things (IoT) systems use resources representing various computational capabilities, including sensing or actuation end points. However, components do not live in isolation and must be able to coordinate with others to fulfill their goals. Satisfaction of requirements—capturing their goals—must persist in environments that are changing, unpredictable, and potentially unknown at system design time. Edge computers placed near IoT devices can be leveraged for this sort of control—providing resource management for end devices within their operational context. We propose a methodology and technical framework for engineering resource coordination at runtime, tailored for the decentralized, pervasive systems of today. Our approach represents a paradigm shift in marrying distributed systems and formal aspects of software engineering. We adopt goal modeling to capture objectives within the system and use bounded model checking as the foundational technique to compute coordination plans that satisfy device goals. This occurs opportunistically at runtime without any knowledge about the operational status or presence of resources, but always in accordance with the edge’s own goals. Our technical framework exhibits dependability guarantees regarding optimality and correctness of generated plans. We evaluate the resource coordination performance and its feasibility on low-powered ARM-based edge devices.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call