This newsletter is available from the CADP Home page.
This page summarizes the recent evolution of the CADP toolbox from the
point of view of its community of users and software developers. Other
results, including scientific advances, publications, applications of
CADP to industrial problems, and new prototype tools built on top of
CADP can be found in the yearly activity report of the CONVECS team.
In 2017, the development of CADP has steadily progressed. Following the monthly rolling-release model established in 2013, twelve versions of CADP have been released in 2017. From version 2017-a to version 2018-a, 37 bugs have been fixed and 69 improvements have been brought. The diagram to the right gives the repartition of efforts between the various components of CADP. Effort was not measured in time but in the number of lines of the HISTORY file, based on the reasonable assumption that the more involved a change, the more lines needed to describe it. |
For details, see HISTORY entries: #2290 #2298 #2299 #2326 #2355.
For details, see HISTORY entries: #2284 #2285 #2287 #2294 #2318.
Also, error messages about synchronization vectors have been made more precise and EXP.OPEN performs tighter checks about labels containing only blanks and unexpected synchronization of probabilistic or stochastic transitions. Two bug have been fixed in EXP.OPEN and style files have been added to bring support for the EXP format by mainstream text editors.
For details, see HISTORY entries: #2301 #2302 #2304 #2305 #2307 #2308 #2340 #2353.
LNT now permits simple loops (of the form "loop ... end loop", without loop label nor "while" condition) in LNT functions, as well as in LNT processes.
The pragma names "comparedby", "external", "implementedby", "iteratedby", "printedby", and "representedby" are no longer reserved LNT keywords, meaning that it is now permitted to declare LNT identifiers having these names. Two new type pragmas "!card" and "!bits" have been added to specify the maximum number of values and the number of bits to be used when storing the values of a given type in "hash-consing" tables.
The LNT2LOTOS Reference Manual, which contains the definition of the LNT language, has been revised, enriched, simplified in many ways. A recent publication [Garavel-Lang-Serwe-17] presents the historical background and motivation behind the definition of LNT.
In parallel, the LPP preprocessor and the LNT2LOTOS translator, which implement the LNT language, have been enhanced in many ways. In addition to 9 bug fixes, the following enhancements have been made:
For details, see HISTORY entries: #2276 #2278 #2279 #2281 #2283 #2286 #2288 #2289 #2291 #2292 #2295 #2300 #2310 #2314 #2317 #2319 #2321 #2322 #2323 #2325 #2327 #2332 #2342 #2343 #2346 #2347 #2350 #2352 #2354 #2361.
For details, see HISTORY entries: #2348 #2365 #2366 #2368 #2371.
The "caesar_graph" interface, which remained stable for two decades, has been modified: its two functions CAESAR_FORMAT_STATE() and CAESAR_FORMAT_LABEL() became more powerful, while its two functions CAESAR_MAX_FORMAT_STATE() and CAESAR_MAX_FORMAT_LABEL() have been removed from the interface. The same changes apply as well to all other functions CAESAR_FORMAT_*() and CAESAR_MAX_FORMAT_*() of the OPEN/CAESAR libraries. All the OPEN/CAESAR compilers, application tools, and demo examples have been modified to reflect these changes.
For details, see HISTORY entries: #2296 #2297 #2320 #2329 #2330 #2331 #2334 #2344 #2345 #2358.
For details, see HISTORY entries: #2277 #2280 #2282 #2306 #2328 #2333 #2359 #2372 #2373.
Also, SVL now performs tighter semantic checks, making sure that all partial-order reduction options passed to EXP.OPEN (namely, options explicitly set by the user and options automatically computed by SVL from the context of the EXP composition expression) are not contradictory.
For details, see HISTORY entries: #2309 #2311 #2312 #2315 #2336 #2364 #2374.
For details, see HISTORY entries: #2337 #2338 #2339 #2341 #2349.
On Linux, CADP was ported to the latest versions of Centos, Debian 9, and Ubuntu 17.04. The support for the various desktop environments (Gnome, KDE, Mate, etc.) available in Linux distributions has improved.
On macOS, support for obsolete versions (from Mac OS X 10.6 "Snow Leopard" to OS X 10.9 "Mavericks" included) was withdrawn. Support for macOS 10.13 "High Sierra" was added. Preliminary steps have been made to prepare a 64-bit version of CADP on macOS.
On Windows, support for obsolete versions (Windows XP and Vista) was dropped. Following changes in the Cygwin software (February 2017), CADP had to be adapted, as the behaviour of Cygwin pipes and related commands (such as "awk", "grep", and "sed") became different. Numerous changes were made to CADP so as to support the case where Cygwin is not installed in C:/ but in a different folder. Finally, preliminary steps have been made towards a 64-bit version of CADP for Windows.
For details, see HISTORY entries: #2293 #2303 #2313 #2316 #2324 #2335 #2351 #2356 #2357 #2360 #2362 #2363 #2367 #2369 #2370 #2375 #2376 #2377 #2379 #2380 #2381 #2382.
We are extremely grateful to the following scientists, who provided us with valuable feedback and advice about the use of CADP: