EuroSPI98 
How to Reap the Business Benefit from SPI
European Software Process Improvement
SPI and Requirements Management
Category Index
Rated Newspaper Supported by EU Project 

Integrated Requirements Engineering Approach for Systems and Software

Ulrich Zanker
Liebherr-Aerospace Lindenberg, Germany
 
 

Introduction

Executive Summary

This paper describes the process improvement experiment conducted on a helicopter fly-by-wire flight control project.

A typical development project is sequenced in the following main activities:

System Requirements Analysis -> Software Requirements Analysis -> Software Design -> Software Coding -> Software Verification.

The process activity to be improved is in the area of system/software requirements analysis and capturing. To reach such an improvement, the idea was to use the dynamic system modelling technique for the behaviour system model (System Requirements Analysis) and directly link mathematical performance simulation models for early specification validation and rapid prototyping.

The new requirements engineering approach integrates all electronic design disciplines, system, software, hardware and quality assurance. Benefits for the software design process is a direct target and to establish a solid basement for further process improvements (i.e. hardware/software co-design) is the expected positive long term spin-off.

The original goals already achieved are the selection of an appropriate tool, training of the involved engineers, implementation and settlement of the tool and method within the system/software process. An initial package of the baseline projects specification is captured, validated by simulation and transformed to software requirements. These initial software requirements are rapidly prototyped and the risk areas are checked. A second run through system and software requirements analysis and capture was performed (enhanced application software functionality). Currently the documentation generation, result analysis and measurement and dissemination activities are in progress. The lessons learned are:

For future projects it can be assumed that the integrated engineering approach will be conducted. The selected method and tool chain will be improved even beyond this PIE project objectives.

The details of this report may be of a particular interest for the aerospace community but also for organisations producing embedded system software using none-standard equipment.

This project is carried out by the electronic division of Liebherr-Aerospace Lindenberg with financial support from the European Commission under European Software and Systems Initiative ESSI, Software Best Practice, Process Improvement Experiment PIE.
 

Article Content


 

A Short Description of the Company/Business/Product


LIEBHERR-AEROSPACE LINDENBERG GmbH, part of the LIEBHERR international group, works with about 1200 employees exclusively in the aerospace business, being one of the leading European equipment suppliers for civil and military aircraft’s.

The product spectrum of LIEBHERR-AEROSPACE LINDENBERG GmbH is diverted into the following areas:

This products are supplied to aircraft- and helicopter manufacturers like: Airbus, Dornier, Embraer, IPTN, Canadair, IAI, Eurocopter, Boeing, etc...

LIEBHERR-AEROSPACE LINDENBERG is regarding itself as a system rather than a component supplier. This causes the demand to deal with control applications, which is electronics in general and software in particular. About 100 employees are dedicated to electronics development and production, 15 of them are in charge with software development and test for advanced fly-by-wire systems, environmental control systems and actuator embedded electronics applications.

The importance of software within these systems is steadily increasing, but also the costs of developing and maintaining software has increased to a level hardly tolerable. Nevertheless there is no way for a system supplier to omit electronics and software development, while keeping its position within this highly competitive global market. Assessments have shown that the only way to manage the situation is an incremental but continuous improvement of the development process.

The establishment of a solid basis (advanced requirements engineering methods) for this improvement activity is manpower, time and money consuming and risky in terms of immediate success. The european process improvement experiment (PIE) has been an opportunity to lower these risky items (in context with a real world program) to manageable values.
 
 

The Starting Scenario

The system and software development process for aircraft equipment is strictly regulated by advisory papers like ARP4754, DO-178B or DOD-STD 2167A. In order to be compliant with those papers a V-Model software development process is established at LIEBHERR.
 
 


Fig. IREASS.1 : Software Lifecycle



System Requirements Analysis

The customer requirements are analysed and a system specification is developed, by making use of simulation tools (Matlab) and system design experience. The results of the analysis is documented and made available by pure paper output (specification). This specification is now used by the special departments, to derive system test cases, test equipment requirements, hardware requirements and software requirements.

The strengths of this proceeding is in having no formal or method overhead, design engineers work with best effort dependant on experience only.

The weak points are in having no general method, isolated tool data (simulation), communication problems with other system designers and special departments, no consistency analysis, no support for test case generation, no database export for sub-specifications.

The envisaged corrective actions is the establishment of an state of the art requirements engineering method with integrated tool support.
 
 

Software Requirements Analysis

The system requirements are analyses and the software requirements are developed, by making use CASE-tool supported structured analysis (SA) and real time analysis (RT). The results of the analysis is documented and made available with the software requirements document. This software requirements are now used to derive hardware/software integration test cases and the software design.

The strengths of this proceeding is in having structured method, tools constancy checking capabilities, tools database can be exported to software design process and software testing process.

The weak points are in having no database import from system process, communication problem with system designers, uncovered specification inconsistencies to be fed into time consuming specification change loop, hardware and software development are separated, no support for test case generation, documentation generation semi-automated instead of fully automated.

The envisaged corrective actions is the establishment of an state of the art requirements engineering method with integrated tool support, tool supported test case and documentation generation.
 

Software Design

The software requirements forms the basis for software design work, making use of CASE-tool supported structured design (SD). The two-phase software design, structure charts (architecture) and module specifications (software unit detail), is fully embedded in CASE-tool environment. The results of the software design is documented and made available with the design description document, now used to develop software integration test cases, software unit test cases and the software code.

The strengths of this proceeding is in having structured method, tools constancy checking capabilities, tools database can be exported to software coding process and software testing process.

The weak points are in having no support for test case generation, documentation generation semi-automated instead of fully automated, limited code generation capabilities.

The envisaged corrective actions is the implementation of tool supported test case definition, enhanced code- and automated documentation -generation.
 

Software Coding

The software design forms the basis for coding work, using standard cross development tools. C-compilers, host based simulators, ROM debuggers and emulators are integrated within an effective Unix workstation cluster. The software structure is translated to C-code via a code generator while the detailed design is translated manually.

The strengths of this proceeding is in having an effective and integrated cross development tool environment.

The weak points is having very limited code generation capabilities.

The envisaged corrective actions is the gradual upgrade of tool environment to enhanced code generation.
 

Software Verification

The software verification process consists of reviews, analysis and tests in terms of software unit (modules), software integration (design) and hardware software integration (requirements) verification activities. The depth and the effort of this activities depends on software criticality category. The software verification process activities are documented and made available with appropriate plans, procedures and results.

The strengths of this proceeding is in having review and analysis techniques are supported by CASE environment and requirements traceability tool, statical software unit tests are automated.

The weak points are in having no sophisticated tool support for dynamic unit test, sw integration test and hardware/software integration test, documentation generation semi-automated instead of fully automated.

The envisaged corrective actions is the tool supported software test and automated documentation generation.
 

Conclusion

With the software fault trend analysis (reasons for software changes), undertaken for a fly-by-wire flight controls project, can be shown that the areas, „customer request" and „project requirements" have a proportional high share in the reasons for software changes. The majority of these changes can be dedicated to inconsistencies or white spots of the specification and to communication problems between system and software development disciplines.

Fig. IREASS.2 : Software Fault Trend Analysis

This lead to the conclusion that the utilisation of suitable methods and CASE-tools for the system specification work would result in best benefits for the development process by founding the solid basement for further process improvement. Such the corrective action encountered above can be prioritised:

The process improvement activities at LIEBHERR are considered as important and essential for the company and its products. The processes are subject to continuous analysis and from today knowledge, the above indicated corrective actions will be released step by step, following the prioritising.
 

Quality Management

Quality assurance activities are involved in the development process from start of a project to the end of a systems useful life and plays an active role in any process definition/improvement activity. The involvement of the quality assurance organisation, into development and manufacturing processes, is laid down in the company quality manual. LIEBHERR is certified to AQAP-1 and the quality system is compliant to ISO 9001. Compliance to ISO 9000/3 (Software) is a short term target, while certification to ISO 900X is planned for some date in the future.
 
 

The Implementation of the Improvement Action

 

Introduction

The experiments main focus is the definition and introduction of dynamic system modelling methods and techniques with integrated tool support. The selection of the appropriate method and tools has marked the starting point of the experiment, followed by an intensive training suite for the experiment involved system and software engineers. The experiment is finished when having evaluated the results by comparing the experiment overlaid sub-project (ACE) with the reference project(COS).

This PIE-project is completely managed and carried out by Liebherr, the prime user. For training and coaching (consultant) Scientific Computer was selected as a subcontractor, the tool producing company.

The requirements for the actuator control electronic (ACE) shall be developed in conjunction with the process improvement experiment, while the cockpit interface(COS) will serve as a reference project, with a conventional requirements engineering approach. The baseline projects are split into two work-packages each, the „initial package" implementing the minimum functionality required to make the whole system run and the „final package" implementing full functionality.

The workpackages (WP 1 - 13) defined below, are in relationship to those „initial" and „final packages" and introduced around requirements analysis, capture, simulation and validation. The termination of those workpackages are marked by internal deliverables and internal dissemination activities as defined with the workpackages. This marks serve as measured reference points for the project

Fig. IREASS.3 : Integrated Tool Overview



The Selected Project

Within the baseline project an electronic flight control system is to be developed for the existing EC 135 helicopter. This program contains two kinds of electronic boxes, a cockpit interface COS and a actuator control electronic ACE. A general system overview is given in figure below:

Fig. IREASS.4 : System Overview



Reference Project Cockpit Interface (COS)

Specification of functional requirements, hardware and software requirements, software development, software test and system integration are the activities to be accomplished for that sub-project. The COS is designed to receive and process data from sensors and upstream flight control computers. The resulting commands are transmitted via fibre distributed data buses to the actuator control electronics. In addition the COS has to collect the actual data from the actuator electronics and transmit that data to the cockpit for indication and analysis purposes.
 
 

Baseline Project Actuator Control Electronic (ACE)

Specification of functional requirements, hardware and software requirements, software development, software test and system integration are the activities to be accomplished for that sub-project. The functional requirements, laid down within the customer specification, have to be analyses and subsequent system requirements have to be established, captured and validated, in the context of integrated tool support from requirements analysis, via the software design, coding, integration to verification and test. The ACE is designed to receive command values from the COS, closing the actuator regulation loop by calculating the servo-drive current, monitor hardware and behaviour of the connected actuator and transmit status and monitor data back to the COS.
Sub-Projects
Date&Time
COS initial package
mid 97 - mid 98
COS final package
end 98 - mid 98
ACE initial package
mid 97 - mid 98
ACE final package
End 98 - mid 98

 
 

Method and Tool Selection WP 1

Selection of appropriate method and tool for the requirements engineering task. The methods and tools were finally analysed for adequacy. The result was the selection of the Matlab/Simulink/Stateflow tool chain.


Fig. IREASS.5 : Selected Tool



Basic Training and Tool Installation WP 2

Basic training of method and tool. Engineers of the different disciplines (system design, software design, hardware design and quality assurance which are contributing to the PIE) have been trained together. This was the first step towards the integrated approach.


Fig. IREASS.6 : Basic Training (Example Model)




Add On Training WP 3

Sophisticated add on training of method and tool. The engineers of the PIE core team (system design and software design) have been trained together. The aim of this training was to enable the engineers to start a project by utilising system modelling methods and technologies.


Fig. IREASS.7 : Add On Training (Example Model)




Familiarisation with Method and Tool (Example Application) WP 4

A small example application was modelled from system specification to the software requirements. This has given the chance to familiarise with method and tool.


Fig. IREASS.8 : Example Application (Control Loop Model)




System Requirements Capture „initial package" WP 5

The system requirements for the baseline projects, already formulated with conventional specifications, have been reworked by utilising the systematic methods of dynamic system modelling and the modelling tool support to implement the minimum functionality required to make the whole system run („initial package"). An activity requiring a co-ordination of all design disciplines (system, software, hardware and quality assurance).

Fig. IREASS.9 : Baseline Application (Control Loop Model)




System Simulation and Specification Validation „initial package" WP 6

The system requirements for the baseline projects („initial package") have been validated by analysis and simulation. This activity was concentrated on system design personal (system engineers) but software engineers and coaching support have been involved to reach the goal of an integrated requirements engineering approach.
 



Fig. IREASS.10 : Control Algorithm, Simplex Simulation Model


Export of System Model Database and Software Requirements Capture „initial package" WP 7

The system models database has been exported to the software process, suitable for refinement of the software requirements from the system requirements. This activity was accomplished by the software engineers actively supported by the system engineers.

Fig. IREASS.11 : Example Application (Mode Control)

Rapid Prototyping „initial package" WP 8

Rapid prototyping via automated code generation should have been used to validate the sensitive edges (control loop) of the system/software design, an activity intended to deal with risk management involving mainly software engineers.


Fig. IREASS.12 : Quadruplex Voting Control Loop


System and Software Requirements Capture „final package" WP 9

The system requirements for the baseline projects, are reworked by utilising the systematic methods of dynamic system modelling and the modelling tool support to implement the full functionality („final package"). The „ final package" has to be validated by analysis and simulation. After export of suitable data to software development, the software requirements for the full functionality is refined and fed to the software design process. An activity requiring a co-ordination of system and software engineers.

Documentation Generation for System and Software Specification WP 10

Automated documentation generation of system specification and software requirements document This activity is accomplished by the software engineers actively supported by the coaching experts.

Analysis and Measurement of Results WP 11

Analysis of measured result and comparison with reference project.

External and Internal Dissemination Activities WP 12

Preparation of report and presentation material and subsequent presentation for the intended audience.

Project Management WP 13

Preparation of PIE-project schedules, observation of effort and results and applicability of measured reference points. The project schedules and resources are co-ordinated with the companies product planning system PPS. The technical co-ordination and observation is accomplished by an assigned engineer, assisted by the integrated configuration management and problem reporting tool STS.
 
 

The Measurement Results and the Lessons Learned


At this time, the experiment is ongoing and especially the results and analysis are of preliminary nature and not complete. The full and final results will not become apparent until the remainder of the experiment is completed.
 

Measurement of Results


The measurement of results in form a fault trend analysis is in progress. As a preliminary result we can see good stability of system/software requirements for the ACE control loop (baseline project), whilst the requirements of the COS are still moving.

We expect that the early detection of the ACE functional architecture inadequacy has already contributed positively to the return on investment but this is difficult to quantify. The exceptional "early" stability of the requirements we can observe let us expect positive results from the fault trend analysis and a better lines of code per hour relationship compared to the reference projects measurement.
 

Lessons Learned


This section should detail the actual results of the experiment and your analysis (how you interpret the results) in terms of the original objectives of the experiment

Include qualitative and quantitative results and how they were measured. Provide details of any mid-term assessment, and, as far as possible, give real numbers.

Consider the results from each of the following perspectives:
 

Technical

Tool Selection: - The CASE/Simulation tools available on the market fitting best for standard (off-the-shelf) hardware/software architectures. To select a specification tool for a dedicated and unique application, as it is currently the case in the aircraft actuation and control business, is a complex and sensitive task. Finally a mathematical performance simulation tool (Matlab/Simulink) with its extensions Stateflow and Real-Time Workshop was selected. This tool chain is highly integrated, fits best for inter-discipline (system, software, hardware) specification task, offers an adequate rapid prototyping capability and has, from our point of view, an enormous potential for future extensions. The weak point of the selected tool chain is the documentation feature which is quite poor in comparison with classical CASE tools, but announcements from the suppliers are in place to improve this in the near future.

Training and Familiarisation with Method and Tool: - After the intensive training, the core part of the system specification of a small sample application (landing gear steering system) have been validated. The positive effect, compared to a none PIE overlaid project, was a very detailed knowledge of the steering control problems and side-effects, despite the application is completely new and no prototype hardware is available at that time.

System Requirements Capture and Specification Validation: - The intensive simulation activity for specification validation, driven mainly by the PIE-activity, has finally shown that the selected hardware/software architecture (control-monitor philosophy) is not adequate for this actuator control application. This inadequacy was detected at an very early stage of the project, compared to conventional projects, where the problem would have been discovered much later, probably during system integration phase.

Software Requirements Capture and Rapid Prototyping: - The software requirements capturing activity is considered to be more effective due to involvement of software engineers in specification validation and due to increased confidence into correctness of specified functions and algorithms. The rapid prototyping (within a target prototype) is considered as a second key activity (beside the specification validation). This activity has to deliver the final confidence into the selected hardware/software design to be adequate in terms of performance. An early result is the fact that the automatic code generation capability, provided by the simulation tools, are could not be used for this project due to the selected „unique" hardware/software design.

This leads to the expectation that automatic code generation cannot contribute a significant benefit to this type of application (dedicated, unique airborne equipment), but could have an enormous potential when using standard (off-the-shelf) equipment, which is a clear trend in the avionics community.

Documentation Generation: - The documentation generation capability is currently an extremely weak point of the selected method/tool. In that area we are missing the automated assistance of a "traditional" CASE tool. The documentation generation for the project is not automated as expected.
 

Business

It is to early to describe results in terms of their business impacts definitely, but as an outlook, the assumption of the program plan, that a development process, effective in terms of cost and time to market is essential, is still valid and the selected tool/method has the potential to deliver this.

Describe the results of the project in terms of their impact on the business operation. Detail the project's effect on business, and assess whether it was positive or negative. If possible, give information that can be used for cost/benefit analysis.

Consider typical questions that a senior manager contemplating a similar change might ask.
 

Organisation

The project had no direct impact on the organisational environment, but the project results clearly confirms and support of the recent trend within the company to establish a product related organisation network, in addition to the pure departmental structure of the past.

Describe whether the project had any impact on the organisational environment. Give reasons for these changes.
 

Culture

In general there are mainly positive impacts related to people. The different design disciplines improved there communication basis dramatically. The early involvement of software engineers in specification related activities and the get in touch of the system engineers with software related problems can both be considered positive.
The natural resistance of our system engineers to do their daily business by using complex tools and methods led to the selection of a tool chain fitting both, solving real world practical problems and the more academic philosophy of the software staff. The final success, discovering design inadequacy at this early stage and having solid requirements proved by rapid prototyping, already convinced the two parties having done the right selection.

Comment on the people related impact of the experiment. Did involvement of the people concerned have a positive impact? Was there any resistance to adopting more rigorous methods and how was this overcome?
 

Skills

The additional skills learned from training and practising wit the PIE-project gives a broader knowledge the formerly specialised experts. Especially the system and software designers are found together to an integrated team with better understanding of each others problems which is beneficial for the entire product.

Comment here on any additional skills acquired by the project staff as a result of the experiment.

In most of the projects, the nature of the experiment implies considerable change for the professionals involved, in terms of their way of working, their skills and disciplines, etc. Comment on the impact of the experiment on these areas.
 

Key Lessons

For the time being, the key lessons cannot be complete neither have the final format but first lessons already learnt and formulated.

This section should summarise the key lessons that you have learnt from undertaking the experiment.

As the report is expected to interest both software developers and senior managers, please ensure that this section caters for these target audiences, and identifies clearly your key lessons learnt, from the technological and business point of view.
 

Technological Point of View

A tool chain which is expected to fit for requirements engineering and enhance productivity needs to: There is no such tool on the market. You have to compromise, set priorities.

The use of standard tools is most effective if using standard hardware/software architectures/platforms and less effective when working with dedicated, unique designs.

Early specification validation is a key feature for adequate system, hardware and software design.

Rapid prototyping, with target prototypes is essential for design confidence in case of embedded real time applications.

Typically three or four main lessons, from a software engineering point of view
 

Business Point of View

There is a definitive need of continuos improvement of the development process in terms of cost effectiveness and time to market.

The market provides new tools, technology and knowledge within very short update rates, but not every technology or tool fits to a given application.

There is an excellent return of investment if choosing an adequate tool and method and there is only cost if selecting an inadequate.

Typically three or four main lessons, from a business point of view
 

Strength and Weakness of the Experiment

Despite the analysis and measurement activity is not completed, a preliminary view on experiments pros and cons can be made.

Pros:

Cons: This section should provide your views on the usefulness of the experiment itself. Identify the strengths and weaknesses of your approach and the overall benefit for the organisations involved.

Identify any specific changes that you would make to your approach if you were to repeat the experiment.
 

Conclusions and Future Actions

The experiment is ongoing and especially the results and analysis are of preliminary nature and not complete. The full and final conclusions will not become apparent until the remainder of the experiment is completed.

As a first and preliminary conclusion the conduction of the experiment has shown the correctness and adequacy of experiments philosophy - founding a solid basement with the integrated requirements approach for future process improvements. It became obvious that process improvement has to be a continuos action driven by the appearance of new technologies.

A key feature to gain good support from the market (tools, expert knowledge) is to change to standard architectures in software and hardware as far as it is possible in our field of applications.

It is evident that we have to apply the selected simulation environment to a new project, having in mind the strength and weakness encountered during the experiment. And we shall try to introduce the next step, identified when analysing the starting scenario - the hardware/software co-design.

References

[1] RTCA/DO-178B, Software Consideration in Airborne Systems and Equipment Certification, RTCA-Requirements and Technical Concepts for Aviation, RTCA, Inc. 1140 Connecticut Avenue, N. W., Suite 1020 Washington, D.C: 200036, USA 1992

[2] ARP 4754, Certification Considerations for Highly-Integrated or Complex Aircraft Systems, System Integration Requirements Task Group, SAE-Society of Automotive Engineers, Inc., USA

[3] DOD-STD-2167A, Defense System Software Development, Military Standard, Department of Defense Washington D.C. 20301, USA 1988

  This section should focus on your overall conclusions drawn from the execution of the experiment, in relation to the project objectives. Include under this section the prime users' and partners' post-experiment decisions, as well as the question of how the results will be used by the different organisations involved.
 

Glossary

ACE Actuator Control Electronic

ACT/FHS Active Control Technologie Demonstrator - Fliegender Hubschraubersimulator

CASE Computer Aided Software Engineering

COS Cockpit Interface

DLR Deutsche Forschungsanstalt für Luft- und Raumfahrt

ECD Eurocopter Deutschland

LLI Liebherr-Aerospace Lindenberg GmbH

PIE Process Improvement Experiment

PPS Product Planning System

SA Structured Analysis

SD Structured Design

RT Real Time
 

Appendix

Author

Ulrich Zanker, graduated at Fachhochschule Munich with Dipl. Ing. (FH), is working for Liebherr-Aerospace Lindenberg since 1983.

He has experience in developing software for airborne computers like: Airbus A310 Slat Flap Control Computers (Flight Controls) and Airbus A320 Zone Controller (Environmental Control System).

Another field of experience is the introduction and administration of the technical computer system for the electronic department (VAX-Cluster, Unix Workstations and networked PCs).

Since 1993 he is heading the software group (currently 16 software engineers) of the Liebherr-Aerospace electronic department, producing safety critical software for airborne computers as well as software for the associated test systems (test benches and simulators).

Company

LIEBHERR-AEROSPACE LINDENBERG GmbH, part of the LIEBHERR international group, works with about 1200 employees exclusively in the aerospace business, being one of the leading European equipment suppliers for civil and military aircraft’s.

The product spectrum of LIEBHERR-AEROSPACE LINDENBERG GmbH is diverted into the following areas:

this products are supplied to aircraft- and helicopter manufacturers like: Airbus, Dornier, Embraer, IPTN, Canadair, IAI, Eurocopter, Boeing, etc..
 


Partners in EuroSPI

Editors
ISCN LTD, ISCN GesmbH, Schieszstattgasse 4/24, 8010 Graz, and Coordination Office, Florence House, 1 Florence Villas, Bray, Ireland, office@iscn.at, office@iscn.com, office@iscn.ie, Editing Done: 19.7.2002