The energy consumption of state-of-the-art systems applying state-machine replication in general is not proportional to the performance they provide. This is mainly due to the fact that current implementations rely on static replica configurations, for example with regard to the number of threads to be used, which prevent them from adjusting their resource footprints to changing load levels. In this paper, we address this problem by presenting a mechanism that allows a replica to adapt its energy consumption by switching between configurations at runtime. Furthermore, we study the effectiveness of different energy-saving techniques and their impact on peak performance. Our evaluation results for a Byzantine fault-tolerant coordination service show that utilizing such knowledge in combination with our mechanism, it is possible to build energy-proportional replicated systems.
{"title":"Towards Energy-Proportional State-Machine Replication","authors":"C. Eibel, T. Distler","doi":"10.1145/2834965.2834969","DOIUrl":"https://doi.org/10.1145/2834965.2834969","url":null,"abstract":"The energy consumption of state-of-the-art systems applying state-machine replication in general is not proportional to the performance they provide. This is mainly due to the fact that current implementations rely on static replica configurations, for example with regard to the number of threads to be used, which prevent them from adjusting their resource footprints to changing load levels. In this paper, we address this problem by presenting a mechanism that allows a replica to adapt its energy consumption by switching between configurations at runtime. Furthermore, we study the effectiveness of different energy-saving techniques and their impact on peak performance. Our evaluation results for a Byzantine fault-tolerant coordination service show that utilizing such knowledge in combination with our mechanism, it is possible to build energy-proportional replicated systems.","PeriodicalId":371260,"journal":{"name":"Proceedings of the 14th International Workshop on Adaptive and Reflective Middleware","volume":"74 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-12-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130960950","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}
Top-k publish/subscribe (pub/sub) models have gained traction as an expressive alternative to extend the binary notion of matching. In our study, we focus on the problem of extracting the k-most representative set of publications in the dynamic case where the results are updated over a stream of matching publications. This can be observed as the minimum independent dominating set problem in graph theory, when streaming publications are represented as dynamic graph spaces. Due to the inherent complexity of solving this problem over continuous data, an incremental indexing mechanism is proposed for handling a stream of publications. The proposed mechanism is based on Locality Sensitive Hashing (LSH) to avoid the overhead of recalculating neighborhoods over consecutive sliding windows. The experimental results show that the incremental version of LSH indexing mechanism reduces the computational cost of naive greedy approach significantly, while producing Top-k representative results at 70% accuracy compared to the naive optimal method.
{"title":"An Efficient Incremental Indexing Mechanism for Extracting Top-k Representative Queries Over Continuous Data-streams","authors":"Y. Horawalavithana, D. Ranasinghe","doi":"10.1145/2834965.2834975","DOIUrl":"https://doi.org/10.1145/2834965.2834975","url":null,"abstract":"Top-k publish/subscribe (pub/sub) models have gained traction as an expressive alternative to extend the binary notion of matching. In our study, we focus on the problem of extracting the k-most representative set of publications in the dynamic case where the results are updated over a stream of matching publications. This can be observed as the minimum independent dominating set problem in graph theory, when streaming publications are represented as dynamic graph spaces. Due to the inherent complexity of solving this problem over continuous data, an incremental indexing mechanism is proposed for handling a stream of publications. The proposed mechanism is based on Locality Sensitive Hashing (LSH) to avoid the overhead of recalculating neighborhoods over consecutive sliding windows. The experimental results show that the incremental version of LSH indexing mechanism reduces the computational cost of naive greedy approach significantly, while producing Top-k representative results at 70% accuracy compared to the naive optimal method.","PeriodicalId":371260,"journal":{"name":"Proceedings of the 14th International Workshop on Adaptive and Reflective Middleware","volume":"105 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-12-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132247156","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}
Timely operation is a key factor in CPS that is challenged by their inherent distributed nature. The variability introduced by the network and its unpredictable effects have to be handled. Thus, a vertical understanding of the involved software layers is needed at the levels of the operating system, the networking software and the middleware. Typically, middleware has been described in a quite independent way from the underlying operating system kernel and the network software. That is not appropriate in a CPS as some degree of control over the resource assignment is expected as a means to ensure timeliness. In this paper, we look into the details of middleware in relation to its sorrounding software layers to provide a middleware design, namely OMA-Cy, suiting the needs of CPS. We target subsystems where timing deadlines are not hard nor safety critical, but require quality of service guarantees such that resource management techniques are applied both at the individual nodes as well as in the distributed communication.
{"title":"Adaptive middleware design for CPS: Considerations on the OS, resource managers, and the network run-time","authors":"M. García-Valls, R. Baldoni","doi":"10.1145/2834965.2834968","DOIUrl":"https://doi.org/10.1145/2834965.2834968","url":null,"abstract":"Timely operation is a key factor in CPS that is challenged by their inherent distributed nature. The variability introduced by the network and its unpredictable effects have to be handled. Thus, a vertical understanding of the involved software layers is needed at the levels of the operating system, the networking software and the middleware. Typically, middleware has been described in a quite independent way from the underlying operating system kernel and the network software. That is not appropriate in a CPS as some degree of control over the resource assignment is expected as a means to ensure timeliness. In this paper, we look into the details of middleware in relation to its sorrounding software layers to provide a middleware design, namely OMA-Cy, suiting the needs of CPS. We target subsystems where timing deadlines are not hard nor safety critical, but require quality of service guarantees such that resource management techniques are applied both at the individual nodes as well as in the distributed communication.","PeriodicalId":371260,"journal":{"name":"Proceedings of the 14th International Workshop on Adaptive and Reflective Middleware","volume":"118 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-12-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123222830","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}
In this paper, we introduce the notion of concurrent context-oriented programming and its experimental implementation. To realize context-oriented programming in concurrent systems based on asynchronous communication such as the Actor model, we must take special care to control synchronizations among context changes and other computations. We adopt an instance of group-wide reflection to solve the synchronization problem regarding messages that cross two contexts. In this paper, we give some preliminary evaluation results using our implementation in Erlang.
{"title":"A Reflective Implementation of an Actor-based Concurrent Context-Oriented System","authors":"Souhei Takeno, Takuo Watanabe","doi":"10.1145/2834965.2834972","DOIUrl":"https://doi.org/10.1145/2834965.2834972","url":null,"abstract":"In this paper, we introduce the notion of concurrent context-oriented programming and its experimental implementation. To realize context-oriented programming in concurrent systems based on asynchronous communication such as the Actor model, we must take special care to control synchronizations among context changes and other computations. We adopt an instance of group-wide reflection to solve the synchronization problem regarding messages that cross two contexts. In this paper, we give some preliminary evaluation results using our implementation in Erlang.","PeriodicalId":371260,"journal":{"name":"Proceedings of the 14th International Workshop on Adaptive and Reflective Middleware","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-12-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125294746","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}
In recent years, cloud computing has become an increasingly important software delivery paradigm, mainly for reasons of increased scalability. The scalability benefits are accomplished by the capability of autonomously and elastically scaling up or down so that customer preferences (SLAs) can be accommodated. For this, performance monitoring is a prerequisite. Distinction is made between white-box and black-box monitoring techniques: the former involves collecting information about the monitored component by looking at its internals, while the latter only involves observing the components interfaces. In practice, cloud provisioning is commonly based on white-box monitoring. These techniques are costly to develop, since technologies (and providers) offer their own white-box inspection APIs and are costly to integrate (e.g., in a multi-cloud setup involving different providers). In addition it is not always possible to apply this performance monitoring technique when dealing with third-party components or services. In this paper, we investigate whether typical SLA-driven cloud provisioning scenarios can be supported when relying exclusively on black-box performance monitoring techniques. We perform an experiment in which we apply both white-box (e.g., CPU usage, load, etc.) and black-box instrumentation (e.g., latency of operations, amount of failed operations, etc.) in a realistic case study, and we discover clear correlations between some of the obtained white-box and black-box measurements. As such, we show that black-box performance monitoring techniques can be used to support such provisioning scenarios.
{"title":"On the suitability of black-box performance monitoring for SLA-driven cloud provisioning scenarios","authors":"A. Schoonjans, D. Landuyt, B. Lagaisse, W. Joosen","doi":"10.1145/2834965.2834971","DOIUrl":"https://doi.org/10.1145/2834965.2834971","url":null,"abstract":"In recent years, cloud computing has become an increasingly important software delivery paradigm, mainly for reasons of increased scalability. The scalability benefits are accomplished by the capability of autonomously and elastically scaling up or down so that customer preferences (SLAs) can be accommodated. For this, performance monitoring is a prerequisite. Distinction is made between white-box and black-box monitoring techniques: the former involves collecting information about the monitored component by looking at its internals, while the latter only involves observing the components interfaces. In practice, cloud provisioning is commonly based on white-box monitoring. These techniques are costly to develop, since technologies (and providers) offer their own white-box inspection APIs and are costly to integrate (e.g., in a multi-cloud setup involving different providers). In addition it is not always possible to apply this performance monitoring technique when dealing with third-party components or services. In this paper, we investigate whether typical SLA-driven cloud provisioning scenarios can be supported when relying exclusively on black-box performance monitoring techniques. We perform an experiment in which we apply both white-box (e.g., CPU usage, load, etc.) and black-box instrumentation (e.g., latency of operations, amount of failed operations, etc.) in a realistic case study, and we discover clear correlations between some of the obtained white-box and black-box measurements. As such, we show that black-box performance monitoring techniques can be used to support such provisioning scenarios.","PeriodicalId":371260,"journal":{"name":"Proceedings of the 14th International Workshop on Adaptive and Reflective Middleware","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-12-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116176430","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}
A large portion of today's Internet traffic originates from streaming and video services. Storing, indexing, and serving these videos is a daily engineering challenge that requires increasing amounts of efforts and infrastructures. One promising direction to improve video services consists in predicting at upload time where and when a new video might be viewed, thereby optimizing placement and caching decisions. Implementing such a prediction service in a scalable manner poses significant technical challenges. In this paper, we address these challenges in the context of a decentralized storage system consisting of set-top boxes or end nodes. Specifically, we propose a novel data placement algorithm that exploits information about the tags associated with existing content, such as videos, and uses it to infer the number of views that newly uploaded content will have in each country.
{"title":"Decentralized view prediction for global content placement","authors":"Stéphane Delbruel, Davide Frey, François Taïani","doi":"10.1145/2834965.2834974","DOIUrl":"https://doi.org/10.1145/2834965.2834974","url":null,"abstract":"A large portion of today's Internet traffic originates from streaming and video services. Storing, indexing, and serving these videos is a daily engineering challenge that requires increasing amounts of efforts and infrastructures. One promising direction to improve video services consists in predicting at upload time where and when a new video might be viewed, thereby optimizing placement and caching decisions. Implementing such a prediction service in a scalable manner poses significant technical challenges. In this paper, we address these challenges in the context of a decentralized storage system consisting of set-top boxes or end nodes. Specifically, we propose a novel data placement algorithm that exploits information about the tags associated with existing content, such as videos, and uses it to infer the number of views that newly uploaded content will have in each country.","PeriodicalId":371260,"journal":{"name":"Proceedings of the 14th International Workshop on Adaptive and Reflective Middleware","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-12-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128412843","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}
G. Blair, Yérom-David Bromberg, G. Coulson, Yehia El-khatib, Laurent Réveillère, H. B. Ribeiro, E. Rivière, François Taïani
The world's computing infrastructure is increasingly differentiating into self-contained distributed systems with various purposes and capabilities (e.g. IoT installations, clouds, VANETs, WSNs, CDNs, . . .). Furthermore, such systems are increasingly being composed to generate systems of systems that offer value-added functionality. Today, however, system of systems composition is typically ad-hoc and fragile. It requires developers to possess an intimate knowledge of system internals and low-level interactions between their components. In this paper, we outline a vision and set up a research agenda towards the generalised programmatic construction of distributed systems as compositions of other distributed systems. Our vision, in which we refer uniformly to systems and to compositions of systems as holons, employs code generation techniques and uses common abstractions, operations and mechanisms at all system levels to support uniform system of systems composition. We believe our holon approach could facilitate a step change in the convenience and correctness with which systems of systems can be built, and open unprecedented opportunities for the emergence of new and previously-unenvisaged distributed system deployments, analogous perhaps to the impact the mashup culture has had on the way we now build web applications.
{"title":"Holons: towards a systematic approach to composing systems of systems","authors":"G. Blair, Yérom-David Bromberg, G. Coulson, Yehia El-khatib, Laurent Réveillère, H. B. Ribeiro, E. Rivière, François Taïani","doi":"10.1145/2834965.2834970","DOIUrl":"https://doi.org/10.1145/2834965.2834970","url":null,"abstract":"The world's computing infrastructure is increasingly differentiating into self-contained distributed systems with various purposes and capabilities (e.g. IoT installations, clouds, VANETs, WSNs, CDNs, . . .). Furthermore, such systems are increasingly being composed to generate systems of systems that offer value-added functionality. Today, however, system of systems composition is typically ad-hoc and fragile. It requires developers to possess an intimate knowledge of system internals and low-level interactions between their components. In this paper, we outline a vision and set up a research agenda towards the generalised programmatic construction of distributed systems as compositions of other distributed systems. Our vision, in which we refer uniformly to systems and to compositions of systems as holons, employs code generation techniques and uses common abstractions, operations and mechanisms at all system levels to support uniform system of systems composition. We believe our holon approach could facilitate a step change in the convenience and correctness with which systems of systems can be built, and open unprecedented opportunities for the emergence of new and previously-unenvisaged distributed system deployments, analogous perhaps to the impact the mashup culture has had on the way we now build web applications.","PeriodicalId":371260,"journal":{"name":"Proceedings of the 14th International Workshop on Adaptive and Reflective Middleware","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-12-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114230299","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}
Due to the dynamics of distributed ensembles in ubiquitous environments, developers can neither predetermine all environment settings at design time, nor rely on particular services or devices to be available at runtime. To better cope with such uncertainties, dynamic sets provide a programming abstraction that enables developers to program to the interface of a single device at design time, but to bundle and control a variable number of instances at runtime. Moreover, selection criteria for devices as well as the behavior of the set can be customized upon deployment or even be adapted at runtime.
{"title":"Dynamic Sets: A Programming Abstraction for Object Bundling","authors":"Matthias Prellwitz, Helge Parzyjegla, Gero Mühl","doi":"10.1145/2834965.2834973","DOIUrl":"https://doi.org/10.1145/2834965.2834973","url":null,"abstract":"Due to the dynamics of distributed ensembles in ubiquitous environments, developers can neither predetermine all environment settings at design time, nor rely on particular services or devices to be available at runtime. To better cope with such uncertainties, dynamic sets provide a programming abstraction that enables developers to program to the interface of a single device at design time, but to bundle and control a variable number of instances at runtime. Moreover, selection criteria for devices as well as the behavior of the set can be customized upon deployment or even be adapted at runtime.","PeriodicalId":371260,"journal":{"name":"Proceedings of the 14th International Workshop on Adaptive and Reflective Middleware","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-12-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134633173","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}
Software service providers are evolving towards a business process outsourcing (BPO) model to benefit from specialised services and facilities of external partners. Activation of external processes as well as having long-term and coarse-grained interaction with the outsourced processes results in remote workflow interactions between heterogeneous and federated workflow systems. WF-Interop aims at addressing the interoperability issues by defining a set of REST interfaces that enable standardised communication between these workflow engines. The WF-Interop interface focuses on deployment, activation and progress monitoring of workflows. It intends to be an interface for new as well as the existing workflow engines in order to expose their functionalities in a RESTful architecture. Amongst all functionalities proposed by WF-Interop, some may not be supported by some engines. As such, our standard API should be adaptive to the capabilities of each workflow engine and be reflective to the consumers by describing supported capabilities on demand. As a validation of the principles and architecture of WF-interop, we created a proof-of-concept middleware and prototyped an accounting workflow with outsourced billing workflow on top of it using jBPM[13] and Ruote[9] workflow engines.
{"title":"WF-Interop: Adaptive and Reflective REST Interfaces for Interoperability between Workflow Engines","authors":"Emad Heydari Beni, B. Lagaisse, W. Joosen","doi":"10.1145/2834965.2834966","DOIUrl":"https://doi.org/10.1145/2834965.2834966","url":null,"abstract":"Software service providers are evolving towards a business process outsourcing (BPO) model to benefit from specialised services and facilities of external partners. Activation of external processes as well as having long-term and coarse-grained interaction with the outsourced processes results in remote workflow interactions between heterogeneous and federated workflow systems. WF-Interop aims at addressing the interoperability issues by defining a set of REST interfaces that enable standardised communication between these workflow engines. The WF-Interop interface focuses on deployment, activation and progress monitoring of workflows. It intends to be an interface for new as well as the existing workflow engines in order to expose their functionalities in a RESTful architecture. Amongst all functionalities proposed by WF-Interop, some may not be supported by some engines. As such, our standard API should be adaptive to the capabilities of each workflow engine and be reflective to the consumers by describing supported capabilities on demand. As a validation of the principles and architecture of WF-interop, we created a proof-of-concept middleware and prototyped an accounting workflow with outsourced billing workflow on top of it using jBPM[13] and Ruote[9] workflow engines.","PeriodicalId":371260,"journal":{"name":"Proceedings of the 14th International Workshop on Adaptive and Reflective Middleware","volume":"34 3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-12-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121156911","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}
Mohammad Hosseini, Yu Jiang, Po-Liang Wu, Richard B. Berlin, L. Sha
Software is everywhere. The increasing requirement of supporting a wide variety of domains has rapidly increased the complexity of software systems, making them hard to maintain and the training process harder for end-users, which in turn ultimately demanded the development of user-friendly application software with simple interfaces that makes them easy, especially for non-professional personnel, to employ, and interact with. However, due to the lack of source code access for third-party software and the lack of non-graphical interfaces such as web-services or RMI (Remote Method Invocation) access to application functionality, synchronization between heterogeneous closed-box software interfaces and a user-friendly version of those interfaces has become a major challenge. In this paper, we design SINk1, a middleware that enables synchronization of multiple heterogeneous software applications, using only graphical interface, without the need for source code access or access to the entire platform's control. SINk helps with synchronization of closed-box industry software, where in fact the only possible way of communication is through software interfaces. It leverages efficient client sever architecture, socket based protocol, adaptation to resolution changes, and parameter mapping mechanisms to transfer control events to ensure the real-time requirements of synchronization among multiple interfaces are met. Our proof-of-concept evaluation shows there is in fact potential usage of our middleware in a wide variety of domains.
{"title":"SINk: A Middleware for Synchronization of Heterogeneous Software Interfaces","authors":"Mohammad Hosseini, Yu Jiang, Po-Liang Wu, Richard B. Berlin, L. Sha","doi":"10.1145/2834965.2834967","DOIUrl":"https://doi.org/10.1145/2834965.2834967","url":null,"abstract":"Software is everywhere. The increasing requirement of supporting a wide variety of domains has rapidly increased the complexity of software systems, making them hard to maintain and the training process harder for end-users, which in turn ultimately demanded the development of user-friendly application software with simple interfaces that makes them easy, especially for non-professional personnel, to employ, and interact with. However, due to the lack of source code access for third-party software and the lack of non-graphical interfaces such as web-services or RMI (Remote Method Invocation) access to application functionality, synchronization between heterogeneous closed-box software interfaces and a user-friendly version of those interfaces has become a major challenge. In this paper, we design SINk1, a middleware that enables synchronization of multiple heterogeneous software applications, using only graphical interface, without the need for source code access or access to the entire platform's control. SINk helps with synchronization of closed-box industry software, where in fact the only possible way of communication is through software interfaces. It leverages efficient client sever architecture, socket based protocol, adaptation to resolution changes, and parameter mapping mechanisms to transfer control events to ensure the real-time requirements of synchronization among multiple interfaces are met. Our proof-of-concept evaluation shows there is in fact potential usage of our middleware in a wide variety of domains.","PeriodicalId":371260,"journal":{"name":"Proceedings of the 14th International Workshop on Adaptive and Reflective Middleware","volume":"56 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124209611","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}