ELUS: Mecanismo de Reconfiguração de Software para Sistemas Operacionais Embarcados
Resumo
Reconfiguração Dinâmica de Software (RDS) é o processo de atualizar o software de um sistema em execução. Um mecanismo de RDS para sistemas embarcados deve ser simples, transparente para aplicações e usar o mínimo de recursos possíveis (e.g. memória, processamento), pois estará competindo com os recursos do próprio sistema embarcado. Este artigo apresenta o EPOS LIVE UPDATE SYSTEM (ELUS), uma infra-estrutura de sistema operacional que permite reconfiguração dinâmica de software em sistemas embarcados. ELUS faz uso de sofisticadas técnicas de metaprogramação estática em C++, consumindo pouca memória e tornando o processo de reconfiguração configurável, simples e totalmente transparente para as aplicações.Referências
Abrach, H., Bhatti, S., Carlson, J., Dai, H., Rose, J., Sheth, A., Shucker, B., Deng, J., and Han, R. (2003). Mantis: system support for multimodal networks of in-situ sensors. In Proc. of the 2nd ACM int. conf. on Wireless sensor networks and applications, pages 50–59, NY, USA. ACM.
Bagchi, S. (2008). Nano-kernel: a dynamically reconfigurable kernel for wsn. In Proceedings of the 1st MOBILWARE, pages 1–6, ICST, Brussels, Belgium, Belgium.
Bloom, T. and Day, M. (1993). Reconfiguration and module replacement in argus: theory and practice. Software Engineering Journal, 8(2):102–108.
Cha, H., Choi, S., Jung, I., Kim, H., Shin, H., Yoo, J., and Yoon, C. (2007). Retos: resilient, expandable, and threaded operating system for wireless sensor networks. In IPSN ’07: Proceedings of the 6th international conference on Information processing in sensor networks, pages 148–157, New York, NY, USA. ACM.
Dunkels, A., Grönvall, B., and Voigt, T. (2004). Contiki - a lightweight and flexible operating system for tiny networked sensors. In Proceedings of the First IEEE Workshop on Embedded Networked Sensors (Emnets-I), Tampa, Florida, USA.
Felser, M., Kapitza, R., Kleinöder, J., and Preikschat, W. S. (2007). Dynamic software update of resource-constrained distributed embedded systems. In International Embedded Systems Symposium 2007 (IESS ’07).
Fröhlich, A. A. (2001). Application-Oriented Operating Systems. Number 17 in GMD Research Series. GMD - Forschungszentrum Informationstechnik, Sankt Augustin.
Fröhlich, A. A. and Schröder-Preikschat, W. (2000). Scenario Adapters: Efficiently Adapting Components. In Proceedings of the 4th WMSCI, Orlando, U.S.A.
Gracioli, G., Santos, D., de Matos, R., Wanner, L., and Fröhlich, A. A. (2008). One-shot time management analysis in epos. In Proc. of the XXVII SCCC, Punta Arenas, Chile. IEEE.
Han, C.-C., Kumar, R., Shea, R., Kohler, E., and Srivastava, M. (2005). A dynamic operating system for sensor nodes. In MobiSys ’05: Proceedings of the 3rd international conference on Mobile systems, applications, and services, pages 163–176, New York, NY, USA. ACM.
Hill, J., Szewczyk, R., Woo, A., Hollar, S., Culler, D. E., and Pister, K. S. J. (2000). System architecture directions for networked sensors. In Proc. of the IX ASPLOS, Cambridge, MA, USA, pages 93–104.
Hui, J. W. and Culler, D. (2004). The dynamic behavior of a data dissemination protocol for network programming at scale. In SenSys ’04: Proceedings of the 2nd international conference on Embedded networked sensor systems, pages 81–94, New York, NY, USA. ACM.
Koshy, J. and Pandey, R. (2005). Vm*: Synthesizing scalable runtime environments for sensor networks. In In Proc. SenSys 05, pages 243–254. ACM Press.
Levis, P. and Culler, D. (2002). Mate: A tiny virtual machine for sensor networks. In Proc. of the X ASPLOS, San Jose, CA, USA.
Marrón, P. J., Gauger, M., Lachenmann, A., Minder, D., Saukh, O., and Rothermel, K. (2006). Flexcup: A flexible and efficient code update mechanism for sensor networks. In Proceedings of the Third European Workshop on Wireless Sensor Networks (EWSN 2006), pages 212–227.
Polakovic, J. and Stefani, J.-B. (2008). Architecting reconfigurable component-based operating systems. Journal of Systems Architecture, 54(6):562–575.
Pottie, G. J. and Kaiser, W. J. (2000). Wireless integrated network sensors. Commun. ACM, 43(5):51–58.
Reijers, N. and Langendoen, K. (2003). Efficient code distribution in wireless sensor networks. In WSNA ’03: Proceedings of the 2nd ACM international conference on Wireless sensor networks and applications, pages 60–67, New York, NY, USA. ACM Press.
Soules, C. A. N., Appavoo, J., Hui, K., Wisniewski, R. W., Silva, D. D., Ganger, G. R., Krieger, O., Stumm, M., Auslander, M., Ostrowski, M., Rosenburg, B., and Xenidis, J. (2003). System support for online reconfiguration. In Proc. of the Usenix Technical Conference.
Stroustrup, B. (1997). The C++ Programming Language. Addison-Wesley, 3 edition.
Xie, Q., Liu, J., and Chou, P. (2006). Tapper: a lightweight scripting engine for highly constrained wireless sensor nodes. In Proc. Fifth International Conference on Information Processing in Sensor Networks IPSN 2006, pages 342–349.
Yi, S., Min, H., Cho, Y., and Hong, J. (2008). Molecule: An adaptive dynamic reconfiguration scheme for sensor operating systems. Comput. Commun., 31(4):699–707.
Bagchi, S. (2008). Nano-kernel: a dynamically reconfigurable kernel for wsn. In Proceedings of the 1st MOBILWARE, pages 1–6, ICST, Brussels, Belgium, Belgium.
Bloom, T. and Day, M. (1993). Reconfiguration and module replacement in argus: theory and practice. Software Engineering Journal, 8(2):102–108.
Cha, H., Choi, S., Jung, I., Kim, H., Shin, H., Yoo, J., and Yoon, C. (2007). Retos: resilient, expandable, and threaded operating system for wireless sensor networks. In IPSN ’07: Proceedings of the 6th international conference on Information processing in sensor networks, pages 148–157, New York, NY, USA. ACM.
Dunkels, A., Grönvall, B., and Voigt, T. (2004). Contiki - a lightweight and flexible operating system for tiny networked sensors. In Proceedings of the First IEEE Workshop on Embedded Networked Sensors (Emnets-I), Tampa, Florida, USA.
Felser, M., Kapitza, R., Kleinöder, J., and Preikschat, W. S. (2007). Dynamic software update of resource-constrained distributed embedded systems. In International Embedded Systems Symposium 2007 (IESS ’07).
Fröhlich, A. A. (2001). Application-Oriented Operating Systems. Number 17 in GMD Research Series. GMD - Forschungszentrum Informationstechnik, Sankt Augustin.
Fröhlich, A. A. and Schröder-Preikschat, W. (2000). Scenario Adapters: Efficiently Adapting Components. In Proceedings of the 4th WMSCI, Orlando, U.S.A.
Gracioli, G., Santos, D., de Matos, R., Wanner, L., and Fröhlich, A. A. (2008). One-shot time management analysis in epos. In Proc. of the XXVII SCCC, Punta Arenas, Chile. IEEE.
Han, C.-C., Kumar, R., Shea, R., Kohler, E., and Srivastava, M. (2005). A dynamic operating system for sensor nodes. In MobiSys ’05: Proceedings of the 3rd international conference on Mobile systems, applications, and services, pages 163–176, New York, NY, USA. ACM.
Hill, J., Szewczyk, R., Woo, A., Hollar, S., Culler, D. E., and Pister, K. S. J. (2000). System architecture directions for networked sensors. In Proc. of the IX ASPLOS, Cambridge, MA, USA, pages 93–104.
Hui, J. W. and Culler, D. (2004). The dynamic behavior of a data dissemination protocol for network programming at scale. In SenSys ’04: Proceedings of the 2nd international conference on Embedded networked sensor systems, pages 81–94, New York, NY, USA. ACM.
Koshy, J. and Pandey, R. (2005). Vm*: Synthesizing scalable runtime environments for sensor networks. In In Proc. SenSys 05, pages 243–254. ACM Press.
Levis, P. and Culler, D. (2002). Mate: A tiny virtual machine for sensor networks. In Proc. of the X ASPLOS, San Jose, CA, USA.
Marrón, P. J., Gauger, M., Lachenmann, A., Minder, D., Saukh, O., and Rothermel, K. (2006). Flexcup: A flexible and efficient code update mechanism for sensor networks. In Proceedings of the Third European Workshop on Wireless Sensor Networks (EWSN 2006), pages 212–227.
Polakovic, J. and Stefani, J.-B. (2008). Architecting reconfigurable component-based operating systems. Journal of Systems Architecture, 54(6):562–575.
Pottie, G. J. and Kaiser, W. J. (2000). Wireless integrated network sensors. Commun. ACM, 43(5):51–58.
Reijers, N. and Langendoen, K. (2003). Efficient code distribution in wireless sensor networks. In WSNA ’03: Proceedings of the 2nd ACM international conference on Wireless sensor networks and applications, pages 60–67, New York, NY, USA. ACM Press.
Soules, C. A. N., Appavoo, J., Hui, K., Wisniewski, R. W., Silva, D. D., Ganger, G. R., Krieger, O., Stumm, M., Auslander, M., Ostrowski, M., Rosenburg, B., and Xenidis, J. (2003). System support for online reconfiguration. In Proc. of the Usenix Technical Conference.
Stroustrup, B. (1997). The C++ Programming Language. Addison-Wesley, 3 edition.
Xie, Q., Liu, J., and Chou, P. (2006). Tapper: a lightweight scripting engine for highly constrained wireless sensor nodes. In Proc. Fifth International Conference on Information Processing in Sensor Networks IPSN 2006, pages 342–349.
Yi, S., Min, H., Cho, Y., and Hong, J. (2008). Molecule: An adaptive dynamic reconfiguration scheme for sensor operating systems. Comput. Commun., 31(4):699–707.
Publicado
20/07/2010
Como Citar
GRACIOLI, Giovani; FRÖHLICH, Antônio Augusto.
ELUS: Mecanismo de Reconfiguração de Software para Sistemas Operacionais Embarcados. In: WORKSHOP DE SISTEMAS OPERACIONAIS (WSO), 7. , 2010, Belo Horizonte/MG.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2010
.
p. 1999-2010.
