FSU Seal - 1851

    COP 5385
    Reactive Systems and Hierarchical State Machines
    Spring Semester 2008

CLASS SCHEDULE: This class meets weekly on Wednesday evenings for the Spring 2008 semester:
5:00pm -- 7:30pm, Jan 11 - Apr 26, excluding Mar 8 (Spring Break) in TEC 0129 (Panama City Campus).


Chris Lacher
Office: 101 Faculty Annex B / Panama City Campus 
Office Phone (during office hours): 850-770-2256 or 850-644-2090 ext 2256 
Mobile Phone/Voice Mail (24/7): 850-510-5575 
Email:  lacher@cs.fsu.edu
Mail & Delivery: Florida State University
4750 Collegiate Drive
Panama City, FL 32405-1099
Lacher Weekly Schedule Effective Jan 9 - Apr 29, 2006 (excluding Jan 17 and Mar 7-11)


Hierarchical state machines (finite state machines with a behavioral inheritance hierarchy) provide a theoretically sound methodology for modelling event-driven/reactive systems. Quantum programming provides a framework for lightweight implemention of these HSM models using statecharts in C/C++. The results are sufficiently reliable and lightweight to be suitable for embedded and real-time systems.

COURSE OBJECTIVES: Upon successful completion of the course the student should be able to:

  1. Be able to recognize situations where reactive systems provide appropriate technological solutions
  2. Be able to model a reactive system using finite state machines (FSM) and hierarchical state machines (HSM)
  3. Be able to construct HSM models of reactive systems from requirements using statecharts
  4. Be able to implement statechart-based HSM models in a time- and space-efficient manner
  5. Be able apply the quantum programming framework to implement embedded/real-time systems applications
  6. Be able to model and implement multiple-thread reactive systems with multiple HSM components
  7. Be able to describe and discuss current practice as established in professional literature

COURSE RESOURCES (subject to expansion and/or revision):


Topic    Reference
1. IntroductionCh 1 of [Sam]
2. Patterns[G4] - all references to "state"
3. FSM, Statecharts, ModelsCh 2 of [Sam]
4. UML StatechartsCh 6 and pp 438-448 of [UML]
5. State Machine ImplementationsCh 3 of [Sam]
6. Behavioral InheritanceCh 4 of [Sam]
7. State PatternsCh 5 of [Sam]
8. State Model InheritanceCh 6 of [Sam]
9. Introduction to Quantam FrameworkCh 7 of [Sam]
10.Design of Quantum FrameworkCh 8 of [Sam]
11.Implementation of Quantum FrameworkCh 9 of [Sam]
12.Building Applications using the Quantum FrameworkCh 10 of [Sam]
13.Alternative Event DispatchersArticle [1]
14.Object-Oriented HSMArticle [2]

COURSE GRADING: Grades will be assigned based on the following:

Course grade components are detailed in Table 1. The assignment of letter grades is given in Table 2.

    Table 1: Course Points
    Item Points
    Assignments    200
    Major Deliverable    300
    Midterm Exam    200
    Final Exam    300
      Table 2: Letter Grades
      Points Grade
      925 - 1000 A
      900 - 924 A-
      875 - 899 B+
      825 - 874 B
      800 - 824 B-
      775 - 799 C+
      725 - 774 C
      700 - 724 C-
      675 - 699 D+
      625 - 674 D
      600 - 624 D-
      0 - 599 F


There will be two exams, a midterm exam and a final exam. The dates for the two exams are shown in the following table.

Exam Calendar
Exam On-Campus
Midterm Exam Wed Mar 1
Final Exam Wed Apr 26


First Day Attendance Policy: Official university policy is that any student not attending the first class meeting will be automatically dropped from the class. For distance students, this policy is interpreted as posting to the discussion forum "First Day Attendance" no later than the first day of the semester.

Regular Attendance Policy: The university requires attendance in all classes. Attendance in distance classes shall mean regular access to the course web site via campus.fsu.edu and regular participation in the class discussion forums. Here, "regular" shall mean a substantial amount of time on a weekly basis. Note that individual access statistics are maintained by Blackboard.

Proctored Exam Policy: All exams must be proctored and taken at an approved testing site during the exam window or in class on the designated date. It is the student's responsibility to arrange for proctored exams in compliance with the FSU standards. Go to http://learningforlife.fsu.edu/cat/test/distancelearning/students.cfm for complete information on setting up a proctored exam site.

Exam Makeup Policy: An exam missed without an acceptable excuse will be recorded as a grade of zero (0). The following are the only acceptable excuses:

All excuses must be submitted in writing, must be signed by the excusing authority, and must include complete contact information for the authority, including telephone numbers and address.

Missed exams with acceptable excuse will be made up or assigned the average grade of all other exams, at the option of the course instructor.

Missed, and acceptably excused, final exams will result in the course grade of 'I' and must be made up in the first two weeks of the following semester.

Grade of 'I' Policy: The grade of 'I' will be assigned only under the following exceptional circumstances:

Completion of Work Policy: To be eligible for the grade of A or A-, working versions of all programming assignments must be submitted.


The Florida State University Academic Honor Policy outlines the University’s expectations for the integrity of students’ academic work, the procedures for resolving alleged violations of those expectations, and the rights and responsibilities of students and faculty members throughout the process.  Students are responsible for reading the Academic Honor Policy and for living up to their pledge to “. . . be honest and truthful and . . . [to] strive for personal and institutional integrity at Florida State University.”  (Florida State University Academic Honor Policy, found at http://dof.fsu.edu/honorpolicy.htm.)


Students with disabilities needing academic accommodation should:
(1) register with and provide documentation to the Student Disability Resource Center; and
(2) bring a letter to the instructor indicating the need for accommodation and what type.  This should be done during the first week of class.

This syllabus and other class materials are available in alternative format upon request.

For more information about services available to FSU students with disabilities, contact the:

Student Disability Resource Center
97 Woodward Avenue, South
108 Student Services Building
Florida State University
Tallahassee, FL 32306-4167
(850) 644-9566 (voice)
(850) 644-8504 (TDD)


Information regarding the status of FSU in an emergency situation may be obtained from the following sources:

Any specific information related to this class will be posted on the course web site or sent via email to your fsu email address.


This syllabus is a guide for the course and is subject to change with advanced notice. Such notice will be in the form of an announcement to the course web site on My FSU.