UNPKG

uppaal-to-tchecker

Version:

JavaScript implementation of Uppaal to TChecker translator - convert Uppaal timed automata models to TChecker format

75 lines (62 loc) 2.92 kB
# Changelog All notable changes to this project will be documented in this file. ## [1.3.0] - 2025-08-10 ### Added - **Template and parameterization support**: Full template functionality with parameter substitution - **Enhanced location attributes**: Support for `urgent`, `committed`, and invariant conditions - **Improved broadcast channel handling**: Proper synchronization vectors for broadcast channels - **Complex guard conditions**: Enhanced parsing of compound boolean expressions with `&&`, `||` - **Multiple assignment statements**: Support for comma-separated assignments in transitions - **Template instance parsing**: Automatic detection and processing of template instantiations ### Enhanced - **XTA parser improvements**: Better multi-line content normalization and section splitting - **Expression translator**: Added parameter substitution and constant resolution - **Transition parsing**: Enhanced support for complex transition statements - **Error handling**: More robust parsing with better error reporting ### Fixed - Template parameter substitution in expressions - Broadcast vs. point-to-point synchronization vector generation - Multi-line transition statement parsing with proper brace matching - Location attribute parsing (`urgent`, `committed`, invariant conditions) ## [1.2.0] - 2024-XX-XX ### Added - Initial JavaScript implementation of uppaal-to-tchecker - Complete CLI interface compatible with C++ version - Programmatic API for Node.js applications - Support for XTA and XML input formats - Expression translation with full operator support - Declaration processing for variables, clocks, and arrays - Channel synchronization (CCS-like and broadcast) - Process template instantiation - TChecker output format generation - Comprehensive test suite - Documentation and examples ### Features - **Input Formats**: XTA, XML (auto-detection supported) - **Language Support**: XTA, TA languages - **Synchronization**: Point-to-point and broadcast channels - **Data Types**: int, bool, clock, scalar types - **Arrays**: Automatic flattening for complex arrays - **Templates**: Parameter substitution and instantiation - **Locations**: Urgent and committed location support - **Expressions**: Full expression evaluation and translation ### Compatibility - Node.js >= 14.0.0 - CLI interface identical to C++ version - Output format identical to original implementation - Same translation semantics and limitations ### Dependencies - xml2js: ^0.6.2 (XML parsing) - commander: ^11.1.0 (CLI interface) - chalk: ^4.1.2 (Terminal colors) ### Development Dependencies - jest: ^29.7.0 (Testing) - webpack: ^5.89.0 (Building) ## Future Releases ### Planned Features - Template specialization improvements - Better error messages with location information - Support for more Uppaal language features - Performance optimizations - Web browser compatibility - TypeScript definitions