Abstract
If we want to add a new functionality to a software system, we usually need to modify the software design and the code. One of the big challenges to complete such work in the traditional way is to handle the interactions between the new parts and the existing parts. Mistakes can be easily made during this processing, especially in the programming, thus intensive regression testing is required to detect the bugs. In this paper, we attempt to solve this issue by using behavioral programming technique. Behavioral programming approach is an incremental software development approach. By using this technique, the coupling of components is low, and the removing or redefining of a behavior module only needs a small amount of code change. That means that our design become simpler, and the testing become easier. We apply this technique to mobile robot programming by decoupling the global path planning and the local path planning. Simulation experiments show the effectiveness of the proposed method.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Berkman-Chardon, A., Harel, D., Goel, Y., Marelly, R., Szekely, S. Weiss, G.: Scenario-based programming for mobile applications. In: International Conference on Mobile Software Engineering and Systems, Texas, USA (2016)
Awerbuch, B., Gallager, R.: A new distributed algorithm to find breadth first search trees. IEEE Trans. Inf. Theory 33(3), 315–322 (1987)
Harel, D., Marron, A., Weiss, G.: Behavioral programming. Commun. ACM 55(7), 90–100 (2012)
Harel, D., Marron, A., Weiss, G.: Programming coordinated behavior in Java. In: D’Hondt, T. (ed.) ECOOP 2010. LNCS, vol. 6183, pp. 250–274. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14107-2_12
Harel, D., Marron, A., Wiener, G., Weiss, G.: Behavioral programming, decentralized control, and multiple time scales. In: Proceedings of the Compilation of the Co-located Workshops on DSM’11, TMC’11, AGERE! 2011, AOOPES’11, NEAT’11, & VMIL’11, pp. 171–182. ACM (2011)
Harel, D., Kantor, A., Katz, G.: Relaxing synchronization constraints in behavioral programs. In: McMillan, K., Middeldorp, A., Voronkov, A. (eds.) LPAR 2013. LNCS, vol. 8312, pp. 355–372. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-45221-5_25
Harel, D., Kantor, A., Katz, G., Marron, A., Weiss, G., Wiener, G.: Towards behavioral programming in distributed architectures. Sci. Comput. Program. 98, 233–267 (2015)
Harel, D., Katz, G., Marelly, R., Marron, A.: An initial wise development environment for behavioral models. In: International Conference on Model-driven Engineering and Software Development, Texas, USA (2017)
Harel, D.: On behavioral programming. In: International Conference on Hardware and Software: Verification and Testing, Haifa, Israel (2012)
Harel, D., Lampert, R., Marron, A., Weiss, G.: Model-checking behavioral programs. In: ACM International Conference on Embedded Software, Taiwan, China (2011)
Harel, D., Nitzan, S.: Programming animation using behavioral programming. In: Roubtsova, E., McNeile, A., Kindler, E., Gerth, C. (eds.) Behavior Modeling – Foundations and Applications. LNCS, vol. 6368, pp. 113–132. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-21912-7_5
Katz, G.: On module-based abstraction and repair of behavioral programs. In: McMillan, K., Middeldorp, A., Voronkov, A. (eds.) LPAR 2013. LNCS, vol. 8312, pp. 518–535. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-45221-5_35
DeSouza, G.N., Kak, A.C.: Vision for mobile robot navigation: a survey. IEEE Trans. Pattern Anal. Mach. Intell. 24(2), 237–267 (2002)
Gaschig, J.: Performance measurement and analysis of certain search algorithms. Carnegie-Mellon University Pittsburgh Pa Department Of Computer Science, Technical report (1979)
Saade, J.J., Diab, H.B.: Defuzzification methods and new techniques for fuzzy controllers. IEEE Trans. Syst. Man Cybern. Part B (Cybern.) 30(1), 223–229 (2000)
Fiadeiro, J.L.: The many faces of complexity in software design. In: Hinchey, M., Coyle, L. (eds.) Conquering Complexity, pp. 3–47. Springer, Heidelberg (2012). https://doi.org/10.1007/978-1-4471-2297-5_1
Zadeh, L.A.: Fuzzy sets. Inf. Control 8(3), 338–353 (1965)
Bell, M.G.: Hyperstar: a multi-path astar algorithm for risk averse vehicle navigation. Transp. Res. Part B: Methodol. 43(1), 97–107 (2009)
Noto, M., Sato, H.: A method for the shortest path search by extended dijkstra algorithm. In: IEEE International Conference on Systems, Man, and Cybernetics (2000)
Eitan, N., Harel, D.: Adaptive behavioral programming. In: IEEE International Conference on Tools with Artificial Intelligence, Florida, USA (2011)
Keller, R.M.: Formal verification of parallel programs. Commun. ACM 19(7), 371–384 (1976)
Tzafestas, S.G.: Mobile robot control and navigation: a global overview. J. Intell. Rob. Syst. 91(1), 1–24 (2018)
Deng, Y., Chen, Y., Zhang, Y., Mahadevan, S.: Fuzzy dijkstra algorithm for shortest path problem under uncertain environment. Appl. Soft Comput. 12(3), 1231–1237 (2012)
Jianya, Y.Y.G.: An efficient implementation of shortest path algorithm based on dijkstra algorithm. J. Wuhan Tech. Univ. Surv. Mapp. (Wtusm), 3(004) (1999)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Ding, Z., Liu, B., Xia, H. (2019). Designing and Implementing Mobile Robot Navigation Based on Behavioral Programming. In: Huang, DS., Bevilacqua, V., Premaratne, P. (eds) Intelligent Computing Theories and Application. ICIC 2019. Lecture Notes in Computer Science(), vol 11643. Springer, Cham. https://doi.org/10.1007/978-3-030-26763-6_48
Download citation
DOI: https://doi.org/10.1007/978-3-030-26763-6_48
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-26762-9
Online ISBN: 978-3-030-26763-6
eBook Packages: Computer ScienceComputer Science (R0)