Modeling operating systems schedulers with multi-stack-queue grammars

  • Luca Breveglieri
  • Stefano Crespi Reghizzi
  • Alessandra Cherubini
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1684)


This original method for specifying and checking the sequences of events taking place in process scheduling brings the classical syntax-directed approach of compilation to this new area. The formal language of scheduling events cannot be specified by BNF grammars, but we use instead the Augmented BNF grammars, which combine breadth-first and depth-first derivations. Their recognizers feature one or more FIFO or LIFO tapes. The basic scheduling policies are covered: FCFS, time-slicing, mutex. Combined policies, such as readers/writers and background/foreground, are obtainable by composition. Constraints on the minimum number of data structures (i.e. queues) for priority scheduling policies may be proved by using a pumping lemma. The construction of schedule checkers is presented in the form of augmented LL(1) parsers. For scheduling algorithms, such as shortest job first, which depend on parameters and in particular on time, a syntax-directed approach is proposed, which adds semantic attributes and functions to the underlying augmented BNF grammar.


Schedule Algorithm Schedule Policy First Come First Serve Pushdown Automaton Input Head 
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]
    Brandenburg F. J.: On the Intersection of Stacks and Queues, in Theoretical Computer Science, Elsevier, vol. 58, pp. 69–80, 1988zbMATHCrossRefMathSciNetGoogle Scholar
  2. [2]
    Breveglieri, L., Cherubini, A., Crespi Reghizzi, S: Real-Time Scheduling by Queue Automata, in LNCS Formal Techniques in Real-Time and Fault-Tolerant Systems’ 92, n. 571, (J. Vytopil, ed.), pp. 131–148, Springer Verlag, 1992Google Scholar
  3. [3]
    Breveglieri, L., Cherubini, A. Citrini, C., Crespi Reghizzi, S.: Multi-Pushdown Stack Languages and Grammars, International Journal of Foundation of Computer Science, World Scientific, n., pp., 1996Google Scholar
  4. [4]
    Breveglieri, L., Cherubini, A., Crespi Reghizzi, S: Syntax-Directed Scheduling, Int. Rep. 98-048, Dip. di Elettronica e Informazione, Politecnico di Milano, 1998Google Scholar
  5. [5]
    Cherubini, A., Citrini, C., Crespi Reghizzi, S., Mandrioli, D.: Breadth and Depth Grammars and Dequeue Automata International Journal of Foundations of Computer Science, World Scientific, vol. 1, n. 3, pp. 219–232, 1990Google Scholar
  6. [6]
    Cherubini, A., Citrini, C., Crespi Reghizzi, S., Mandrioli, D.: Quasi-Real-Time FIFO Automata, Breadth-first Grammars and their Relations, in Theoretical Computer Science, Elsevier, n. 85, pp.171–203, 1991CrossRefMathSciNetGoogle Scholar
  7. [7]
    Cherubini, A., San Pietro, P.: A Polynomial-Time Parsing Algorithm for k-Depth Languages, Journal of Computer Systems Science, vol. 52, n. 1, pp. 61–79, 1996CrossRefGoogle Scholar
  8. [8]
    Floyd, R., Beigel, R.: The Language of Machines, Freeman, 1994Google Scholar
  9. [9]
    Ginsburgh, S.: The mathematical Theory of Context-free Languages, McGraw-Hill, New York, 1968Google Scholar
  10. [10]
    Hemmendinger, D.: Specifying Ada Server Tasks with executable formal Grammars, in IEEE Transactions on Software Engineering, n. 16, pp. 741–754, 1990CrossRefGoogle Scholar
  11. [11]
    Kang, S., Lee, H.: Analysis and Solution of non-Preemptive Policies for Scheduling Readers and Writers, in Operating Systems Review, ACM Press, vol. 32, n. 3, pp. 30–50, July, 1998CrossRefGoogle Scholar
  12. [12]
    Manna, Z.: Mathematical Theory of Computation, McGraw Hill, New York, 1974Google Scholar
  13. [13]
    Galvin, P., Silberschatz, A.: Operating Systems Concepts, Addison Wesley, Reading, 1994Google Scholar
  14. [14]
    Vauquelin, B., Franchi-Zannettacci, P.: Automates à File, in Theoretical Computer Science, Elsevier, n. 11, pp. 221–225, 1980zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Luca Breveglieri
    • 1
  • Stefano Crespi Reghizzi
    • 1
  • Alessandra Cherubini
    • 2
  1. 1.Dipartimento di Elettronica e InformazionePolitecnico di MilanoItaly
  2. 2.Dipartimento di MatematicaPolitecnico di MilanoItaly

Personalised recommendations