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
Markdown
# 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