- Choosing the computing system:
The choices of computing system and programming languages to implement the TSGR tools are based on the current availability of the equipments and software in the research/graduate lab of SITE, without seeking any further software licence. The candidate computing system to compile the TSGR source code and run the TSGR programs is the Sun Solaris Workstation site0.site.uottawa.ca, which has:
- Sun Solaris operating system -version 5.8
- C++ compiler -version 5
- TSGR deliverable contents:
- The TSGR source package:
- Deliverable in the zip format, e.g., TSGR.src.Nov06.zip. The list of files can be found here and here.
- One should create a Unix directory TSGR whose sub-directories contain src as depicted below.
- The zip package would be unzipped in the sub-directory src of directory TSGR.
- The TSGR doc package:
- Deliverable in the zip format, e.g., TSGR.doc.Nov06.zip. The list of files can be found here.
- If it is not already there yet, sub-directory doc of directory TSGR should be created as depicted below.
- The zip package would be unzipped in sub-directory doc.
- The Unix makefile:
A makefile can be found in the src directory. It handles both compile and link stages for the C++ code:
- To build the complete TSGR tools, the command make all will work. Upon completion, the object codes are cleaned up and the executable files are automatically moved from src sub-directory to TSGR directory.
- To build an individual item, one needs to read file makefile to know the name of the item to make. Note that the object codes are not cleaned up automatically and the executable files remain in the src directory in this case. One should move the executable files manually to the TSGR directory.
- Running TSGR:
- One now changes to TSGR directory to run the tools.
- The examples supplied with the source package should be manually moved from src sub-directory to TSGR directory, if one wants to use them.
- One can execute an individual program using the Unix command line with appropriate arguments. For examples:
- Command DTSR ATM.efsm ATMT5.ts will execute the DTSR program to produce the reduced test suite of the ATM system from the given test suite wrt transition T5.
- Command RTSR ATMm.efsm ATMm.mod ATMT.ts will execute the RTSR program to produce the reduced test suite of the ATM system from the given test suite.
- However, typing only the program name will see the complete usage of that program from the system. For example:
-
{site0} tunguyen(1)$ STSR
Usage: STSR <EFSMFile> <TSFile>
- List of TSGR tools:
- Main programs: STSG, STSR, DTSR, RTSR.
- Test programs: testEFSM, testSDG, testDDG, testSDGm, testDF.
- Modifying TSGR tools:
- One must realize the difference between core and applications:
- Modifying code in core may impact the other existing applications.
- Modifying code in an application impacts only that application.
- When introducing a new file (programming language code), one must modify the makefile to include the command to compile and link the new file.
- Compatibility:
In Solaris 5.9, the bison parser tool automatically generates files with extension *.hpp instead of extension *.cpp.h as it did in Solaris 5.8. This causes problems when compiling and linking the TSGR source code in Solaris 5.9.
A solution for those problems is replacing all references to files *.cpp.h in the source code by the references to files *.hpp.
Ottawa, November 15, 2006
Home