25 Nov 2015
Information and Communications Technologies
Open Source Tools to support the ISO / IEC 29110 Standard
This article presents the Open source Tools developed to support the ISO / IEC 29110 Standard’s requirements engineering deployment package. A following article entitled Training Kit Based on an Open Source Tool to Support the ISO / IEC 29110 Standard will explain the method used to ease acceptance of standards.
Very small entities (VSEs), i.e. enterprises, organizations (e.g. government and not-for-profit), projects or departments having up to 25 people, play an increasingly important role in the global economy. The products they develop are often integrated into products made by larger enterprises. The “Big League” clients, furthermore, demand of the VSEs that they assume a much broader role, spanning the entire development life-cycle of the product instead of being limited to a “build-to-print” approach. To address this new reality, to exploit the lean and efficient nature of VSEs and to adapt to their typical budget and resource constraints, the ISO / IEC 29110 systems engineering standards, management and engineering guides were developed from ISO / IEC / IEEE 15288.
The first version of ISO / IEC 29110 is a four-stage roadmap, also called profiles (Entry, Basic, Intermediate, Advanced), applicable to VSEs that do not develop critical products. VSEs targeted by the Entry profile are those working on small projects (e.g., at most six person-months of effort) and for start-ups. The Basic profile describes the development practices of a single application by a single project team with no special risk or situational factors. The Intermediate profile is targeted at VSEs developing multiple projects with more than one team within the organization. The Advanced profile is targeted at VSEs wishing to sustain and grow as independent competitive businesses.
Deployment Packages to Support the Engineering Basic Profile
The INCOSE VSE Working Group defined a set of guidelines explaining in more detail the processes defined in the Basic profile. These guidelines are freely accessible to VSEs on the Internet as a collection of Deployment Packages (DPs). A DP is a set of artefacts developed to facilitate the implementation of a set of practices for the selected framework in a VSE (Laporte 2014). Since the INCOSE handbook is a ‘how to’ document, it was used to develop the set of DPs. DPs are designed such that a VSE can implement its content without having to implement the complete Basic profile at the same time. The table of contents of a Deployment Package is illustrated in Table 1.
Figure 1 illustrates the set of DPs for the System Engineering Basic profile, which is available on the Internet and on the INCOSE VSE page.
The Requirements Engineering DP defines a collection of activities, tasks, steps, roles, artefacts, templates and checklists for those work products that achieve the objectives of ISO / IEC 29110 for:
- the definition of Acquirer/Stakeholder Requirements;
- the definition of System Requirements;
- the decomposition of System Requirements into System Element Requirements using the architecture defined in the Functional & Physical Architecture DP;
- the creation of traceability links between each level of requirement decomposition;
- the preparation of the System Specification;
- the preparation of System Element Specifications (for hardware or software sub-systems); and
- the verification and validation of the requirements.
The Requirements Engineering DP identifies candidate Requirements Management Tools suitable for VSEs and provides instructions for tailoring the tools to support the DP. One of those tools is the Eclipse Requirements Management Framework (RMF). Two checklists are provided to evaluate the quality of the requirements developed by the VSE and the specification assembling and structuring the collection of individual requirements. The checklists apply world-class standards such as ISO / IEC 29148 and the INCOSE Guide for Writing Requirements.
Open Source Tools Developed to support DPs
One of the primary constraints of VSEs is the limited access their resources and staffing permit them in terms of life-cycle development tools. Most cannot afford the burden of “Big League” tools and have been relegated to using word processing and spreadsheet tools to manage requirements. Current commercially available requirements management tools add two further constraints that will often discourage VSEs: 1) the tool’s flexibility requires of the RM tool that it be custom-fitted to the VSEs needs and that support staff or contractors be on hand to provide training, tailoring and implementation support throughout the span of the project; or 2) the RM tool implements a specific product development life-cycle process that is not compatible with the often “lean” processes used by the VSE. Whereas basic word-processing and spreadsheet tools can be acceptable for a small number of requirements and limited linking among them, their capabilities are rapidly challenged on medium to large size projects.
After a somewhat shaky start, Open Source requirements management tools have taken a significant turn with the emergence of the Eclipse Requirements Management Framework (RMF), the Object Management Group (OMG) Requirements Interchange Format (ReqIF) and the support of such working groups as Polarsys, created by large industry players and by tools providers to collaborate on the creation and support of Open Source tools for the development of embedded systems. However, those tools are often generic in nature and require some tailoring which is addressed in the RE Deployment Package.
RMF is a framework for working with textual requirements, structured as ReqIF models. RMF uses natively ReqIF, allowing you to exchange requirements with many industry applications like IBM Rational DOORS® or PTC integrity®. Using ReqIF as its native data storage structure provides another significant advantage for VSEs by allowing them to exchange ReqIF export files directly with upper tier partners and skipping the tool tailoring/customization step entirely. ProR was developed as a RMF Graphical User Interface (GUI) that allows manipulating requirements within a RMF environment. Operating within the Eclipse Integrated Development Environment (IDE), it allows a requirements engineer to open ReqIF files with a click, allowing you to immediately inspect and edit files. Powerful extensions exist for dealing with rich text, ReqIFz-Archives and others. Those extensions are made available in integration with UML/SysML modeling tools and within emerging distributions such PolarSys, illustrated in Figure 2, and openETCS.
Conclusion and Future Work
An ISO working group has developed a set of standards and guides to address the needs of VSEs developing system or software. ISO has published in 2014 the ISO / IEC 29110 Systems Engineering Basic profile (ISO 2014) and the Systems Engineering Entry profile in 2015 (ISO 2015). The Requirements Engineering DP identifies candidate Requirements Management Tools suitable for VSEs and provides instructions for tailoring the tools to support the DP.
The tools served as the basis to develop a publicly licensed Training Kit, which will be part of another article.
Once the software engineering ISO / IEC 29110 Intermediate and Advanced profiles are ready, work will start on the two corresponding systems engineering profiles for VSEs. In parallel, a set of systems engineering Deployment Packages and corresponding Training Kits will be developed and deployed to support those profiles.
The following Web site provides more information, as well as articles by WG24 members and deployment packages for software and systems engineering:
Claude Y. Laporte was a Professor of software engineering at ÉTS before retiring. He is the Project Editor of the systems and software engineering ISO / IEC 29110 standards for Very Small Entities developing systems or software products.