Typing Requirement Model as Coroutines
<|reference_start|>Typing Requirement Model as Coroutines: Model-Driven Engineering (MDE) is a technique that aims to boost productivity in software development and ensure the safety of critical systems. Central to MDE is the refinement of high-level requirement models into executable code. Given that requirement models form the foundation of the entire development process, ensuring their correctness is crucial. RM2PT is a widely used MDE platform that employs the REModel language for requirement modeling. REModel contains contract sections and other sections including a UML sequence diagram. This paper contributes a coroutine-based type system that represents pre- and post-conditions in the contract sections in a requirement model as the receiving and yielding parts of coroutines, respectively. The type system is capable of composing coroutine types, so that users can view functions as a whole system and check their collective behavior. By doing so, our type system ensures that the contracts defined in it are executed as outlined in the accompanied sequence diagram. We assessed our approach using four case studies provided by RM2PT, validating the accuracy of the models.<|reference_end|>
@article{gu2024typing,
    title={Typing Requirement Model as Coroutines},
    author={Qiqi Gu, Wei Ke},
    journal={arXiv preprint arXiv:2405.10060},
    year={2024},
    doi={10.1109/ACCESS.2024.3352115},
    archivePrefix={arXiv},
    eprint={2405.10060},
    primaryClass={cs.SE cs.PL}
}