Abstract
SUMO (Simulation of Urban Mobility) has become one of the preferred open-source platforms for researchers to perform microscopic road traffic simulation. Thanks to the Traffic Control Interface (TraCI), SUMO offers a high level of flexibility, allowing a client to retrieve and modify the objects in the simulation. Two implementations of TraCI have been released to date for Python (TraCI-Python) and Java (TraCI4j). On the other hand, Matlab® is a software tool with a programming language with a broad user’s community of researchers. Matlab is used in many tasks on simulation, control, optimization and it is a preferred tool for rapid prototyping. Both platforms share strengths that benefit the development of control strategies for road traffic. The desire of combining both strengths motivated the interest to develop a TraCI implementation for Matlab. This chapter describes an adaptive software re-engineering process of TraCI-Python used to implement TraCI4Matlab (TraCI for Matlab).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Beazley DM (2009) Python essential reference, 4th edn. Addison-Wesley Professional, Upper Saddle River
CanforaHarman G, Di Penta M (2007) New frontiers of reverse engineering. In: Future of software engineering, FOSE ’07. IEEE Computer Society, Washington, DC, USA, pp 326–341. doi:10.1109/FOSE.2007.15
Chikofsky EJ, Cross I JH (1990) Reverse engineering and design recovery: a taxonomy. IEEE Softw 7:13–17. doi:10.1109/52.43044
Comparing MATLAB with other oo languages—MATLAB and simulink, n.d. URL http://www.mathworks.com/help/matlab/matlab_oop/matlab-vs-other-oo-languages.html. Accessed 02 April 2014
Demeyer S, Ducasse S, Nierstrasz O (2002) Object-oriented reengineering patterns. Morgan Kaufmann, San Francisco
egueli/TraCI4J GitHub, n.d. URL https://github.com/egueli/TraCI4J. Accessed 01 April 2014
Ewer J, Knight B, Cowell D (1995) Case study: an incremental approach to re-engineering a legacy {FORTRAN} computational fluid dynamics code in C ++. Adv Eng Softw 22:153–168. doi:http://dx.doi.org/10.1016/0965-9978(95)00021-N
Krajzewicz D, Erdmann J, Behrisch M, Bieker L (2012) Recent development and applications of SUMO—Simulation of Urban mobility. Int J Adv Syst Meas 5:128–138
MATLAB—the language of technical Computing—B, n.d. URL http://www.mathworks.com/products/matlab/. Accessed 09 Sept 2014
Mens T, Tourwe T (2004) A survey of software refactoring. IEEE Trans Softw Eng 30:126–139. doi:10.1109/TSE.2004.1265817
MOYCOT | MOYCOT, n.d. URL http://www.moycot.org/. Accessed 09 Sept 2014
Olbrich S, Cruzes DS, Basili V, Zazworka N (2009) The evolution and impact of code smells: a case study of two open source systems. In: Proceedings of the 2009 3rd international symposium on empirical software engineering and measurement, ESEM ’09. IEEE Computer Society, Washington, DC, USA, pp 390–400. doi:10.1109/ESEM.2009.5314231
Release notes for MATLAB—MATLAB and simulink, n.d. URL http://www.mathworks.com/help/matlab/release-notes.html. Accessed 09 Sept 2014
Share data between workspaces—MATLAB and simulink, n.d. URL http://www.mathworks.com/help/matlab/matlab_prog/share-data-between-workspaces.html. Accessed 02 April 2014
StarUML—The open source UML/MDA platform, n.d. URL http://staruml.sourceforge.net/en/. Accessed 30 Jan 2014
SUMO_User_Documentation—SUMO—simulation of urban mobility, n.d. URL http://sumo-sim.org/userdoc/. Accessed 30 Jan 2014
TCP/IP socket communications in MATLAB using java classes—file exchange—MATLAB central, n.d. URL http://www.mathworks.com/matlabcentral/fileexchange/file_infos/25249-tcp-ip-socket-communications-in-matlab-using-java-classes. Accessed 09 Sep 2014
TraCI4Matlab—file exchange—MATLAB central, n.d. URL http://www.mathworks.com/matlabcentral/fileexchange/file_infos/44805-traci4matlab. Accessed 01 April 2014
Vincke R, Van Landschoot S, Steegmans E, Boydens J (2012) Refactoring sequential embedded software for concurrent execution using design patterns. Annu J Electron 6:157–160
Winpdb—A platform independent python debugger, n.d. URL http://winpdb.org/. Accessed 30 Jan 2014
Acknowledgments
This work was supported by Proyecto Colciencias 111856934640 contrato 941-2012: Modelamiento y Control de tráfico urbano en la ciudad de Medellín. Convocatoria 569.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Acosta, A.F., Espinosa, J.E., Espinosa, J. (2015). TraCI4Matlab: Enabling the Integration of the SUMO Road Traffic Simulator and Matlab® Through a Software Re-engineering Process. In: Behrisch, M., Weber, M. (eds) Modeling Mobility with Open Data. Lecture Notes in Mobility. Springer, Cham. https://doi.org/10.1007/978-3-319-15024-6_9
Download citation
DOI: https://doi.org/10.1007/978-3-319-15024-6_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-15023-9
Online ISBN: 978-3-319-15024-6
eBook Packages: EngineeringEngineering (R0)