21 research outputs found

    Techniques and Patterns for Safe and Efficient Real-Time Middleware

    Get PDF
    Over 90 percent of all microprocessors are now used for real-time and embedded applications. The behavior of these applications is often constrained by the physical world. It is therefore important to devise higher-level languages and middleware that meet conventional functional requirements, as well as dependably and productively enforce real-time constraints. Real-Time Java is emerging as a safe, real-time environment. In this thesis we use it as our experimentation platform; however, our findings are easily adapted to other similar platforms. This thesis provides the following contributions to the study of safe and efficient real-time middleware. First, it identifies potential bottlenecks and problem with respect to guaranteeing real-time performance in middleware. Second, it presents a series of techniques and patterns that allow the design and implementation of safe, predictable, and highly efficient real-time middleware. Third, it provides a set of architectural and design patterns that application developers can use when designing real-time systems. Finally, it provides a methodology for evaluating the merits and benefits of real-time middleware. Empirical results are presented using that methodology for the techniques presented in this thesis. The methodology helps compare the performance and predictability of general, real-time middleware platforms

    uDDS: A Middleware for Real-time Wireless Embedded Systems

    Full text link
    [EN] A Real-Time Wireless Distributed Embedded System (RTWDES) is formed by a large quantity of small devices with certain computing power, wireless communication and sensing/actuators capabilities. These types of networks have become popular as they have been developed for applications which can carry out a vast quantity of tasks, including home and building monitoring, object tracking, precision agriculture, military applications, disaster recovery, industry applications, among others. For this type of applications a middleware is used in software systems to bridge the gap between the application and the underlying operating system and networks. As a result, a middleware system can facilitate the development of applications and is designed to provide common services to the applications. The development of a middleware for sensor networks presents several challenges due to the limited computational resources and energy of the different nodes. This work is related with the design, implementation and test of a micro middleware for RTWDES; the proposal incorporates characteristics of a message oriented middleware thus allowing the applications to communicate by employing the publish/subscribe model. Experimental evaluation shows that the proposed middleware provides a stable and timely service to support different Quality of Service (QoS) levels. © 2011 Springer Science+Business Media B.V.This work was developed as a part of the D2ARS Project supported by CYTED. UNESCO code 120325;330417;120314;120305.González, A.; Mata, W.; Villaseñor, L.; Aquino, R.; Simó Ten, JE.; Chávez, M.; Crespo Lorente, A. (2011). uDDS: A Middleware for Real-time Wireless Embedded Systems. Journal of Intelligent and Robotic Systems. 64(3-4):489-503. https://doi.org/10.1007/s10846-011-9550-zS489503643-4Akyildiz, I.F., Su, W., Sankarasubramaniam, Y., Cayirci, E.: A survey on sensor networks. IEEE Commun. Mag. 40, 102–114 (2002)Aquino, R., González, A., Rangel, V., García, M. Villaseñor, L.A., Edwards-Block, A.: Wireless communication protocol based on EDF for wireless body sensor networks, k. Journal of Applied Sciences and Technology 6(2), 104–114 (2008)Bonnet, P., Gehrke, J.E., Seshadri, P.: Querying the physical world. IEEE Pers. Commun. 7(5), 10–15 (2000)Boonma, P., Suzuki, J.: TinyDDS: an interoperable and configurable publish/subscribe middleware for wireless sensor networks. In: Hinze, A., Buchmann, A. (eds.) Handbook of Research on Advanced Distributed Event-based Systems. Publish/Subscribe and Message Filtering Technologies, IGI Global (2009)Cerpa, A., Elson, J., Hamilton, M., Zhao, J.: Habitat monitoring: application driver for wireless communications technology. ACM SIGCOMM Workshop on Data Communications in Latin America and the Caribbean, Costa Rica (2002)Corsaro, A., Schmidt, D.C.: The design and performace of real-time java middleware. IEEE Trans. Parallel Distrib. Syst. 14(11), issn 1045–9219, 1155–1167 (2003)Culler, D.E., Hong, W.: Wireless sensor networks introduction. Commun. ACM 47(6), 30–33 (2004)Estrin, D., Govindan, R., Heidemann, J.S., Kumar, S.: Next century challenges: scalable coordination in sensor networks. In: Mobile Computing and Networking, pp. 263–270 (1999)Heinzelman, W.B., Murphy, A.L., Carvalho, H.S.: Middleware to support sensor network applications. IEEE Netw. 18, 6–14 (2004)Hill, J., Szewczyk, R., Woo, A., Hollar, S., Culler, D., Pister, K.: System architecture directions for networked sensors. ACM SIGOPS Oper. Syst. Rev. 34(5), 93–104 (2000)Levis, P., Culler, D.: Mate: a tiny virtual machine for sensor networks. In: Proceedings of the 10th International Conference on Achitectural Support for Programming Languages and Operating Systems. San Jose, CA (2002)Liu, T., Martonosi, M.: Impala: a middleware system for managing autonomic, parallel sensor systems. In: Proceedings of the Ninth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. San Diego, CA (2003)Mata, W., González, A., Aquino, R., Crespo, A., Ripoll, I., Capel, M.: A wireless networked embedded sistem with a new real-time Kernel PaRTiKle. Electronics, Robotics and Automotive Mechanics Conference, CERMA 2007. ISBN 0-7695-2974-7. Cuernavaca, México (2007)Mata, W., González, A., Crespo, A.: A proposal for real-time middleware for wireless sensor networks. Workshop on Sensor Networks and Applications (WseNA’08). Gramado, Brasil (2008)Mata, W., González, A., Fuentes, G., Fuentes, R., Crespo, A., Carr, D.: Porting jRate(RT-Java) to a POSIX real-time Linux Kernel. Tenth Real-Time Linux Workshop. Colotlán, Jalisco México (2008)MiLAN Project: Available: http://www.futurehealth.rochester.edu/milan (2008)OMG, Data Distribution Service for Real-Time Systems Version 1.2. OMG Technical Document (2007)OMG, Model Driven Architecture (MDA), Document Number ormsc/2001-07-01. Technical report, OMG (2001)OMG, Overview and guide to OMGs architecture, OMG Technical Document formal/03-06-01 (2003)Pardo-Castellote, G., Farabaugh, B., Warren, R.: An Introduction to DDS and Data-centric Communications. Available: http://www.omg.org/news/whitepapers/Intro_To_DDS.pdf (2005)Peiro, S., Masmano, M., Ripoll, I., Crespo, A.: PaRTiKle OS, a replacement of the core of RTLinux. In: 9th Real-Time Linux Workshop (2007)Peiro, S., Masmano, M., Ripoll, I., Crespo, A.: PaRTiKle LPC, port to the LPC2000. Tehth Real-Time Linux Workshop. Colotlán, Jalisco M’exico (2008)Pottie, G.J., Kaiser, W.J.: Wireless integrated networks sensors. Commun. ACM 43(5), 52–58 (2000)Souto, E., Guimaraes, G., Vasconcelos, G., Vieira, M., Rosa, N., Ferraz, C., Kelner, J.: Mires: a publish/subscribe middleware for sensor networks. Pers Ubiquit Comput 10(1), 37–44 (2006)St Ville, L., Dickman, P.: Garnet: a middleware architecture for distributing data streams originating in wireless sensor networks. In: Proceedings. 23rd International Conference on Distributed Computing Systems Workshops (2003

    Unwoven Aspect Analysis

    Get PDF
    Various languages and tools supporting advanced separation of concerns (such as aspect-oriented programming) provide a software developer with the ability to separate functional and non-functional programmatic intentions. Once these separate pieces of the software have been specified, the tools automatically handle interaction points between separate modules, relieving the developer of this chore and permitting more understandable, maintainable code. Many approaches have left traditional compiler analysis and optimization until after the composition has been performed; unfortunately, analyses performed after composition cannot make use of the logical separation present in the original program. Further, for modular systems that can be configured with different sets of features, testing under every possible combination of features may be necessary and time-consuming to avoid bugs in production software. To solve this testing problem, we investigate a feature-aware compiler analysis that runs during composition and discovers features strongly independent of each other. When the their independence can be judged, the number of feature combinations that must be separately tested can be reduced. We develop this approach and discuss our implementation. We look forward to future programming languages in two ways: we implement solutions to problems that are conceptually aspect-oriented but for which current aspect languages and tools fail. We study these cases and consider what language designs might provide even more information to a compiler. We describe some features that such a future language might have, based on our observations of current language deficiencies and our experience with compilers for these languages

    RTZen: Highly Predictable, Real-Time Java Middleware for Distributed and Embedded Systems

    Full text link
    Distributed real-time and embedded (DRE) applications possess stringent quality of service (QoS) requirements, such as predictability, latency, and throughput constraints. Real-Time CORBA, an open middleware standard, allows DRE applications to allocate, schedule, and control resources to ensure predictable end-to-end QoS. The Real-Time Specification for Java (RTSJ) has been developed to provide extensions to Java so that it can be used for real-time systems, in order to bring Java's advantages, such as portability and ease of use, to real-time applications.In this paper, we describe RTZen, an implementation of a Real-Time CORBA Object Request Broker (ORB), designed to comply with the restrictions imposed by RTSJ. RTZen is designed to eliminate the unpredictability caused by garbage collection and improper support for thread scheduling through the use of appropriate data structures, threading models, and memory scopes. RTZen's architecture is also designed to hide the complexities of RTSJ related to distributed programming from the application developer. Empirical results show that RTZen is highly predictable and has acceptable performance. RTZen therefore demonstrates that Real-Time CORBA middleware implemented in real-time Java can meet stringent QoS requirements of DRE applications, while supporting safer, easier, cheaper, and faster development in real-time Java

    Dynamic Assignment of Scoped Memory Regions in the Translation of Java to Real-Time Java

    Get PDF
    Advances in middleware, operating systems, and popular, general-purpose languages have brought the ideal of reasonably-bound execution time closer to developers who need such assurances for real-time and embedded systems applications. Extensions to the Java libraries and virtual machine have been proposed in a real-time Java standard, which provides for specification of release times, execution costs, and deadlines for a restricted class of threads. To use such features, the programmer is required to use unwieldy code constructs to create region-like areas of storage, associate them with execution scopes, and allocate objects from them. Further, the developer must ensure that they do not violate strict inter-region reference rules. Unfortunately, it is difficult to determine manually how to map object instantiations to execution scopes. Moreover, if ordinary Java code is modified to effect instantiations in scopes, the resulting code is difficult to read, maintain, and reuse. We present a dynamic approach to determining proper placement of objects within scope-bounded regions, and we employ a procedure that utilizes aspect-oriented programming to instrument the original program, realizing the program’s scoped memory concerns in a modular fashion. Using this approach, Java programs can be converted into region-aware Java programs automatically

    Um tradutor Java/RTR integrado ao ambiente Eclipse

    Get PDF
    Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Ciência da Computação

    RTXlet: uma abordagem de tempo real para aplicações de tv digital baseadas em Xlets

    Get PDF
    Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-graduação em Engenharia ElétricaEste trabalho propõe uma nova abordagem para aplicações de TV Digital. Esta abordagem estende o modelo de Xlet adicionando características tempo real leves (soft real-time) através da utilização da Real-Time Specification for Java (RTSJ) na implementação das Xlets. São apresentadas as vantagens da utilização desta nova abstração, e algumas formas de implementá-la. Visando a sua implementação em aplicações com restrições temporais leves em ambientes sujeitos a sobrecargas, são propostas três técnicas de escalonamento adaptativo: (i) um modelo de tarefas (m,k)-firm e política de escalonamento DBP (Distance Based Priority); (ii) flexibilização do período; e (iii) uso de componentes opcionais (computação imprecisa). Diversos experimentos foram efetuados visando validar o uso da RTXlet em cada uma dessas técnicas

    Cooperative framework for open real-time systems

    Get PDF
    Actualmente, os sistemas embebidos estão presentes em toda a parte. Embora grande parte da população que os utiliza não tenha a noção da sua presença, na realidade, se repentinamente estes sistemas deixassem de existir, a sociedade iria sentir a sua falta. A sua utilização massiva deve-se ao facto de estarem practicamente incorporados em quase os todos dispositivos electrónicos de consumo, telecomunicações, automação industrial e automóvel. Influenciada por este crescimento, a comunidade científica foi confrontada com novos problemas distribuídos por vários domínios científicos, dos quais são destacados a gestão da qualidade de serviço e gestão de recursos - domínio encarregue de resolver problemas relacionados com a alocação óptima de recursos físicos, tais como rede, memória e CPU. Existe na literatura um vasto conjunto de modelos que propõem soluções para vários problemas apresentados no contexto destes domínios científicos. No entanto, não é possível encontrar modelos que lidem com a gestão de recursos em ambientes de execução cooperativos e abertos com restrições temporais utilizando coligações entre diferentes nós, de forma a satisfazer os requisitos não funcionais das aplicações. Devido ao facto de estes sistemas serem dinâmicos por natureza, apresentam a característica de não ser possível conhecer, a priori, a quantidade de recursos necessários que uma aplicação irá requerer do sistema no qual irá ser executada. Este conhecimento só é adquirido aquando da execução da aplicação. De modo a garantir uma gestão eficiente dos recursos disponíveis, em sistemas que apresentam um grande dinamismo na execução de tarefas com e sem restrições temporais, é necessário garantir dois aspectos fundamentais. O primeiro está relacionado com a obtenção de garantias na execução de tarefas de tempo-real. Estas devem sempre ser executadas dentro da janela temporal requirida. O segundo aspecto refere a necessidade de garantir que todos os recursos necessários à execução das tarefas são fornecidos, com o objectivo de manter os níveis de performance quer das aplicações, quer do próprio sistema. Tendo em conta os dois aspectos acima mencionados, o projecto CooperatES foi especificado com o objectivo de permitir a dispositivos com poucos recursos uma execução colectiva de serviços com os seus vizinhos, de modo a cumprir com as complexas restrições de qualidade de serviço impostas pelos utilizadores ou pelas aplicações. Decorrendo no contexto do projecto CooperatES, o trabalho resultante desta tese tem como principal objectivo avaliar a practicabilidade dos conceitos principais propostos no âmbito do projecto. O trabalho em causa implicou a escolha e análise de uma plataforma, a análise de requisitos, a implementação e avaliação de uma framework que permite a execução cooperativa de aplicações e serviços que apresentem requisitos de qualidade de serviço. Do trabalho desenvolvido resultaram as seguintes contribuições: Análise das plataformas de código aberto que possam ser utilizadas na implementação dos conceitos relacionados com o projecto CooperatES; Critérios que influenciaram a escolha da plataforma Android e um estudo focado na análise da plataforma sob uma perspectiva de sistemas de tempo-real; Experiências na implementação dos conceitos do projecto na plataforma Android; Avaliação da practicabilidade dos conceitos propostos no projecto CooperatES; Proposta de extensões que permitam incorporar características de sistemas de tempo real abertos na plataforma Android.Embedded devices are reaching a point where society does not notice its presence; however, if suddenly taken away, everyone would notice their absence. The new, small, embedded devices used in consumer electronics, telecommunication, industrial automation, or automotive systems are the reason for their massive spread. Influenced by this growth and pervasiveness, the scientific community is faced with new challenges in several domains. Of these, important ones are the management of the quality of the provided services and the management of the underlying resources - both interconnected to solve the problem of optimal allocation of physical resources (namely CPU, memory and network as examples), whilst providing the best possible quality to users. Although several models have been presented in literature, a recent proposal handles resource management by using coalitions of nodes in open real-time cooperative environments, as a solution to guarantee that the application’s non-functional requirements are met, and to provide the best possible quality of service to users. This proposal, the CooperatES framework, provides better models and mechanisms to handle resource management in open real-time systems, allowing resource constrained devices to collectively execute services with their neighbours, in order to fulfil the complex Quality of Service constraints imposed by users and applications. Within the context of the CooperatES framework, the work presented in this thesis evaluates the feasibility of the implementation of the framework’s Quality of Service concept within current embedded Java platforms, and proposes a solution and architecture for a specific platform: the Android operating system. To this purpose, the work provides an evaluation of the suitability of Java solutions for real-time and embedded systems, an evaluation of the Android platform for open real-time systems, as well as discusses the required extensions to Android allowing it to be used within real-time system. Furthermore, this thesis presents a prototype implementation of the CooperatES framework within the Android platform, which allows determining the suitability of the proposed platform extensions for open real-time systems applications
    corecore