{"date_created":"2018-12-11T12:08:47Z","user_id":"2DF688A6-F248-11E8-B48F-1D18A9856A87","language":[{"iso":"eng"}],"date_published":"2003-10-01T00:00:00Z","abstract":[{"text":"Giotto provides a time-triggered programmer’s model for the implementation of embedded control systems with hard real-time constraints. Giotto’s precise semantics and predictabil- ity make it suitable for safety-critical applications.\r\nGiotto is based around the idea that time-triggered task invocation together with time-triggered mode switching can form a useful programming model for real-time systems. To substantiate this claim, we describe the use of Giotto to refactor the software of a small, autonomous helicopter. The ease with which Giotto expresses the existing software provides evidence that Giotto is an appropriate programming language for control systems.\r\nSince Giotto is a real-time programming language, ensuring that Giotto programs meet their deadlines is crucial. To study precedence-constrained Giotto scheduling, we first examine single-mode, single-processor scheduling. We extend to an infinite, periodic setting the classical problem of meeting deadlines for a set of tasks with release times, deadlines, precedence constraints, and preemption. We then develop an algorithm for scheduling Giotto programs on a single processor by representing Giotto programs as instances of the extended scheduling problem.\r\nNext, we study multi-mode, single-processor Giotto scheduling. This problem is different from classical scheduling problems, since in our precedence-constrained approach, the deadlines of tasks may vary depending on the mode switching behavior of the program. We present conditional scheduling models which capture this varying-deadline behavior. We develop polynomial-time algorithms for some conditional scheduling models, and prove oth- ers to be computationally hard. We show how to represent multi-mode Giotto programs as instances of the model, resulting in an algorithm for scheduling multi-mode Giotto programs on a single processor.\r\nFinally, we show that the problem of scheduling Giotto programs for multiple net- worked processors is strongly NP-hard.","lang":"eng"}],"_id":"4425","extern":"1","date_updated":"2021-01-12T07:56:53Z","article_processing_charge":"No","publication_status":"published","day":"01","author":[{"first_name":"Benjamin","full_name":"Horowitz, Benjamin","last_name":"Horowitz"}],"publisher":"University of California, Berkeley","title":"Giotto: A time-triggered language for embedded programming","month":"10","publist_id":"305","type":"dissertation","supervisor":[{"last_name":"Henzinger","orcid":"0000-0002-2985-7724","id":"40876CD8-F248-11E8-B48F-1D18A9856A87","first_name":"Thomas A","full_name":"Henzinger, Thomas A"}],"status":"public","citation":{"ama":"Horowitz B. Giotto: A time-triggered language for embedded programming. 2003:1-237.","ista":"Horowitz B. 2003. Giotto: A time-triggered language for embedded programming. University of California, Berkeley.","ieee":"B. Horowitz, “Giotto: A time-triggered language for embedded programming,” University of California, Berkeley, 2003.","mla":"Horowitz, Benjamin. Giotto: A Time-Triggered Language for Embedded Programming. University of California, Berkeley, 2003, pp. 1–237.","chicago":"Horowitz, Benjamin. “Giotto: A Time-Triggered Language for Embedded Programming.” University of California, Berkeley, 2003.","short":"B. Horowitz, Giotto: A Time-Triggered Language for Embedded Programming, University of California, Berkeley, 2003.","apa":"Horowitz, B. (2003). Giotto: A time-triggered language for embedded programming. University of California, Berkeley."},"oa_version":"None","page":"1 - 237","year":"2003"}