Context-oriented programming (COP) treats context explicitly and provides mechanisms to adapt behavior dynamically in reaction to changes in context at runtime. These languages are desirable to context-sensitive embedded software since such software usually works in various contexts of heterogeneous devices and complex environments. Moreover, a practical development requires proper handling of legacy programs and product lines. To realize these characteristics, we have developed a C# framework called ContextCS that contains the following features: layer creation at runtime, separation of layer managing program, and the layer with annotation. The article presents the structure of ContextCS.
Next generation robot is expected to provide multi-purpose services depending on surrounding environments. Currently, many of robots would support a limited services, since it is difficult to solve the cross-cutting concerns in those complex services. Additionally, after the launch of robot products, it requires to support additional extended services that would depend on the real environment, even if the hardware environment would be the same. We believe that the essential idea of Contextoriented programming (COP) could help these difficulties. To achieve our final goal, which is to develop a multi-purpose services robot, there are some discussions needed for the current COP languages to satisfy the multi-purpose service robot requirements. In this paper, firstly we introduce the background of our proposal that the current robotics problems and future vision, then a case study of a tunnel rescue robot that will make clear to our goal for robot development based on COP. Finally, to achieve this goal we present a novel architecture. The proposed architecture will satisfy the requirements of the future robot.
In recent years, with the development of embedded software, the demand for context-aware software and the need for Context-Oriented Programming (COP) frameworks is increasing. In general, within the COP framework, each method is managed in units of layers, and time is required to activate the layers following context changes. Compared to the traditional singlethread method, the use of multi-threading to control the layer activation doubles the system efficiency. Moreover, embedded software usually includes mechanisms for exception handling, such as communication disconnection, mechanical or hardware failures, and insufficient energy. These mechanisms are expected to be types of high-priority operations, which also require multithreading to achieve preemptive layer activation. In this study, we propose an architecture for preemptive layer activation known as PLAM by using multi-threading, which is based on the RTCOP framework. Using PLAM, the non-exception handling layers can be activated simultaneously, and when the context of the exception handling layer is perceived, the program can call a certain function to suspend or terminate the activation process of the other layers. Finally, we package a series of functions as APIs so that users can use these to customize the context listener. A test application confirms the feasibility of the proposed approach. CCS CONCEPTS • Software and its engineering~Software organization and properties~Contextual software domains~Software infrastructure~Middleware~Embedded middleware
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.