
Medical Cyber-Physical Systems (MCPS) are complex, location-aware, networked systems of medical devices that can be used as a piece of the healing center to give the best medical care to patients. Hence, they integrate human, cyber, and physical elements. Since MCPSs are life-critical and context-aware, they are significant to the healthcare industry, which is prone to data breaches and cyber-attacks. As an emerging research area, MCPS faces several challenges with respect to system reliability, assurance, autonomy and security, and privacy. In this paper, we initially examine the state-of-the-arts of MCPS over the last few decades (1998–2020) and subsequently propose a new framework considering security/privacy for MPCS that incorporates several models that depict various domains of security. An interaction between various models followed with a qualitative assessment of the framework has been carried out to present a detailed description of the proposed framework. It is useful in various healthcare industries like health care services, manufacturing, pharmaceuticals, etc. that utilize smart devices. Additionally, the framework may be applied to enhance security in the Internet of Things (IoT) environment. It may be also useful to deploy efficient workflow operations for patients under the consideration framework. The framework will also lay out the foundation for implementing cybersecurity infrastructures in many healthcare applications.
We investigate the mathematical properties of event bound functions as they are used in the worst-case response time analysis and utilization tests. We figure out the differences and similarities between the two approaches. Based on this analysis, we derive a more general form do describe events and event bounds. This new unified approach gives clear new insights in the investigation of real-time systems, simplifies the models and will support algebraic proofs in future work. In the end, we present a unified analysis which allows the algebraic definition of any scheduler. Introducing such functions to the real-time scheduling theory will lead two a more systematic way to integrate new concepts and applications to the theory. Last but not least, we show how the response time analysis in dynamic scheduling can be improved.
As embedded applications are subject to non-functional requirements (latency, safety, reliability, etc.) they require special care when it comes to providing assurances. Traditionally, these systems are quite static in their software and hardware composition. However, there is an increasing interest in enabling adaptivity and autonomy in embedded systems that cannot be satisfied with preprogrammed adaptations any more. Instead, it requires automated software composition in conjunction with model-based analyses that must adhere to requirements and constraints from various viewpoints. A major challenge in this matter is that embedded systems are subject to emergent constraints which are affected by inter-dependent properties resulting from the software composition and platform configuration. As these properties typically require an in-depth evaluation by complex analyses, a holistic formulation of parameters and their constraints is not applicable. We present a compositional framework for model-based integration of component-based embedded systems. The framework provides a structured approach to perform operations on a cross-layer model for model enrichment, synthesis and analysis. It thereby provides the overarching mechanisms to combine existing models, analyses and reasoning. Furthermore, it automates integration decisions and enables an iterative exploration of feasible system compositions. We demonstrate the applicability of this framework on a case study of a stereo-vision robot that uses a component-based operating system.
Clinical workflows consist of sets of tasks involving patients and healthcare professionals. In such an environment, maintaining the privacy of patient data is a significant challenge. Healthcare providers have to consider both legislative compliances with tightening privacy regulations and growing privacy concerns of individuals. Unlike data security, which aims at preventing unauthorized access, privacy focuses on providing individuals the ability to control when, how, and to what extent their data is used with a particular purpose. In this paper, we present our first steps on transforming existing non-privacy-aware clinical workflows into privacy-aware ones through algorithms based on privacy policies and privacy preferences.
With the continuous growth of IT application systems, the complexity of architecture modeling and development increases. Patterns document proven solutions for recurring problems in an abstract and human readable manner. Within the domain of IT architectures, they should support the architecture modeling and development process. Due to the documentation of patterns as text documents, they cannot be applied to an architecture automatically: patterns have to be read, understood, adapted to the corresponding use case, and realized manually over and over again. Consequently, architecture modeling considering the variety of documented patterns becomes even more complex and time-consuming. To tackle these issues, we introduce an approach and for an automated application and realization of patterns in architectural graphs using graph transformation techniques. This eases the architecture modeling process in which proven solutions for recurring problems can be selected as required and applied automatically. We present the concept, formalization, and validate our approach based on an application example.
Software product line engineering emphasizes the organized reuse of software artifacts in order to create customized products on demand, while maintenance costs are reduced. In the special case of negative variability, products are created by removing irrelevant elements from a multi-variant platform. One of the greatest challenges connected to negative variability is the question of product consistency. In the literature, several approaches are described to ensure consistent products: either, the derivation of inconsistent products is inhibited in advance, which significantly restricts the product line’s customizability, or the developer is directly involved in repairing inconsistent products, which increases maintenance effort. This paper presents the theoretical foundations of an approach to automatically repair product inconsistencies based on two mechanisms, propagation strategies and selection strategies. The presented approach constitutes a compromise between strict enforcement of product consistency and the reduction of maintenance efforts. Given a consistent product description, the derivation of a consistent product is guaranteed; automatically applied repair actions may be reworked by the developer afterwards. As a proof of concept, the theoretical concepts have been implemented in the model-driven product line tool FAMILE.
Potential benefits such as agile service delivery have led many companies to deliver their business capabilities through microservices. Bad smells are however always around the corner, as witnessed by the considerable body of literature discussing architectural smells that possibly violate the design principles of microservices. In this paper, we systematically review the white and grey literature on the topic, in order to identify the most recognised architectural smells for microservices and to discuss the architectural refactorings allowing to resolve them.
In recent years, a plethora of deployment technologies evolved, many following a declarative approach to automate the delivery of software components. Even if such technologies share the same purpose, they differ in features and supported mechanisms. Thus, it is difficult to compare and select deployment automation technologies as well as to migrate from one technology to another. Hence, we present a systematic review of declarative deployment technologies and introduce the essential deployment metamodel (EDMM) by extracting the essential parts that are supported by all these technologies. Thereby, the EDMM enables a common understanding of declarative deployment models by facilitating the comparison, selection, and migration of technologies. Moreover, it provides a technology-independent baseline for further deployment automation research.
To evaluate energy use in green clusters, power models take the resource utilization data as the input to predict server power consumption. We propose a novel method in power modeling combining a global linear model and a local approximation model. The new model enjoys high accuracy by compensating the global linear model with local approximation and exhibits robustness with the generalization capability of the global regression model. Empirical evaluation demonstrates that the new approach outperforms the two existing approaches to server power modeling, the linear model and the k-nearest neighbor regression model.
The aim of this paper is to illustrate the use of application and system level logs to better understand scientific data center behavior and energy-spending. Analyzing a data center log of 900 nodes (Sandy Bridge and Haswell), we study node power consumption and describe approaches to estimate and forecast it. Our results include methods to cluster nodes based on different vmstat and RAPL measurements as well as Gaussian and GAM models for estimating the plug power consumption. We also analyze failed jobs and find that non-successfully terminated jobs consume around 40% of computing time. While the actual numbers are likely to vary in different data centers at different times, the purpose of the paper is to share ideas of what can be found by statistical and machine learning analysis of large amount of log data.
XML has become the standard document representation for many popular tools in various domains. When multiple authors collaborate to produce a document, they must be able to work in parallel and periodically merge their efforts into a single work. While there exist a small number of three-way XML merging tools, their performance could be improved in several areas. We present a three-way XML merge algorithm that is faster, uses less memory and is more precise than previous algorithms. It uses a specialized versioning tree data structure that supports node identity and change detection. The algorithm applies the traditional three-way merge found in GNU diff3 to the children of changed nodes. The editing operations it supports are addition, deletion, update, and move. The algorithm is evaluated by comparing its performance to that of the previous algorithms, using synthetically generated XML documents of a range of sizes and modified by varying numbers of random editing operations. The prototype merge tool used in these tests also includes a simple graphical interface for visualizing and resolving conflicts.
Embedded Systems are increasingly equipped with open interfaces that enable communication and collaboration with other embedded systems. Collaborative embedded systems (CES) can be seen as an emerging new class of systems which, although individually designed and developed, can form collaborations at runtime. When embedded systems collaborate with each other, functions developed independently need to be integrated for performing evaluation of the resulting system in order to discover unwanted side-effects. Traditionally, early-stage validation and verification (V&V) of systems composed of collaborative subsystems is performed by function integration at design time. Simulation is used at this stage to verify system’s behaviour in a predefined set of test scenarios. In this paper we provide a survey of simulation methods and tools for the V&V of CES. In the context of one use case from the automotive domain (vehicle platooning) we present solutions (methods and tools) and challenges brought by evaluating vehicle collaboration using simulation.
As energy consumption plays a more and more critical role in high-performance computing installations, investigating the influence of the different system components and their share w.r.t. energy consumption is of great interest. The compiler is one of the key parts of the software environment. Unlike processor frequency and power limits, the influence of the compiler and its sets of optimizations on energy consumption has not received much attention in the field of high-performance computing yet. In this paper, we present a study which compares the GNU and Intel compiler infrastructures with each other concerning the energy consumption of the generated code. We use the HPCG benchmark as target application and perform energy measurements using both single-socket and whole-machine measurements. Our results show that the compiler can have a strong influence on energy consumption: For one configuration, the binary compiled with the Intel compiler consumes approximately twice the amount of energy of the binary compiled with the GNU compiler, even though the runtime is practically the same.
The rising concern for power consumption of large-scale computer systems puts a research focus on the respective measurement methods. Varying workload patterns and energy efficiency optimizations cause highly dynamic power consumption on today’s compute nodes—a challenge for every measurement infrastructure. We identify five partly contradictory requirements that characterize such infrastructures: temporal granularity, spatial granularity, well-defined accuracy, scalability, and cost. In two projects we push the boundaries for these criteria: a scalable measurement solution for hundreds of nodes at millisecond granularity that is tightly integrated into the HPC system, and a sophisticated single-node instrumentation to measure the power consumption of application events in the microsecond range. Both measurement solutions are calibrated and their accuracy is carefully studied. We discuss scalable processing of the measurements for global monitoring in large-scale systems and use this data for energy efficiency analyses in combination with contextual information such as application performance trace data.
In recent years, several technologies were developed enabling the automated provisioning and decommissioning of cloud applications. To reduce costs, these applications can be terminated and restarted on demand. However, as an application is terminated, its current application state, i.e., all application specific data is deleted along with the running application instance. This application state may be holding all business-critical information, and, hence, must be saved before the application is terminated. One possibility to save application states is to create VM snapshots although this is not always possible or sufficient. Therefore, we introduce two approaches: (1) a concept to generically terminate applications and save their internal state, and (2) an approach to reinstate the application in the same state again. To evaluate their practical feasibility, we implemented a proof of concept in the OpenTOSCA ecosystem.
With the emergence of cloud-native applications, the question arises how existing, often monolithic, applications can be migrated to this new paradigm. The main migration challenges are the decomposition of an application into fine-grained components and the introduction of cloud computing paradigms. With complex existing applications the migration is difficult. A structured and tool-supported approach would facilitate the migration process, which is why this paper proposes a model-driven engineering based approach. As a basis, this paper derives and presents requirements for such an approach from the literature on the one hand and a migration case study on the other. The requirements are specifically targeted at the necessary models, but also consider the overall approach. The necessities for the realization of a model-driven cloud-native migration approach are shown and remaining challenges are discussed.
The establishment of digital humanities as a research field has shown that the use of computers as tools, but also the use of methods and techniques from computer science, can contribute enormously to research done in the humanities. Since quantum computers are expected to become generally available in the next few years, it is promising to use the advantages of this new technology for addressing existing as well as completely new questions in the humanities. The use of quantum computers offers a great deal of potential: (i) they are much faster than classical computers in solving certain complex problems, (ii) solutions may be much more precise, (iii) they allow the solution of problem classes that can hardly been solved on classical computers, and (iv) their usage promises to be much cheaper than that of supercomputers. Parts of this potential are already used in different domains but are also particular promising for digital humanities research. This paper outlines the vision of such quantum humanities.
Today, Internet of Things applications are available throughout many different domains (manufacturing, health, cities, homes), enabling a high degree of automation to ease people's lives. For example, automated heating systems in a smart home can lead to reduced costs and an increased comfort for the residents. In the IoT, situations can be detected through interpretation of data produced by heterogeneous sensors, which typically lead to an invocation of actuators. In such applications, sensor data is usually streamed to a central instance for processing. However, especially in time-critical applications, this is not feasible, since high latency is an issue. To cope with this problem, in this paper, we introduce an approach for decentralized data processing in the IoT. This leads to decreased latency as well as a reduction of costs.
Pattern languages as tools for solving problems based on interconnected, abstract, and proven solutions can offer valuable help to practitioners. But there is always the question of where to begin when a pattern language should be applied. Their authors often provide entry points, but these are usually only useful if one starts completely from scratch or from a very specific situation. When confronted with problems at hand, practitioners are often left to find a suitable entry point themselves by reading through the whole pattern language to find applicable patterns. To help with this problem, we present a general approach and its formalization that provides entry points for any kind of situation. Our general three step approach guides practitioners through Situation Assessment , Treatment Selection , and Treatment Application in order to find and apply a suitable pattern language for their specific problems. We formalize all the parts involved and show that the facts collected during Situation Assessment can be used to find a suitable entry point for a specific situation. We also present an algorithm for finding these entry points.