summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMac Mollison <mollison@cs.unc.edu>2010-03-13 16:50:44 -0500
committerMac Mollison <mollison@cs.unc.edu>2010-03-13 16:50:44 -0500
commit6c682a0de6ad1d38ed928eb8e430273e2fb3c7ff (patch)
tree687fd18bfe57f75a78e1b694ccf5a9ff551a0a43
parentbeab41dc5f360324549fd14b3daa8fce613e66ff (diff)
Fix bug in doc. Stop tracking index.html.
-rw-r--r--.gitignore1
-rw-r--r--doc/index.html136
-rw-r--r--doc/index.txt4
3 files changed, 3 insertions, 138 deletions
diff --git a/.gitignore b/.gitignore
index 0d20b64..abb5822 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
1*.pyc 1*.pyc
2doc/index.html
diff --git a/doc/index.html b/doc/index.html
deleted file mode 100644
index ad7564e..0000000
--- a/doc/index.html
+++ /dev/null
@@ -1,136 +0,0 @@
1<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
2<head>
3 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
4 <title>Unit-Trace</title>
5 <style type="text/css">
6 html {
7 background-color : #EFEBE7;
8 font-family : Arial, Helvetica, sans-serif;
9 margin-bottom : 0px;
10 margin-left : 0px;
11 margin-right : 0px;
12 margin-top : 0px;
13 padding-bottom : 0px;
14 padding-left : 0px;
15 padding-right : 0px;
16 padding-top : 0px;
17 }
18 h1 {
19 text-align: center;
20 }
21
22 h2 {
23 margin-top: 50px;
24 text-align: center;
25 }
26 codeblock {
27 padding: 0px 15px;
28 margin: 5px 0 15px;
29 border-left: 5px solid #666666;
30 background: #222222;
31 font: 1em/1.5 "Courier News", monospace;
32 color: #bbbbbb;
33 overflow : auto;
34 }
35
36 </style>
37</head>
38<body>
39<div style="width: 60%; margin-left: auto; margin-right: auto; text-align: justify">
40<p><center></p>
41
42<h1>Unit-Trace</h1>
43
44<p></center></p>
45
46<p><span style="font-weight: bold">
47Unit-Trace is a library of tools for parsing, testing, and visualizing real-time scheduler traces.
48Unit-Trace is inspired by the philosophy of "unit testing", in which software is tested iteratively to ensure it behaves according to specification.
49Unit-Trace aims to help scheduler developers not only determine whether or not bugs exist, but to actually aid in debugging by providing detailed
50information about scheduler behavior.
51</span></p>
52
53<h2>About This Document</h2>
54
55<p>This document contains instructions for people who want to use and/or contribute to Unit-Trace.
56It is the complete documentation for Unit-Trace.</p>
57
58<h2>Architecture</h2>
59
60<p>Before trying to use Unit-Trace, it will help to understand the architecture of Unit-Trace.</p>
61
62<p>The <code>unit_trace</code> Python module is installed in the Python <code>site_packages</code> directory, so that it can be
63imported from and Python script on the system.
64Thus, work with Unit-Trace is done by writing a short frontend script that makes use of the submodules
65you need for the task at hand.</p>
66
67<p>The <code>unit_trace</code> module consists of a number of submodules used to work with traces.
68(Here, a <code>trace</code> is a record of scheduling events, produced by a scheduler, and may be contained in one or more <code>trace files</code> (for example,
69one per CPU).</p>
70
71<p>In a typical Unit-Trace script, a <code>parser</code> submodule produces a <strong>stream</strong> of <strong>records</strong>, which are then piped to
72subsequent submodules, and finally piped to one or more modules that produce output.</p>
73
74<p>For example, a user might write a script to invoke a parser on a set of trace files; pipe the resulting stream of event
75records to the global EDF testing submodule, which adds error errors to the stream; pipe the stream to a submodule that computes statistics (for example,
76the 10 lengthiest priority inversions) and produces relevant records; and finally, pipe the stream to a submodule that outputs all scheduling events, errors, and the
77statistical information that was computed previously.
78Seeing errors, the user may then wish to generate a visualization for a given time interval.
79(All the functionality described in this scenario is available in the current version of Unit-Trace.)</p>
80
81<p>This architecture provides a clean and flexible interface for working with scheduler traces. Because Python iterators are "lazy," producing items
82(in this case, various records) only when necessary, this architecture avoids requiring that all trace information be read into memory at one time.</p>
83
84<p>We provide a several frontend scripts for common tasks, but encourage users to customize these to better fix their specific needs.
85We also provide useful submodules, but expect that users will need new submodules that do not yet exist
86(for example, not PFAIR testing submodules exists).
87We hope users will contribute any useful code that they produce back to the project.</p>
88
89<h2>Obtaining Unit-Trace</h2>
90
91<p>Members of UNC's Real-Time Group can obtain Unit-Trace using: <br />
92<codeblock>git clone ssh://cvs.cs.unc.edu/cvs/proj/repo/litmus/unit-trace</codeblock></p>
93
94<h2>Installing Unit-Trace</h2>
95
96<p>Unit-Trace is installed by copying the unit_trace folder (a Python module) to the system's Python 2.6 <code>site-packages</code> directory, usually located at
97<code>/usr/lib/python2.6/site-packages/</code>.
98Frontend scripts (i.e., scripts that <code>import unit_trace</code>) can then be used anywhere on the system.
99The Unit-Trace code includes <code>install.py</code>, which automates (re)installation when called with <code>sudo</code>.</p>
100
101<h2>Using Unit-Trace</h2>
102
103<p>Example frontend scripts are included in the <code>scripts</code> folder, and can be used as-is for many tasks.</p>
104
105<ul>
106<li>gedf_test.py reads trace files passed as command-line arguments and prints out all scheduling events, priority inversions, and some statistics</li>
107<li>visualize.py reads traces files passed as command-line arguments and draws the corresponding schedule.</li>
108</ul>
109
110<h2>Submodules</h2>
111
112<p>TODO: All submodules will be documented thoroughly here.</p>
113
114<h2>Development</h2>
115
116<p>TODO: Information on how to contribute will be documented thoroughly here.</p>
117
118<h2>Documentation</h2>
119
120<p>The source code for this page is included in the <code>doc</code> folder that comes with Unit-Trace.
121Contributors are required to make appropriate amendments to this documentation.</p>
122
123<p>The source is stored in <a href="http://daringfireball.net/projects/markdown/">Markdown format</a> and can be built into HTML with <code>make</code>.</p>
124
125<h2>Credits</h2>
126
127<p>This project was created by and is maintained by the <a href="http://cs.unc.edu/~anderson/real-time">Real-Time Systems Group</a> at the <a href="http://www.unc.edu">University of North Carolina at Chapel Hill</a>,
128<a href="http://cs.unc.edu">Department of Computer Science</a>. A detailed explanation of the tool is available in <a href="http://www.cs.unc.edu/%7Eanderson/papers/ospert09.pdf">this paper</a>, from
129<a href="http://www.artist-embedded.org/artist/Overview,1750.html">the 2009 OSPERT workshop</a>.</p>
130
131<p>We would like to extend special thanks to Gary Bressler, who created and maintains the <code>visualizer</code> submodule as a volunteer with our group.</p>
132
133<p>We hope to have additional contributors in the future.</p>
134</div>
135</body>
136</html>
diff --git a/doc/index.txt b/doc/index.txt
index 77ddc13..df73522 100644
--- a/doc/index.txt
+++ b/doc/index.txt
@@ -45,7 +45,7 @@ We hope users will contribute any useful code that they produce back to the proj
45 45
46## Obtaining Unit-Trace ## 46## Obtaining Unit-Trace ##
47Members of UNC's Real-Time Group can obtain Unit-Trace using: 47Members of UNC's Real-Time Group can obtain Unit-Trace using:
48<codeblock>git clone ssh://cvs.cs.unc.edu/cvs/proj/repo/litmus/unit-trace</codeblock> 48<codeblock>git clone ssh://cvs.cs.unc.edu/cvs/proj/litmus/repo/unit-trace.git</codeblock>
49 49
50## Installing Unit-Trace ## 50## Installing Unit-Trace ##
51Unit-Trace is installed by copying the unit_trace folder (a Python module) to the system's Python 2.6 `site-packages` directory, usually located at 51Unit-Trace is installed by copying the unit_trace folder (a Python module) to the system's Python 2.6 `site-packages` directory, usually located at
@@ -69,7 +69,7 @@ TODO: Information on how to contribute will be documented thoroughly here.
69The source code for this page is included in the `doc` folder that comes with Unit-Trace. 69The source code for this page is included in the `doc` folder that comes with Unit-Trace.
70Contributors are required to make appropriate amendments to this documentation. 70Contributors are required to make appropriate amendments to this documentation.
71 71
72The source is stored in [Markdown format][markdown] and can be built into HTML with `make`. 72The source is stored in [Markdown format][markdown] in the file `index.txt` and can be built into HTML with `make`.
73 73
74## Credits ## 74## Credits ##
75This project was created by and is maintained by the [Real-Time Systems Group][group] at the [University of North Carolina at Chapel Hill][uncch], 75This project was created by and is maintained by the [Real-Time Systems Group][group] at the [University of North Carolina at Chapel Hill][uncch],