tightbeam-rs 0.9.0

A secure, high-performance messaging protocol library
Documentation
//! Export trait for scenario results
//!
//! This module provides the `ScenarioResultExport` trait for exporting
//! scenario results to various formats for tool integration and reporting.

/// Export trait for scenario results to various formats
///
/// Provides standardized export capabilities for integration with:
/// - Academic tools (UPPAAL, TIMES) via XML/TCTL formats
/// - Documentation tools via Markdown reports
/// - Standards compliance (DO-178C) via human-readable reports
///
/// Default implementations return stub content indicating the format
/// is not yet implemented. Override in concrete types to provide
/// actual export functionality.
pub trait ScenarioResultExport {
	/// Export to Markdown (human-readable report)
	///
	/// Generates a comprehensive Markdown report suitable for:
	/// - Documentation
	/// - Standards compliance (DO-178C/IEC 61508)
	/// - Human review
	///
	/// # Returns
	///
	/// A Markdown-formatted string containing all test results
	fn to_markdown(&self) -> String {
		String::from("<!-- Markdown export not yet implemented -->")
	}

	/// Export to UPPAAL XML format for timed automata verification
	///
	/// Generates UPPAAL XML format for integration with UPPAAL model checker.
	/// Useful for formal verification of real-time properties.
	///
	/// # Returns
	///
	/// An UPPAAL-compatible XML string
	fn to_uppaal(&self) -> String {
		String::from("<!-- UPPAAL export not yet implemented -->")
	}

	/// Export to TCTL (Timed Computation Tree Logic) specification
	///
	/// Generates TCTL specification format for temporal logic verification.
	/// Useful for expressing timing properties formally.
	///
	/// # Returns
	///
	/// A TCTL specification string
	fn to_tctl(&self) -> String {
		String::from("-- TCTL export not yet implemented")
	}

	/// Export to FDR4 format
	///
	/// Generates FDR4 format for integration with FDR4 model checker.
	/// Useful for formal verification of real-time properties.
	///
	/// # Returns
	///
	/// A FDR4 format string
	fn to_fdr4(&self) -> String {
		String::from("-- FDR4 export not yet implemented")
	}
}