coNCePTuaL is a domain-specific programming language for rapidly generating programs that measure the performance and/or test the correctness of networks and network protocol layers. A few lines of coNCePTuaL code can produce programs that would take significantly more effort to write in a conventional programming language.
|Tags||Communications Software Development Compilers Benchmark Networking|
|Operating Systems||Windows Cygwin Mac OS X POSIX Linux Unix|
|Implementation||C Perl Python|
Release Notes: The language now supports list comprehensions and tagged message receives. The dot_ast backend includes a new --compress option to draw a program's AST with "uninteresting" nodes elided. Two new performance benchmarks are included in the distribution. The median absolute deviation has been added to the set of statistics that can be gathered. Timed loops are more precise. Various bugs have been fixed.
Release Notes: A new paraver back end generates logical-time traces for the Paraver visualizer. A new libsea_ast back end generates a description of a program's AST for interactive 3-D rendering with the Walrus visualizer. The RECEIVE statement can now propagate scopes either source-to-target or target-to-source, as necessary. Sets of tasks can be let-bound to an identifier for convenient reuse. Programs can compute coordinates, neighbor sets, and distances on 1-D/2-D/3-D mesh, torus, and now partial torus topologies. Many-to-one and many-to-many multicasts are now supported by the C+MPI back end.
Release Notes: This release adds a --help-backend option to the coNCePTuaL compiler. It adds a --merge=sum option to the log-file post-processor. It adds three new statements to the language: BACKEND DECLARES, STORES ITS COUNTERS, and RESTORES ITS COUNTERS. It introduced two new sample programs: ringtest (time to communicate across rings of tasks) and verifyradix (verify that there are no holes in the task mapping). It fixes bugs involving FOR...REPETITIONS, REDUCE, and MOD. It adds a stack data structure for internal use by coNCePTuaL backend developers.
Release Notes: The IS IN construct can now test whether a variable is in an arbitrary set of values or arithmetic/geometric progressions. Many minor build-related bugs have been fixed.
Release Notes: coNCePTuaL no longer requires learning a new programming language to use; communication patterns can now be drawn in a graphical user interface and converted to and from coNCePTuaL code. A new Eclipse plug-in supports writing, running, and analyzing network performance tests from a single, integrated development environment.