자율 기기를 위한 속도가 제어된 데이터 기반 실시간 스트림 프로세싱
Rate-Controlled Data-Driven Real-Time Stream Processing for an Autonomous Machine
0
조회
0
다운로드
1
인용
0
참고문헌
키워드
초록
Due to advances in machine intelligence and increased demands for autonomous machines, the complexity of the underlying software platform is increasing at a rapid pace, overwhelming the developers with implementation details. We attempt to ease the burden that falls onto the developers by creating a graphical programming framework we named Splash. Splash is designed to provide an effective programming abstraction for autonomous machines that require stream processing. It also enables programmers to specify genuine, end-to-end timing constraints, which the Splash framework automatically monitors for violation. By utilizing the timing constraints, Splash provides three key language semantics: timing semantics, in-order delivery semantics, and rate-controlled data-driven stream processing semantics. These three semantics together collectively serve as a conceptual tool that can hide low-level details from programmers, allowing developers to focus on the main logic of their applications. In this paper, we introduce the three-language semantics in detail and explain their function in association with Splash’s language constructs. Furthermore, we present the internal workings of the Splash programming framework and validate its effectiveness via a lane keeping assist system.
Abstract
Due to advances in machine intelligence and increased demands for autonomous machines, the complexity of the underlying software platform is increasing at a rapid pace, overwhelming the developers with implementation details. We attempt to ease the burden that falls onto the developers by creating a graphical programming framework we named Splash. Splash is designed to provide an effective programming abstraction for autonomous machines that require stream processing. It also enables programmers to specify genuine, end-to-end timing constraints, which the Splash framework automatically monitors for violation. By utilizing the timing constraints, Splash provides three key language semantics: timing semantics, in-order delivery semantics, and rate-controlled data-driven stream processing semantics. These three semantics together collectively serve as a conceptual tool that can hide low-level details from programmers, allowing developers to focus on the main logic of their applications. In this paper, we introduce the three-language semantics in detail and explain their function in association with Splash’s language constructs. Furthermore, we present the internal workings of the Splash programming framework and validate its effectiveness via a lane keeping assist system.
참고문헌 (12)
- S. Noh, "Splash: a graphical programming framework for an autonomous machine", 2019 16th International Conference on Ubiquitous Robots (UR) (2019)
- R. Gerber, "Guaranteeing real-time requirements with resource-based calibration of periodic processes", IEEE Transactions on Software Engineering, 21(7) (1955)[DOI]
- C. Breshears, "The art of Concurrency" (2009), O'Reilly Media, Inc
- "Lane Keeping Assist with Lane Detection"[URL]
- E. A. Lee, "Dataflow process networks", Proceedings of the IEEE, 83(5), pp.773~801 (1995)
- "Vortex OpenSplice documentation"[URL]
- "Data Distribution Service (DDS) Version 1.4, formal", 2015-04-10, 2015
- "Vortex OpenSplice"[URL]
- N. Kim, "Visual Assessment of a Real-Time System Design: A Case Study on a CNC Controller", 17th IEEE Real-Time Systems Symposium (1996)
- "Simulink"[URL]
- N. d. Lac, C, "RTMaps: real time, multisensor, advanced prototyping software", 3rd National Conference on Control Architectures of Robots (2008)
- J. Eker, "Taming heterogeneity - the Ptolemy approach", Proceedings of the IEEE, 91(1), pp.127~144 (2003)
