FACT
Functional Algebra for Continuous-Time Modeling
Modeling continuous-time systems is a fundamental task in various scientific and engineering disciplines. Traditional modeling approaches often lack the composability and abstraction capabilities desired for complex system analysis. There is a need for a domain-specific language (DSL) that facilitates the modeling of continuous-time systems with a strong mathematical foundation and support for functional programming paradigms.
Proposed Solution
FACT (Functional Algebra for Continuous Time) is a domain-specific language developed in Haskell for modeling continuous-time systems. It is inspired by the Aivika simulation library and aims to provide a composable and expressive framework for system modeling.
Key features include:
- Functional Algebra: FACT leverages Haskell’s functional programming capabilities to define and compose continuous-time models elegantly.
- Literate Programming: The project employs literate programming techniques, ensuring that documentation and source code are intertwined, enhancing readability and maintainability.
- Simulation Examples: Includes examples like the Lorenz Attractor to demonstrate the modeling capabilities and provide benchmarks.
Potential Impact
FACT offers a robust platform for researchers and practitioners to model and simulate continuous-time systems with precision and clarity. By integrating functional programming principles, it enhances the modularity and reusability of models, potentially accelerating development cycles in scientific computing and engineering applications.
References
E. Medeiros, E. Peixoto and E. Lemos, “FACT: A Domain-Specific Language Based on a Functional Algebra for Continuous Time Modeling,” 2023 Winter Simulation Conference (WSC), San Antonio, TX, USA, 2023, pp. 2650-2661, doi: 10.1109/WSC60868.2023.10408703.
Students
- 2023-2025: Eduardo Lemos Rocha, Master’s in Computer Science, University of Brasília.