xmlTRAM+: Using XML Technology to Manage

Software Requirements and Architectures

Jie Wu, Faculty of Information and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing210016, China/School of Network Computing, Monash University Jie.Wu@infotech.monash.edu.au

Jun Han, School of Network Computing, Monash University, McMahons Road, Frankston/Melbourne, Vic 3199, Australia Jun.Han@infotech.monash.edu.au

Abstract

Information systems are increasingly being used in all aspects of an organization’s business activities. These systems will inevitably evolve over time. The system development knowledge is a key to the understanding and evolution of these systems. As such, the system development knowledge is part of the corporate knowledge that needs to be properly managed. In particular, the system requirements and architecture design are the most important system development knowledge. In this paper, we introduce an XML-based tool for managing system requirements and architectures. The use of the XML technology allows the system requirements and architectures to be easily shared across the organization. The issues discussed include a conceptual model, a logical model and a physical model for the management of system requirements and architectures. In fact, this three-step development process points to a typical development methodology for the development of XML-based systems. Keywords: Requirement, Architecture, XML schema

1. Introduction

Management of system requirements, system architectures and the traceability between them provides critical support for system development and evolution. The requirements for a system are the basis of planning, developing, evolving and using the system. The system architecture provides the blueprint or vision for the system's design. The traceability between the system requirements and the system architecture is the key to test whether the requirements are met by the architecture design. In the light of changes to systems, the management of system requirements, system architectures and their traceability has even a greater role to play. It facilitates analysis of how a new or changed requirement will affect the system design and how an architectural design decision will impact on the system's functionality and quality. In current practice, system requirements are often kept in some monolithic word-processing files. They are difficult to analyse and maintain. The specification of system architectures is usually ad hoc, again hard to analyse and maintain, and difficult to be kept up-to-date. Even with certain tool support, the system requirements and the system architectures are kept separately, and support for their traceability is very limited. Furthermore, most support tools available are either very generic so that only low-level assistance is possible, or too specific by dictating the use of a particular notation. To address the existing problems, we have developed a dedicated tool TRAM for requirements and architecture management, which has been used at UK National Air Traffic Services (NATS) [Han, 2001]. The tool involves an information model, a set of document templates detailing the model, and templates’ implementation in the generic document management tool DOORS. Experience has shown that the tool has delivered great improvement in requirements and architecture management [Han, 2000]. The information model and templates were also easily implemented in another generic document management tool RTM due to the preference of another user organization. However, this has caused an information exchange problem because both DOORS and RTM have their own proprietary document representation schemes. The requirements and architecture information held in one tool can not be used in the other tool. This is a major issue as it hinders information or knowledge exchange between relevant organizations can not be easily exchanged, e.g., between client and developer organizations. In this paper, we report our effort in improving the TRAM tool, xmlTRAM+. This new tool has the following two major improvements over the TRAM: vAn enriched model for requirements and architecture management. In TRAM [Han, 2001], the requirements are managed in a relatively flat structure, not recognizing subsystems or component systems, while the architecture has a component-based management structure. In xmlTRAM+, the requirements are also managed relative to component systems so that there is a close correspondence between the requirements management structure and the architecture management structure. vImplementation of the requirements and architecture model and related document templates using the XML technology. This resolves the information interchange issue between different implementation, as the XML technology affords a standard way of representing information. The paper is organized as follows. In section 2, we introduce our approach to XML-based management of system requirements and architectures. Section 3 discusses the conceptual information model of requirements and architecture management. Section 4 presents the logical design of the requirements and architecture management model. In section 5, we describe the actual (physical) implementation of the logical design in the XML technology. Section 6 discusses some key issues arising from the prototype implementation of the tool and a real-world case study.

2. XML-based requirements and architecture management

The system requirements and architectures involve a large amount of information, which presents a great challenge for management, analysis, sharing and successful use. As discussed above, an arising need is to facilitate interchange of such engineering information, to develop proper methods for better information management across the various engineering activities, and to improve analysis, sharing and use of such information resources. UML is a well accepted modeling notation in the areas of requirements analysis and architecture design, where objects are presented in various views. But, how to manage such data and knowledge is outside of the UML domain and remains a challenge. Furthermore, it is not always the case that system requirements and architectures are modeled using UML. Other formal, semi-formal and informal notations are often used as well. As such, there is an urgent need for powerful tools to represent and manage the requirements and architecture information in general. The tool should support the access to the requirements and architecture information by developers from different platforms. The XML technology is a tool that is capable of facilitating the above tasks. It has such a versatile format that it can be applied in any industry. It has become the de facto standard for managing and exchanging corporate information. XML is object-oriented in the sense of being suitable for describing objects of the real world or any abstract problem domain by modeling their properties as they are. One particular feature worth noting is that XML/Web-based knowledge management naturally accommodates distribution. That is, the enterprise architecture information may be managed in a distributed manner at different sites across an organization. Based on the above features, we have chosen the XML technology for the representation and management of the system requirements and architectures. That is, the system requirements and architecture model mentioned above is represented using XML for storage, management and analysis. We notes that our information model for system requirements and architectures is not restricted UML, but can accommodate various development methodologies or languages. Our approach does not get into the details of specific analysis and design notations. For any specific notation like UML, however, its representation in XML, such as in XMI, can be incorporated into our general representation framework. In using the XML technology to represent the system requirements and architectures, we take a three-step design approach. In particular, we first introduce a conceptual information model for system requirements and architecture – the conceptual model. Then, the conceptual model is structured to reflect the logical partition of the information involved – the logical model. Finally, the logical model is mapped to XML representations using XML schema – the physical level. This overall approach is illustrated in Figure 1 as referred in [Routledge, 2002]. The following sections will introduce these three levels in detail.

Figure 1. Three-step XML system design

3. The conceptual model (conceptual level)

As discussed in the previous section, the first step in our proposed approach is to develop a conceptual model to capture the key information of requirements, architectures and their relationships. Figure 2 presents the conceptual information model as an Entity Relationship (ER) Diagram referred to [Tan, 2001]. The concepts involves are stakeholders, goals, values, authorities, assumptions, risks, acceptance- criteria, components, interfaces, services, quality of service, and use cases. Detailed explanation of these concepts and their relationships is beyond the scope of this paper as we focus on the XML-based representation of this conceptual model. Interested readers are referred to [Han, 2001] for details.

Figure 2. A conceptual model of requirements and architectures

4. The logical structure (logical level)

To be properly managed, the requirements and architecture information needs to be organized and structured according to its logical relationship and grouping. The logical structure is to transfer the conceptual model into a form of XML schema in an abstract and graphical way, that is, a model for better representation using XML. In our approach, both the requirements and architecture aspects from the concept level are structured in a component-based manner. Generating the framework of logical level (which is shown in figure 3) may start from the following steps: vGrouping entities in separate spaces. Although figure 2 gives a practical model for the requirement and architecture management, relatively separate spaces are required for the concepts of each aspect so that elements can be grouped for better presentation. For example, from the conceptual model, conceptslike stakeholders, authorities, assumptions, goals, risks and value can be put into “Requirement” Definition, while interface, services, Qos(quality of services), interactions, constrains and components are grouped into “Architecture” Definition.

Figure 3. Logical Requirement and Architecture model based on conceptual level

Inheriting component requirements space from global requirements space and introducing templates for system/component design. From the component-based point of view, Requirements of a system has several components where some structures of component elements can be inherited from the root element. Same as the architecture design since system can be seen as a super component. So we put decomposition to clarify the levels in each space in the logical diagram. Figure 3 presents the overall logical design. It also highlights some of the rationale behind the design decisions taken. As a result in our component-based model for management on requirement and architecture, the related concepts are easily identifiable as they are organized into separated information spaces. This logical structure graph clearly identifies, separates and relates the hierarchical composition of the system, from the entire system level down to the atomic component level. Further more, template-based structure for components is provided which is powerful for better representing with XML /data objects. It’s aimed as a bridge between the requirement and architecture engineering and its XML management. This bridge facilitates the task of so called logical level.

5. The XML representation (physical level)

Once the logic structure/design has been determined, the physical XML schema can be created accordingly. A specific decision is to have two separate schemas: one for system requirements and one for system architecture. Elements in the logical diagram can be broken down into a generic hierarchical tree-like structure with elements being composed of several other elements. For the design of Requirements schema, for instance, Stakeholders and Authorities are children of Requirements-Definition which is the root element. Values belongs to the Goals and the same for Risks with Assumptions. All of them are defined as the Req-Space, which is another child of the root. Acceptance-Criteria is the concept linking between the Requirements-Definition and the Architecture-Definition. It is now put in the former space since the xlink technology can’t be shown in any browser at the moment. These elements are then grouped and encapsulated within specific code representations describing how the elements are organized. Figure 4 gives the XML schema profile for requirements-related concepts.

Figure 4. Physical View of Requirement Definition

For the architecture model, the design is similar, and Figure 5 shows the profile for architecture-related concepts.

Figure 5. Physical View of Architecture Definition

Figure 6 shows the XML schema for the Requirement model generated from Figure 4.

Figure 6. The Requirement XML schema

6. Prototype and case study

Prototype.We have implemented a prototype tool based around an XML editor, XML Spy, to replace a word processor or a browser. This is advantageous because it produces XML documents that can be parsed, read into database, transformed through a style sheet, manipulated through the myriad of XML tools available to us, and imported into a familiar word processor-like environment. Compared with other products, XML Spy is significantly more powerful. It is the first true Integrated Development Environment (IDE) for XML development and contains many useful functions that can not only simplify typical XML editing tasks, but also provides graphical processor interface instead of text-style mark-up. This is ideal for applications targeted at non-technicians. It is worth mentioning that the special linking mechanisms are required to present the relationships between the elements. As the Xlink and Xpointer technologies are not supported by any browser yet, the IDREF attribute nodes are used for intra-document references for the time being. In Figure4 for instance, the element “stakeholder” is referenced by the element “owner”. So the attribute named “REF” is added on the element “Stakeholder-REF”. In this way, the referenced element will occur when clicking the “parent element” on the browser. In the prototype, we have also defined the XSL style sheets for generating the presentable HTML documents based on the XML documents. Case Study.The system requirements and architecture model has been instantiated in the prototype tool to the “Short Term Conflict Alert” project of NATS. The requirements and architecture specifications were formulated according to the concepts of the model. The XML documents, which are partly shown in Figure 7, are able to be converted in and out of database, and be manipulated using scripting languages. Figure 8 is the HTML representation for Figure 7. It gives a new methodology for representation, analysis and management of requirements and architectures.

Figure 7 XML solution of STCA

Figure 8 HTML representation based on XML document of STCA

7. Conclusions and future work

In this paper, we have introduced an XML-based management tool for system requirements, system architectures and their relationships. The use of the XML technology affords us the capability of easily exchange requirements and architecture information within and across organizations. At the same time, it also provides opportunities to subject the requirements and architectures to analysis by various internal and external tools. In fact, we are currently developing a suite of analytical tools for better presentation and consistency checking of the requirements and architecture documents. We believe that the three-step design approach for our XML-based requirements and architecture management system.xmlTRAM+ is generally applicable to the development of XML-based systems. It involves the development of a series of conceptual, logical and physical models for the systems concerned. Acknowledgement. We would like to thank Chan Kai Tan for his contribution in the development of xmlTRAM+.

References

[Han, 2000] J. Han. Experience with Designing a Requirements and Architecture Management Tool. In Proceedings of International Conference on Software Methods and Tools, Wollongong, Australia, November 2000, pages 179-188. IEEE Computer Society Press. [Han, 2001] J. Han. TRAM: A Tool for Requirements and Architecture Management. Australian Computer Science Communications, 23(1): 60-68, 2001. [Tools survey]Tools survey: Requirements management tools. 2001. http://www.incose.org/lib/index.html. [Tan, 2001] Chan Kai Tan.XML-based Requirement and Architecture Management. Honors Thesis of School of Network Computing, Monash University, Australia, October, 2001, page 14-29 [Routledge, 2002]N.Routledge,L.Bird and A.Goodchild. UML and XML Schema. Database Technology2002, Australia, Jan 2002, pp157-166 [L. Boldt,1999] Larry Boldt. Managing Requirements at the Object Level. Technology Builders Inc, 1999. [D.W. Bustard,1995]D.W. Bustard and P.J. Lundy.Enhancing soft systems analysis with formal modelling. In Proceedings of the Second IEEE International Symposium on Requirements Engineering, pages 164–171, 10662 Los Vaqueros Circle P.O. Box 3014 Los Alamitos, CA 90720-1314, March 1995. IEEE Computer Society, [A.Finkelstein,2000]Anthony Finkelstein and Wolfgang Emmerich.The future of requirements management tools.Information Systems in Public Administration and Law, Austrian Computer Society, 2000. [I. S. Graham,1999] Ian S. Graham and Liam Quin. XML Specification Guide.John Wiley & Sons Ltd, 1999. [T. Hammer,1998] Theodore Hammer and Lenore Hu®man. Automated requirements management– beware how you use tools an experience report. In Proceedings of Third International Conference on Requirements Engineering, pages 34–40, 10662 Los Vaqueros Circle P.O. Box 3014 Los Alamitos, CA 90720-1314, April 1998. IEEE Computer Society. [Bass, 1998] L. Bass, P. Clements, and R. Kazman. Software Architecture in Practice.Addson-Wesley, Reading, MA, USA, 1998. [Emmerich, 1999] W.Emmerich, A. Finkelstein, C. Montangero, S. Antonelli, S. Armitage, and R. Stevens. Managing Standards Compliance.IEEE Transactions on Software Engineering, 25(6):836–851, 1999. [W3C, 2000]W3C Working Group. Extensible Markup Language (XML) 1.0. http://www.w3.org/TR/REC-xml