Skip to main content

Model-Driven Software Design Automation for Complex Rehabilitation

  • Chapter
  • First Online:
Design Automation of Cyber-Physical Systems

Abstract

Manual and powered wheelchairs are widely used around the world by people with motor, sensory, or cognitive impairments for their everyday mobility needs. While the needs of many individuals with disabilities are satisfied with traditional manual or powered wheelchairs, a segment of the disabled community finds it difficult or impossible to use wheelchairs independently. To accommodate this population, researchers have leveraged technology developed for mobile robots to design smarter drive assist technologies for both manual and powered chairs. Increased autonomy in mobile robotic systems, however, has created increased complexity in software design and engineering. In this chapter, we discuss these complexities and present some model-driven engineering tools that we have developed and used for software engineering of embedded devices for complex rehabilitation.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Benveniste, A., & Berry, G. (1991). The synchronous approach to reactive and real-time systems. Proceedings of the IEEE, 79(9), 1270–1282.

    Article  Google Scholar 

  2. Beom, H. R., & Cho, H. S. (1995). A sensor-based navigation for a mobile robot using fuzzy logic and reinforcement learning. IEEE Transactions on Systems, Man, and Cybernetics, 25(3), 464–477.

    Article  Google Scholar 

  3. BlueGiga. (2017). BGScript from Silicon Labs/BlueGiga. https://bluegiga.com. Accessed July 2018.

  4. Bruyninckx, H. (2001). Open robot control software: The OROCOS project. In Proceedings 2001 ICRA. IEEE International Conference on Robotics and Automation, 2001 (Vol. 3, pp. 2523–2528). Piscataway: IEEE.

    Google Scholar 

  5. Bruyninckx, H., Soetens, P., & Koninckx, B. (2003). The real-time motion control core of the OROCOS project. In Proceedings. ICRA’03. IEEE International Conference on Robotics and Automation, 2003 (Vol. 2, pp. 2766–2771). Piscataway: IEEE.

    Google Scholar 

  6. Bruyninckx, H., Klotzbücher, M., Hochgeschwender, N., Kraetzschmar, G., Gherardi, L., & Brugali, D. (2013). The BRICS component model: A model-based development paradigm for complex robotics software systems. In Proceedings of the 28th Annual ACM Symposium on Applied Computing (pp. 1758–1764). New York: ACM.

    Google Scholar 

  7. Chen, H., Lee, A. S., Swift, M., & Tang, J. C. (2015). 3D collaboration method over HoloLens and Skype end points. In Proceedings of the 3rd International Workshop on Immersive Media Experiences (pp. 27–30). New York: ACM.

    Chapter  Google Scholar 

  8. Clemens, S., Dominik, G., & Stephan, M. (1998). Component software: Beyond object-oriented programming. Boston, MA: Addison-Wesley.

    Google Scholar 

  9. Creighton, R. H. (2010). Unity 3D game development by example: A seat-of-your-pants manual for building fun, groovy little games quickly. Birmingham: Packt Publishing Ltd.

    Google Scholar 

  10. Davies, M., Read, H., Xynos, K., & Sutherland, I. (2015). Forensic analysis of a Sony playstation 4: A first look. Digital Investigation, 12, S81–S89.

    Article  Google Scholar 

  11. des Riviêres, J., & Wiegand, J. (2004). Eclipse: A platform for integrating development tools. IBM Systems Journal, 43(2), 371–383.

    Google Scholar 

  12. Dhouib, S., Kchir, S., Stinckwich, S., Ziadi, T., & Ziane, M. (2012). RobotML, a domain-specific language to design, simulate and deploy robotic applications. In International Conference on Simulation, Modeling, and Programming for Autonomous Robots (pp. 149–160). Berlin: Springer.

    Chapter  Google Scholar 

  13. Diego, A., Cristina, V. C., Francisco, O., Juan, P., & Bárbara, Á. (2010). V3cmm: A 3-view component meta-model for model-driven robotic software development. Journal of Software Engineering in Robotics, 1(1), 3–17.

    Google Scholar 

  14. Ding, D., & Cooper, R. A. (2005). Electric powered wheelchairs. IEEE Control Systems, 25(2), 22–34.

    Article  Google Scholar 

  15. Dubey, A., Emfinger, W., Gokhale, A., Karsai, G., Otte, W. R., Parsons, J., et al. (2012). A software platform for fractionated spacecraft. In 2012 IEEE Aerospace Conference (pp. 1–20). Piscataway: IEEE.

    Google Scholar 

  16. Dumas, M., & Ter Hofstede, A. H. (2001). UML activity diagrams as a workflow specification language. In International Conference on the Unified Modeling Language (pp. 76–90). Berlin: Springer.

    MATH  Google Scholar 

  17. Emanuelsson, P., & Nilsson, U. (2008). A comparative study of industrial static analysis tools. Electronic Notes in Theoretical Computer Science, 217, 5–21.

    Article  Google Scholar 

  18. Emfinger, W. (2018). HFSM design studio. https://cps-vo.org/group/hfsm.

    Google Scholar 

  19. Emfinger, W. (2018). HFSM design studio on github. https://github.com/finger563/webgme-hfsm.

    Google Scholar 

  20. Emfinger, W. (2018). ROSMOD design studio. https://cps-vo.org/group/rosmod.

    Google Scholar 

  21. Emfinger, W. (2018). ROSMOD github. https://github.com/rosmod.

    Google Scholar 

  22. Emfinger, W., Karsai, G., Dubey, A., & Gokhale, A. (2014). Analysis, verification, and management toolsuite for cyber-physical applications on time-varying networks. In Proceedings of the 4th ACM SIGBED International Workshop on Design, Modeling, and Evaluation of Cyber-Physical Systems (pp. 44–47). New York: ACM.

    Chapter  Google Scholar 

  23. Emmerich, W., & Kaveh, N. (2001). Component technologies: Java Beans, COM, CORBA, RMI, EJB and the CORBA Component Model. In ACM SIGSOFT Software Engineering Notes (Vol. 26, pp. 311–312). New York: ACM.

    Google Scholar 

  24. Erdogan, A., & Argall, B. D. (2017). The effect of robotic wheelchair control paradigm and interface on user performance, effort and preference: An experimental assessment. Robotics and Autonomous Systems, 94, 282–297.

    Article  Google Scholar 

  25. Etschberger, K. (2001). Controller area network: Basics, protocols, chips and applications. Weingarten: IXXAT Automation GmbH.

    Google Scholar 

  26. Eugster, P. T., Felber, P. A., Guerraoui, R., & Kermarrec, A. M. (2003). The many faces of publish/subscribe. ACM Computing Surveys (CSUR), 35(2), 114–131.

    Article  Google Scholar 

  27. Ezeh, C., Trautman, P., Devigne, L., Bureau, V., Babel, M., & Carlson, T. (2017). Probabilistic vs linear blending approaches to shared control for wheelchair driving. In 2017 International Conference on Rehabilitation Robotics (ICORR) (pp. 835–840). Piscataway: IEEE.

    Chapter  Google Scholar 

  28. Fehr, L., Langbein, W. E., Skaar, S. B. (2000). Adequacy of power wheelchair control interfaces for persons with severe disabilities: A clinical survey. Journal of Rehabilitation Research and Development, 37(3), 353–360.

    Google Scholar 

  29. Flaticon. (2018). Flaticon. https://www.flaticon.com.

  30. Flaticon. (2018). Vectors market. https://www.flaticon.com/authors/vectors-market.

  31. Gamatié, A., Yu, H., Delaval, G., & Rutten, É. (2009). A case study on controller synthesis for data-intensive embedded systems. In 2009 International Conference on Embedded Software and Systems (pp. 75–82). Piscataway: IEEE.

    Chapter  Google Scholar 

  32. Gill, A. (1962). Introduction to the theory of finite-state machines. New York: McGraw-Hill.

    MATH  Google Scholar 

  33. Gomez, M. (2004). Embedded state machine implementation: Turning a state machine into a program can be straightforward if you follow the advice of a skilled practitioner. In The firmware handbook (pp. 101–109). Burlington: Elsevier.

    Chapter  Google Scholar 

  34. Harel, D. (1987). Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8(3), 231–274.

    Article  MathSciNet  MATH  Google Scholar 

  35. Hart, P. E., Nilsson, N. J., & Raphael, B. (1968). A formal basis for the heuristic determination of minimum cost paths. IEEE Transactions on Systems Science and Cybernetics, 4(2), 100–107. https://doi.org/10.1109/TSSC.1968.300136.

    Article  Google Scholar 

  36. Heineman, G. T., & Councill, W. T. (2001). Component-based software engineering. Putting the pieces together (p. 5). London: Addison-Wesley.

    Google Scholar 

  37. IAR. (2017). Embedded Workbench from IAR. https://iar.com/products/iar-embedded-workbench. Accessed July 2018.

  38. ISDE. (2018). Systems engineering and assurance modeling. https://modelbasedassurance.org/.

    Google Scholar 

  39. Ishikawa, R., Oishi, T., & Ikeuchi, K. (2018, preprint). Offline and online calibration of mobile robot and slam device for navigation. arXiv:180404817.

    Google Scholar 

  40. Kaelbling, L. P., Littman, M. L., & Moore, A. W. (1996). Reinforcement learning: A survey. Journal of Artificial Intelligence Research, 4, 237–285.

    Article  Google Scholar 

  41. Katz, G., Barrett, C., Dill, D. L., Julian, K., & Kochenderfer, M. J. (2017). Reluplex: An efficient SMT solver for verifying deep neural networks. In International Conference on Computer Aided Verification (pp. 97–117). Berlin: Springer.

    Chapter  Google Scholar 

  42. Katz, G., Barrett, C., Dill, D. L., Julian, K., & Kochenderfer, M. J. (2017, preprint). Towards proving the adversarial robustness of deep neural networks. arXiv:170902802.

    Google Scholar 

  43. Kelly, T., & Weaver, R. (2004). The goal structuring notation–A safety argument notation. In Proceedings of the Dependable Systems and Networks 2004 Workshop on Assurance Cases, Citeseer (p. 6).

    Google Scholar 

  44. Koenig, N. P., & Howard, A. (2004). Design and use paradigms for Gazebo, an open-source multi-robot simulator. In IROS, Citeseer (Vol. 4, pp. 2149–2154).

    Google Scholar 

  45. Kumar, P. S. (2016). Integrated Timing Analysis and Verification of Component-Based Distributed Real-Time Systems. PhD thesis, Vanderbilt University.

    Google Scholar 

  46. Kumar, P. S., Emfinger, W., & Karsai, G. (2015). A testbed to simulate and analyze resilient cyber-physical systems. In 2015 International Symposium on Rapid System Prototyping (RSP) (pp. 97–103). Piscataway: IEEE.

    Chapter  Google Scholar 

  47. Kumar, P. S., Emfinger, W., Karsai, G., Watkins, D., Gasser, B., & Anilkumar, A. (2016). ROSMOD: A toolsuite for modeling, generating, deploying, and managing distributed real-time component-based software using ROS. Electronics, 5(3), 53.

    Article  Google Scholar 

  48. Lilius, J., & Paltor, I. P. (1999). The semantics of UML state machines. Turku: Turku Centre for Computer Science.

    Google Scholar 

  49. Makarenko, A., Brooks, A., & Kaupp, T. (2006). Orca: Components for robotics. In International Conference on Intelligent Robots and Systems (IROS) (pp. 163–168).

    Google Scholar 

  50. Maraninchi, F. (1991). The Argos language: Graphical representation of automata and description of reactive systems. In IEEE Workshop on Visual Languages, Citeseer (Vol. 3).

    Google Scholar 

  51. Maraninchi, F. (1992). Operational and compositional semantics of synchronous automaton compositions. In International Conference on Concurrency Theory (pp. 550–564). Berlin: Springer.

    Google Scholar 

  52. Maróti, M., Kecskés, T., Kereskényi, R., Broll, B., Völgyesi, P., Jurácz, L., et al. (2014). Next generation (meta) modeling: Web-and cloud-based collaborative tool infrastructure. MPM@ MoDELS, 1237, 41–60.

    Google Scholar 

  53. MARTE, O. (2007). Profile for modeling and analysis of real-time and embedded systems (MARTE). Beta1 Google Scholar.

    Google Scholar 

  54. Martinet, P., & Patin, B. (2008). PROTEUS: A platform to organise transfer inside French robotic community. In 3rd National Conference on Control Architectures of Robots (CAR).

    Google Scholar 

  55. Matarić, M. J. (1997). Reinforcement learning in the multi-robot domain. In Robot colonies (pp. 73–83). New York: Springer.

    Chapter  Google Scholar 

  56. Mazumder, O., Kundu, A. S., Chattaraj, R., & Bhaumik, S. (2014). Holonomic wheelchair control using EMG signal and joystick interface. In 2014 Recent Advances in Engineering and Computational Sciences (RAECS) (pp. 1–6). https://doi.org/10.1109/RAECS.2014.6799574.

  57. Otte, W. R., Dubey, A., Pradhan, S., Patil, P., Gokhale, A., Karsai, G., et al. (2013). F6COM: A component model for resource-constrained and dynamic space-based computing environments. In 2013 IEEE 16th International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing (ISORC) (pp. 1–8). Piscataway: IEEE.

    Google Scholar 

  58. Padır, T. (2015). Towards personalized smart wheelchairs: Lessons learned from discovery interviews. In 2015 37th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC) (pp. 5016–5019). Piscataway: IEEE.

    Chapter  Google Scholar 

  59. Pasteau, F., Krupa, A., & Babel, M. (2014). Vision-based assistance for wheelchair navigation along corridors. In 2014 IEEE International Conference on Robotics and Automation (ICRA) (pp. 4430–4435). Piscataway: IEEE.

    Chapter  Google Scholar 

  60. Pastor, O., España, S., Panach, J. I., & Aquino, N. (2008). Model-driven development. Informatik-Spektrum, 31(5), 394–407.

    Article  Google Scholar 

  61. Pi, R. (2015). Raspberry Pi model B.

    Google Scholar 

  62. Prochnow, S., Schaefer, G., Bell, K., & von Hanxleden, R. (2006). Analyzing robustness of UML state machines. In MARTES 2006 at MoDELS 2006, LCAV-CONF-2006-030 (pp. 61–80).

    Google Scholar 

  63. Quigley, M., Conley, K., Gerkey, B., Faust, J., Foote, T., Leibs, J., et al. (2009). ROS: An open-source robot operating system. In ICRA Workshop on Open Source Software, Kobe (Vol. 3, p. 5).

    Google Scholar 

  64. Rong, G., & Tan, T. S. (2006). Jump flooding in GPU with applications to Voronoi diagram and distance transform. In Proceedings of the 2006 Symposium on Interactive 3D Graphics and Games (pp. 109–116). New York: ACM.

    Chapter  Google Scholar 

  65. Schlegel, C., Haßler, T., Lotz, A., & Steck, A. (2009). Robotic software systems: From code-driven to model-driven designs. In International Conference on Advanced Robotics, 2009. ICAR 2009 (pp. 1–8). Piscataway: IEEE.

    Google Scholar 

  66. Schmidt, D. C. (2006). Model-driven engineering. Computer IEEE Computer Society, 39(2), 25.

    Article  Google Scholar 

  67. Siegel, J., & Frantz, D. (2000). CORBA 3 fundamentals and programming (Vol. 2). New York, NY: Wiley.

    Google Scholar 

  68. Simpson, R. C., LoPresti, E. F., & Cooper, R. A. (2008). How many people would benefit from a smart wheelchair? Journal of Rehabilitation Research & Development 45(1), 53–71.

    Article  Google Scholar 

  69. Simulink, M., & Natick, M. (1993). The mathworks.

    Google Scholar 

  70. Sun, W., Liu, J., & Zhang, H. (2017). When smart wearables meet intelligent vehicles: Challenges and future directions. IEEE Wireless Communications, 24(3), 58–65.

    Article  Google Scholar 

  71. Szegedy, C., Toshev, A., & Erhan, D. (2013). Deep neural networks for object detection. In Advances in neural information processing systems (pp. 2553–2561).

    Google Scholar 

  72. Tellex, S., Kollar, T., Dickerson, S., Walter, M. R., Banerjee, A. G., Teller, S. J., et al. (2011). Understanding natural language commands for robotic navigation and mobile manipulation. In AAAI (Vol. 1, p. 2).

    Google Scholar 

  73. Torkia, C., Reid, D., Korner-Bitensky, N., Kairy, D., Rushton, P. W., Demers, L., et al. (2015). Power wheelchair driving challenges in the community: A user’s perspective. Disability and Rehabilitation: Assistive Technology, 10(3), 211–215.

    Google Scholar 

  74. von der Beeck, M. (1994). A comparison of statecharts variants. In International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems (pp. 128–148). Berlin: Springer.

    Chapter  Google Scholar 

  75. Yang, F., & Paindavoine, M. (2003). Implementation of an RBF neural network on embedded systems: Real-time face tracking and identity verification. IEEE Transactions on Neural Networks, 14(5), 1162–1175.

    Article  Google Scholar 

  76. ZeroC I. (2003). The Internet communications engine.

    Google Scholar 

Download references

Acknowledgements

ROSMOD was partly supported by DARPA under contract NNA11AB14C and USAF/AFRL under Cooperative Agreement FA8750-13-2-0050, and by the National Science Foundation (CNS-1035655). The authors would like to thank Ben Hemkens, Liyun Guo, Kennth Shafer, Dexter Watkins, and Devon Doebele for their work on the projects mentioned in this chapter.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pranav Srinivas Kumar .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Kumar, P.S., Emfinger, W. (2019). Model-Driven Software Design Automation for Complex Rehabilitation. In: Al Faruque, M., Canedo, A. (eds) Design Automation of Cyber-Physical Systems. Springer, Cham. https://doi.org/10.1007/978-3-030-13050-3_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-13050-3_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-13049-7

  • Online ISBN: 978-3-030-13050-3

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics