|dc.description.abstract||Avionics systems are becoming indispensable on both military and civil aircraft. As more and more of their vital functions are controlled by electronic devices, their system qualities such as safety, reliability, and fuel-efficiency are becoming increasingly dependent on the correct operation of the avionics on-board. As avionics applications increase in size and complexity, so are their development and testing costs. Therefore, it is not surprising that companies in this domain are looking for new development approaches that can help them deal with these challenges. In this regard, software product lines have been particularly successful. They can help reduce costs by designing systems that share a set of common assets that enable reuse in a structured way; they are developed as a family.
One asset that is particularly useful to handle complexity and that makes sense to approach as a family is models. They provide the means to communicate and get consensus with other stakeholders, scope the system to create, predict important properties or characteristics, among others. In other words, a good model can become the cornerstone of a successful system. However, if modeling one system is challenging, modeling a family of them becomes even harder. Each member can be different, so the model must be able to specify accurately what parts are common to all of them, what can vary, and under which conditions.
The purpose of this work is twofold. First, it evaluates the capabilities of SysML to describe variability accurately in the domain of avionics systems. Second, it provides guidelines for how to model and design systems that present it.
In the end, this work concluded that simple extensions allow SysML to be appropriate for describing systems with variability. Also, it introduced a methodology and a series of structural and behavioral patterns to describe families of systems while keeping their differences under control. Implementation patterns were also included to show how models can be connected with code. Finally, this whole approach was evaluated via a case study based on five real aircraft engine instances.||en