Image Processing Reference
In-Depth Information
CI server
Code
changes
Control
Start on change
Scheduled
Code repository
Projects/Apps
Check
out
TinyOS 2.x
Permasense
Data collection
...
Test infrastructure
Cofiguration
Supply voltage
Signal generator
Environment
Tools
Test
execution
and
configuration
Compile and build
Static analysis
Simulation
System test
Testbed
Test execution
Stimulation
Data logging
Unit test
...
Support
Notification
Visualization
Trends/statistics
Analysis
Logic analyzer
Oscilloscope
Log database
Test data
and
test context
FIGURE .
Overview of the test and instrumentation architecture.
since differences are miniscule and error sources are easier to pinpoint, typically subject to a
recent change. Up to this point, CI focusses on the integration of enterprise scale software
projects designed by large teams and is a common and well-known methodology, e.g., in agile
development [].
For integration of software in a team, CI allows for communication with the code repository, a
build tool-chain to compile the software, software analysis tools, and a test platform running unit
testssuchasJUnitforJavaprojects.heoverallstatusoftheprojectaswellasthedetailsofallassoci-
ated builds are presented on a Webpage, often also using a central indicator such as a lava lamp. Each
build shows the software status providing visibility to the team. A prominent example of a CI server
is [], a java-based, thus OS-independent and mature tool with an extensive user base. CruiseCon-
trol features a Web interface, which displays all available projects. he configuration of CruiseControl
is performed in a single XML ile. his includes a description of each of the projects including infor-
mation on repository monitoring, scheduling of builds, logging, and publishing of results. he build
process of a project is configured in a separate XML file unique to each project. Each individual
project features a Webpage displaying information on the recent builds and access to published build
 
Search WWH ::




Custom Search