A. Kavimandan, A. Narayanan, A. Gokhale, G. Karsai
Recent advances in software processes and artifacts for automating middleware configurations in distributed realtime and embedded (DRE) systems are starting to address the complexities faced by system developers in dealing with the flexibility and configurability provided by contemporary middleware. Despite the benefits of these new processes, there remain significant challenges in verifying their correctness, and validating their effectiveness in meeting the end-to-end quality of service (QoS) requirements of DRE systems. This paper addresses this problem by describing how model-checking and structural correspondence can be used to verify the correctness of a middleware QoS configuration process that uses model-based graph transformations at its core. Next, it provides empirical proof to validate the effectiveness of our technique to meet the end-to-end QoS requirements in the context of a representative DRE system.
{"title":"Evaluating the Correctness and Effectiveness of a Middleware QoS Configuration Process in Distributed Real-Time and Embedded Systems","authors":"A. Kavimandan, A. Narayanan, A. Gokhale, G. Karsai","doi":"10.1109/ISORC.2008.24","DOIUrl":"https://doi.org/10.1109/ISORC.2008.24","url":null,"abstract":"Recent advances in software processes and artifacts for automating middleware configurations in distributed realtime and embedded (DRE) systems are starting to address the complexities faced by system developers in dealing with the flexibility and configurability provided by contemporary middleware. Despite the benefits of these new processes, there remain significant challenges in verifying their correctness, and validating their effectiveness in meeting the end-to-end quality of service (QoS) requirements of DRE systems. This paper addresses this problem by describing how model-checking and structural correspondence can be used to verify the correctness of a middleware QoS configuration process that uses model-based graph transformations at its core. Next, it provides empirical proof to validate the effectiveness of our technique to meet the end-to-end QoS requirements in the context of a representative DRE system.","PeriodicalId":378715,"journal":{"name":"2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC)","volume":"79 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121164670","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}
Internet delay is important for FPS games because it can determine who wins or loses a game. Network traffic for such games has been analysed using packet size and inter-packet time metrics fitting a statistical model. However, the effect of other network traffic on game traffic was not investigated or considered. This paper explores the traffic generated by an FPS game, taking into account the effects of other Internet traffic. Experiments were conducted in an isolated local network, repeated across the Internet and in a simulator with varying degrees of background traffic. FPS game packet inter-arrival time distribution was observed to spread with the decrease of bandwidth due to other traffic along network paths. The twin peak characteristic of packet inter-arrival time observed in the isolated local network experiment flattens and spreads to a bell-shape as bandwidth decreases due to the increased and non-unique delay of packet arrivals.
{"title":"First Person Shooter Multiplayer Game Traffic Analysis","authors":"Qili Zhou, Colin J. Miller, V. Bassilious","doi":"10.1109/ISORC.2008.28","DOIUrl":"https://doi.org/10.1109/ISORC.2008.28","url":null,"abstract":"Internet delay is important for FPS games because it can determine who wins or loses a game. Network traffic for such games has been analysed using packet size and inter-packet time metrics fitting a statistical model. However, the effect of other network traffic on game traffic was not investigated or considered. This paper explores the traffic generated by an FPS game, taking into account the effects of other Internet traffic. Experiments were conducted in an isolated local network, repeated across the Internet and in a simulator with varying degrees of background traffic. FPS game packet inter-arrival time distribution was observed to spread with the decrease of bandwidth due to other traffic along network paths. The twin peak characteristic of packet inter-arrival time observed in the isolated local network experiment flattens and spreads to a bell-shape as bandwidth decreases due to the increased and non-unique delay of packet arrivals.","PeriodicalId":378715,"journal":{"name":"2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130369771","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 wireless sensor network (WSN) typically consists of a large number of small-sized devices that have very low computational capability, small amounts of memory and the need to conserve energy as much as possible (most commonly by entering suspended mode for extended periods of time). Previous approaches for WSN time synchronization do not satisfactorily address all of the requirements of WSN environments. Thus, this paper proposes a new fault-tolerant WSN time sychronization algorithm that is extremely fast (when compared to previous algorithms), achieves a guaranteed level of time synchronization for all non-faulty nodes, can accommodate nodes that enter suspended mode and then wake up, utilizes very little communication and computation resources (thereby leaving those resources available for use by other applications), operates in a completely decentralized manner and tolerates up to f faulty nodes. The efficacy of the proposed algorithm is shown using analysis and experimental results.
{"title":"Fast Fault-Tolerant Time Synchronization for Wireless Sensor Networks","authors":"Sunggu Lee, Ungjin Jang, Junyoung Park","doi":"10.1109/ISORC.2008.37","DOIUrl":"https://doi.org/10.1109/ISORC.2008.37","url":null,"abstract":"A wireless sensor network (WSN) typically consists of a large number of small-sized devices that have very low computational capability, small amounts of memory and the need to conserve energy as much as possible (most commonly by entering suspended mode for extended periods of time). Previous approaches for WSN time synchronization do not satisfactorily address all of the requirements of WSN environments. Thus, this paper proposes a new fault-tolerant WSN time sychronization algorithm that is extremely fast (when compared to previous algorithms), achieves a guaranteed level of time synchronization for all non-faulty nodes, can accommodate nodes that enter suspended mode and then wake up, utilizes very little communication and computation resources (thereby leaving those resources available for use by other applications), operates in a completely decentralized manner and tolerates up to f faulty nodes. The efficacy of the proposed algorithm is shown using analysis and experimental results.","PeriodicalId":378715,"journal":{"name":"2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129368630","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}
Current RTSJ (the real-time specification for Java) threading model is dualized: programmers have to decide between the high predictability offered by its region-based model and the flexibility offered by its garbage-collected model. Up to now, there is not a unique type of thread that offers, in a single entity, the highest predictability, and flexibility together. This lack has serious consequences on the programmer who has to deal with new and sometimes non-trivial mechanisms, such as queues of objects or the no-heap real-time threads, to avoid the priority inversion caused by the garbage collector, hi order to tackle these issues and provide an improved and more generalized programming model, the authors propose an extension to the current threading model that unifies the RTSJ threading model: the RealtimeThread++ extension.
{"title":"Simplifying the Dualized Threading Model of RTSJ","authors":"P. Basanta-Val, M. García-Valls, I. Estévez-Ayres","doi":"10.1109/ISORC.2008.18","DOIUrl":"https://doi.org/10.1109/ISORC.2008.18","url":null,"abstract":"Current RTSJ (the real-time specification for Java) threading model is dualized: programmers have to decide between the high predictability offered by its region-based model and the flexibility offered by its garbage-collected model. Up to now, there is not a unique type of thread that offers, in a single entity, the highest predictability, and flexibility together. This lack has serious consequences on the programmer who has to deal with new and sometimes non-trivial mechanisms, such as queues of objects or the no-heap real-time threads, to avoid the priority inversion caused by the garbage collector, hi order to tackle these issues and provide an improved and more generalized programming model, the authors propose an extension to the current threading model that unifies the RTSJ threading model: the RealtimeThread++ extension.","PeriodicalId":378715,"journal":{"name":"2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130134582","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}
Martin Schoeberl, Christian Thalinger, Stephan Korsholm, A. Ravn
Java, as a safe and platform independent language, avoids access to low-level I/O devices or direct memory access. In standard Java, low-level I/O it not a concern; it is handled by the operating system. However, in the embedded domain resources are scarce and a Java virtual machine (JVM) without an underlying middleware is an attractive architecture. When running the JVM on bare metal, we need access to I/O devices from Java; therefore we investigate a safe and efficient mechanism to represent I/O devices as first class Java objects, where device registers are represented by object fields. Access to those registers is safe as Java's type system regulates it. The access is also fast as it is directly performed by the bytecodes getfield and putfield. Hardware objects thus provide an object-oriented abstraction of low-level hardware devices. As a proof of concept, we have implemented hardware objects in three quite different JVMs: in the Java processor JOP, the JIT compiler CACAO, and in the interpreting embedded JVM SimpleRTJ.
{"title":"Hardware Objects for Java","authors":"Martin Schoeberl, Christian Thalinger, Stephan Korsholm, A. Ravn","doi":"10.1109/ISORC.2008.63","DOIUrl":"https://doi.org/10.1109/ISORC.2008.63","url":null,"abstract":"Java, as a safe and platform independent language, avoids access to low-level I/O devices or direct memory access. In standard Java, low-level I/O it not a concern; it is handled by the operating system. However, in the embedded domain resources are scarce and a Java virtual machine (JVM) without an underlying middleware is an attractive architecture. When running the JVM on bare metal, we need access to I/O devices from Java; therefore we investigate a safe and efficient mechanism to represent I/O devices as first class Java objects, where device registers are represented by object fields. Access to those registers is safe as Java's type system regulates it. The access is also fast as it is directly performed by the bytecodes getfield and putfield. Hardware objects thus provide an object-oriented abstraction of low-level hardware devices. As a proof of concept, we have implemented hardware objects in three quite different JVMs: in the Java processor JOP, the JIT compiler CACAO, and in the interpreting embedded JVM SimpleRTJ.","PeriodicalId":378715,"journal":{"name":"2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117347901","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}
Currently, the Real-Time Specification for Java (RTSJ) is silent on multiprocessor issues It attempts not to preclude multiprocessor implementations but provides no direct support. This paper discusses the issues that need to be addressed if the RTSJ is to be better defined for execution on a multiprocessor system. It proposes new dispatching and allocation models. Issues of cost enforcement, interrupts affinity and processor failure are covered.
{"title":"Multiprocessors and the Real-Time Specification for Java","authors":"A. Wellings","doi":"10.1109/ISORC.2008.22","DOIUrl":"https://doi.org/10.1109/ISORC.2008.22","url":null,"abstract":"Currently, the Real-Time Specification for Java (RTSJ) is silent on multiprocessor issues It attempts not to preclude multiprocessor implementations but provides no direct support. This paper discusses the issues that need to be addressed if the RTSJ is to be better defined for execution on a multiprocessor system. It proposes new dispatching and allocation models. Issues of cost enforcement, interrupts affinity and processor failure are covered.","PeriodicalId":378715,"journal":{"name":"2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC)","volume":"62 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120964276","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 real-time specification for Java extends the Java platform to support real-time processing and introduces a region-based memory model, called scoped memory, which side-steps the Java garbage collector. While scoped memory succeeds in protecting real-time tasks from execution time jitter, practical experience points to shortcomings. This paper takes stock of the state of the art in memory management for RTSJ programs.
{"title":"Memory Management for Real-Time Java: State of the Art","authors":"F. Pizlo, J. Vitek","doi":"10.1109/ISORC.2008.40","DOIUrl":"https://doi.org/10.1109/ISORC.2008.40","url":null,"abstract":"The real-time specification for Java extends the Java platform to support real-time processing and introduces a region-based memory model, called scoped memory, which side-steps the Java garbage collector. While scoped memory succeeds in protecting real-time tasks from execution time jitter, practical experience points to shortcomings. This paper takes stock of the state of the art in memory management for RTSJ programs.","PeriodicalId":378715,"journal":{"name":"2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134388562","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}
Today many embedded computer applications are developed under the assumptions that the hardware works always as described in the documentation, the operating system is free of design errors and the clients use the system as specified. These assumptions lead to systems that are fragile - they break if even a single transistor out of a billion transistors chip occasionally malfunctions or a sporadic Heisenbug [J. Gray, 1986] occurs in the operating system.
{"title":"Wrong Assumptions and Neglected Areas in Embedded Systems Research","authors":"H. Kopetz","doi":"10.1109/ISORC.2008.15","DOIUrl":"https://doi.org/10.1109/ISORC.2008.15","url":null,"abstract":"Today many embedded computer applications are developed under the assumptions that the hardware works always as described in the documentation, the operating system is free of design errors and the clients use the system as specified. These assumptions lead to systems that are fragile - they break if even a single transistor out of a billion transistors chip occasionally malfunctions or a sporadic Heisenbug [J. Gray, 1986] occurs in the operating system.","PeriodicalId":378715,"journal":{"name":"2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC)","volume":"2011 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128202418","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 wide range of high-performance distributed embedded systems have been designed and deployed. Physically distributed embedded systems are used for manufacturing and control, traffic analysis, and other problems. Interestingly, today's systems-on-chips are sufficiently complex that they must be treated as distributed embedded systems. At all scales of physical extent, middleware is required to manage the computations. This paper looks at distributed embedded systems at several physical scales and considers the types of middleware that are needed to operate these systems.
{"title":"Middleware Architectures for Distributed Embedded Systems","authors":"W. Wolf","doi":"10.1109/ISORC.2008.31","DOIUrl":"https://doi.org/10.1109/ISORC.2008.31","url":null,"abstract":"A wide range of high-performance distributed embedded systems have been designed and deployed. Physically distributed embedded systems are used for manufacturing and control, traffic analysis, and other problems. Interestingly, today's systems-on-chips are sufficiently complex that they must be treated as distributed embedded systems. At all scales of physical extent, middleware is required to manage the computations. This paper looks at distributed embedded systems at several physical scales and considers the types of middleware that are needed to operate these systems.","PeriodicalId":378715,"journal":{"name":"2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127356294","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}
Emmanuel Henrich, Juan A. Colmenares, Keizo Fujiwara, C. Im, K. Kim, L. Zheng
This paper discusses the benefits of exploiting 1) the principle of global-time-based coordination of distributed computing actions (TCoDA) and 2) a high-level component-/object-based programming approach in developing real-time embedded computing software. The benefits are discussed in the context of a concrete case study. A new major type of distributed multimedia processing applications, called Adaptive Distributed Sound Systems (ADSSs), is presented here to show the compelling nature of the TCoDA exploitation. High-quality ADSSs impose stringent real-time distributed computing requirements. They require a global-time base with precision better than 100 mus. For efficient implementation, the TMO programming scheme and associated tools are shown to be highly useful. In addition, a prototype TMO-based ADSS has been developed and its most important quality attributes have been empirically evaluated. The prototype ADSS has also turned out to be a cost-effective tool for assessing the quality of service of a TMO execution engine.
{"title":"Realization of an Adaptive Distributed Sound System Based on Global-Time-Based Coordination and Listener Localization","authors":"Emmanuel Henrich, Juan A. Colmenares, Keizo Fujiwara, C. Im, K. Kim, L. Zheng","doi":"10.1109/ISORC.2008.87","DOIUrl":"https://doi.org/10.1109/ISORC.2008.87","url":null,"abstract":"This paper discusses the benefits of exploiting 1) the principle of global-time-based coordination of distributed computing actions (TCoDA) and 2) a high-level component-/object-based programming approach in developing real-time embedded computing software. The benefits are discussed in the context of a concrete case study. A new major type of distributed multimedia processing applications, called Adaptive Distributed Sound Systems (ADSSs), is presented here to show the compelling nature of the TCoDA exploitation. High-quality ADSSs impose stringent real-time distributed computing requirements. They require a global-time base with precision better than 100 mus. For efficient implementation, the TMO programming scheme and associated tools are shown to be highly useful. In addition, a prototype TMO-based ADSS has been developed and its most important quality attributes have been empirically evaluated. The prototype ADSS has also turned out to be a cost-effective tool for assessing the quality of service of a TMO execution engine.","PeriodicalId":378715,"journal":{"name":"2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC)","volume":"49 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115767292","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}