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 reports of the CONVECS team.
In 2024, the development of CADP has steadily progressed. Following the monthly rolling-release model established in 2013, twelve versions of CADP have been released in 2024. From version 2024-a to version 2024-l, 27 bugs have been fixed and 104 improvements have been brought (not counting here the bug fixes and improvements made for TRAIAN in parallel). 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. |
![]() |
In addition to bug fixes in the CAESAR_RANDOM library of OPEN/CAESAR and in the generation of throughput files by BCG_STEADY and BCG_TRANSIENT, the following enhancements have been brought:
For details, see HISTORY entries: #2966 #2968 #2996 #3003 #3007 #3008 #3022 #3029 #3031 #3076
In 2024, three demos have been added or fully revised:
Additionally, many CADP demos have been enhanced in various ways:
For details, see HISTORY entries: #2984 #3015 #3019 #3027 #3032 #3033 #3067 #3074 #3082 #3083
The LNT language continued its evolution to become a better language and to achieve convergence between LNT and the LOTOS NT language supported by the TRAIAN compiler, which provides a compiler front-end for LNT and is also used to build most CADP compilers and translators.
A major step was achieved in October 2023 when TRAIAN became part of the CADP distribution. This effort was pursued in 2024, with four successive releases (3.13, 3.14, 3.15, and 3.16) of TRAIAN. In addition to 19 bug fixes, these releases enhanced TRAIAN with finer static and data-flow analyses. TRAIAN now emits more accurate and informative messages, as well as many new warnings and error messages that help to improve the quality of LNT models.
The LNT2LOTOS and TRAIAN compilers have been progressively aligned with each other, leading to changes in the definition of LNT:
The tighter compatibility between TRAIAN and LNT2LOTOS, and the fact that TRAIAN is now systematically invoked before LNT2LOTOS, enabled simplifications and code factorization between the various tools for LNT:
Twelve bugs have been fixed in the various tools for LNT. New verifications and better error messages have been added to LNT_MERGE and LNT.OPEN. The following algorithmic enhancements have been brought to LNT2LOTOS:
The progressive transformation of LNT2LOTOS into a back-end LOTOS code generator by suppressing many semantic checks already done by TRAIAN, together with the elimination of LNT_DEPEND and LPP, which performed preliminary passes on the LNT source code, led to significant speed improvement for the LNT tool chain. The time needed by LNT.OPEN to compile 13,500+ correct LNT programs was reduced from 25 hours down to 11 hours 40 minutes.
The LNT2LOTOS Reference Manual, the LNT tools, the EUCALYPTUS user interface, the editor style files for LNT, the CADP manual pages, many CADP demos, and the web sites for CADP and TRAIAN have been updated to implement and document these changes. In particular, a manual page for TRAIAN was added to CADP and there is now one single entry point gathering all information available about LNT.
The "upc" shell script was extended to ease the migration of LNT programs. These can be upgraded (automatically or semi-automatically) by invoking, in that order, the following commands:
upc 2024-LNT-SELECT <directory> upc 2024-LNT-EXIT <directory> upc 2024-LNT-MINUS <directory>
For details, see HISTORY entries: #2956 #2957 #2958 #2960 #2961 #2962 #2963 #2965 #2971 #2972 #2973 #2974 #2979 #2981 #2982 #2983 #2986 #2988 #2990 #2991 #2992 #2994 #2997 #2999 #3000 #3001 #3009 #3010 #3011 #3013 #3014 #3016 #3017 #3020 #3021 #3023 #3024 #3025 #3026 #3028 #3034 #3036 #3038 #3041 #3042 #3043 #3044 #3045 #3046 #3047 #3048 #3049 #3050 #3051 #3052 #3053 #3054 #3055 #3056 #3057 #3058 #3059 #3060 #3062 #3063 #3064 #3066 #3068 #3069 #3070 #3072 #3075 #3080 #3081
In addition to two bug fixes in the XTL compiler and its "radius.xtl" library, the XTL language was extended by adding "replace" functions for the predefined type "action" and for any external XTL type defined in C. These functions are useful in "for" loops to update the values of accumulator variables.
Also, the CADP distribution was reorganized by putting the predefined libraries of MCL and XTL into separate directories, and by progressively reducing the role of the EVALUATOR 3 model checker, which is superseded by EVALUATOR 4. From now on, EVALUATOR 3 is no longer invoked in the CADP demo examples but is kept to cross-check the results produced by EVALUATOR 4 on "data-less" formulas, which only manipulate strings and regular expressions.
For details, see HISTORY entries: #2985 #2993 #2995 #3035 #3061
In addition to bug fixes in FSP2LOTOS and CAESAR.INDENT, the following enhancements have been brought:
For details, see HISTORY entries: #2975 #2977 #2978 #2998 #3037
Among many changes dictated by evolutions of operating systems and C compilers, one can mention the following ones:
For details, see HISTORY entries: #2964 #2967 #2970 #2976 #2980 #2987 #2989 #3012 #3030 #3039 #3040 #3077 #3078 #3073 #3079 #3084 #3085 #3086
Besides two bug fixes in the "-network" option of EXP.OPEN when used to produce NUPN files, and in the expansion by SVL of "leaf" and "root leaf" reduction operators, the compositional verification tools of CADP have been enhanced as follows:
For details, see HISTORY entries: #2959 #2969 #3002 #3004 #3005 #3006 #3018 #3065 #3071
We are extremely grateful to the following scientists, who provided us with valuable feedback and advice about the use of CADP: