Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3055378.3055385acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
research-article
Public Access

Vehicle Platooning Simulations with Functional Reactive Programming

Published: 18 April 2017 Publication History

Abstract

Functional languages have provided major benefits to the verification community. Although features such as purity, a strong type system, and computational abstractions can help guide programmers away from costly errors, these can present challenges when used in a reactive system. Functional Reactive Programming is a paradigm that allows users the benefits of functional languages and an easy interface to a reactive environment. We present a tool for building autonomous vehicle controllers in FRP using Haskell.

References

[1]
Rajeev Alur, Salar Moarref, and Ufuk Topcu. 2016. Compositional Synthesis with Parametric Reactive Controllers. In Proceedings of the 19th International Conference on Hybrid Systems: Computation and Control, HSCC 2016, Vienna, Austria, April 12-14, 2016. 215--224.
[2]
Leslie Benzies. 2013. Grand Theft Auto V. www.rockstargames.com/V/. (2013).
[3]
Gérard Berry and Laurent Cosserat. 1984. The ESTEREL Synchronous Programming Language and its Mathematical Semantics. In Seminar on Concurrency, Carnegie-Mellon University, Pittsburg, PA, USA, July 9-11, 1984 (Lecture Notes in Computer Science), Stephen D. Brookes, A. W. Roscoe, and Glynn Winskel (Eds.), Vol. 197. Springer, 389--448.
[4]
Mohommad Reza Bonyadi, Samadhi Nallaperuma, Daniele Loiacono, and Frank Neumann. 2015. Simulated Car Racing Championship. http://cs.adelaide.edu.au/~optlog/SCR2015/index.html. (2015).
[5]
Manfred Broy. 2012. Engineering Cyber-Physical Systems: Challenges and Foundations. In Complex Systems Design & Management, Proceedings of the Third International Conference on Complex Systems Design & Management CSD&M 2012, Paris, France, December 12-14, 2012, Marc Aiguier, Yves Caseau, Daniel Krob, and Antoine Rauzy (Eds.). Springer, 1--13.
[6]
Manfred Broy and Ketil Stølen. 2001. Specification and Development of Interactive Systems - Focus on Streams, Interfaces, and Refinement. Springer.
[7]
Luigi Cardamone, Daniele Loiacono, and Pier Luca Lanzi. 2009. Learning drivers for TORCS through imitation using supervised methods. In Proceedings of the 2009 IEEE Symposium on Computational Intelligence and Games, CIG 2009, Milano, Italy, 7-10 September, 2009. 148--155.
[8]
Luca Cardelli. 1996. Type Systems. ACM Comput. Surv. 28, 1 (March 1996), 263--264.
[9]
Paul Caspi, Daniel Pilaud, Nicolas Halbwachs, and John Plaice. 1987. Lustre: A Declarative Language for Programming Synchronous Systems. In Conference Record of the Fourteenth Annual ACM Symposium on Principles of Programming Languages, Munich, Germany, January 21-23, 1987. ACM Press, 178--188. http://dl.acm.org/citation.cfm?id=41625
[10]
Antony Courtney, Henrik Nilsson, and John Peterson. 2003. The yampa arcade. In Proceedings of the 2003 ACM SIGPLAN workshop on Haskell. ACM, 7--18.
[11]
Artur Filipowicz, Jeremiah Liu, and Alain Kornhauser. 2017. Learning to Recognize Distance to Stop Signs Using the Virtual World of Grand Theft Auto 5. Transportation Research Board, 96th Annual Meeting (2017).
[12]
Simon Frankau, Diomidis Spinellis, Nick Nassuphis, and Christoph Burgard. 2009. Commercial uses: Going functional on exotic trades. Journal of Functional Programming 19, 01 (2009), 27--45.
[13]
David Harel. 1987. Statecharts: A Visual Formalism for Complex Systems. Sci. Comput. Program. 8, 3 (1987), 231--274.
[14]
David Harel and PS Thiagarajan. 2003. Message sequence charts. In UML for Real. Springer, 77--105.
[15]
Caleb Helbling and Samuel Z Guyer. 2016. Juniper: a functional reactive programming language for the Arduino. In Proceedings of the 4th International Workshop on Functional Art, Music, Modelling, and Design. ACM, 8--16.
[16]
Paul Hudak. 2000. The Haskell school of expression: learning functional programming through multimedia. Cambridge University Press.
[17]
Paul Hudak, Antony Courtney, Henrik Nilsson, and John Peterson. 2003. Arrows, robots, and functional reactive programming. In Advanced Functional Programming. Springer, 159--187.
[18]
Open SystemC Initiative and others. 2006. IEEE standard SystemC language reference manual. IEEE Computer Society (2006), 1666--2005.
[19]
Maryam Kamali, Louise A Dennis, Owen McAree, Michael Fisher, and Sandor M Veres. 2016. Formal verification of autonomous vehicle platooning. arXiv preprint arXiv:1602.01718 (2016).
[20]
Zeinab Kazemi and Albert MK Cheng. 2016. A Scratchpad Memory-Based Execution Platform for Functional Reactive Systems and Its Static Timing Analysis. In Embedded and Real-Time Computing Systems and Applications (RTCSA), 2016 IEEE 22nd International Conference on. IEEE, 176--181.
[21]
Sam Lindley, Philip Wadler, and Jeremy Yallop. 2011. Idioms are oblivious, arrows are meticulous, monads are promiscuous. Electronic Notes in Theoretical Computer Science 229, 5 (2011), 97--117.
[22]
Daniele Loiacono, Luigi Cardamone, and Pier Luca Lanzi. 2013. Simulated Car Racing Championship: Competition Software Manual. CoRR abs/1304.1672 (2013). http://arxiv.org/abs/1304.1672
[23]
Jorge Muñoz, Germán Gutiérrez, and Araceli Sanchis. 2010. A human-like TORCS controller for the Simulated Car Racing Championship. In Proceedings of the 2010 IEEE Conference on Computational Intelligence and Games, CIG 2010, Copenhagen, Denmark, 18-21 August, 2010. 473--480.
[24]
Enrique Onieva, David A. Pelta, Javier Alonso, Vicente Milanés, and Joshué Pérez. 2009. A modular parametric architecture for the TORCS racing engine. In Proceedings of the 2009 IEEE Symposium on Computational Intelligence and Games, CIG 2009, Milano, Italy, 7-10 September, 2009. 256--262.
[25]
Ross Paterson. 2001. A new notation for arrows. ACM SIGPLAN Notices 36, 10 (2001), 229--240.
[26]
Lee Pike, Patrick Hickey, James Bielman, Trevor Elliott, Thomas DuBuisson, and John Launchbury. 2014. Programming languages for high-assurance autonomous vehicles. In Proceedings of the ACM SIGPLAN 2014 Workshop on Programming Languages meets Program Verification. ACM, 1--2.
[27]
Vasumathi Raman, Alexandre Donzé, Dorsa Sadigh, Richard M. Murray, and Sanjit A. Seshia. 2015. Reactive synthesis from signal temporal logic specifications. In Proceedings of the 18th International Conference on Hybrid Systems: Computation and Control, HSCC'15, Seattle, WA, USA, April 14-16, 2015. 239--248.
[28]
Atze van der Ploeg. 2014. Monadic functional reactive programming. ACM SIGPLAN Notices 48, 12 (2014), 117--128.
[29]
Andreas Voellmy and Junchang Wang. 2012. Scalable software defined network controllers. SIGCOMM Comput. Commun. Rev. 42, 4 (Aug. 2012), 289--290.
[30]
Andreas Voellmy and Junchang Wang. 2012. Scalable software defined network controllers. In Proceedings of the ACM SIGCOMM 2012 conference on Applications, technologies, architectures, and protocols for computer communication. ACM, 289--290.
[31]
Tichakorn Wongpiromsarn, Sertac Karaman, and Emilio Frazzoli. 2011. Synthesis of provably correct controllers for autonomous vehicles in urban environments. In 14th International IEEE Conference on Intelligent Transportation Systems, ITSC 2011, Washington, DC, USA, October 5-7, 2011. 1168--1173.
[32]
Bernhard Wymann, Eric Espie, and Christophe Guionneau. 2017. Torcs: The open racing car simulator, v1.3.4. http://torcs.sourceforge.net/index.php. (2017).
[33]
Zhixiang Xu, Jiemei Jiang, and Yonggui Liu. 2016. Experimental research of vehicle-platoon coordination control based on TORCS platform. In Control Conference (CCC), 2016 35th Chinese. IEEE, 7404--7409.
[34]
Jeremy Yallop and Hai Liu. 2016. Causal commutative arrows revisited. In Proceedings of the 9th International Symposium on Haskell. ACM, 21--32.
[35]
Xingliang Zou, Albert MK Cheng, and Yu Jiang. 2016. P-FRP task scheduling: A survey. In Declarative Cyber-Physical Systems (DCPS), CPSWeek Workshop on. IEEE, 1--8.

Cited By

View all
  • (2024)A Fault Detection and Isolation Scheme for Autonomous Car Vehicle Subjected to Uncertainties and External Disturbance2024 32nd Mediterranean Conference on Control and Automation (MED)10.1109/MED61351.2024.10566147(7-12)Online publication date: 11-Jun-2024
  • (2021)Reactive Programming of Robots with RxROSRobot Operating System (ROS)10.1007/978-3-030-75472-3_2(55-83)Online publication date: 18-Jul-2021
  • (2020)Hailstorm: A Statically-Typed, Purely Functional Language for IoT ApplicationsProceedings of the 22nd International Symposium on Principles and Practice of Declarative Programming10.1145/3414080.3414092(1-16)Online publication date: 8-Sep-2020
  • Show More Cited By
  1. Vehicle Platooning Simulations with Functional Reactive Programming

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SCAV'17: Proceedings of the 1st International Workshop on Safe Control of Connected and Autonomous Vehicles
    April 2017
    45 pages
    ISBN:9781450349765
    DOI:10.1145/3055378
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 18 April 2017

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Autonomous Vehicles
    2. FRP

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Funding Sources

    Conference

    CPS Week '17
    Sponsor:
    CPS Week '17: Cyber Physical Systems Week 2017
    April 18 - 21, 2017
    PA, Pittsburgh, USA

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)56
    • Downloads (Last 6 weeks)6
    Reflects downloads up to 31 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)A Fault Detection and Isolation Scheme for Autonomous Car Vehicle Subjected to Uncertainties and External Disturbance2024 32nd Mediterranean Conference on Control and Automation (MED)10.1109/MED61351.2024.10566147(7-12)Online publication date: 11-Jun-2024
    • (2021)Reactive Programming of Robots with RxROSRobot Operating System (ROS)10.1007/978-3-030-75472-3_2(55-83)Online publication date: 18-Jul-2021
    • (2020)Hailstorm: A Statically-Typed, Purely Functional Language for IoT ApplicationsProceedings of the 22nd International Symposium on Principles and Practice of Declarative Programming10.1145/3414080.3414092(1-16)Online publication date: 8-Sep-2020
    • (2020)Dependency Graph-based Reactivity for Virtual Environments2020 IEEE Conference on Virtual Reality and 3D User Interfaces Abstracts and Workshops (VRW)10.1109/VRW50115.2020.00052(246-253)Online publication date: Mar-2020
    • (2019)GRASS: generic reactive application-specific schedulingProceedings of the 6th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems10.1145/3358503.3361274(21-30)Online publication date: 21-Oct-2019
    • (2019)Towards a Reactive Game Engine2019 SoutheastCon10.1109/SoutheastCon42311.2019.9020527(1-8)Online publication date: Apr-2019
    • (2019)Temporal Stream Logic: Synthesis Beyond the BoolsComputer Aided Verification10.1007/978-3-030-25540-4_35(609-629)Online publication date: 12-Jul-2019
    • (2018)Distributed system development with ScalaLociProceedings of the ACM on Programming Languages10.1145/32764992:OOPSLA(1-30)Online publication date: 24-Oct-2018
    • (2018)Reactive programming experience with REScalaCompanion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of Programming10.1145/3191697.3214337(105-112)Online publication date: 9-Apr-2018
    • (2018)On the Semantics of Distributed Reactive Programming: The Cost of ConsistencyIEEE Transactions on Software Engineering10.1109/TSE.2018.283310944:7(689-711)Online publication date: 1-Jul-2018

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media