Over the last decade we witness a steady grow of complexities in real-time systems. Today, developers have to face real-time constraints in almost every software system, from embedded software to financial systems, internet services, and computer entertainment industry. To address this widespread challenge, the Real-Time Specification for Java (RTSJ) has been proposed. However, RTJS itself introduces many nonintuitive rules and restrictions that doom its programming model to be highly error-prone. Moreover, in contrast to the approaches for mainstream software development, the engineering technologies, tools, and frameworks for real-time systems are nowhere near as groundbreaking. The vision behind this dissertation is to ultimately close the gap between real-time programming and today's software technology. Therefore, this dissertation investigates scalable software engineering techniques for RTSJ programming. Our fundamental philosophy is to introduce high-level abstractions of RTSJ concepts in order to leverage development of real-time Java systems. As the first contribution of this thesis, we introduce domain components - an approach to unified expression and manipulation of domain-specific concerns along the software development lifecycle. We use the domain components to construct high-level abstractions of RTSJ specifics that ultimately allow developers to achieve full separation of functional and RTSJ-specific concerns in the development lifecycle. We thus allow developers to reuse and tailor the systems for variously constraining real-time requirements. Second, we propose SOLEIL- a component framework for development of RTSJ systems, the framework introduces a development methodology mitigating the complexities of the RTSJ programming model. Furthermore, we introduce the HULOTTE toolset for automatic instantiation of developed applications. In this process, the functional implementation is separated from RTSJspecific code which is automatically instantiated. In consequence, the development process is fully transparent, RTSJ complexities are hidden from the developers, and the process itself highly resembles to the standard Java development. Finally, the domain component concept and the RTSJ rules and restrictions are defined in the Alloy language which allows us to formally verify that the development process and outcoming software systems are compliant with RTSJ. To validate the approach, we conduct several case studies challenging our proposal from different perspectives. First, performed benchmarks show that the overhead of the SOLEIL framework is minimal in comparison to manually written object-oriented applications while providing more extensive functionality. Second, considering the state-of-the-art RTSJ programming methods, we achieve better separation of functional and RTSJ concerns, thus increasing efficiency of the development process. Finally, we demonstrate universality of the domain component concept by showing its ability to address various domain-specific challenges.
Identifer | oai:union.ndltd.org:CCSD/oai:tel.archives-ouvertes.fr:tel-00439132 |
Date | 14 September 2009 |
Creators | Plsek, Ales |
Publisher | Université des Sciences et Technologie de Lille - Lille I |
Source Sets | CCSD theses-EN-ligne, France |
Language | English |
Detected Language | English |
Type | PhD thesis |
Page generated in 0.0021 seconds