A Quantitative Type Approach to Formal Component-Based System Design
Functional programming languages are recognised for their high abstraction level, high expressiveness, formal semantics, and correspondence to formal logic. However, the utilisation of functional languages in system design is limited because the existence of stateful, black-box components, e.g., simulation models and legacy components, breaks the functional languages’ ground. Existing solutions to this situation, e.g. monads, are sub-optimal due to their ad-hoc and overconstrained nature. To address this challenge, we employ the quantitative type theory (QTT), which combines the dependent and linear (resource) type systems, for component specification. QTT enables stateful components to be used as pure functions with minimised restrictions. To this end, a functional language with QTT can be used for glue specification in a component-based design framework with all its advantages leveraged. The proposed approach is demonstrated by a case study in which a QTT-based RV32I instruction set architecture (ISA) specification in Idris2, a Haskell-like language, is simulated, verified, transformed and implemented in Verilog HDL by utilising properties of pure functions, which confirms the advantages of the proposed approach.
Authors
- Ingo Sander (ORCID: https://orcid.org/0000-0003-4859-3100)
- Rui Chen (ORCID: https://orcid.org/0000-0003-0705-6739)
Institutions
- KTH Royal Institute of Technology (SE)
Publication Details
- Published
- 2024-09-04
- DOI
- https://doi.org/10.1109/fdl63219.2024.10673844
- Citations
- 1
- Primary Topic
- Manufacturing Process and Optimization
- Type
- article
- Field-Weighted Citation Impact
- 0.35
Funders
- VINNOVA