1. Introduction
The successful development of complex multidisciplinary products such as airplanes, aircraft, and automobiles relies on rigorous systems engineering design methodologies. At the same time, it also requires robust support from effective requirements engineering practices [
1]. During the development of complex systems, stakeholders’ needs must evolve into design artifacts through the systems engineering design process. However, managing the requirements for such complex systems is fraught with challenges [
2]. A report published by the Standish Group suggests that a significant reason for the failure of many projects is incomplete requirements and insufficient stakeholder involvement [
3]. Therefore, in the system design process, it is crucial first to define correct and unambiguous requirements and ensure deep stakeholder involvement in the system design for the successful development of the system [
4]. Secondly, different departments or organizations develop various design models and data based on the requirements. This can obscure multiple relationships between elements at different levels, thereby raising higher demands for the traceability management of requirements [
5]. Model-Based Systems Engineering (MBSE) is a mainstream approach supporting the design and development of complex systems throughout their entire lifecycle. Its core concept is to support requirements analysis, functional analysis, system design, and verification by developing a structured and standardized model [
6,
7]. SysML is a systems modeling language proposed by the Object Management Group (OMG) specifically for MBSE [
8]. The requirements diagrams provided by SysML can formally describe requirements and establish relationships between requirements and system modeling elements. However, SysML requirements diagrams only define two attributes: the requirement ID and description, and do not provide any constraints. They lack detailed definitions of the relationships between stakeholders, stakeholder needs, system design requirements, and the system models generated during the system design process, making it difficult to achieve traceability management of requirements from the source effectively.
Recently, the standardization and formalization of requirements have been extensively researched and have made significant progress [
9,
10,
11]. However, most requirements expressions remain independent of requirements traceability. In other words, the descriptions of requirements do not effectively assist in requirements traceability. Currently, there are several commercial requirements management tools, such as DOORS and Reqtify, that support requirements management and traceability. However, they need to be integrated with MBSE design tools to function effectively [
12,
13]. This multi-platform traceability management can lead to gaps in the top-down design process based on MBSE, making it difficult to ensure consistency between requirements and the models defined in MBSE. Additionally, there is related research that explores methods for formalizing and managing requirements traceability by extending SysML or defining domain-specific modeling languages [
14,
15]. However, while these methods can achieve requirements traceability management, they are not effectively integrated with MBSE methods. In other words, when requirements change, although it is possible to trace the affected upstream and downstream requirements and design artifacts, how this impact is linked through the MBSE-based system design process cannot be determined. Additionally, these methods almost always rely on or incorporate SysML for traceability management. However, SysML’s lack of description for physical characteristics and its non-executable nature may require specific domain models to be implemented in conjunction with other simulation languages and tools, leading to significant challenges in requirements traceability management and verification [
16]. Currently, there are also related efforts aiming to establish links between requirements and MBSE-based functional architectures by defining domain-specific modeling languages to achieve requirements traceability and simulation verification [
17]. However, this verification is only focused on functional requirements.
In our previous research, we developed an integrated intelligent modeling and simulation language called X language, and its corresponding MBSE methodology, X-SEM, based on SysML, Modelica, and Discrete Event Systems Specification (DEVS) [
18,
19,
20]. X language and its methodology effectively support object-oriented modeling, facilitating requirements analysis, functional analysis, system logical architecture design, and physical architecture design. Furthermore, X language is a simulatable modeling language supporting collaborative verification of functional and non-functional requirements.
Based on this foundation, this paper first extends X language and establishes a specification for requirement modeling in two forms—graphical and textual—oriented towards MBSE, termed ReqXL. Enriching the syntax and semantics of requirement description and traceability, enables the construction of correct, unambiguous requirements and facilitates the establishment of a complete traceability chain from requirement origins to requirement realization, encompassing design components, and their related parameters or attributes. Furthermore, the two modeling forms of requirement description bring benefits to modeling personnel in achieving traceability management: the graphical modeling form offers an intuitive understanding of associations among various requirements and system design models, while the standardized textual modeling form defines unambiguous requirement models and facilitates automated requirement traceability.
Secondly, building upon ReqXL, this paper proposes an algorithm for automated requirement traceability, supporting the automatic capture of implicit requirement relationships among different hierarchical model elements. This ensures rapid identification of the impact of requirement changes on the system design process and facilitates prompt adjustments to system design solutions.
Lastly, leveraging ReqXL and X language, an integrated approach is proposed for MBSE encompassing requirement modeling, traceability management, and verification. This integrated approach effectively establishes associations between requirement models and hierarchical models generated during the system design process, swiftly clarifying how requirements influence the design process and effectively linking them with system design models. Consequently, when system requirements change, rapid identification of their impact on design allows for expedited iterative system design. Additionally, the integrated simulation capability of X language for both functional and non-functional requirements ensures the establishment of simulation models based on a unified language. This not only ensures consistency among different hierarchical models, but also avoids cross-platform traceability management issues. Such an integrated approach to requirement modeling, traceability management, and verification significantly enhances the efficiency of system development.
The remainder of this paper is structured as follows.
Section 2 introduces the current state of research on requirements modeling, traceability management, and verification, as well as the relevant background on the X language family. In
Section 3, we provide a detailed introduction to the proposed requirements modeling specification, ReqXL, including the defined requirements metamodel and requirements syntax.
Section 4 presents an integrated framework for requirements modeling, traceability management, and verification based on X language and ReqXL. This section sequentially introduces the implementation methods and benefits of requirements modeling, traceability management, and verification. Finally, we describe the integrated platform developed based on the aforementioned methods. In
Section 5, we demonstrate the effectiveness of our approach using a case study of an aircraft electrical system. The paper concludes with a summary and outlook on future work.
3. ReqXL Overview
To effectively support the formalized description of stakeholder needs and system design requirements during the system design process, as well as to achieve traceability among requirements, the sources of requirements involved in the MBSE development process, functional models, and system components. To verify requirements, we have defined a formal modeling specification for requirements based on X language requirement diagram, named ReqXL. ReqXL adopts a model-based and structured language approach, including specifically designed semantics for describing stakeholder needs, system design requirements, and capturing their traceability links used in the MBSE development process. These requirement semantics are introduced in
Section 3.1, and the abstract syntax of ReqXL is provided in
Section 3.2.
Figure 1 shows how ReqXL is related to other elements of X language through import relationships. Therefore, functional models, structural models, and behavioral models established in X language can be imported into ReqXL, facilitating effective traceability between these models and requirements defined during the MBSE development process. Additionally, structural models and behavioral models defined using X language can automatically generate simulation models to verify requirements. This enables an integrated process of requirement modeling, traceability, and verification, thereby improving the efficiency of system design and development.
3.1. Semantic Structure
The purpose of designing ReqXL is to enable requirements engineers and systems engineers to identify stakeholder needs, system design requirements, and effectively define the sources of requirements, authors, and responsible persons, as well as the hierarchy and types of requirements. The description of system design requirements must ensure unambiguity and verifiability. Additionally, tracking should be conducted in both forward and backward directions. ReqXL is an extension of X language tailored for the requirements domain, so the model file extensions are the same as existing X language models, which is .xl. In this section, we will define the semantics of ReqXL based on the goals we aim to achieve.
The semantics of ReqXL are designed to enable modelers to clearly define requirements. ReqXL aims to express requirements simply and understandably. It handles all types of requirements and records information about the requirements as attributes.
Table 1 provides an informal detailed semantic design of ReqXL, defining the representation of requirements, types of requirements, requirement attributes, and requirement relationships.
First, ReqXL offers two modeling forms: requirement diagrams and requirement texts. Requirement diagrams facilitate the intuitive observation of relationships between requirements, model elements, and other entities, while also displaying specific details of the requirements. Requirement texts provide effective input for the automatic tracking and management of requirements, enabling data mining of implicit requirement relationships.
Second, ReqXL categorizes requirements into two main types: stakeholder needs and system design requirements. Stakeholder needs primarily originate from stakeholders and are often described vaguely and cannot be directly verified. System design requirements are derived by systems engineers using systems engineering methods based on stakeholder needs; they must be explicit and verifiable.
ReqXL records specific information about these two types of requirements as attributes. For example, the attributes for both types include the requirement ID, name, and description. Stakeholder needs also include the source of the need and the proposing stakeholder, while system design requirements include attributes such as level, priority, and type.
In addition to specifying requirements, ReqXL is used to establish traceability relationships between requirements and different elements from the system development process. Therefore, ReqXL provides ten types of requirement relationships to support the association between requirements, different personnel involved in the system development process, and model elements.
The most critical attribute in the requirements model is the description attribute. In ReqXL, stakeholder needs are mostly general expectations of the product proposed by stakeholders. Their description attributes do not strictly require a specific format. However, system design requirements ultimately need verification; therefore, their description attributes must be strictly defined. INCOSE provides relevant guidelines for standardized requirement descriptions. To define unambiguous and verifiable system design requirements, ReqXL adopts the requirement description format proposed by Carson [
10]. Different types of requirements should use different description formats, as illustrated in
Figure 2. For instance, functional requirements need to specify what functions the system should possess; performance requirements indicate how well a function should perform. Design constraint requirements impose restrictions on the feasible design space, while environmental requirements specify how the system should behave when exposed to specific environments. Lastly, suitability requirements encompass all “abilities”, such as maintainability, and reliability.
3.2. ReqXL Abstract Syntax
Here, we elaborate on the abstract syntax of ReqXL by introducing the ReqXL metamodel and BNF-based grammar.
3.2.1. ReqXL Metamodel
ReqXL incorporates concepts commonly used for specifying requirements. To express the requirement model in a structured manner, it must be defined through formalization.
Figure 3 provides an overview of the ReqXL metamodel describing requirement constructs, along with model elements involving traceability.
is a highly abstract element, encompassing requirements, needs, and trace links in ReqXL, along with related model elements imported from the X language, such as couple class models and discrete class models. In ReqXL, needs can specify their sources and stakeholders, while requirements can delineate their levels, types, roles, and priorities. Furthermore, each need or requirement possesses a descriptive attribute known as “text”, which articulates the specific content of the need or requirement in natural language. This “text” attribute can also be linked to related requirements or model elements. Notably, the “text” attribute of a requirement provides a structured description template based on its requirement type. Model elements typically capture X language components that we want to trace to needs or requirements.
is utilized to establish the relationships between requirements and other captured elements. There are four categories of trace links, encompassing a total of ten corresponding trace relationships, which are associated with two traceable elements: supplier and customer.
defines four-link categories: pre-specification requirement traceability (
), which refers to the connection between requirements and the preceding model elements upon which they are based; post-specification requirement traceability (
), which pertains to the link between requirements and subsequent development activities and model element; traceability between function and requirement (
) refers to traceability between requirements, use cases and functional activities in the system development process; and traceability between requirements (
) involves dependencies between requirements.
3.2.2. ReqXL Grammar
The ReqXL metamodel depicted in
Figure 3 is highly beneficial in guiding system engineers in writing requirements. For instance, it describes requirement content by specifying different types of requirements.
Figure 4 specifies the corresponding grammar for describing requirements and model elements, capturing some traceability information.
ReqXL mainly consists of four primary rules. Firstly, there is the rule for importing other model elements from X language. During system development, functionalities and components defined based on X language can be referenced to support requirement traceability. The use of these references is demonstrated through the import rule. The rule for stakeholder needs starts with a mandatory name. Stakeholder needs have a set of attributes: identifier, source, stakeholders, and description. The rule for requirements also begins with a mandatory name. Requirements have a set of attributes: identifier, responsible stakeholders, priority, type, level, and optimization roles. The possible values for priority, type, level, and optimization roles are enumerated types of different kinds. In ReqXL, stakeholder needs are generally vague and broad. Therefore, their description has no restrictions. Requirements, on the other hand, guide system design and must be unambiguous and verifiable. Therefore, we structure requirements. Specifically, different structured description templates are provided for five types of requirements (functional requirements, performance requirements, design requirements, etc.). The core objective of the traceability rule is to establish direct traceability links between stakeholders, stakeholder needs, requirements, model elements, etc. ReqXL provides 10 traceability relationships supporting trace links for four types (, , , and ) of traceability. Therefore, the proposal of ReqXL provides an opportunity to enable requirements modeling, traceability management, and verification.
4. Integrated Approach for Requirement Modeling, Traceability Management, and Verification
In this section, an integrated approach to requirement modeling, traceability management, and verification is proposed. Firstly, an integrated framework is presented, defining a unified process for requirement modeling, traceability management, and verification based on X language and ReqXL. Secondly, the implementation methods and potential advantages of requirement modeling and verification, as well as requirement traceability management, are introduced in detail. Finally, an integrated platform based on the aforementioned methods is developed.
4.1. Integrated Framework
To efficiently support requirement modeling, traceability management, and verification, an integrated framework is proposed, as shown in
Figure 5. Firstly, ReqXL is used to capture stakeholder needs and their sources. Secondly, the MBSE methodology based on X language and following the X-SEM can guide the creation of requirement models [
18,
19,
20].
Specifically, in the problem domain, the functional analysis process can transform stakeholder needs into functional models and guide the formulation of system-level and component-level design requirements. Based on the functional analysis, the logical architecture of the system and the design of various logical subsystems can be implemented according to the component-level design requirements. After defining the logical architecture, the process first enters the verification domain, where the logical architecture model can generate simulation test cases for functional component-level design requirements to verify functional requirements.
In the solution domain, the logical architecture model defined in the problem domain, along with non-functional component requirements, guides the definition of the final architecture. The final architecture defines the design of logical subsystems oriented toward functional requirements and physical subsystems oriented toward non-functional requirements. Once the final architecture is defined, the process re-enters the verification domain. In the verification domain, the final architecture model can generate simulation test cases for non-functional component-level requirements to verify non-functional requirements.
Additionally, the functional models, system design models (logical and physical models), and simulation test case models for functional and non-functional requirements generated during the system design can be imported into the requirement model defined by ReqXL. Through the requirement relationships provided by ReqXL, complete traceability from requirement sources to requirement verification is established. Finally, using the requirement relationships defined by ReqXL as input for the traceability generation algorithm, a complete requirement traceability chain is established, achieving the integrated goal of requirement modeling, traceability management, and verification.
Requirements modeling relies on the implementation of ReqXL in the integrated approach. ReqXL offers two views (graphical and text views) for requirements modeling, as illustrated in
Figure 6. The graphical view excels in intuitively displaying requirement relationships, providing a structured representation, and facilitating communication among engineers. The text view, on the other hand, allows engineers to easily modify the requirements model and provides a machine-readable format for the defined requirement relationships, which can be used as input for the traceability generation algorithm to infer implicit trace relationships. Additionally, ReqXL ensures the standardized modeling of stakeholder needs and system design requirements. Lastly, the “import” feature of ReqXL allows the functional models and system design models, which are established based on X language, to be imported into the ReqXL-based requirements model. This supports and guides the modeling of traceability relationships.
Requirement verification relies on the collaborative implementation of X language and ReqXL in the integrated approach. X language can integrate the modeling and simulation of both logical and physical models, ensuring that functional and non-functional requirements can be verified collaboratively through the definition of simulation test cases. Additionally, as shown in
Figure 6b, ReqXL can define simulation test cases and establish traceability relationships, linking simulation test cases with requirements.
Requirements traceability management relies on the collaborative implementation of X language and ReqXL in the integrated approach. Requirements traceability management includes two aspects: first, maintaining the requirements traceability chain established during requirements modeling and verification; and second, deriving implicit traceability chains based on the established traceability chain and expressing them graphically. As shown in
Figure 6b, ReqXL’s “traceability” feature can store the captured traceability relationships. Additionally, the graphical and text views of ReqXL can be converted into each other. Therefore, when changes occur in the requirement relationships, the modifications made in the graphical view simultaneously reflect in the text view. This brings great convenience to modelers for managing and maintaining the requirements model. Furthermore, ReqXL’s text view also facilitates the automatic capture of implicit traceability chains. The method for acquiring implicit requirement relationships and the automatic generation of traceability relationships will be elaborated in the next subsection.
In summary, the consistency between the requirements model, the functional model, the system design model, and the system simulation model defined by this unified modeling and simulation language based on ReqXL and X language is ensured. At the same time, this integrated approach avoids the establishment of requirement-tracking relationships between different platforms, which is beneficial to improve the efficiency of system development.
4.2. Auto-Generation Method for Requirement Traces
In
Figure 7, we depict the overall process for the automated generation of requirement traceability. First, a requirements engineer uses ReqXL to describe a set of requirements either graphically or textually. Then, during the MBSE-based system development process, it is necessary to capture other model elements established based on X language. These model elements are responsible for executing the specified actions within each requirement, particularly in the case of component requirements. Finally, during the system development process, systems engineers need to manually create all possible direct requirement links based on the different requirement relationships defined by ReqXL. These explicitly manually established requirement links are used to infer implicit links between stakeholder needs, system design requirements, system components, and test cases. The auto-generation algorithm for requirement traceability automatically generates these implicit links based on the requirement relationship inference rules and produces a complete graphical requirements traceability model. The following sections will focus on the derivation rules for requirement relationships and the auto-generation algorithm for requirement traceability.
4.2.1. Derivation Rules for Requirement Relationships
During the system development process, requirement changes are inevitable. Therefore, establishing effective traceability between stakeholders, stakeholder needs, requirements, and system design is crucial for the rapid iterative development of subsequent systems. In ReqXL, we can establish explicit links during the system development process. Additionally, implicit links need to be derived based on the semantics of requirement traceability relationships. This subsection focuses on various requirement traceability relationships in ReqXL and provides the derivation rules for implicit requirement relationships.
Ten types of requirement relationships are utilized to facilitate requirement traceability in ReqXL. The ,, and relationships belong to the type. The and relationships are used to establish forward traceability between stakeholder needs, stakeholders, and source of stakeholder needs. The , , , and relationships belong to either the or types. They are mainly used to establish traceability relationships between stakeholder needs, system design requirements, and system functional elements (use cases, activities). The , , and relationships belong to the type. The and relationships are used to establish traceability between stakeholder needs or system design requirements and system model elements or specific attributes of model elements. The relationship is used to establish verification relationships between stakeholder needs or system design requirements and test cases. The following section provides the derivation rules for implicit requirement relationships based on the brief classification.
In ReqXL, forward traceability relationships are primarily used to help system engineers identify the initiators or organizations behind stakeholder needs and the responsible parties for system design requirements. Establishing such explicit traceability relationships allows system developers to effectively correct and re-establish associations with the initiators or organizations behind forward stakeholder needs and the responsible parties for system design requirements when facing requirement changes. Therefore, the core of requirement derivation should focus on the other three types of traceability relationships: , , and .
The is primarily used to define the inclusion relationship between requirements. If there are requirements R1, R2, … Rn, where , and R1 is a composite requirement while R2, … Rn are atomic requirements, and R1 is composed of R2, … Rn, then there is a relationship between R1 and R2, … Rn. That is, . According to the definition of the relationship, the relationship has the following characteristics:
- (a)
Anti-reflexivity: the
relationship is anti-reflexive, meaning there is no decomposition from a requirement to itself. That is,
- (b)
Anti-symmetry: the
relationship is anti-symmetric, meaning there is no mutual compose between requirements. That is,
- (c)
Transitivity: the
relationship is transitive. That is,
The is commonly used to define an inheritance or generalization between requirements. Given two requirements, R1 and R2, where R1 is the provider requirement and R2 is the client requirement, if requirement R2 is derived from requirement R1 and the implementation of R1 is a prerequisite for R2, then there exists a relationship between R1 and R2. That is, . The relationship also exhibits the following characteristics:
- (a)
Anti-reflexivity: the
relationship is anti-reflexive, meaning there is no derivation from a requirement to itself. In other words,
- (b)
Anti-symmetry: the
relationship is anti-symmetric, meaning there is no mutual derivation between requirements. In other words,
- (c)
Transitivity: the
relationship is transitive. That is,
The relationship is used to define a specialization between a client and a target. Here, the client or provider can be a requirement, use case, or activity. If the provider element is R1 and the client element is R2, and if R2 refines R1 by providing a more specific description, then there exists a relationship between R1 and R2. That is, . The relationship also exhibits the following characteristics:
- (a)
Anti-reflexivity: the
relationship is anti-reflexive, meaning there is no refinement from a requirement to itself. In other words,
- (b)
Anti-symmetry: the
relationship is anti-symmetric, meaning there is no mutual refinement between requirements. In other words,
- (c)
Transitivity: the
relationship is transitive. That is,
The relationship is a generalized requirement relationship. In ReqXL, we generally recommend using the aforementioned three relationships to establish connections between requirements, as well as between requirements and other model elements. The relationship is primarily used to establish implicit cross-layer relationships. Typically, the relationship exhibits the following characteristics:
- (a)
When there is a
(
) relationship between
a and
b, and a
(
) relationship between
b and
c, a
relationship is established between
a and
c. In other words,
- (b)
When there is a
(
) relationship between requirements
a and
b, and a
(
) relationship between
b and
c, a
relationship is established between
a and
c. In other words,
- (c)
When there is a
(
) relationship between requirements
a and
b, and a
(
) relationship between
b and
c, a
relationship is established between
a and
c. In other words,
- (d)
When there exist R1 and R2, R2 and R3, …, Rn-1 and Rn, with , and the above three types of relationships exist between them without the same type of relationship being consecutive, a relationship is established between R1 and Rn.
The relationship is used to define the fulfillment relationship between system design components and requirements. Similar to the previous three types of requirement relationships, the satisfaction relationship also exhibits anti-reflexivity and anti-symmetry. However, since the satisfaction relationship spans both the requirement layer and the design layer, its transitivity is not considered. Satisfaction relationships are generally established between system component requirements and system design components. Therefore, it is often difficult to observe how stakeholder needs or top-level system design requirements are fulfilled. In ReqXL, we have defined four types of requirement relationships oriented towards and , along with their derivation rules. Consequently, the implicit relationship can also be easily derived. Specifically:
When there is a
/
/
/
relationship between
a and
b, and a
relationship between
b and
c, a
relationship is established between
a and
c (where the four types of relationships between
a and
b can be either explicit relationships or implicitly derived relationships). In other words,
The relationship is used to define the verification relationship between test cases and requirements. The relationship also exhibits anti-reflexivity and anti-symmetry. The relationships are generally established between system component requirements and test cases. In ReqXL, we have defined four types of requirement relationships oriented towards and , along with their derivation rules. Consequently, implicit relationships can also be easily derived. Specifically:
When there is a
relationship between requirements
a and
b, and a
relationship between
b and
c, a
relationship is established between
a and
c (where the four types of relationships between
a and
b can be either explicit relationships or implicitly derived relationships). In other words,
4.2.2. Auto-Generation Algorithm for Requirement Traces
An auto-generation algorithm for requirement traces based on the ReqXL specification was designed to generate traceability links automatically. It is based on collecting system elements associated with these requirements. In Algorithm 1, the input is a .xl file established using ReqXL. Firstly, the algorithm extracts the sources set
, the stakeholders set
S, the responsible stakeholders set
, the stakeholder needs set
N, system design requirement set
R, explicitly defined traceability relationship set
, and model elements
E imported from X language based on the established .xl file. Secondly, the algorithm retrieves all possible requirement trace paths from stakeholder needs to system components and test cases through a recursive method based on the acquired requirement traces. Then, based on the existing requirement traces and derivation rules, it iteratively traverses all elements on each path to obtain the implicit requirement traces. Finally, the algorithm returns a set
containing all elements and their traces.
Algorithm 1 Requirement traces generation |
- Require:
.xl files based on ReqXL - Ensure:
Trace Model: TM(,S,,N,R,E,)
- 1:
- 2:
- 3:
- 4:
- 5:
- 6:
|
- 7:
| ▹ triad (A,B,relationship) |
- 8:
for each do
|
▹ get child and parent nodes for all elements |
- 9:
- 10:
- 11:
end for
|
- 12:
function path_search()
| ▹ get all paths for requirement traces by recursion |
- 13:
if then - 14:
- 15:
else - 16:
for each do - 17:
- 18:
- 19:
end for - 20:
end if - 21:
end function
|
- 22:
for each do
| ▹ get all paths relevant to stakeholder needs |
- 23:
- 24:
end for
|
- 25:
for each do
| ▹ get all implicit traces |
- 26:
for each do - 27:
for each do - 28:
if The derivation rule holds then - 29:
- 30:
end if - 31:
end for - 32:
end for - 33:
end for - 34:
- 35:
return TM(,S,,N,R,E,)
|
Currently, some SysML-based approaches require converting SysML diagrams into XML files to extract model elements and requirement relationships, which increases the difficulty of obtaining input information for algorithms. Additionally, some domain-specific modeling language-based methods establish requirement relationships by modeling each requirement individually, which also complicates the extraction of requirement relationships.
As shown in
Figure 6b, the ReqXL-based requirement modeling method separates the definition of model elements and requirement relationships, and the custom .xl text file format of ReqXL can be directly used as input for Algorithm 1. Therefore, extracting both model elements and requirement relationships is very straightforward, effectively reducing the implementation complexity of requirement traceability generation algorithms and increasing the efficiency of automatically generating traceability chains to a certain extent.
4.3. Integrated Platform for ReqXL and X Language
To effectively support system design engineers in integrated requirement modeling, traceability management, and verification, we have customized the development based on our self-developed XLab tool, which is oriented toward X language [
18,
19,
20]. XLab is a B/S architecture modeling and simulation platform that supports requirement modeling, functional modeling, system architecture design, and simulation verification based on X language and X-SEM. The original requirement modeling functionality of X language was derived from SysML’s requirement diagrams.
Therefore, in XLab, we have extended the requirement diagram to develop graphical modeling functions, text modeling functions, bidirectional conversion between graphical and text representations, and requirement traceability analysis functions oriented towards ReqXL, as shown in
Figure 8a,e. From a technical implementation perspective, the development of ReqXL-based graphical sources, line types, and related attributes is achieved using the
framework. The ReqXL-based text editing, code suggestion, and highlighting functions are implemented using the
framework. Utilizing the XML intermediate data format, the bidirectional conversion between graphical and textual models based on ReqXL is realized using the
conversion framework and ReqXL syntax. The requirement traceability analysis function based on ReqXL is implemented using Algorithm 1.
As shown in
Figure 8, the existing functions of XLab and the customized development functions for ReqXL enable integrated requirement modeling, traceability management, and verification on a unified platform. This approach, based on a unified language and platform, ensures consistency across models at various stages and can effectively enhance system development efficiency.
5. Case Study
The application case focuses on an aircraft electrical system to implement an integrated process of requirements management, traceability, and verification. In this context, the aircraft electrical system employs an MBSE approach based on X language, combined with ReqXL, to achieve an integrated process of requirements traceability management. This process, starting from capturing stakeholder needs and continuing through system verification, demonstrates the superiority of the proposed method.
5.1. Requirement Modeling and Verification
5.1.1. Capturing Stakeholder Needs
In this section, ReqXL is used to describe stakeholder needs. In the design of the aircraft electrical system, we begin with two specified stakeholder needs. We use the acronym SN to denote stakeholder needs. The descriptions are as follows:
SN1: lithium battery supplies power to all electrical equipment, ensuring the normal operation of the aircraft electrical system.
SN2: during the different phases of guidance, the power of all electrical equipment is adjusted according to predetermined instructions.
In
Figure 9, ReqXL specifies these stakeholder needs. These needs are proposed by the aircraft electrical system design team and originate from a design document. In ReqXL, forward traceability is captured based on the source and stakeholder attributes. Additionally, stakeholder needs are relatively general, vague, and not directly verifiable. Therefore, we need to transform these stakeholder needs into verifiable system design requirements through X language and its MBSE methodology, X-SEM, to achieve complete system design and closed-loop verification of the top-level stakeholder needs. On this basis, comprehensive traceability management is achieved using ReqXL.
5.1.2. Problem Domain: Black Box Stage
The first step in the black box stage is to transform stakeholder needs into use cases. For the aircraft electrical system, the relevant use case is “power distribution”. Since the operator needs to allocate the appropriate power to various electrical devices, the “
” use case encompasses four sub-use cases:
,
,
, and
, as illustrated in
Figure 10d. Once the use case diagram is established, the system context is also defined, as shown in
Figure 10b. Additionally, based on the use case diagram, a black box activity diagram can be constructed to depict the interaction behaviors between the aircraft electrical system and the operator. The black box activity diagram captures the use case scenarios by creating a flow of functional activities between the operator and the aircraft electrical system, as illustrated in
Figure 10c. The operator initiates the aircraft electrical system, and upon receiving the signal, the aircraft’s electrical system sequentially completes power startup and allocates power to each electrical device according to internal commands until the target is hit. By combining the stakeholder needs captured in
Figure 10a, the physical parameters (voltage, current, and power) that the aircraft electrical system must meet to satisfy the stakeholder needs can be analyzed and obtained, as shown in
Figure 10e.
In the black box stage, the stakeholder needs for the aircraft electrical system are refined into use cases. Based on the aforementioned analysis, the relationships between stakeholder needs and use cases can be detailed using ReqXL, as illustrated in
Figure 11.
5.1.3. Problem Domain: White Box Stage
In the white box stage, it is necessary to refine the black box functional activity flows into a white box implementation to further detail the use cases. Here, the functional activity logic executed by each subsystem during the aircraft’s flight is established using a white box activity diagram with swimlanes, as illustrated in
Figure 12a. The definition of the white box activity diagram not only guides system engineers in defining system design requirements but also helps to outline the logical architecture of the aircraft electrical system.
Based on the use cases and functional activity analysis within the problem domain, system design requirements can be derived. We use acronyms to formulate the system design requirements. The detailed descriptions are as follows:
SR1: functional requirement: the aircraft electrical system shall be continuously powered during guidance.
SR2: functional requirement: the aircraft electrical system shall ensure that all electrical equipment operates normally during guidance.
Our goal is to address downstream traceability at a fine-grained level through ReqXL. Therefore, based on the analysis process of the problem domain, component-level requirements are derived. These requirements can be directly traced to individual classes or small groups of classes that contribute to fulfilling the requirement. We use acronyms to specify the component requirements. The detailed descriptions are as follows:
CR.1: design requirement: the SOC of the lithium battery shall be no less than 0 during guidance.
CR.2: design requirement: the voltage of the lithium battery shall be maintained at 27 ± 3 V during guidance.
CR.3: functional requirement: the radar shall warm up normally.
CR.4: functional requirement: the radar shall be on high voltage normally.
CR.5: functional requirement: the radar shall adjust the power according to the control instruction.
CR.6: functional requirement: the rudder shall start up normally.
CR.7: functional requirement: the rudder shall adjust the power according to the control instruction.
CR.8: functional requirement: the fuse shall ignite normally.
CR.9: functional requirement: the fuse shall adjust the power according to the control instruction.
As shown in
Figure 13, ReqXL is used to describe use cases, activities, system design requirements, component requirements, and the relationships between them. Next, it is necessary to establish the logical architecture of the aircraft electrical system and the internal behaviors of each logical subsystem to satisfy and verify the component requirements. The logical architecture model of aircraft electrical systems generally only achieves satisfaction and verification of functional requirements. Non-functional requirements such as CR.1 and CR.2 must be addressed and validated in the solution domain. Therefore, in the problem domain, it is necessary to first establish the logical architecture of the aircraft electrical system and utilize ReqXL to achieve satisfaction and verification of functional component requirements.
In X language, the logical architecture of the aircraft electrical system is designed following a top-down modeling approach, using the
class to define the system’s logical architecture. The definition diagram in
Figure 12b describes the logical subsystems included in the aircraft system, while the connection diagram in
Figure 12c depicts the signal and data interactions among the six subsystems (radar, rudder, fuse, scenario control system, etc.). Additionally, an operator subsystem is added as an external stimulus to the aircraft electrical system.
Figure 12d provides a textual representation of the logical architecture.
Based on the determined logical architecture, behavior modeling and simulation of each logical subsystem need to be conducted to satisfy and verify component requirements CR.3 to CR.9. From the descriptions of component requirements CR.3 to CR.9, it can be seen that CR.3 to CR.5 are fulfilled by the radar subsystem, CR.6 to CR.7 are fulfilled by the rudder subsystem, and CR.8 to CR.9 are fulfilled by the fuse subsystem. Here, the radar subsystem is selected as an example. The structure and behavior of the radar subsystem are defined using discrete class in X language. The definition diagram of the discrete class specifies the interaction ports, parameters, and variables of the radar subsystem with other subsystems, as shown in
Figure 14a. The state machine diagram defines the transitions of the radar subsystem’s states (off, preheat, and high-voltage activation) according to control commands, as shown in
Figure 14b.
Figure 14c provides a textual representation of the radar subsystem. The modeling process for the other subsystems is similar to that of the radar subsystem and will not be repeated here.
5.1.4. Verification Domain for Logical Architecture
After completing the logical models for all subsystems, the logical architecture model based on
class and all subsystem models based on
class are merged into a simulatable project file. Compilation and simulation are then performed using X language compiler and simulator to verify the requirements. Here, three simulation test cases (sim_radar, sim_rudder, and sim_fuse) are defined to verify component requirements CR.3 to CR.9. As shown in
Figure 15, sim_radar verifies CR.3 to CR.5, sim_rudder verifies CR.6 to CR.7, and sim_fuse verifies CR.8 to CR.9.
Based on the above analysis, ReqXL is used to describe the relationships between component requirements, relevant subsystems, and simulation test cases, as shown in
Figure 16.
5.1.5. Solution Domain
In the previous subsection, component requirements CR.1 and CR.2 are non-functional requirements that serve as design constraints for the battery subsystem. In the solution domain, the final architecture of the aircraft electrical system is realized by considering the physical characteristics of each subsystem based on the logical architecture model. Since component requirements CR.1 and CR.2 are aimed at the battery subsystem, we will illustrate the establishment of the final architecture model of the aircraft electrical system using the battery subsystem as an example. The physical model of the battery system is designed based on the equivalent model framework referenced in the literature [
46], with the State of Charge (SOC) calculation using the ampere-hour integration method. In X language,
class is used to model the battery subsystem.
As shown in
Figure 17a, the definition diagram of the couple class defines the composition of the battery subsystem. The battery subsystem consists of the SOC calculation module, Resistance–Capacitance (RC) calculation module, voltage calculation module, and current calculation module. The connection diagram of the coupling class defines the interactions between these modules, as shown in
Figure 17b.
Figure 17c provides a textual representation of the battery subsystem. The construction of other subsystems follows a similar modeling process to that of the battery subsystem, and will not be elaborated here.
5.1.6. Verification Domain for Final Architecture
After establishing all subsystems, all subsystem models are merged into a simulatable project file to verify the requirements. Here, we define a simulation test case (sim_battery) to verify component requirements CR.1 and CR.2, as shown in
Figure 18.
Based on the above analysis, ReqXL is used to describe the relationships between component requirements, related subsystems, and simulation test cases. As shown in
Figure 19, the relationships between component requirements CR.1 and CR.2, related subsystems, and simulation test cases are supplemented.
5.2. Requirement Traceability Management
While completing the modeling and verification of the requirements for the aircraft’s electrical system, the comprehensive requirements model (including requirement definitions and relationships) has been progressively defined based on ReqXL, as illustrated in
Figure 9,
Figure 11,
Figure 13,
Figure 16 and
Figure 19. When these requirements models are integrated, they form a complete requirements model. This requirements model encompasses all model elements and their explicit traceability links, from the source of the requirements to their verification.
At this stage, we can use Algorithm 1 to produce explicit and inferred links between stakeholder needs for the aircraft electrical system, system design requirements, system design components, and simulation test cases. After generating potential traceability links between all model elements, we can describe the created traceability links using a graphical model. In XLab, by right-clicking the corresponding ReqXL file and selecting the hierarchy analysis button, the visualization of the requirements traceability links can be achieved.
Here, we select the stakeholder need
to demonstrate the effectiveness of the Algorithm 1. As shown in
Figure 20, stakeholder need
can be effectively traced back to its source and to the corresponding stakeholders. Additionally, using the design methodology based on X language and X-SEM, it can be clearly shown how SN.1 establishes traceability relationships with system design requirement SR.1 and component requirements CR.1 and CR.2. In the figure, black links represent explicit links, while red links are automatically generated by Algorithm 1, associating the top-level stakeholder need SN.1 with the designed battery subsystem and the simulation test case sim_battery. This is very useful for detecting the impact of requirements changes on all related requirements and model elements.
5.3. Discussion
Based on the integrated framework proposed in
Section 4.1, an integrated process for requirements modeling, traceability management, and verification of the aircraft electrical system was achieved by combining ReqXL with the previously developed X language and methodology, X-SEM. Specifically, during the system design process, stakeholder needs, corresponding stakeholders, and the sources of these needs are initially defined using ReqXL. Subsequently, under the guidance of X-SEM, comprehensive traceability links are progressively established between stakeholder needs, use cases, activities, system-level requirements, component-level requirements, design components, and simulation test cases through the integration of the X language with ReqXL. Finally, the automatic traceability process is executed using the proposed Algorithm 1. When stakeholder needs change, the predefined traceability links, along with the implicit traceability links derived from Algorithm 1, facilitate the rapid identification and localization of how these changes impact the system’s functionality, architectural design, and verification process. This integrated approach significantly enhances the development efficiency of the aircraft electrical system.
Based on previous experience, it appears that integrating ReqXL with SysML can, to some extent, achieve an integrated process for requirements modeling, traceability management, and verification of aircraft electrical systems. However, as previously mentioned, SysML cannot describe the system’s physical characteristics and perform simulations. This limitation results in the inability to model and simulate the physical architecture of the aircraft within the solution and verification domains, such as the battery subsystem. Consequently, the integration of ReqXL and SysML struggles to establish complete traceability links, making it difficult to achieve an integrated approach to requirements modeling, traceability management, and verification.
A feasible approach is to integrate ReqXL, SysML, and simulation languages such as Modelica and MATLAB/Simulink to realize an integrated process for the aircraft electrical system’s requirements modeling, traceability management, and verification. However, this multi-language and multi-platform integration approach faces challenges in maintaining consistency between requirements and other models, in addition to the high learning curve for modelers. In contrast, the X language is a unified modeling and simulation language that combines SysML’s system modeling capabilities with Modelica’s multi-domain unified modeling and simulation capabilities. Therefore, the integration of ReqXL with the X language effectively avoids the aforementioned drawbacks.
It is worth noting that the integrated approach proposed in this paper is a general method designed for complex multidisciplinary products and is not limited to product development in the aerospace field. In the future, we plan to consider applying this integrated method to industries such as automotive and marine.
6. Conclusions and Future Works
Currently, the methods for requirements modeling, traceability management, and verification in Model-Based Systems Engineering (MBSE) encounter several challenges. First, the MBSE-oriented modeling language, SysML, lacks the rich syntax and semantics necessary to precisely model requirements and fully capture the traceability from the source of requirements to system components and their specific attributes. Second, the absence of capabilities within SysML to describe physical characteristics and perform simulations necessitates the integration of external simulation languages, such as Modelica and MATLAB/Simulink, to achieve a cohesive process for requirements modeling, traceability management, and verification. However, this multi-language and multi-tool integration approach presents significant challenges in maintaining consistency between requirements and system design models, as well as ensuring traceability during changes to requirements. Furthermore, current approaches to requirement traceability are predominantly manual, lacking an automated method for effective traceability.
To address the aforementioned issues, this paper proposes an integrated approach for modeling requirements, managing traceability, and verification within an MBSE environment, building on a previously introduced unified modeling and simulation language, X language.
The approach begins by defining a requirement modeling specification called ReqXL, tailored to the requirements diagram of the X language and the unique characteristics of MBSE development. ReqXL is structured to depict stakeholder needs, system design requirements, and to establish syntax and semantics necessary for generating traceability links during the MBSE development process. Based on ReqXL, it is possible to achieve precise modeling of requirements. Additionally, it ensures the modeling of complete traceability relationships from the source of the requirements to the system components and their attributes. Subsequently, the paper outlines the derivation rules for requirement traceability based on ReqXL and proposes an algorithm for automated traceability generation. This algorithm can automatically generate the upstream and downstream traceability chains for selected requirements. This ensures that when requirements change, it automatically identifies how the changes impact the system’s functionality, architectural design, and verification process. This study also proposes an integrated framework that achieves unified requirements modeling, traceability, and verification by combining ReqXL with the previously introduced X language and the X-SEM methodology. This integrated approach effectively ensures the consistency of models across different levels during the system development process through language-level unification. Additionally, it facilitates more convenient automatic traceability and verification of requirements.
Currently, we have implemented custom development functions for requirements modeling and automatic traceability analysis using ReqXL on the XLab integrated modeling and simulation platform tailored for the X language. The effectiveness of this approach has been demonstrated through a case study involving the development of an aircraft electrical system.
Although ReqXL is an extension of the requirements modeling specification based on the X language, integrating ReqXL with SysML and its related software tools, such as Rhapsody and Cameo System Modeler, holds practical significance to a certain extent.
In the future, we will explore the integration of ReqXL with existing software tools that support SysML. Additionally, we will focus on achieving the synergy between MBSE and Multidisciplinary Design and Optimization (MDO) by combining X language with ReqXL and its defined optimization role attributes. This approach aims to create a cohesive framework for requirements, system design, verification, and optimization, utilizing a unified language and software to enhance the development efficiency of complex systems. Furthermore, the textual representations of X language and ReqXL provide opportunities for the automatic generation of requirements models and system architecture models based on a large language model.