Home Assignments Lecture Blog Resources Discussion Group

Kronos Time Clock: Introduction to Regular Expression Parsing

In this assignment, we begin the analysis of the Kronos InTouch time clock log by using regular expressions to parse the file.


Here is a summary of the whole assignment:

  1. Verify device boot up timing.
  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 to so that it reports on all of these.

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


  • You must use regular expressions to parse the file.
  • Work must be done in a Unix environment (Linux or Mac OS X).
  • Your program should read the log file from stdin.
  • Keep track of line numbers of input.
  • Each line of your output should begin with the line number of the startup message, and:
    • For overall boot messages, time of startup. (For device services startup and software upgrades, time of initiation is not reported.)
    • Success or failure.
    • For device services, time required to start.
    • For software upgrades, previous version and current version.


Submit the following:

  • Your source code .cpp file and any header file.
  • A Makefile for building the code. Only a Unix Makefile will be accepted—not instructions.
  • Output from running your code on each of the five InTouch log files. Your output files must be named device[1-5]_intouch.log.out.
  • A filled-out copy of the Attach:ps7b-readme.txt file.
 submit fredm 204-ps7b files

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