38 research outputs found

    Middleware specialization using aspect oriented programming

    Full text link
    Standardized middleware is used to build large distributed real-time and enterprise (DRE) systems. These middleware are highly flexible and support a large number of features since they have to be applicable to a wide range of domains and applications. This generality and flexibility, however, often causes many performance and footprint overheads par-ticularly for product line architectures, which have a well-defined scope smaller than that of the middleware yet must leverage its benefits, such as reusability. To alleviate this tension thus a key objective is to specialize the middleware, which comprises removing the sources of excessive general-ity while simultaneously optimizing the required features of middleware functionality. To meet this objective this paper describes how we have applied Aspect-Oriented Program-ming (AOP) in a novel manner to address these challenges. Although AOP is primarily used for separation of concerns, we use it to specialize middleware. Aspects are used to se-lect the specific set of features needed by the product line. Aspect weaving is subsequently used to specialize the mid-dleware. This paper describes the key motivation for our research, identifies the challenges developing middleware-based product lines and shows how to resolve those using aspects. The results applying our AOP-based specialization techniques to event demultiplexing middleware for the case of single threaded implementation showed 3 % decrease in latency and 2 % increase in throughput, while in the thread pool implementation showed 4 % decrease in latency and 3% increase in throughput

    A model-driven approach to broaden the detection of software performance antipatterns at runtime

    Full text link
    Performance antipatterns document bad design patterns that have negative influence on system performance. In our previous work we formalized such antipatterns as logical predicates that predicate on four views: (i) the static view that captures the software elements (e.g. classes, components) and the static relationships among them; (ii) the dynamic view that represents the interaction (e.g. messages) that occurs between the software entities elements to provide the system functionalities; (iii) the deployment view that describes the hardware elements (e.g. processing nodes) and the mapping of the software entities onto the hardware platform; (iv) the performance view that collects specific performance indices. In this paper we present a lightweight infrastructure that is able to detect performance antipatterns at runtime through monitoring. The proposed approach precalculates such predicates and identifies antipatterns whose static, dynamic and deployment sub-predicates are validated by the current system configuration and brings at runtime the verification of performance sub-predicates. The proposed infrastructure leverages model-driven techniques to generate probes for monitoring the performance sub-predicates and detecting antipatterns at runtime.Comment: In Proceedings FESCA 2014, arXiv:1404.043

    Timed Automata Models for Principled Composition of Middleware

    Get PDF
    Middleware for Distributed Real-time and Embedded (DRE) systems has grown more and more complex in recent years due to the varying functional and temporal requirements of complex real-time applications. To enable DRE middleware to be configured and customized to meet the demands of different applications, a body of ongoing research has focused on applying model-driven development techniques to developing QoS-enabled middleware. While current approaches for modeling middleware focus on easing the task of as-assembling, deploying and configuring middleware and middleware-based applications, a more formal basis for correct middleware composition and configuration in the context of individual applications is needed. While the modeling community has used application-level formal models that are more abstract to uncover certain flaws in system design, a more fundamental and lower-level set of models is needed to be able to uncover more subtle safety and timing errors introduced by interference between application computations, particularly in the face of alternative concurrency strategies in the middleware layer. In this research, we have examined how detailed formal models of lower-level middle-ware building blocks provide an appropriate level of abstraction both for modeling and synthesis of a variety of kinds of middleware from these building blocks. When combined with model checking techniques, these formal models can help developers in composing correct combinations of middleware mechanisms, and configuring those mechanisms for each particular application

    Architecting integrated internet of things systems

    Get PDF
    IoT (Internet of Things) enables anytime and anyplace connectivity for anything by linking the objects of the real world with the virtual world. In the near future, it is predicted that more than 50 billion of things will be connected to the internet. This will lead to many different IoT- based systems that will have a huge impact on the society. Often, these IoT systems will not be standalone but will be composed with other different systems to create additional value. Hence, with the heterogeneity and the integration of IoT-based systems with other IoT-based or non-IoT-based systems has become an important challenge. In this thesis, the main objective is to analyze, design and integrate IoT-based systems and to answer the following research questions: RQ1. What are the characteristic features of IoT systems? RQ2. How to design the architecture for an IoT-based system? RQ3. What are the identified obstacles of the data distribution (DDS) middleware? RQ4. What are the solution directions for the identified obstacles of DDS? RQ5. What are the approaches for integrating multiple IoT-based systems? RQ6. How to design a DDS-based IoT system? RQ7. How to derive feasible deployment alternatives for DDS-based systems? In order to answer these research questions, three different research methodologies were used: Systematic Literature Review, Design Science Research, and Case Study Research. In chapter 2, we have applied a feature driven domain analysis of IoT systems. We have presented the reference architecture for IoT and discussed the corresponding layers. Among these layers, we have focused on the session layer of the IoT. The protocols in this layer are related with the communication sessions of the IoT systems and hence determine the communication characteristics of the IoT systems. We have presented the common and variant features of the most commonly used session layer protocols, namely AMQP, CoAP, DDS, MQTT, and XMPP which are used for communication between M2M (machine-to- machine), M2S (machine-to-server), and S2S (server-to-server). Further, we have provided an evaluation framework to compare session layer communication protocols. Among these protocols, we focused on the DDS that is mainly used for M2M communication in Industrial Internet of Things (IIoT). In chapter 3, we have described an architecture design method for architecting IoT systems for the Farm Management Information Systems (FMIS) domain. Hereby, we have also developed a family feature diagram to represent the common and variant features of IoT- based FMIS. In order to illustrate our approach, we have performed a systematic case study approach including the IoT-based wheat and tomato production with IoT-based FMIS. The case study research showed that the approach was both effective and practical. In chapter 4, we have presented the method for designing integrated IoT systems. We showed that integration of IoT-based systems can be at different layers including session layer, cloud layer and application layer. Further we have shown that the integration is typically carried out based on well-defined patterns, that is, generic solutions structures for recurring problems. We have systematically compiled and structured the 15 different integration patterns which can be used in different combinations and likewise supporting the composition of different IoT systems. We have illustrated the use of example patterns in a smart city case study and have shown that the systematic structuring of the integration patterns is useful for integrating IoT systems. A systematic research methodology has been applied in chapter 5 to identify the current obstacles to adopt DDS and their solution directions. We have selected 34 primary studies among the 468 identified papers since the introduction of DDS in 2003. We identified 11 basic categories of problems including complexity of DDS configuration, performance prediction, measurement and optimization, implementing DDS, DDS integration over WAN, DDS using wireless networks and mobile computing, interoperability among DDS vendor implementations, data consistency in DDS, reliability in DDS, scalability in DDS, security, and integration with event-based systems. We have adopted feature diagrams to summarize and provide an overview of the identified problem and their solutions defined in the primary studies. DDS based architecture design for IoT systems is presented in chapter 6. DDS is considered to be a potential middleware for IoT because of its focus on event-driven communication in which quality of service is also explicitly defined. We provide a systematic approach to model the architecture for DDS-based IoT in which we adopted architecture viewpoints for modeling DDS, IoT and DDS-based IoT systems. We have integrated and represented the architecture models that can be used to model DDS-based IoT systems for various application domains. When designing DDS-based systems typically multiple different alternatives can be derived. Chapter 7 presents an approach for deriving feasible DDS configuration alternatives. For this we have provided a systematic approach for extending the DDS UML profile and developed an extensible tool framework Deploy-DDS to derive feasible deployment alternatives given the application model, the physical resources, and the execution configurations. The tool framework Deploy-DDS implements a set of predefined algorithms and can be easily extended with new algorithms to support the system architect. We have evaluated the approach and the tool framework for a relevant IoT case study on smart city engineering. Chapter 8 concludes the thesis by summarizing the contributions.</p

    Dependable Embedded Systems

    Get PDF
    This Open Access book introduces readers to many new techniques for enhancing and optimizing reliability in embedded systems, which have emerged particularly within the last five years. This book introduces the most prominent reliability concerns from today’s points of view and roughly recapitulates the progress in the community so far. Unlike other books that focus on a single abstraction level such circuit level or system level alone, the focus of this book is to deal with the different reliability challenges across different levels starting from the physical level all the way to the system level (cross-layer approaches). The book aims at demonstrating how new hardware/software co-design solution can be proposed to ef-fectively mitigate reliability degradation such as transistor aging, processor variation, temperature effects, soft errors, etc. Provides readers with latest insights into novel, cross-layer methods and models with respect to dependability of embedded systems; Describes cross-layer approaches that can leverage reliability through techniques that are pro-actively designed with respect to techniques at other layers; Explains run-time adaptation and concepts/means of self-organization, in order to achieve error resiliency in complex, future many core systems
    corecore