Home Assignments Lecture Blog Resources Discussion Group

Kronos Time Clock: Full Challenge

This is an optional, extra-credit assignment.

In this assignment, we continue the analysis of the Kronos InTouch time clock logs.


Here is a summary of the whole assignment:

  1. Verify device boot up timing (already done in part A.)
  2. Verify device services startup
  3. Verify device software upgrades.

In this portion of the assignment, we will doing (2) and (3).

Extend your work from PS7a so it reports all of these.

The whole assignment is here: Attach:Intouch Startup Log Parsing_03.pdf

Your code should produce the output in the same format as the samples: Attach:report_samples.tar.gz


Extend you code from PS7a to implement service start-up verification:

  • As you process the device boot section of the log, collect and store the information on service start-up.
  • After you print the device boot report (whether failed or not), print the list of services, as in the samples. Any service that hasn't completed starting at the end of device boot is considered failed to start.
  • Do not accept service start-up completion lines after the end of the device boot section.

Then implement softload verification. For each softload section you should extract 4 lines from the log:

  • Start of softload
  • Original version line
  • New version line
  • End of softload

Collect all the information in the softload section before printing the output.

You must use regular expressions to parse the file.


Submit the following:

  • Your source code .cpp file and any header file.
  • Your Makefile.
  • Output from running your code on each of the five InTouch log files. Your output files must be named device[1-6]_intouch.log.rpt.
  • A filled-out copy of the Attach:ps7b-readme.txt file.

Submit as follows:

Grading Rubric

core implementation4full & correct implementation=4 pts; nearly complete=3pts; part way=2 pts; started=1 pt
use of Boost time methods2please use them
output files included2full & correct = 2 pts; partial = 1 pt; absent = 0 pt
Makefile2Makefile included and has rules for "all" and "clean"
Readme42 pts for describing regexs in readme; 2 pts for discussion