428 research outputs found

    Pattern-Based Development of Domain-Specific Modelling Languages

    Full text link
    Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. A. Pescador, A. Garmendia, E. Guerra, J. Sรกnchez Cuadrado and J. de Lara, "Pattern-based development of Domain-Specific Modelling Languages," Model Driven Engineering Languages and Systems (MODELS), 2015 ACM/IEEE 18th International Conference on, Ottawa, ON, 2015, pp. 166-175. doi: 10.1109/MODELS.2015.7338247Model-Driven Engineering (MDE) promotes the use of models to conduct all phases of software development in an automated way. Models are frequently defined using Domain- Specific Modelling Languages (DSMLs), which many times need to be developed for the domain at hand. However, while constructing DSMLs is a recurring activity in MDE, there is scarce support for gathering, reusing and enacting knowledge for their design and implementation. This forces the development of every new DSML to start from scratch. To alleviate this problem, we propose the construction of DSMLs and their modelling environments aided by patterns which gather knowledge of specific domains, design alternatives, concrete syntax, dynamic semantics and functionality for the modelling environment. They may have associated services, realized via components. Our approach is supported by a tool that enables the construction of DSMLs through the application of patterns, and synthesizes a graphical modelling environment according to them.Work supported by the Spanish MINECO (TIN2011-24139 and TIN2014-52129-R), the R&D programme of the Madrid Region (S2013/ICE-3006), and the EU commission (FP7-ICT-2013-10, #611125)

    Studies in ecological rationality

    Get PDF

    Autonomous Machine์„ ์œ„ํ•œ ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ์™€ ์„ผ์„œ ํ“จ์ „์„ ์ง€์›ํ•˜๋Š” Splash ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์„ค๊ณ„

    Get PDF
    ํ•™์œ„๋…ผ๋ฌธ(๋ฐ•์‚ฌ)--์„œ์šธ๋Œ€ํ•™๊ต ๋Œ€ํ•™์› :๊ณต๊ณผ๋Œ€ํ•™ ์ „๊ธฐยท์ปดํ“จํ„ฐ๊ณตํ•™๋ถ€,2020. 2. ํ™์„ฑ์ˆ˜.Autonomous machines have begun to be widely used in various application domains due to recent remarkable advances in machine intelligence. As these autonomous machines are equipped with diverse sensors, multicore processors and distributed computing nodes, the complexity of the underlying software platform is increasing at a rapid pace, overwhelming the developers with implementation details. This leads to a demand for a new programming framework that has an easy-to-use programming abstraction. In this thesis, we present a graphical programming framework named Splash that explicitly addresses the programming challenges that arise during the development of an autonomous machine. We set four design goals to solve the challenges. First, Splash should provide an easy-to-use, effective programming abstraction. Second, it must support real-time stream processing for deep-learning based machine learning intelligence. Third, it must provide programming support for real-time control system of autonomous machines such as sensor fusion and mode change. Finally, it should support performance optimization of software system running on a heterogeneous multicore distributed computing platform. Splash allows programmers to specify genuine, end-to-end timing constraints. Also, it provides a best-effort runtime system that tries to meet the annotated timing constraints and exception handling mechanisms to monitor the violation of such constraints. To implement these runtime mechanisms, Splash provides underlying timing semantics: (1) it provides an abstract global clock that is shared by machines in the distributed system and (2) it supports programmers to write birthmark on every stream data item. Splash offers a multithreaded process model to support concurrent programming. In the multithreaded process model, a programmer can write a multithreaded program using Splash threads we call sthreads. An sthread is a logical entity of independent execution. In addition, Splash provides a language construct named build unit that allows programmers to allocate sthreads to processes and threads of an underlying operating system. Splash provides three additional language semantics to support real-time stream processing and real-time control systems. First, it provides rate control semantics to solve uncontrolled jitter and an unbounded FIFO queue problem due to the variability in communication delay and execution time. Second, it supports fusion semantics to handle timing issues caused by asynchronous sensors in the system. Finally, it provides mode change semantics to meet varying requirements in the real-time control systems. In this paper, we describe each language semantics and runtime mechanism that realizes such semantics in detail. To show the utility of our framework, we have written a lane keeping assist system (LKAS) in Splash as an example. We evaluated rate control, sensor fusion, mode change and build unit-based allocation. First, using rate controller, the jitter was reduced from 30.61 milliseconds to 1.66 milliseconds. Also, average lateral deviation and heading angle is reduced from 0.180 meters to 0.016 meters and 0.043 rad to 0.008 rad, respectively. Second, we showed that the fusion operator works normally as intended, with a run-time overhead of only 7 microseconds on average. Third, the mode change mechanism operated correctly and incurred a run-time overhead of only 0.53 milliseconds. Finally, as we increased the number of build units from 1 to 8, the average end-to-end latency was increased from 75.79 microseconds to 2022.96 microseconds. These results show that the language semantics and runtime mechanisms proposed in this thesis are designed and implemented correctly, and Splash can be used to effectively develop applications for an autonomous machine.๋”ฅ ๋Ÿฌ๋‹ ๊ธฐ๋ฐ˜ machine intelligence์˜ ๋น„์•ฝ์ ์ธ ๋ฐœ์ „์œผ๋กœ ์ธํ•ด autonomous machine๋“ค์ด ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ํ™œ์šฉ๋˜๊ณ  ์žˆ๋‹ค. ์ด๋Ÿฐ ๊ธฐ๊ธฐ๋“ค์€ ๋‹ค์–‘ํ•œ ์„ผ์„œ, ๋ฉ€ํ‹ฐ์ฝ”์–ด ํ”„๋กœ์„ธ์„œ, ๋ถ„์‚ฐ ์ปดํ“จํŒ… ๋…ธ๋“œ๋ฅผ ์žฅ์ฐฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋“ค์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ฐ˜ ์†Œํ”„ํŠธ์›จ์–ด ํ”Œ๋žซํผ์˜ ๋ณต์žก๋„๋Š” ๋น ๋ฅธ ์†๋„๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ์ถ”์„ธ์ด๋‹ค. ์ด์— ๋”ฐ๋ผ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋ณต์žกํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์กฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํ•„์š”์„ฑ์ด ๋Œ€๋‘๋˜๊ณ  ์žˆ๋‹ค. ๋ณธ ํ•™์œ„๋…ผ๋ฌธ์€ autonomous machine์˜ ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๊ทธ๋ž˜ํ”ฝ ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ”„๋ ˆ์ž„์›Œํฌ์ธ Splash๋ฅผ ์ œ์•ˆํ•œ๋‹ค. Splash๋ผ๋Š” ์ด๋ฆ„์€ stream processing language for autonomous machine์—์„œ ์•ž์˜ ์„ธ ๋‹จ์–ด์˜ ์ฒซ ๋ฌธ์ž๋“ค์„ ๋”ฐ์„œ ์ง€์–ด์กŒ๋‹ค. ์ด ์ด๋ฆ„์€ ๋ฌผ๊ณผ ๊ฐ™์ด ํ๋ฅด๋Š” ์ŠคํŠธ๋ฆผ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๋Ÿฐํƒ€์ž„ ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•˜๊ฒ ๋‹ค๋Š” ์˜๋„๋ฅผ ๊ฐ€์ง„๋‹ค. ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ๋ณต์žกํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์กฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ๋„ค ๊ฐ€์ง€ ๋””์ž์ธ ๋ชฉํ‘œ๋ฅผ ์„ค์ •ํ•œ๋‹ค. ์ฒซ์งธ, Splash๋Š” ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์„ธ๋ถ€์ ์ธ ๊ตฌํ˜„ ์ด์Šˆ๋ฅผ ์ˆจ๊ธฐ๊ณ , ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ถ”์ƒํ™”๋ฅผ ์ œ๊ณตํ•˜์—ฌ์•ผ ํ•œ๋‹ค. ๋‘˜์งธ, Splash๋Š” machine intelligence๋ฅผ ์œ„ํ•œ ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ๋ฅผ ์ง€์›ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์…‹์งธ, Splash๋Š” ์‹ค์‹œ๊ฐ„ ์ œ์–ด ์‹œ์Šคํ…œ์—์„œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์„ผ์„œ ํ“จ์ „, ๋ชจ๋“œ ๋ณ€๊ฒฝ, ์˜ˆ์™ธ ์ฒ˜๋ฆฌ์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ๋“ค์„ ์œ„ํ•œ ์ง€์›์„ ์ œ๊ณตํ•˜์—ฌ์•ผ ํ•œ๋‹ค. ๋„ท์งธ, Splash๋Š” ์ด๊ธฐ์ข… ๋ฉ€ํ‹ฐ์ฝ”์–ด ๋ถ„์‚ฐ ์ปดํ“จํŒ… ํ”Œ๋žซํผ์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์ง€์›ํ•˜์—ฌ์•ผ ํ•œ๋‹ค. Splash๋Š” ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ๊ฐœ๋ฐœ์ž๊ฐ€ ํ”„๋กœ๊ทธ๋žจ ์ƒ์— ๋ณธ์งˆ์ ์ธ end-to-end timing constraints๋ฅผ ๋ช…์‹œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ช…์‹œํ•œ timing constraints๋ฅผ ์ธ์ง€ํ•˜๊ณ  ์ด๋ฅผ ์ตœ๋Œ€ํ•œ ์ง€์ผœ์ฃผ๋Š” best-effort ๋Ÿฐํƒ€์ž„ ์‹œ์Šคํ…œ๊ณผ timing constraints์˜ ์œ„๋ฐ˜์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์ฒ˜๋ฆฌํ•ด์ฃผ๋Š” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ•จ๊ป˜ ์ œ๊ณตํ•œ๋‹ค. ์ด๋Ÿฐ ๋Ÿฐํƒ€์ž„ ๋ฉ”์ปค๋‹ˆ์ฆ˜๋“ค์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด Splash๋Š” ๋‘ ๊ฐ€์ง€ ๊ธฐ๋ณธ์ ์ธ timing semantics๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์ฒซ์งธ, ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ์ƒ์—์„œ ๋ชจ๋“  ๋จธ์‹ ๋“ค์ด ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” global time base๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ๋‘˜์งธ, Splash ์ƒ์— ๋“ค์–ด์˜ค๋Š” ๋ชจ๋“  ์ŠคํŠธ๋ฆผ ๋ฐ์ดํ„ฐ ์•„์ดํ…œ์— ์ž์‹ ์˜ birthmark๋ฅผ ๊ธฐ๋กํ•˜๋„๋ก ํ•œ๋‹ค. Splash๋Š” ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋””๋“œ ์ฒ˜๋ฆฌ ๋ชจ๋ธ์„ ์ œ๊ณตํ•œ๋‹ค. Splash ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” sthread๋ผ๋Š” ๋…ผ๋ฆฌ์ ์ธ ์ˆ˜ํ–‰ ๋‹จ์œ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Splash๋Š” sthread๋“ค์„ ์‹ค์ œ ์šด์˜์ฒด์ œ์˜ ์ˆ˜ํ–‰ ๋‹จ์œ„์ธ ํ”„๋กœ์„ธ์Šค์™€ ์“ฐ๋ ˆ๋“œ์—๊ฒŒ ํ• ๋‹นํ•˜๋Š” ๊ณผ์ •์„ ๋•๊ธฐ ์œ„ํ•œ ๋นŒ๋“œ ์œ ๋‹›์ด๋ผ๋Š” language construct๋ฅผ ์ œ๊ณตํ•œ๋‹ค. Splash๋Š” timing semantics์™€ ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋””๋“œ ์ฒ˜๋ฆฌ ๋ชจ๋ธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ์™€ ์‹ค์‹œ๊ฐ„ ์ œ์–ด ์‹œ์Šคํ…œ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•œ ์„ธ ๊ฐ€์ง€ language semantics๋ฅผ ์ถ”๊ฐ€๋กœ ์ง€์›ํ•œ๋‹ค. ์ฒซ์งธ๋Š” ์ŠคํŠธ๋ฆผ ๋ฐ์ดํ„ฐ์˜ ํ†ต์‹ ์ด๋‚˜ ์ฒ˜๋ฆฌ ์ง€์—ฐ์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ์ง€ํ„ฐ๋‚˜ ๋ฐ”์šด๋“œ ๋˜์ง€ ์•Š๋Š” ํ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ rate ์ œ์–ด semantics์ด๋‹ค. ๋‘˜์งธ๋Š” ์„ผ์„œ ํ“จ์ „ ๊ณผ์ •์—์„œ ์‹œ๊ฐ„์ ์œผ๋กœ ๋™๊ธฐํ™”๋˜์ง€ ์•Š์€ ์„ผ์„œ ์ž…๋ ฅ๋“ค๋กœ ์ธํ•œ ํƒ€์ด๋ฐ ์ด์Šˆ๋“ค์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ํ“จ์ „ semantics์ด๋‹ค. ๋งˆ์ง€๋ง‰์€ ๊ฐ€๋ณ€์ ์ธ ์ œ์–ด ์‹œ์Šคํ…œ์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰ ๋กœ์ง์˜ ๋ณ€๊ฒฝ์„ ์ง€์›ํ•˜๋Š” ๋ชจ๋“œ ๋ณ€๊ฒฝ semantics์ด๋‹ค. ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ๊ฐ๊ฐ์˜ language semantics๋ฅผ ๊ตฌ์ฒด์ ์œผ๋กœ ์„ค๋ช…ํ•˜๊ณ , ์ด๋ฅผ ์‹คํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๋Ÿฐํƒ€์ž„ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌํ˜„ํ•œ๋‹ค. Splash์˜ ํšจ์šฉ์„ฑ์„ ๊ฒ€์ฆํ•˜๊ธฐ ์œ„ํ•ด์„œ, ๋ณธ ๋…ผ๋ฌธ์€ Splash๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ LKAS ์‘์šฉ์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์ด๋ฅผ Splash ๋Ÿฐํƒ€์ž„ ์‹œ์Šคํ…œ ์ƒ์—์„œ ์ˆ˜ํ–‰์‹œํ‚ค๋ฉฐ ์‹คํ—˜์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค. ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” rate ์ œ์–ด ๋ฉ”์ปค๋‹ˆ์ฆ˜, ์„ผ์„œ ํ“จ์ „ ๋ฉ”์ปค๋‹ˆ์ฆ˜, ๋ชจ๋“œ ๋ณ€๊ฒฝ ๋ฉ”์ปค๋‹ˆ์ฆ˜, ๋นŒ๋“œ ์œ ๋‹› ๊ธฐ๋ฐ˜ allocation์„ ๊ฐ๊ฐ ์„ ์ •๋œ ์„ฑ๋Šฅ ์ง€ํ‘œ๋“ค์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ฆํ•˜์˜€๋‹ค. ์ฒซ์งธ, Splash์˜ rate ์ œ์–ด๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ง€ํ„ฐ๊ฐ€ 30.61ms์—์„œ 1.66ms๋กœ ๊ฐ์†Œ๋˜์—ˆ๊ณ , ์ด๋กœ ์ธํ•ด ์ฃผํ–‰ ์ฐจ๋Ÿ‰์˜ ์ธก๋ฉด ํŽธ์ฐจ์™€ ๋ฐฉํ–ฅ๊ฐ์ด ๊ฐ๊ฐ 0.180m์—์„œ 0.016m, 0.043rad์—์„œ 0.008rad์œผ๋กœ ๊ฐœ์„ ๋œ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์˜€๋‹ค. ๋‘˜์งธ, ์„ผ์„œ ํ“จ์ „์„ ์œ„ํ•ด ์ œ์•ˆ๋œ ํ“จ์ „ ์—ฐ์‚ฐ์ž๊ฐ€ ์„ค๊ณ„๋œ ์˜๋„๋Œ€๋กœ ์ •์ƒ ๋™์ž‘ํ•˜๊ณ , ํ‰๊ท  7us์˜ ๋‚ฎ์€ ์˜ค๋ฒ„ํ—ค๋“œ๋งŒ์„ ์œ ๋ฐœํ•œ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์˜€๋‹ค. ์…‹์งธ, ๋ชจ๋“œ ๋ณ€๊ฒฝ ๊ธฐ๋Šฅ์˜ ์ •์ƒ ๋™์ž‘์„ ๊ฒ€์ฆํ•˜์˜€๊ณ  ๊ทธ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์‹œ๊ฐ„์  ์˜ค๋ฒ„ํ—ค๋“œ๋Š” ํ‰๊ท  0.53ms์— ๋ถˆ๊ณผํ•˜์˜€๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ, synthetic workload์— ๋Œ€ํ•ด ์ปดํฌ๋„ŒํŠธ๋“ค์— ๋งคํ•‘๋œ ๋นŒ๋“œ ์œ ๋‹› ๊ฐœ์ˆ˜๋ฅผ 1๊ฐœ, 2๊ฐœ, 4๊ฐœ, 8๊ฐœ๋กœ ์ฆ๊ฐ€์‹œํ‚ด์— ๋”ฐ๋ผ ํ‰๊ท  end-to-end ์ง€์—ฐ ์‹œ๊ฐ„์€ 75.79us, 330.80us, 591.87us, 2022.96us๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์˜€๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฐ๊ณผ๋“ค์€ ๋ณธ ๋…ผ๋ฌธ์—์„œ ์ œ์•ˆํ•˜๋Š” language semantics์™€ ๋Ÿฐํƒ€์ž„ ๋ฉ”์ปค๋‹ˆ์ฆ˜๋“ค์ด ์˜๋„๋Œ€๋กœ ์„ค๊ณ„, ๊ตฌํ˜„๋˜์—ˆ๊ณ , ์ด๋ฅผ ํ†ตํ•ด autonomous machine์˜ ์‘์šฉ๋“ค์„ ํšจ๊ณผ์ ์œผ๋กœ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์—ฌ์ค€๋‹ค.Chapter 1 Introduction p.1 1.1 Motivation p.2 1.2 Splash Overview p.5 1.3 Organization of This Dissertation p.9 Chapter 2 Related Work p.10 2.1 Kahn Process Network p.10 2.2 Firing Rule Applied to a Process p.13 2.3 Programming Framework for an Autonomous Machine p.14 2.4 Runtime Software for an Autonomous Machine p.16 2.5 Rate Control p.18 2.5.1 Traffic Shaping p.20 2.5.2 Traffic Policing p.22 2.6 Sensor Fusion p.23 2.6.1 Measurement Fusion p.24 2.6.2 Situation Fusion p.27 2.7 Mode Change p.30 2.7.1 Synchronous Mode Change p.32 2.7.2 Asynchronous Mode Change p.32 Chapter 3 Motivation and Contributions p.34 3.1 Problem Description p.34 3.2 Limitations of Kahn Process Network p.36 3.3 Contributions of this Dissertation p.38 Chapter 4 Underlying Timing Semantics of Splash p.41 4.1 End-to-End Timing Constraints p.41 4.2 Global Time Base and In-order Delivery p.42 4.3 Integrating Three Distinct Computing Models p.43 Chapter 5 Splash Language Constructs p.45 5.1 Processing Component p.46 5.2 Port p.49 5.3 Channel and Clink p.52 5.4 Fusion Operator p.54 5.5 Factory and Mode Change p.60 5.6 Build Unit p.65 5.7 Exception Handling p.67 Chapter 6 Splash Runtime Mechanisms p.69 6.1 Rate Control Mechanism p.69 6.2 Sensor Fusion Mechanism p.70 6.3 Mode Change Mechanism p.77 Chapter 7 Code Generation and Runtime System p.80 7.1 Build Unit-based Allocation p.80 7.2 Code Generation Template p.82 7.3 Splash Runtime System p.84 Chapter 8 Experimental Evaluation p.86 8.1 LKAS Program p.86 8.2 Experimental Environment p.91 8.3 Evaluating Rate Control p.92 8.4 Evaluating Sensor Fusion p.96 8.5 Evaluating Mode Change p.97 8.6 Evaluating Build Unit-based Allocation p.99 Chapter 9 Conclusion p.102 Bibliography p.104 Abstract in Korean p.113Docto

    Early aspects: aspect-oriented requirements engineering and architecture design

    Get PDF
    This paper reports on the third Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design Workshop, which has been held in Lancaster, UK, on March 21, 2004. The workshop included a presentation session and working sessions in which the particular topics on early aspects were discussed. The primary goal of the workshop was to focus on challenges to defining methodical software development processes for aspects from early on in the software life cycle and explore the potential of proposed methods and techniques to scale up to industrial applications

    Towards Optimizing Storage Costs on the Cloud

    Full text link
    We study the problem of optimizing data storage and access costs on the cloud while ensuring that the desired performance or latency is unaffected. We first propose an optimizer that optimizes the data placement tier (on the cloud) and the choice of compression schemes to apply, for given data partitions with temporal access predictions. Secondly, we propose a model to learn the compression performance of multiple algorithms across data partitions in different formats to generate compression performance predictions on the fly, as inputs to the optimizer. Thirdly, we propose to approach the data partitioning problem fundamentally differently than the current default in most data lakes where partitioning is in the form of ingestion batches. We propose access pattern aware data partitioning and formulate an optimization problem that optimizes the size and reading costs of partitions subject to access patterns. We study the various optimization problems theoretically as well as empirically, and provide theoretical bounds as well as hardness results. We propose a unified pipeline of cost minimization, called SCOPe that combines the different modules. We extensively compare the performance of our methods with related baselines from the literature on TPC-H data as well as enterprise datasets (ranging from GB to PB in volume) and show that SCOPe substantially improves over the baselines. We show significant cost savings compared to platform baselines, of the order of 50% to 83% on enterprise Data Lake datasets that range from terabytes to petabytes in volume.Comment: The first two authors contributed equally. 12 pages, Accepted to the International Conference on Data Engineering (ICDE) 202

    Annual water balance model based on generalized proportionality relationship and its applications

    Get PDF
    The main goal of this dissertation research is to derive a type of conceptual models for annual water balance at the watershed scale. The proportionality relationship from the Soil Conservation Service Curve Number method was generalized to annual scale for deriving annual water balance model. As a result, a one-parameter Budyko equation was derived based on one-stage partitioning; and a four-parameter Budyko equation was derived based on two-stage partitioning. The derived equations balance model parsimony and representation of dominant hydrologic processes, and provide a new framework to disentangle the roles of climate variability, vegetation, soil and topography on long-term water balance. Three applications of the derived equations were demonstrated. Firstly, the four-parameter Budyko equation was applied to 165 watersheds in the United States to disentangle the roles of climate variability, vegetation, soil and topography on long-term water balance. Secondly, the one-parameter Budyko equation was applied to a large-scale irrigation region. The historical annual total water storage change were reconstructed for assessing groundwater depletion due to irrigation pumping by integrating the derived equation and the satellite-based GRACE (Gravity Recovery and Climate Experiment) data. Thirdly, the one-parameter Budyko equation was used to model the impact of willow treatment on annual evapotranspiration through a two-year field experiment in the Upper St. Johns River marshes. An empirical relationship between the parameter and willow fractional coverage was developed, providing a useful tool for predicting long-term response of evapotranspiration to willow treatment
    • โ€ฆ
    corecore