Chapter 11

Quality Attributes in Medical Planning and Simulation Systems

Matthias Galster1; Antoine Widmer2    1 University of Canterbury, Christchurch, New Zealand
2 University of Applied Sciences Western Switzerland, Sierre, Switzerland

Abstract

Medical planning and simulation (MPS) systems integrate resource-consuming computations (e.g., simulations of human tissue) and advanced interaction techniques (e.g., haptic devices). Developing MPS systems is challenging and a specialized, time-consuming, and expensive process. Achieving quality in these systems is essential due to the criticality of those systems for human health and life. Throughout our experience with developing research and commercial MPS systems, we found that these systems impose specific constraints on “quality.” The notion of “quality” in the software for MPS systems is often only explored from a technical perspective (e.g., the accuracy of algorithms used within the software). However, no comprehensive advice on how to deal with quality attributes in MPS systems development exists. In this chapter we elaborate on how quality attributes of MPS systems are exhibited in the architecture and in the architecting process for those systems.

Keywords

Software architecture

Quality

Medical planning and simulation systems

Introduction

Medical planning and simulation (MPS) systems require the integration of resource-consuming computations and advanced interaction techniques. Examples of MPS systems include software for training surgeons in medical schools or software for preparing and planning surgeries based on simulated organs of the patient who will undergo the surgery. MPS systems often simulate human tissue as virtual objects based on complex mathematical and physical models and allow medical personnel to interact with virtual objects using a haptic device. In Figure 11.1, we show a screenshot of a simulation that allows the interaction between a virtual finger moved by a medical examiner and a virtual organ made of soft tissues. This simulation is used for training cancer screening by palpation (Galster and Widmer, 2010). The simulation in Figure 11.1 shows the human organ in 3D, provided that the user is wearing special goggles. The medical examiner would also feel the stiffness of the organ through a haptic device. This simulation teaches a medical examiner how to apply the correct force to detect embedded harder lesions in human tissue. Darker regions on the virtual object in Figure 11.1 indicate the strength of the force applied to the different regions of the virtual organ. A schematic setup of a typical MPS system is shown in Figure 11.2. The monitor in Figure 11.2 could visualize something similar as shown in Figure 11.1.

f11-01-9780124170094
Figure 11.1 Screenshot of an application that simulates the interaction of a medical examiner (finger) with human tissue (virtual organ).
f11-02-9780124170094
Figure 11.2 Setup of a typical MPS system.

Architecting and designing MPS systems are challenging and a specialized, time-consuming, and expensive process. In particular, achieving quality in MPS systems is essential due to the criticality of those systems for human health and life. For example, poor training of surgeons may lead to misjudgments of physical conditions of patients. Through our experience with developing research and commercial MPS systems, we found that these systems impose specific constraints on “quality.” This is because of the following reasons:

 Medical simulation and planning systems should replicate the real world as closely as possible, including how humans (i.e., medical practitioners) perform tasks in real time.

 Most MPS systems use physical models to represent human tissue or organs. Therefore, we need to pay special attention to the correctness of such models to provide accurate support for MPS (Galster and Widmer, 2010).

 Various stakeholders involved in the development of such systems have different notions of quality. For example, surgeons are concerned about performance. Furthermore, surgeons are concerned about completeness of the MPS features to include all possible cases or complications that may occur in a surgical procedure. Medical research and development engineers, on the other hand, are more concerned about the accuracy of their algorithms implemented in those systems.

 When making architectural decisions for medical software, there is a need to consider complex hardware (e.g., haptic devices, stereoscopic displays, 3D goggles, and “trackable” surgical tools, such as endoscopes).

Note that most MPS systems utilize virtual reality (VR). Therefore, these characteristics may also appear in the context of other systems that utilize VR and go beyond merely visualizing virtual environments (e.g., by allowing human interaction or feedback, such as earthquake simulation systems, industrial flight simulators, or military training systems).

11.1 Chapter Contributions

To the best of our knowledge, no comprehensive guidelines on how to deal with quality attributes in medical systems development exist. Therefore, in this chapter we elaborate on how quality attributes of MPS systems are exhibited in the architecture of those systems and in the architecting process. In detail, the contributions of this chapter are the following:

1. We explore challenges related to quality attributes in the development of MPS systems. These challenges can be used as pitfalls to be avoided by architects and designers involved in designing novel MPS systems.

2. We propose a set of quality attributes that should be addressed in the software architecture. Here, we focus on the quality attributes performance, usability, and correctness. These quality attributes can support architects and designers as a checklist for the quality of MPS systems. Furthermore, performance, usability, and correctness can be used as out-of-the-box architectural key drivers in medical software development projects. Based on Chen et al. (2013), these quality attributes help describe architecturally significant requirements, that is, requirements that have a measurable impact on a software architecture and shape the architecture. Even though there are other quality attributes in the context of MPS systems design, we found these three quality attributes as recurring architectural key drivers that drive architectural decisions. We acknowledge that MPS systems consist of software and hardware. However, in this chapter we only discuss issues related to the software architecture of MPS systems.

3. We report several strategies on how to handle quality attributes at the requirements and architecture stage of MPS software development. These strategies are inspired by agile development practices.

The findings presented in this chapter come from more than 8 years of researching and developing MPS systems at Canadian and Swiss research institutes and companies. We did not apply formal data collection methodologies, but recorded challenges throughout these projects and aggregate them into this chapter. Furthermore, with regard to strategies to handle quality attributes, we used final project reports to determine the level of success and satisfaction of stakeholders with the project outcome.

In Section 11.2 of this chapter, we introduce the background and related work. In Section 11.3 we elaborate on challenges related to achieving quality attributes in MPS systems. In Section 11.4 we discuss quality attributes for MPS systems. Some advice on how quality attributes could be considered during the architecting of MPS systems is provided in Section 11.5. Finally, we conclude this chapter in Section 11.6.

11.2 Background and Related Work

11.2.1 MPS systems

MPS systems often use VR technologies. Thus, MPS systems involve resource-consuming computations because VR environments should allow human users to interact in real time with a computer-simulated environment (Kim, 2005). Advanced interaction techniques are used because MPS systems do not only integrate visual information, but also information pertinent to the sense of touch of human tissues and organs (Sorid and Moore, 2000). Thus, many MPS systems integrate complex haptic hardware systems for user-software interaction (e.g., to simulate the use of an endoscopic tool inside a human body). This is in contrast to ordinary software systems that use mouse, keyboard, or touchpads as input devices, and monitors, screens, or visual displays as output devices.

11.2.2 Software development for MPS systems

Developing MPS systems requires knowledge in many different areas, such as sensing and tracking technologies, stereoscopic displays, or multimodal interaction (Kim, 2005). Usually, MPS systems involve small teams and small- to medium-scale software. Close communication between users and developers of the software is essential for timely delivery of the working software. In the following paragraphs we outline some existing work on software development for MPS systems, without focusing on architecture or design activities.

 Troyer et al. (2007) applied conceptual modeling as commonly used in software engineering to the engineering of VR systems. The main goal was to reduce the complexity of VR applications by narrowing the gap between the application domain (i.e., MPS systems) and the level at which VR applications are specified by software designers. Conceptual modeling claims to involve customers in the design process of VR applications and to detect design flaws early on.

 VRID, an approach for developing VR interfaces, has been proposed by Tanriverdi and Jacob (2001). VRID divides the design process of VR systems into a low-level and a high-level phase and formally represents the environment of VR applications: It separates graphics from interaction and application data. In this sense, VRID utilizes ideas from the Model-View-Controller pattern.

 The CLEVR approach (Kim et al., 1998; Seo and Kim, 2002) utilizes UML and object-oriented design for designing VR applications. CLEVR uses simultaneous functional and behavioral modeling, hierarchical modeling and top-down creation of levels of detail, incremental execution and performance tuning, user task and interaction modeling, and compositional reuse of virtual objects.

 Geiger et al. (2000) presented an approach for developing animated and interactive media, whereas Willans and Harrison (2001) developed a toolset to separate designing interaction techniques from building a specific virtual world. Both works focus on aspects related to visualizations.

 A higher-level software engineering concept for VR has been presented by Seo, who proposed a spiral model for VR system development (Seo and Kim, 2002). This model can be viewed as a classical spiral software engineering process with requirements analysis as stage 0, system architecture “scene” modeling as stage 1, refinement as stage 2, and the development of presence and special effects as stage 3. This spiral model does not cover testing; however, some performance tuning and system simulation and validation is included.

 Focusing more on requirements-related aspects, Kim (2005) presented a requirements engineering perspective on the development of VR systems. Different levels of requirements are defined, with an internal view, interaction, and models as well as simulation parts of VR applications. The approach uses storyboards (visual scripts with informal sketches and annotations) to document requirements. These requirements are refined in UML class diagrams. UML message sequence diagrams are used to describe interactions within a VR system. Similarly, in our previous work we explored a requirements-centric perspective on the design of VR applications, following an agile-inspired approach (Galster and Widmer, 2010).

Kim, 2005 describes three factors that make the development of VR software different from other software systems:

1. Real-time performance requirements, while maintaining an acceptable level of realism and presence of virtual objects in a virtual space.

2. Modeling the appearance of objects and physical properties, including functions and behavior.

3. Consideration of different styles and modalities of interaction, according to different tasks and I/O devices.

Consequently, many system goals and drivers have to be considered simultaneously during architecting, some of which are conflicting (e.g., technology choices about I/O devices and physical properties of virtual objects). However, due to their innovative nature, most MPS systems are often developed following ad hoc practices or practices that are more similar to developing scientific software (Sanders and Kelly, 2008). For example, similar to scientific software development, MPS systems typically involve scientists knowledgeable in the application domain.

11.2.3 Quality attributes of MPS

No comprehensive study on quality attributes for MPS systems exists. However, quality attributes have been studied in the medical domain in general. For example, Wijnstra (2001) identified important quality attributes for medical imaging product lines: reliability, safety, functionality, portability, modifiability, testability, and serviceability. These quality attributes may also appear in MPS systems. As we will show later, functionality as a quality attribute (in terms of model correctness) also appears in MPS systems. Capilla and Martinez (2004) explore software architecture for VR applications and propose an architecture. However, their approach does not consider qualities such as performance, usability, and presence.

11.3 Challenges Related to Achieving Quality Attributes in MPS Systems

As mentioned earlier, the challenges described in this section are based on several projects developing commercial MPS systems as well as multiple projects that developed MPS systems in an academic setting. Even though the nature of these challenges may not be unique to MPS systems and might also occur in other types of complex or unprecedented systems, we believe that making them explicit helps designers of MPS systems avoid common pitfalls. In detail, we found four different types of challenges related to achieving quality attributes:

 Constraints on the development and architecture process for MPS systems should be kept to a minimum in order to keep this process flexible. In VR as an innovative and cutting-edge discipline, creativity of developers (including architects and designers) is necessary or even desired to design useful solutions. A too-rigid process may reduce the potential of benefiting from creativity.

 During requirements engineering and architecture analysis, detailed requirements cannot simply be “gathered,” but are usually “discovered” throughout development. This usually happens in tight collaboration and interactions with end users (surgeons, medical planners, physicists, etc.) rather than other stakeholders. In detail, the problems that we encountered with requirements engineering and architecture analysis are the following: First, required experts may not be available. Medical professionals, such as surgeons, usually tend to be reluctant to get involved into software engineering activities to precisely express their needs. Even in cases where they get involved, we experienced that their input is quite vague and requires lots of additional research. This additional research may result in new stakeholders and information sources. Second, not all required experts may be known early on. For example, medical planning systems may involve surgeons at early stages for requirements elicitation. At later stages, it may become necessary to involve physicists for the modeling of human tissue. This may not have been anticipated at early phases of requirements elicitation. Third, requirements and technical feasibility are closely coupled. For example, software and hardware technologies constrain how realistic simulations can be.

 We lack guidelines for how to effectively integrate various resource-consuming computations and interaction techniques (Kim, 2005) to achieve quality planning and simulation systems. In particular, trade-offs between quality attributes and quality attribute requirements need to be considered. For example, model correctness is often sacrificed for improving performance and usability in MPS systems. Architectural knowledge management (Kruchten et al., 2005) and supporting tools (Tang et al., 2010) that could help address this challenge are not or rarely used in the development of MPS systems. This means that solutions for common design problems may exist, but are not documented or shared within and across organizations. Thus, architects and designers may not be aware of these solutions and therefore cannot reuse them. As also found in other domains, architectural knowledge is not systematically managed in order to address frequently occurring challenges related to multifaceted requirements, but rather treated implicitly and informally (Tofan et al., 2013).

 The architecture of MPS systems is usually a variation of a Model-View-Controller architecture. Figure 11.3 shows a schematic view of a typical high-level architecture of MPS systems. The “Graphics module” is responsible for rendering graphics and displaying them to the user. The “Advanced I/O processing module” elements help integrate sophisticated input (haptic devices, touch screens, etc.) and output devices (haptic devices, 3D goggles, 3D screens, etc.). The “Computational module” implements algorithms necessary to simulate the behavior of tissue. However, there is no strict separation between graphics rendering (view), advanced I/O (controller), and computations (model). Instead, data and control flow appear between model elements, view elements, and controller elements. The reason for this is that performance goals are usually easier to achieve if the controller element is not in full control of all data and control flows within an MPS system. Furthermore, due to the innovative nature of MPS systems, ad hoc practices and quick fixes are applied to tune quality attribute requirements. This negatively affects the maintainability of MPS and further contributes to violating design rules prescribed by the Model-View-Controller pattern.

f11-03-9780124170094
Figure 11.3 Data and control flows between major architectural elements of an MPS system.

11.4 Quality Attributes in MPS Systems

The notion of “quality” in the software for MPS systems is often explored from a technical perspective (e.g., the accuracy of algorithms used within the software). Quality attributes tend to be treated as high-level constraints and criteria to define test cases, rather than as explicit drivers that guide architectural decisions. Based on the experience of developing research and commercial MPS systems, Figure 11.4 shows three quality attributes and example quality attribute requirements found as most significant in the context of MPS systems. We integrated our quality attributes in the ISO 9126 model for software quality (ISO/IEC/IEEE, 2011). Thus, model correctness is a sub-quality attribute of quality attribute functionality in ISO 9126. We discuss each quality attribute in the remainder of this section. Please note that in Figure 11.4 we only show examples of quality attribute requirements to illustrate how quality attributes can be “operationalized.” However, in practice each quality attribute could result in more than one quality attribute requirement.

f11-04-9780124170094
Figure 11.4 Quality attributes and example quality attribute requirements experienced in the context of medical planning and simulation systems.

11.4.1 Performance

Performance is crucial for MPS systems. Most, if not all, MPS systems are real-time applications. For medical practitioners and end-user representatives, performance refers to the smoothness of rendering objects and interaction. Usually, several performance goals for one stakeholder exist (measured in terms of response time, frame rate, etc.). Given that efficiency in ISO 9126 defines the capability of a software product to provide appropriate performance relative to the amount of resources used, we define performance as a subcategory of efficiency in ISO 9126 (ISO/IEC/IEEE, 2011).

11.4.2 Usability

Usability refers to the ease of use of an MPS system. MPS systems should be usable in an intuitive manner, and interaction with virtual objects should happen just like in a real-world setting. In ISO 9126, usability refers to the capability of a software product to be understood, learned, used, as well as its ability to attract users (ISO/IEC/IEEE, 2011). Furthermore, ISO 9126 defines understandability, learnability, and operability as a subcategory of usability. Thus, we also define usability in MPS systems as a subcategory of quality. Usability can be determined and measured using soft methods (e.g., usability tests that include test users) or hard metrics (e.g., time to learn how to use an application or the number of errors made by a novice user) (Kotonya and Sommerville, 1998). In particular, understandability and interpretability of visualizations of virtual organs are a crucial quality attribute requirement of medical examiners. Note that performance and usability affect each other. Despite being defined as similar in ISO 9126, performance is not classified as usability in our work.

11.4.3 Model correctness

ISO 9126 defines functionality as the capability of a software product to provide functions that meet stated and implied needs when the software is used under specified conditions. More specifically, ISO 9126 defines accuracy as the capability of a software product to provide the right or agreed results or effects with the needed degree of precision (ISO/IEC/IEEE, 2011). Thus, we define model correctness as a subcategory of functionality. Most, if not all, MPS systems use physical and mathematical models to represent real-world phenomena (such as human tissue). Such models are usually not understood by software architects and designers, but require the involvement of domain experts, such as physicists and biomedical engineers. The correctness and accuracy of those models is crucial for the applicability and reliability of an MPS system. For example, measurements obtained from mathematical models must be accurate enough to provide realistic simulations of human tissue for informed surgery planning. The meaning of “accurate enough” is usually determined by closely involving medical domain experts in the definition of quality attribute requirements.

We found that these three quality attributes describe requirements that are architecturally significant (Chen et al., 2013). According to Chen et al., a requirement or quality attribute is “architecturally significant” if it meets the following criteria:

 Has wide impact: Many different stakeholders; components are affected by performance, usability, and model correctness.

 Targets trade-offs: Trade-offs occur because no solution satisfies all requirements equally well. For example, it is usually not possible to achieve good performance and high model accuracy.

 Implies strictness: Usually, performance, usability, and model correctness are not negotiable. This means that when making architectural decisions, the quality attributes that can be satisfied by multiple design options will allow flexibility in architectural design, whereas strict requirements determine architectural decisions because they cannot be satisfied by alternative design options (Chen et al., 2013).

 Is difficult to achieve: Performance, usability, and model correctness are difficult to meet and technologically challenging.

There may be other quality attributes in the context of MPS systems (e.g., robustness, portability between different operating systems). However, we found the three quality attributes mentioned above to be the ones that appear in most MPS systems and across all projects. For example, portability may only occur in projects that develop product lines of MPS systems, and robustness tends to be of lower importance in MPS systems used for training surgeons (i.e., it would not be treated as a key driver). Consequently, these three quality attributes tend to drive trade-off analyses. Furthermore, we found them as key concerns for determining the success of an MPS system projects (e.g., to derive test cases).

Qualities that are closer to the architecture (or “intrinsic” qualities, such as maintainability, extendibility) are just as important as in other projects. However, we found them to be addressed implicitly throughout design and not considered as architectural key drivers.

11.5 Handling Quality Attributes at the Architecture Stage of MPS Systems

Our recommendations for dealing with quality attributes at the architecture stage resulted from our experience in transitioning from ad hoc development practices to a more agile development practice. In this section we first introduce a set of stakeholders that we found most frequently occurring in the development of MPS software (see Table 11.1). Also, we include the most typical concerns that these stakeholders have. To establish a link between these concerns and software architecture, we phrase these concerns as questions that stakeholders have and that the software architecture should help them answer. Then, we discuss the role of architecture documentation and the architecture process.

Table 11.1

Stakeholders When Architecting MPS Systems

StakeholderConcern
ArchitectTo what degree does the architecture support performance?
To what degree does the architecture support usability?
Medical examinerHow accurate are the visualizations of human tissue?
How accurate are analysis results from a simulation?
PatientHow intrusive is the MPS system when obtaining biomedical data?
Does the MPS ensure privacy of personal patient data?
Regulatory bodiesDoes the MPS system comply with regulatory standards in the medical domain?

11.5.1 Architectural stakeholders

We found that the architect and the end-user representative (surgeon, medical examiner, etc.) are the most important stakeholders. In contrast to other types of software, the main duty of the architect is usually to have a clear understanding about the technologies used in the project, rather than to have a clear understanding about the scope and main drivers of the system. This is because many architectural decisions in the context of MPS systems are technological decisions. The architect would, for example, rely on input from 3D artists.

Furthermore, in contrast to large-scale software projects that often follow disciplined processes with clearly defined roles, architects usually reside at a client side and interact with customers closely for prioritizing user stories. These user stories are extracted from medical examiners. Patients are usually not directly involved in the development process of MPS systems. Their concerns are mostly represented by regulatory bodies. Regulatory bodies, such as standardization organizations or government agencies only have limited interests in the architecture. However, regulatory bodies have a strong interest in certifying MPS systems. For this purpose the architecture description document provides a useful source of relevant information. Other stakeholders, such as testers and product owners, make an appearance, but they do not have significant impact on architectural concerns.

11.5.2 MPS architecture documentation

The development process in the context of MPS systems often follows agile and heavily incremental and iterative procedures. As found in a previous study (Falessi et al., 2010), the software architecture in an agile context aims at facilitating communication among organizations involved in the development, production, fielding, operation, and maintenance of a system. The same applies for the architecture for medical simulation and planning systems. On the other hand, the architecture document of MPS systems was found less useful for supporting system planning and budgeting activities. When certifying MPS systems, the architecture document may play a significant role as a form of system documentation. This means that architecture documentation is a deliverable required by certification bodies.

As found by Babar (2009), several changes occur in software architecture documentation practices that apply agile approaches. In particular, the level of details of architecture documentation is lower compared to non-agile approaches. Also, formal architecture documentation was considered as not adding much value in MPS projects. Thus, we recommend only documenting the most important aspects for the most important stakeholders in an architecture description document. To support documenting important concerns for certain stakeholders, we recommend using architecture viewpoints and views. These help document important concerns of different stakeholders at different stages of the development process (ISO/IEC/IEEE, 2011).

11.5.3 Architecture process

Architecting in the context of MPS systems is inspired by agile development practices. For example, XP and agile practices seems to be well-suited for innovative and creative software development (Conforto and Amaral, 2008; Highsmith, 2004; Johnston and Johnson, 2003), the regulated life science industry (Fitzgerald et al., 2013) and regulated and complex industries in general (such as the automotive or aerospace domain) (Cawley et al., 2010). In this sense, MPS systems benefit from an agile architecture. In the following, we relate MPS software systems architecting to generic architecture design activities as proposed by Hofmeister et al. (2007):

 Architecture analysis: Architecture analysis defines the problem that a system architecture must solve. During architecture analysis, architectural concerns and the context of the system are examined to define a set of architecturally significant requirements. When developing MPS systems, architecturally significant requirements include requirements identified based on the quality attributes described before. In addition, project-specific key drivers can be identified (e.g., information security). Furthermore, concerns are derived from questions related to these quality attribute requirements that we would expect an architecture description document to help answer (see concerns listed in Table 11.1). Architecture analysis usually involves the architect(s) and domain experts (such as physicists) and medical examiners.

 Architecture synthesis: Architecture synthesis proposes architecture solutions (e.g., architecture candidates or decision alternatives). Architecture solutions or decision alternatives must accommodate architecturally significant requirements that were identified during architecture analysis. Common decision alternatives that occur in the context of MPS systems include what kind of programming language to use (scripting languages that do not require detailed understanding of VR concepts or lower-level programming languages), what kind of libraries to use to render graphics (OpenGL, etc.), or what authoring tools to use to develop a static scene in the world in which objects are located, including lings, viewpoints, cameras. Because the required expertise in VR and computer graphics varies significantly between these alternatives, the skills and knowledge of developers are the main decision criteria for these architectural decisions.

 Architecture evaluation: Architecture evaluation examines candidate architectural decisions against the architecturally significant requirements. Based on the outcome of the evaluation, the architecture can be revised by going back to architecture analysis and/or synthesis. Usually, architecture evaluation is done based on continuous testing rather than following strict architecture or design reviews (see below). Architecture evaluation is one of the most crucial aspects for successful MPS systems. To address the three key concerns of performance, usability, and model correctness, continuous testing was found to be useful. Here, the architecture description must support continuous testing. Furthermore, we recommend the definition of architecture viewpoints (ISO/IEC/IEEE, 2011) to provide models and other forms of description that help represent performance, usability, and correctness concerns. As shown in our previous work (Widmer and Hu, 2011), using Finite Element Method (FEM) models helped compare different implementation choices of physical models. These models could become part of an architecture view to describe the runtime behavior of a physical model used in a MPS system. This is similar to using execution viewpoints in the context of architecting MRI systems, as proposed by Arias et al. (2011). To further facilitate architecture evaluation, an approach similar to Active Reviews for Intermediate Designs (Clements, 2000) could be applied. The benefit of such approach would be that architecture evaluation could start very early in the architectural design process to ensure that the architecture of MPS is tenable. Reviews could be done before completely building a system first. Furthermore, such reviews would also ensure that the most important stakeholders are engaged early in the software development project. Early designs, or in the case of MPS also late designs, are often poorly documented and described and lack important details that would allow a proper assessment with regard to the most important architectural key drivers. Nevertheless, early reviews could already detect problems at early stages. Based on Clements (2000), we envision the following review steps:

1. Identify the most important stakeholders. These stakeholders are most likely the stakeholders listed in Table 11.1.

2. Prepare a briefing of stakeholders. This briefing should include an explanation of the most important quality attributes (such as performance, usability, and model correctness). Model correctness may not be checked through qualitative reviews, but through more formal approaches, such as model checking or testing (as explained before).

3. Identify scenarios for performance and usability. These scenarios can be used throughout the qualitative review. In Figure 11.2 we included some quality attribute requirements that could be used as starting points for scenarios to evaluate the architecture of MPS systems. Note that we do not identify scenarios for model correctness because correctness is usually checked through quantitative testing approaches.

In contrast to conventional reviews, such “active” reviews would require evaluators and reviewers to be more actively engaged in the review, rather than merely checking whether the architecture complies with certain criteria. For example, reviewers could be asked to write down exceptions for unexpected behavior of physical tissue or feedback provided through a haptic device that could occur within an MPS system, rather than simply checking whether exceptions have been defined during architecting. Exceptions written down by reviewers could then be compared with exceptions captured in the architecture.

The initial effort for architecture evaluation may be significant, but decreases with iterations. This is because in each iteration the architecture is refined. Thus, it is not required to evaluate each aspect of the architecture in each iteration. Furthermore, testing time is reduced because many problems that may occur during testing have been identified during architecture analysis.

Tang et al. (2010) also consider architecture implementation and architecture maintenance. Here, architecture implementation is about realizing the architecture by defining a detailed design (such as designing concrete algorithms to be used to simulate human tissue) and implementing a system by coding the application. Architecture maintenance is about accommodating changes once the initial system has been deployed. As argued before, MPS systems are often developed in an agile manner. Thus, we do not separate these two activities from the other activities introduced above, but rather consider them as integrated with architecture synthesis and evaluation.

During architecture maintenance and incremental synthesis, architecture refactoring is a key practice to improve or adjust the architecture to quality attribute requirements related to the three core quality attributes mentioned above. Refactoring is particularly useful to achieve performance improvements in physical models. Potential improvements are identified through reviews.

Another practice that was found useful in the context of architecting is simple design. Simple design keeps development at a low level of complexity as it aims at implementing performance and model correctness with the simplest means possible. Human tissue could be modeled in many different ways and using sophisticated algorithms. Simple design, on the other hand, requires that physical models should only be as complex as necessary to fulfill the given purpose. To compare different models and their simplicity, statistical tests were found useful (Widmer and Hu, 2010).

11.6 Conclusions

The training of medical students and surgical personnel in new surgical procedures and tools is becoming more important. Furthermore, simulating medical practices before the actual operation helps increase the success of an operation. However, training and planning needs to be provided without compromising patient safety. Therefore, MPS systems are becoming more important, imposing challenges on the software development of such systems.

The definition of quality attributes and architecture that help accommodate quality attributes for MPS systems is a critical endeavor to ensure a satisfactory surgical training and planning outcome. Thus, in this chapter we reported challenges related to achieving quality attributes in MPS systems. Furthermore, we introduced three quality attributes that could be used as a starting point for eliciting more detailed quality attribute requirements for MPS systems. These quality attributes represent architecturally significant requirements of MPS. Being aware of them ensures that an architecture for MPS causes fewer quality problems. We also explained how a generic software architecture process is affected by these specific quality attributes, including stakeholders and their concerns.

Even though our work focused on MPS systems, the quality attributes discussed in this chapter as well as their impact on the architecting process may also be applicable to other types of software systems. For example, considering the discussions in this chapter, our findings regarding developing and architecting MPS systems are similar to practices found in scientific software development (Ackroyd et al., 2008). For instance, the influence of agile practices can also be found in scientific software development (Ackroyd et al., 2008). Furthermore, MPS systems appear similar to critical embedded systems. Thus, trends in developing critical embedded systems (Gill, 2005) may also be applicable to MPS systems. For example, in the past, complex systems were built using centralized, distributed designs. However, new concepts for medical intensive care units and operating rooms focus on the plug and play situational usage of software and hardware components (Gill, 2005), that is, critical embedded systems are aggregated rather than based on distributed design. Exploring these directions is part of future work.

References

Ackroyd K, Kinder S, Mant G, Miller M, Ramsdale C, Stephenson P. Scientific software development at a research facility. IEEE Softw. 2008;25(4):44–51.

Arias TBC, America P, Avgeriou P. Defining and documenting execution viewpoints for a large and complex software-intensive system. J. Syst. Softw. 2011;84(9):1447–1461.

Babar MA. An exploratory study of architectural practices and challenges in using agile software development approaches. In: Paper Presented at the Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture (WICSA/ECSA); 2009.

Capilla R, Martinez M. Software architectures for designing virtual reality applications. In: Paper Presented at the First European Workshop on Software Architecture; 2004.

Cawley O, Wang X, Richardson I. Lean/agile Software Development Methodologies in Regulated Environments—State of the Art. In: Paper Presented at the First International Conference on Lean Enterprise Software and Systems; 2010.

Chen L, Babar MA, Nuseibeh B. Characterizing architecturally significant requirements. IEEE Softw. 2013;30(2):38–45.

Clements, P., 2000. Active Reviews for Intermediate Designs, Technical Report No. CMU/SEI-2000-TN-009, SEI/CMU.

Conforto EC, Amaral DC. Evaluating an agile method for planning and controlling innovative projects. Proj. Manag. J. 2008;41(2):73–80.

Falessi D, Cantone G, Sarcia SA, Calavaro G, Subiaco P, D'Amore C. Peaceful coexistence: agile developer perspectives on software architecture. IEEE Softw. 2010;27(2):23–25.

Fitzgerald B, Stol K-J, O'Sullivan R, O'Brien D. Scaling agile methods to regulated environments: an industrial case study. In: Paper Presented at the International Conference on Software Engineering; 2013.

Galster M, Widmer A. Requirements in VR systems: The REViR approach and its preliminary evaluation. In: Paper Presented at the Workshop on Software Engineering and Architectures for Realtime Interactive Systems (SEARIS); 2010.

Geiger C, Paelke V, Reimann C, Rosenbach W. A framework for the structured design of VR/AR content. In: Paper Presented at the ACM Symposium on Virtual Reality Software and Technology; 2000.

Gill H. Challenges for critical embedded systems. In: Paper Presented at the 10th IEEE International Workshop on Object-oriented Real-time Dependable Systems; 2005.

Highsmith J. Agile Project Management: Creating Innovative Products. Reading, MA: Addison-Wesley; 2004.

Hofmeister C, Kruchten P, Nord RL, Obbink H, Ran A, America P. A general model of software architecture design derived from five industrial approaches. J. Syst. Softw. 2007;80(1):106–126.

ISO/IEC/IEEE, 2011. Systems and Software Engineering—Architecture Description (Vol. ISO/IEC/IEEE 42010). Geneva, Switzerland.

Johnston A, Johnson CS. Extreme programming: a more musical approach to software development?. In: Marchesi M, Succi G, eds. Extreme Programming and Agile Processes in Software Engineering. Berlin/Heidelberg: Springer Verlag; 325–327. Lecture Notes in Computer Science. 2003;vol. 2675.

Kim GJ. Designing Virtual Reality Systems—The Structured Approach. London: Springer Verlag; 2005.

Kim J, Kang KC, Kim H, Lee J. Software engineering of virtual worlds. In: Paper Presented at the ACM Symposium on Virtual Reality Software and Technology; 1998.

Kotonya G, Sommerville I. Requirements Engineering: Processes and Techniques. New York, NY: John Wiley & Sons; 1998.

Kruchten P, Lago P, Vliet H.v., Wolf T. Building up and exploiting architectural knowledge. In: Paper Presented at the 5th Working IEEE/IFIP Conference on Software Architecture; 2005.

Sanders R, Kelly D. Dealing with risk in scientific software development. IEEE Softw. 2008;25(4):21–28.

Seo J, Kim GJ. Design for presence: a structured approach to virtual reality system design. Presence Teleop. Virt. Environ. 2002;11(4):378–403.

Sorid D, Moore S. The virtual surgeon [virtual reality trainer]. IEEE Spectr. 2000;37(7):26–31.

Tang A, Avgeriou P, Jansen A, Capilla R, Ali Babar M. A comparative study of architecture knowledge management tools. J. Syst. Softw. 2010;83(3):352–370.

Tanriverdi V, Jacob RJK. VRID: a design model and methodology for developing virtual reality interfaces. In: Paper Presented at the ACM Symposium on Virtual Reality Software and Technology; 2001.

Tofan D, Galster M, Avgeriou P. Improving Architectural Knowledge Management in Public Sector Organizations—An Interview Study. In: Paper Presented at the 25th International Conference on Software Engineering and Knowledge Engineering; 2013.

Troyer OD, Kleinermann F, Pellens B, Bille W. Conceptual modeling for virtual reality. In: Paper Presented at the 26th International Conference on Conceptual Modeling (ER 2007); 2007.

Widmer A, Hu Y. Statistical comparison between a real-time model and a fem counterpart for visualization of breat phantom deformation during palpation. In: Paper Presented at the 23rd Canadian Conference on Electrical and Computer Engineering; 2010.

Widmer A, Hu Y. An evaluation method for real-time soft-tissue model used for multi-vertex palpation. In: Paper Presented at the IEEE International Conference on Systems, Man and Cybernetics; 2011.

Wijnstra JG. Quality attributes and aspects of a medical product family. In: Paper Presented at the 34th Annual Hawaii International Conference on System Sciences (HICSS-34); 2001.

Willans J, Harrison M. A toolset supported approach for designing and testing virtual environment interaction techniques. Int. J. Hum.-Comput. Stud. 2001;55(2):145–165.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.118.253.223