Component-based systems are often constructed with the help of a middleware layer that provides execution semantics for the components. If the implementations of the components use only the middleware services for concurrency, synchronization, and interactions then the analysis of the timing properties of such systems becomes feasible. In this paper we describe a particular middleware (the cFE/cFS from NASA) and introduce a model-based method for the end-to-end, stimulus-to-response timing analysis for systems built using it. The method is based on a timing model that uses Colored Petri Net to model the behavior of applications and the framework. The model is constructed based on the architecture of the application system and the behavior of the components and is analyzed using a state-space analysis tool. The paper gives illustrative examples for the feasibility and scalability of the approach.
{"title":"Timing analysis of a middleware-based system","authors":"Charles Hartsell, G. Karsai, M. Lowry","doi":"10.1145/3152881.3152886","DOIUrl":"https://doi.org/10.1145/3152881.3152886","url":null,"abstract":"Component-based systems are often constructed with the help of a middleware layer that provides execution semantics for the components. If the implementations of the components use only the middleware services for concurrency, synchronization, and interactions then the analysis of the timing properties of such systems becomes feasible. In this paper we describe a particular middleware (the cFE/cFS from NASA) and introduce a model-based method for the end-to-end, stimulus-to-response timing analysis for systems built using it. The method is based on a timing model that uses Colored Petri Net to model the behavior of applications and the framework. The model is constructed based on the architecture of the application system and the behavior of the components and is analyzed using a state-space analysis tool. The paper gives illustrative examples for the feasibility and scalability of the approach.","PeriodicalId":407032,"journal":{"name":"Proceedings of the 16th Workshop on Adaptive and Reflective Middleware","volume":"201 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-12-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132658007","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The simulation and optimization of complex engineering designs in automotive or aerospace involves multiple mathematical tools, long-running workflows and resource-intensive computations on distributed infrastructures. Finding the optimal deployment in terms of task distribution, parallelization, collocation and resource assignment for each execution is a step-wise process involving both human input with domain-specific knowledge about the tools as well as the acquisition of new knowledge based on the actual execution history. In this paper, we present motivating scenarios as well as an architecture for adaptive and reflective middleware that supports smart cloud-based deployment and execution of engineering workflows. This middleware supports deep inspection of the workflow task structure and execution, as well as of the very specific mathematical tools, their executions and used parameters. The reflective capabilities are based on multiple meta-models to reflect workflow structure, deployment, execution and resources. Adaptive deployment is driven by both human input as meta-data annotations as well as the actual execution history of the workflows.
{"title":"Adaptive and reflective middleware for the cloudification of simulation & optimization workflows","authors":"Emad Heydari Beni, B. Lagaisse, W. Joosen","doi":"10.1145/3152881.3152883","DOIUrl":"https://doi.org/10.1145/3152881.3152883","url":null,"abstract":"The simulation and optimization of complex engineering designs in automotive or aerospace involves multiple mathematical tools, long-running workflows and resource-intensive computations on distributed infrastructures. Finding the optimal deployment in terms of task distribution, parallelization, collocation and resource assignment for each execution is a step-wise process involving both human input with domain-specific knowledge about the tools as well as the acquisition of new knowledge based on the actual execution history. In this paper, we present motivating scenarios as well as an architecture for adaptive and reflective middleware that supports smart cloud-based deployment and execution of engineering workflows. This middleware supports deep inspection of the workflow task structure and execution, as well as of the very specific mathematical tools, their executions and used parameters. The reflective capabilities are based on multiple meta-models to reflect workflow structure, deployment, execution and resources. Adaptive deployment is driven by both human input as meta-data annotations as well as the actual execution history of the workflows.","PeriodicalId":407032,"journal":{"name":"Proceedings of the 16th Workshop on Adaptive and Reflective Middleware","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-12-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115237653","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Mahmudur Rahman Hera, Hua-Jun Hong, Amatur Rahman, P. Tsai, Afia Afrin, Md Yusuf Sarwar Uddin, N. Venkatasubramanian, Cheng-Hsin Hsu
In this paper, we design and implement an Internet-of-Things (IoT) based platform for developing cities using environmental sensing as driving application with a set of air quality sensors that periodically upload sensor data to the cloud. Ubiquitous and free WiFi access is unavailable in most developing cities; IoT deployments must leverage 3G cellular connections that are expensive and metered. In order to best utilize the limited 3G data plan, we envision two adaptation strategies to drive sensing and sensemaking. The first technique is an infrastructure-level adaptation approach where we adjust sensing intervals of periodic sensors so that the data volume remains bounded within the plan. The second approach is at the information-level where application-specific analytics are deployed on board devices (or the edge) through container technologies (Docker and Kubernetes); the use case focuses on multimedia sensors that process captured raw information to lower volume semantic data that is communicated. This approach is implemented through the EnviroSCALE (Environmental Sensing and Community Alert Network) platform, an inexpensive Raspberry Pi based environmental sensing system that periodically publishes sensor data over a 3G connection with a limited data plan. We outline our deployment experience of EnviroSCALE in Dhaka city, the capital of Bangladesh. For information-level adaptation, we enhanced EnviroSCALE with Docker containers with rich media analytics, along Kubernetes for provisioning IoT devices and deploying the Docker images. To limit data communication overhead, the Docker images are preloaded in the board but a small footprint of analytic code is transferred whenever required. Our experiment results demonstrate the practicality of adaptive sensing and triggering rich sensing analytics via user-specified criteria, even over constrained data connections.
{"title":"Adaptive sensing using internet-of-things with constrained communications","authors":"Mahmudur Rahman Hera, Hua-Jun Hong, Amatur Rahman, P. Tsai, Afia Afrin, Md Yusuf Sarwar Uddin, N. Venkatasubramanian, Cheng-Hsin Hsu","doi":"10.1145/3152881.3152887","DOIUrl":"https://doi.org/10.1145/3152881.3152887","url":null,"abstract":"In this paper, we design and implement an Internet-of-Things (IoT) based platform for developing cities using environmental sensing as driving application with a set of air quality sensors that periodically upload sensor data to the cloud. Ubiquitous and free WiFi access is unavailable in most developing cities; IoT deployments must leverage 3G cellular connections that are expensive and metered. In order to best utilize the limited 3G data plan, we envision two adaptation strategies to drive sensing and sensemaking. The first technique is an infrastructure-level adaptation approach where we adjust sensing intervals of periodic sensors so that the data volume remains bounded within the plan. The second approach is at the information-level where application-specific analytics are deployed on board devices (or the edge) through container technologies (Docker and Kubernetes); the use case focuses on multimedia sensors that process captured raw information to lower volume semantic data that is communicated. This approach is implemented through the EnviroSCALE (Environmental Sensing and Community Alert Network) platform, an inexpensive Raspberry Pi based environmental sensing system that periodically publishes sensor data over a 3G connection with a limited data plan. We outline our deployment experience of EnviroSCALE in Dhaka city, the capital of Bangladesh. For information-level adaptation, we enhanced EnviroSCALE with Docker containers with rich media analytics, along Kubernetes for provisioning IoT devices and deploying the Docker images. To limit data communication overhead, the Docker images are preloaded in the board but a small footprint of analytic code is transferred whenever required. Our experiment results demonstrate the practicality of adaptive sensing and triggering rich sensing analytics via user-specified criteria, even over constrained data connections.","PeriodicalId":407032,"journal":{"name":"Proceedings of the 16th Workshop on Adaptive and Reflective Middleware","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-12-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122986236","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Fast and efficient algorithms to estimate miss rate curves have recently been proposed, yet these have not been incorporated into cloud caches. Numerous applications that could benefit from these techniques are relying on less useful cache metrics or incomplete information. We study how to instrument cloud caches to obtain online miss rate curves (MRCs). Our approach leverages state-of-the-art algorithms and data structures, thus incurring in negligible overhead. We also propose an alternative design that makes it easier to change the MRC estimation algorithm, as well as plug-in other monitoring techniques. We implemented our designs in one of the top cloud caches: Memcached. We show via experimentation, that our implementation is efficient. Finally, we discuss how our solution can be used to improve the management of cloud caches; in particular, our code can be used by caching middleware to auto-adapt to changes in workload and maximize performance.
{"title":"Instrumenting cloud caches for online workload monitoring: the case of online miss rate curve estimation in memcached","authors":"Jorge R. Murillo, Gustavo Totoy, Cristina L. Abad","doi":"10.1145/3152881.3152884","DOIUrl":"https://doi.org/10.1145/3152881.3152884","url":null,"abstract":"Fast and efficient algorithms to estimate miss rate curves have recently been proposed, yet these have not been incorporated into cloud caches. Numerous applications that could benefit from these techniques are relying on less useful cache metrics or incomplete information. We study how to instrument cloud caches to obtain online miss rate curves (MRCs). Our approach leverages state-of-the-art algorithms and data structures, thus incurring in negligible overhead. We also propose an alternative design that makes it easier to change the MRC estimation algorithm, as well as plug-in other monitoring techniques. We implemented our designs in one of the top cloud caches: Memcached. We show via experimentation, that our implementation is efficient. Finally, we discuss how our solution can be used to improve the management of cloud caches; in particular, our code can be used by caching middleware to auto-adapt to changes in workload and maximize performance.","PeriodicalId":407032,"journal":{"name":"Proceedings of the 16th Workshop on Adaptive and Reflective Middleware","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-12-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134131080","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Proceedings of the 16th Workshop on Adaptive and Reflective Middleware","authors":"A. Dubey, M. García-Valls","doi":"10.1145/3152881","DOIUrl":"https://doi.org/10.1145/3152881","url":null,"abstract":"","PeriodicalId":407032,"journal":{"name":"Proceedings of the 16th Workshop on Adaptive and Reflective Middleware","volume":"43 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-12-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131804656","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The development of an adaptive middleware is still a challenge due to the complexity of dealing with traditional adaptation issues, such as Why to adapt? When to adapt? Where do we have to implement change? What kind of change is needed? How is the adaptation performed? This paper presents a solution that integrates software architecture concepts, lightweight formalisation and process mining to face the mentioned challenges. The solution reduces the effort to implement the middleware and reinforces safety properties at development time and when the middleware is already in execution. To evaluate the proposed solution, we carried out an initial experimental evaluation to measure the time to decide for an adaptation using process mining.
{"title":"Using software architecture principles and lightweight formalisation to build adaptive middleware","authors":"N. Rosa, G. Campos, D. Cavalcanti","doi":"10.1145/3152881.3152882","DOIUrl":"https://doi.org/10.1145/3152881.3152882","url":null,"abstract":"The development of an adaptive middleware is still a challenge due to the complexity of dealing with traditional adaptation issues, such as Why to adapt? When to adapt? Where do we have to implement change? What kind of change is needed? How is the adaptation performed? This paper presents a solution that integrates software architecture concepts, lightweight formalisation and process mining to face the mentioned challenges. The solution reduces the effort to implement the middleware and reinforces safety properties at development time and when the middleware is already in execution. To evaluate the proposed solution, we carried out an initial experimental evaluation to measure the time to decide for an adaptation using process mining.","PeriodicalId":407032,"journal":{"name":"Proceedings of the 16th Workshop on Adaptive and Reflective Middleware","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-12-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133781219","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Javier Soto Vargas, J. Moreno, J. Madrenas, J. Cabestany
This paper describes a new self-adaptive hardware architecture with fault tolerance capabilities and a development system that allows the creation of applications. This bioinspired architecture is based on an array of cells with capacity for parallel processing, which implements in a distributed way self-adaptive capabilities, like self-routing, self-placement and runtime self-configuration. This cell array together with a component-level routing constitutes a SANE (Self-Adaptive Networked Entity). An integrated development environment and a physical prototype based on two FPGA boards has been built in order to assess the features of the proposed architecture.
{"title":"Self-adaptive hardware architecture with parallel processing capabilities and dynamic reconfiguration","authors":"Javier Soto Vargas, J. Moreno, J. Madrenas, J. Cabestany","doi":"10.1145/3152881.3152885","DOIUrl":"https://doi.org/10.1145/3152881.3152885","url":null,"abstract":"This paper describes a new self-adaptive hardware architecture with fault tolerance capabilities and a development system that allows the creation of applications. This bioinspired architecture is based on an array of cells with capacity for parallel processing, which implements in a distributed way self-adaptive capabilities, like self-routing, self-placement and runtime self-configuration. This cell array together with a component-level routing constitutes a SANE (Self-Adaptive Networked Entity). An integrated development environment and a physical prototype based on two FPGA boards has been built in order to assess the features of the proposed architecture.","PeriodicalId":407032,"journal":{"name":"Proceedings of the 16th Workshop on Adaptive and Reflective Middleware","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-12-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132627616","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}