Microcontroller Assembly Synthesis from Timed Automaton Task Specifications

  • Victor Bandur
  • Wolfram Kahl
  • Alan Wassyng
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7437)


A method for the automatic refinement of single-task timed automaton specifications into microcontroller assembly code is proposed. The outputs of the refinement are an assembly implementation and a timed automaton describing its exact behaviour. Implementation is only possible when all specified timing behaviours can be met by the target microcontroller. Crucially, the implementation does not make the simplifying synchrony assumption, yet correctness with respect to timing is guaranteed. Currently this method copes with parallel inputs and outputs, but is restricted to timed automaton specifications with only one clock variable that is reset after each transition. Further generalization is possible. A tool illustrates the method on a simple example.


Timing Behaviour Outgoing Transition Clock Variable Polling Loop Task Code 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alur, R., Dill, D.L.: A theory of timed automata. Theoretical Computer Science 126, 183–235 (1994)MathSciNetzbMATHCrossRefGoogle Scholar
  2. 2.
    Amnell, T., Fersman, E., Mokrushin, L., Pettersson, P., Yi, W.: TIMES: A Tool for Schedulability Analysis and Code Generation of Real-time Systems. In: Larsen, K.G., Niebert, P. (eds.) FORMATS 2003. LNCS, vol. 2791, pp. 60–72. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  3. 3.
    Bandur, V.: Hard Real-Time Microcontroller Code Generation from Timed Automaton Specifications. Master’s thesis, McMaster University (2008),
  4. 4.
    Behrmann, G., Cougnard, A., David, A., Fleury, E., Larsen, K.G., Lime, D.: UPPAAL-Tiga: Time for Playing Games! In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 121–125. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  5. 5.
    De Wulf, M., Doyen, L., Raskin, J.F.: Almost ASAP semantics: From timed models to timed implementations. Formal Aspects of Computing 17(3), 319–341 (2005)zbMATHCrossRefGoogle Scholar
  6. 6.
    Dierks, H.: PLC-automata: A New Class of Implementable Real-time Automata. In: Bertrán, M., Rus, T. (eds.) ARTS 1997. LNCS, vol. 1231, pp. 111–125. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  7. 7.
    Dierks, H.: Synthesizing controllers from real-time specifications. IEEE Trans. on CAD of Integrated Circuits and Systems 18(1), 33–43 (1999)CrossRefGoogle Scholar
  8. 8.
    Dierks, H.: PLC-automata: A new class of implementable real-time automata. Theoretical Computer Science 253 (2001)Google Scholar
  9. 9.
    Freescale Semiconductor: MC68HC08AB16A/D Data Sheet (July 2005), document MCH68HC08AB16AGoogle Scholar
  10. 10.
    Graphviz: Graphviz – graph visualization software (2011),
  11. 11.
    Intel Corporation: Intel MCS 51 Microcontroller Family User’s Manual (February 1994), order 272383-002Google Scholar
  12. 12.
    Jee, E., Wang, S., Kim, J.-K., Lee, J., Sokolsky, O., Lee, I.: A safety-assured development approach for real-time software. In: RTCSA 2010, pp. 133–142. IEEE Computer Society (2010)Google Scholar
  13. 13.
    Jessen, J.J., Rasmussen, J.I., Larsen, K.G., David, A.: Guided Controller Synthesis for Climate Controller Using Uppaal Tiga. In: Raskin, J.-F., Thiagarajan, P.S. (eds.) FORMATS 2007. LNCS, vol. 4763, pp. 227–240. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  14. 14.
    McEwan, A.A., Woodcock, J.: Unifying Theories of Interrupts. In: Butterfield, A. (ed.) UTP 2008. LNCS, vol. 5713, pp. 122–141. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  15. 15.
    McKeeman, W.M.: Peephole optimization. Commun. ACM 8(7), 443–444 (1965)CrossRefGoogle Scholar
  16. 16.
    Microchip Technology Inc.: PIC 18FXX2 Data Sheet (2002), document DS39564BGoogle Scholar
  17. 17.
    Mukund, M.: Finite-state automata on infinite inputs. Tech. Rep. TCS-96-2, SPIC Mathematical Institute (1996)Google Scholar
  18. 18.
    Tektronix, Inc.: TDS1000- and TDS2000-Series Digital Storage Oscilloscope (May 2011), document 071-1064-00Google Scholar
  19. 19.
    Tuttle, M.R., Lynch, N.A.: An introduction to input/output automata. CWI Quarterly 2(3), 219–246 (1989)MathSciNetzbMATHGoogle Scholar
  20. 20.
    Wassyng, A., Lawford, M., Hu, X.: Timing Tolerances in Safety-Critical Software. In: Fitzgerald, J.S., Hayes, I.J., Tarlecki, A. (eds.) FM 2005. LNCS, vol. 3582, pp. 157–172. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  21. 21.
    ChaoChen, Z., Hoare, C.A.R., Ravn, A.P.: A calculus of durations. Information Processing Letters 40(5), 269–276 (1991)MathSciNetzbMATHCrossRefGoogle Scholar
  22. 22.
    Zilog: Zilog Z80 Family CPU User Manual (2004), document UM008005-0205Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Victor Bandur
    • 1
  • Wolfram Kahl
    • 2
  • Alan Wassyng
    • 2
  1. 1.The University of YorkYorkUK
  2. 2.McMaster UniversityHamiltonCanada

Personalised recommendations