TY - GEN
T1 - UTL
T2 - 40th Annual ACM Symposium on Applied Computing, SAC 2025
AU - Darif, Ikram
AU - El Boussaidi, Ghizlane
AU - Kpodjedo, Sègla
AU - Paz, Andrés
N1 - Publisher Copyright:
Copyright © 2025 held by the owner/author(s).
PY - 2025/5/14
Y1 - 2025/5/14
N2 - Requirements specification is an important phase of the software development life cycle, especially for safety critical systems (SCS) due to their high number of requirements and certification constraints. The use of templates to specify requirements has been proposed in literature as they strike a balance between the ambiguity of natural language and the difficulty of using formal languages. However, existing template-based approaches use different notations, rarely provide tool support, and generally target specific types of requirements. Thus, it is often necessary to create new custom templates, but it is difficult to do so given that there is no well-defined process to follow and no unified notation to reuse. To fill this gap, we propose the Unified Templates Language (UTL), a unified language for the definition of requirements templates and a process for using the language. We leverage model-driven engineering (MDE) to build UTL. Using MDE supports the creation and evolution of templates, and it eases the extension, maintainability, and implementation of UTL. UTL was proposed to support an industrial partner in the certification of a SCS, and implemented within a requirements specification tool. In this paper, we introduce the abstract syntax, concrete syntax, well-formedness rules and the semantics of UTL. We also provide a systematic process for creating templates using UTL. We evaluate the ability of UTL to specify different types of templates, and its usability and usefulness through a user study. The results show that UTL covers different kinds of templates, and, together with its supporting tool, it eases the creation of templates.
AB - Requirements specification is an important phase of the software development life cycle, especially for safety critical systems (SCS) due to their high number of requirements and certification constraints. The use of templates to specify requirements has been proposed in literature as they strike a balance between the ambiguity of natural language and the difficulty of using formal languages. However, existing template-based approaches use different notations, rarely provide tool support, and generally target specific types of requirements. Thus, it is often necessary to create new custom templates, but it is difficult to do so given that there is no well-defined process to follow and no unified notation to reuse. To fill this gap, we propose the Unified Templates Language (UTL), a unified language for the definition of requirements templates and a process for using the language. We leverage model-driven engineering (MDE) to build UTL. Using MDE supports the creation and evolution of templates, and it eases the extension, maintainability, and implementation of UTL. UTL was proposed to support an industrial partner in the certification of a SCS, and implemented within a requirements specification tool. In this paper, we introduce the abstract syntax, concrete syntax, well-formedness rules and the semantics of UTL. We also provide a systematic process for creating templates using UTL. We evaluate the ability of UTL to specify different types of templates, and its usability and usefulness through a user study. The results show that UTL covers different kinds of templates, and, together with its supporting tool, it eases the creation of templates.
KW - domain specific language
KW - model-driven engineering
KW - requirement templates
KW - requirements specification
KW - safety critical systems
UR - https://www.scopus.com/pages/publications/105006438978
U2 - 10.1145/3672608.3707911
DO - 10.1145/3672608.3707911
M3 - Contribution to conference proceedings
AN - SCOPUS:105006438978
T3 - Proceedings of the ACM Symposium on Applied Computing
SP - 1489
EP - 1498
BT - 40th Annual ACM Symposium on Applied Computing, SAC 2025
PB - Association for Computing Machinery
Y2 - 31 March 2025 through 4 April 2025
ER -