{"supervisor":[{"last_name":"Henzinger","id":"40876CD8-F248-11E8-B48F-1D18A9856A87","full_name":"Henzinger, Thomas A","first_name":"Thomas A","orcid":"0000-0002-2985-7724"}],"language":[{"iso":"eng"}],"publist_id":"305","date_updated":"2021-01-12T07:56:53Z","extern":"1","type":"dissertation","publication_status":"published","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"}],"oa_version":"None","_id":"4425","author":[{"last_name":"Horowitz","first_name":"Benjamin","full_name":"Horowitz, Benjamin"}],"title":"Giotto: A time-triggered language for embedded programming","citation":{"short":"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.","ama":"Horowitz B. Giotto: A time-triggered language for embedded programming. 2003:1-237.","ieee":"B. Horowitz, “Giotto: A time-triggered language for embedded programming,” University of California, Berkeley, 2003.","ista":"Horowitz B. 2003. Giotto: A time-triggered language for embedded programming. University of California, Berkeley.","chicago":"Horowitz, Benjamin. “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."},"month":"10","date_created":"2018-12-11T12:08:47Z","article_processing_charge":"No","user_id":"2DF688A6-F248-11E8-B48F-1D18A9856A87","date_published":"2003-10-01T00:00:00Z","year":"2003","publisher":"University of California, Berkeley","status":"public","page":"1 - 237","day":"01"}