42
Kristian Marheim Abrahamsen A software tool for reuse of experience in HazOp Department of Computer and Information Science, NTNU Autumn 2003 TDT4735 Software Engineering, Depth Study Supervisor: Tor Stålhane

A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

Kristian Marheim Abrahamsen

A software tool for reuse of experience in HazOp

Department of Computer and Information Science, NTNU Autumn 2003

TDT4735 Software Engineering, Depth Study

Supervisor: Tor Stålhane

Page 2: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

Abstract

TDT4735 Autumn 2003 Abrahamsen

Page 3: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

Abstract

TDT4735 Autumn 2003 Abrahamsen

Abstract Most safety critical systems being produced today include software components. If these systems fail the result can be disastrous. Being aware of what hazards such systems have before they are produced can reduce the risks related to them. HazOp is a technique that helps an organization detecting hazards. Up to present, there are no computer programs which have been produced to support an organization’s reuse of experience in previous HazOps. In this project I discuss the motivation and need for such a software tool. After looking at what functionality this program should contain, functional and non functional requirements are listed. Some program use examples will be illustrated by screenshots of windows filled with information. Further work for this project will be implementing a program that satisfies the requirement specification and do some tests to see what benefit it will have in an organization.

Page 4: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

Contents

Preface This project report contains the contribution from Kristian Marheim Abrahamsen during autumn of 2003. The report discusses the need of a software tool that supports experience reuse from previous HazOps. I had some hardware problems during this project which made it difficult to implement the program. I planned to use Microsoft Visual .NET, but my machine started to reboot frequently without any warning. At date, this happened almost every minute. If it had not been for this problem, I could have implemented more of the program. I would like to thank my supervisor Tor Stålhane for giving very helpful advices, constructive criticism and motivating meetings. ________________________________ Kristian Marheim Abrahamsen Trondheim, Norway. November 28, 2003

Page 5: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

Contents

Contents 1. Introduction ..................................................................................................................... 1

1.1 Hazards identification and methodology....................................................................... 1 1.2 HazOp.......................................................................................................................... 1 1.3 Purpose of this project.................................................................................................. 2 1.4 Project structure ........................................................................................................... 2

2. HazOp and Practice ......................................................................................................... 3 2.1 Initiating the study ....................................................................................................... 3 2.2 Planning the study........................................................................................................ 3 2.3 Conducting the study meetings..................................................................................... 4 2.4 Dealing with follow-up work ....................................................................................... 5

3. The Software Tool............................................................................................................ 7 3.1 Improvement of HazOp by use of existing knowledge.................................................. 7 3.2 Program information base ............................................................................................ 9 3.3 Relevant information.................................................................................................. 10

4 Requirement Specification.............................................................................................. 12 4.1 Functional and non-functional requirements............................................................... 12 4.2 Functional Requirements............................................................................................ 13

4.2.1 Main functions for the software tool .................................................................... 13 4.2.2 Selecting Project.................................................................................................. 13 4.2.3 Storing information ............................................................................................. 14 4.2.4 Editing Category Dialog Box............................................................................... 16 4.2.5 Finding Information ............................................................................................ 17 4.2.6 Design representation category............................................................................ 18 4.2.7 Group Selection................................................................................................... 20 4.2.8 Detected hazards ................................................................................................. 22

4.3 Non Functional requirements ..................................................................................... 23 5 Implementation ............................................................................................................... 26 6. Program use examples ................................................................................................... 27

6.1 Design representation category................................................................................... 27 6.2 Group selection category............................................................................................ 28 6.3 Detected hazards category.......................................................................................... 29

7. Conclusion ...................................................................................................................... 30 8. Suggested further work ................................................................................................. 32 9. References ...................................................................................................................... 33 Glossary.............................................................................................................................. 35

Page 6: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

1. Introduction

TDT4375 Autumn 2003 Abrahamsen

List of figures Figure 2-1 Outline of the HazOp meeting process taken from [3]…………………………….7 Figure 3-1 Project and knowledge base………………………………………………………..9 Figure 3-2 Information Overload……………………………………………………………..10 Figure 4-1 Use case diagram for main program functions……………………………………14 Figure 4-2 Use case diagram for “Select project”…………………………………………….15 Figure 4-3 Use case diagram for “Store information”………………………………………..16 Figure 4-4 Use case diagram for “Editing a category dialog box”…………………………...17 Figure 4-5 Use case diagram for “Find information”………………………………………..18 Figure 4-6 Use case diagram for “Store inforamtion about design representation”...………..20 Figure 4-7 Use case diagram for “Store information about group selection”………………..21 Figure 4-8 Use case diagram for “Store information about detected hazards”………………22 Figure 6-1 Example of the Design representation dialog box………………………………29 Figure 6-2 Example of the Group selection dialog box……………………………………..30 Figure 6-3 Example of the Detected hazards dialog box……………………………………31

List of tables Table 2-1 HazOp meeting sheet taken from [3]………………………………………………..5 Table 4-1 Use case for “Select project”………………………………………………………14 Table 4-2 Use case for “Store information”…………………………………………………..15 Table 4-3 Use case for “Editing a category dialog box”……………………………………...16 Table 4-4 Use case for “Find information”…………………………………………………..18 Table 4-5 Use case for “Store inforamtion about design representation”…………………….19 Table 4-6 Use case for “Store information about group selection”…………………………..21 Table 4-7 Use case for “Detected hazard dialog box”………………………………………..23

Page 7: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

1. Introduction

TDT4375 Autumn 2003 1 Abrahamsen

1. Introduction Some systems can have serious impact on their environment if they fail. For example if a control system for a nuclear power plant fails, the consequences for the people and environment around it can be disastrous. According to [1], “ Major disasters, particularly in the oil, nuclear and chemical spheres, have stimulated attention on risk reduction to protect the environment and human safety.” These systems often contain software components. It is necessary to know how and why a system can fail to reduce the risk it poses to the environment. In this context we focus on system hazards. Hazards, accidents, and risks are all subjects that are tightly coupled. I will use the following definition of hazard in this project:

“ A hazard is a set of conditions, or a state, that could lead to an accident, given the right environmental trigger or set of events. An accident is the realization of the negative potential inherent in a hazard.” [2]

Being aware of what hazards a system might present, and dealing with these problems is therefore crucial.

Society can always try to avoid taking risks. In many cases this is the right thing to do, but sometimes the trade off can be too high. To gain something you usually have to risk something.

“ (… ) and so we learn to live with the inherent risks that surround us, because the cost of avoidance just seems simply too high. However, as technology becomes more and more ubiquitous, with more of that technology controlled by software, a greater portion of the risk we face is ultimately in the hands of software engineers.” [2]

1.1 Hazards identification and methodology There exist several methodologies and techniques for identifying risks and hazards in systems. Some of the most common are What If?, Interaction Analysis, Zonal Analysis, Checklists, Fault Mode and Effect Analysis (FMEA) and HazOp. Which is the most appropriate technique will depend on the project. “ No one technique can claim to give complete identification of hazards and, in practice, a combination is likely to give the best results.” [3]

1.2 HazOp This project will focus on the methodology HazOp; “ Hazard and operability study (HazOp) is perhaps the most powerful technique for the identification and analysis of hazards.“ [3] HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a group study where the concept is to review a system in a series of meetings, during which a multidisciplinary team methodically “ brainstorms” the system design, following the structure provided by the guide words and the team leader’s experience [4]. In the study they look for possible deviations from design intent that can have serious consequences. HazOp is a creative technique where a thorough exploration of the design is in focus.

No matter how good a methodology is, it still has to be managed by people. A methodology is a tool for a team or person to identify hazards. As for any tool its power does not help if the person who is in possession of it does not know how to use it. The result of an analysis is therefore a combination of the people’s skill and knowledge, and how they put the methodology into practise. “ A HazOp is carried out by a team and is successful only if the team is well composed and well led.” [3]

Page 8: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

1. Introduction

TDT4375 Autumn 2003 2 Abrahamsen

1.3 Purpose of this project The purpose of this project is to develop a software tool that records the knowledge gained in a HazOp process for further use in future projects. One problem with HazOp today is that all the experience about the methodology and the practice, fully depends on the knowledge of the persons involved in the team and does not take advantage of the knowledge available in the organization. The members of the HazOp team are usually a part of the organization, but the organization can contribute with information no individual member is in possession of. To the best of the author’ s knowledge, there is no such program to date. Because the amount of such knowledge can grow large, it is important to structure the information in a proper way to ensure that the HazOp team will easily find the relevant knowledge. By using such a tool, the organization will, at the beginning of the project, have relevant knowledge they can use for more successful planning. It can also be used as a checklist during the HazOp meetings. This project will focus on the HazOp part that deals with deviation from design intent. Operability study is vital for the result of the HazOp but is it not within the scope of this project. However, some aspects of this project can be applied with success in the operability study.

1.4 Project structure The structure in this document is as follows: Chapter 1 Introduction A short introduction to this project Chapter 2 HazOp and Practice A presentation of the HazOp and how this technique is usually done Chapter 3 The Software Tool

Discussion about the need for a software tool for storing experience related to a HazOp, what functionality it should contain and how it can be used by an organization.

Chapter 4 Requirement Specification Functional and non functional requirements for the software tool Chapter 5 Implementation

Short description about what was implemented and the architecture of the software tool

Chapter 6 Conclusion A conclusion of the project Chapter 7 Suggested Further Work A discussion about further work which can be done

Page 9: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

2. HazOp and Practice

TDT4375 Autumn 2003 3 Abrahamsen

2. HazOp and Practice This chapter is mainly based on the chapter Conduct of a HazOp meeting in [3]

Redmill, Chudleigh and Catmur [3] claim that “ HazOp is recognized to be a powerful technique, and its power is based on teamwork and a methodical step-by-step procedure.” This means that the organization must ensure that they are carrying out the HazOp process in the way it is intended. If not, it is very likely that the study will achieve poor results at a high cost. “ The title HazOp has been accorded to almost any attempts to identify hazards, often when the most casual approaches were employed.” [3] The reason for this might be that the literature on the subject has been sparse and that the management of the study has been inadequate. As with any creative process, the result often depends on who is doing it and how they do it. The best way to ensure the success of a HazOp is to select the right study leader and give the person the necessary resources. The resources in a HazOp will be people with the right skill, knowledge and time to conduct the meetings. The material resources will not contribute much to the overall cost of the study.

The study has four sequential stages. These are:

• Initiating the study • Planning the study • Holding the study meetings • Dealing with follow-up work

This chapter will take a closer look at each stage and see what is recommended practice.

2.1 Initiating the study Planning is an essential part of a HazOp; “ If a HazOp is to be carried out successfully, it needs to be planned in advance and someone in the organization needs to be made responsible for it.” [3] A study initiator should be selected. This person has the overall responsibility for the study. It is important that the study initiator has a good understanding of the process, and that he or she has the authority to allocate the necessary resources to the project. It can be hard to get the most qualified people in the organization to join the HazOp team. Because these persons often have other regular duties, the organization must prioritize the study by giving the study leader the power to make sure that the quality of the team is good enough. The study initiator selects the study leader. The study leader is responsible for planning and managing the HazOp.

2.2 Planning the study HazOp is a study that identifies hazards and operability problems. A HazOp is carried out by a team and never by an individual [3]. The quality of the HazOp depends on the performance of the selected team; hence the selection of appropriate members is crucial. The study leader is responsible for selecting appropriate members for the team. The members must have complementary skills. Together they must have the knowledge that is necessary to complete the study. Because HazOp is a creative technique, the members and their team work are of vital importance to the result of the process. The team must have complementary skills and knowledge. Group dynamics are of great importance for the quality of the study. “ A group which has complementary personalities may work better than a group which has been selected solely on technical ability.” [5] The members must be able to understand the design papers. A member can have more than one role. Typically, the roles may be classified as:

Page 10: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

2. HazOp and Practice

TDT4375 Autumn 2003 4 Abrahamsen

• Study leader • Designer • User or intended user • Expert • Recorder

The study leader is responsible for managing the study. The designer role may be filled by different people depending on which part of the design is presented. It is crucial that the user is able to explain operational and environmental issues. If not, this role will not add much value to the study and may even confuse the other team members. The expert role can be filled by one of the other team members, for example the study leader or designer. This could reduce the cost of the study but it is an advantage to have one extra explorer, particularly when this person is a specialist in a field essential to the study [3].

The study will have several meetings before the group has covered the complete design. Different people can fill a given role in different meetings. The study leader must make sure that the intended group is available at the time the meetings are being held.

2.3 Conducting the study meetings “ HazOp is based on the principle that several experts with different backgrounds can interact and identify more problems when working together than when working separately and combining their results.” [4] The concept is primarily to make the team brainstorm the hazards of the system based on the design representation of the system. The reason why HazOp emphasizes the design is that a hazard can result from a deviation from design intent. This can be a single component like a module for SQL queries, or the deviation can occur in an interaction between two components, for instance a database and a program module that tries to update a table.

To get an overview of what the system can do and how it does it, it is important that the design representation covers all concerns of the stakeholders of the system. If not, it is impossible to detect deviation from a design representation that does not exist. Therefore, the team must always be sure that the design representation is complete. If they see that they lack information for carrying out their intended work, the designer must return with a complete design representation later.

HazOp has a certain structure for how it is carried out, as seen in figure 2-1. It starts with pre-meeting activities. This could be recording the presence of the team members, explaining the meeting rules etc. The next step is to explain the intention of the design representation the group is going to study. The study leader then selects an entity for further investigation. Entities can be referred to as items. It is now the designer’ s responsibility to explain the design of that entity. After this has been carried out, the study leader’ s next step is to identify one of its attributes for study. An attribute is a relevant property of the entity. This could be response time, data flow etc. The team should take then a closer look at each guide word that could be combined with the selected attribute. “ A guide word is a word or phrase which expresses and defines a specific type of deviation from design intent [3].” It is a common practice to have a list of generic guide words like no, more, less, as well as, part of, reverse, and other than. When it is relevant to exam timing as a part of a HazOp guide words like early, late, before, and after should be used. Table 2-1 is an example of HazOp sheet row for a helicopter diagnosis project taken from [3].

Page 11: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

2. HazOp and Practice

TDT4375 Autumn 2003 5 Abrahamsen

The system can be represented in many views to cover the stakeholders concern. The HazOp team is interested in the design representation that involves the part of the system which can have consequences on the environment. This could for example be the software modules of a

Hazop

item

Item Attribute Guide Word

Cause Consequence /

implication

Question /

recommendation

15 Data Channel handle value to initiate evidence

Data flow

Part of Generation of messages is event driven and so evidence might be missed

Algorithms fail to recognise a critical event

R15 The criticality of evidence should be considered and critical evidence should be sent repetively

Table 2-1: HazOp meeting sheet taken from [3]

control system for a nuclear power plant; what could happen if the graphical user interface module doesn’ t work in the intended manner? The study should cover all entities in the design representations and the interactions between them. The team must have a member who is responsible for recording the results from the meeting, otherwise it will be difficult to keep track of what has been done and what remains to do.

2.4 Dealing with follow-up work “ If there are uncertainties at a HazOp meeting which are relevant to the understanding of the discovered hazards, their causes, or their consequences, or which may have led to hazards not being discovered, the study cannot be concluded until they have been answered and the associated issues resolved at a subsequent meeting. In other words, HazOp must end on conclusions and recommendations and not questions.” [3]

The study leader must make sure that all questions by the end of the study are resolved by delegating follow-up work to the appropriate persons who are involved in the design of the system. The study record should be used to verify the completeness of the HazOp. It is hard to give a precise answer to a question which is not well defined; thus it is important for the team to reach a consensus.

Besides answering questions, the follow-up work could consist of dealing with the recommendations arising from the meetings. Recommendations differ from questions by not demanding an answer.

“ The studies which are the subjects of the recommendations may be carried out after the HazOp study has been completed; whether they have been completed may be an issue for a later HazOp, or for a subsequent part of the continuing hazard or safety analysis, but it may not need to detain the current study.” [3]

Page 12: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

2. HazOp and Practice

TDT4375 Autumn 2003 6 Abrahamsen

Figure 2-1: Ouline of the HazOp meeting process taken from [3]

No

No

No

No

Carry out pre-meeting activities

Explain design intent

Explain design

Select attribute

Select guide word

Select attribute-guide-word combination

Investigate causes and consequences and

document

Have all interpretations for that attribute-guide-word

combination been applied?

Have all entities on the design representation been

investigated?

Start

Finish

Yes

Yes

Yes

Yes

Have all guide words been applied to that attribute?

Yes

Have all attributes of that entity been investigated?

No

Is deviation credible?

Page 13: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

2. HazOp and Practice

TDT4375 Autumn 2003 7 Abrahamsen

3. The Software Tool Although HazOp for software systems is a well-established technique which has been used by many organizations with good results, there is always room for improvement. As stated by Brooks, there is no silver bullet in software engineering:

“ There is no single development, in either technology or management technique, which by itself promises even one order-of- magnitude improvement within a decade in productivity, in reliability, in simplicity.” [6]

Leaving hazards undetected can be disastrous. Every possibility to improve the methodology at a relatively low cost should be investigated further. Utilizing experience from previous projects within the organization can improve the HazOp.

3.1 Improvement of HazOp by use of existing knowledge Experienced team members play an important role in achieving the desired results in HazOps [3]. However, there is no formal process for using existing knowledge within the organization at the beginning of a HazOp. This project focuses on the motivation and software support for such a pre-study. There can be many benefits from taking advantage of existing organization knowledge at the beginning of the study. Learning from experiences is an important factor for attaining the desired quality requirements [7]. Such an activity could be a part of the organization quality culture, a culture where quality is a focus of the software process. Even if the organization has good results with their HazOp projects and feel that they have the necessary human resources, there are several reasons why they should consider building a knowledge base for use in future studies.

One reason is that if a person leaves the organization, the knowledge and experience that the person has is lost because knowledge and experience is not systematically structured and stored within the organization [7]. This could be a problem even if the person doesn’ t leave the organization. The person can simply be unavailable for the HazOp because he or she has other duties to take care of.

Another reason is the limit of human thinking. We tend to forget things. We are not machines with a stable memory like a computer. There is no assurance that we remember all the things we want to. “ Long time memory has a large capacity for storage of information for long periods of time. There is, however, no easy or obvious way to determine the limits of how much can be stored, or for how long it can be stored.” [8] Storing information on a hard-disk or in a back-up ensures that nothing is forgotten.

In order to plan a project one must base ones decisions on knowledge, experience and information. A good plan is crucial achieving success in a project. By using information within the organization at the start of the project it could be easier to see what kind of design views are required to represent the project. The organization can look at what incidents former systems had and investigate why they occurred. What design representation could express the system in such a way that a HazOp team could have noticed a deviation from design intent? Such information can make the difference between failure and success for a HazOp.

A hypothetical example which illustrates the value of using previous experience could be an organization which had a problem with an auto-pilot system for a special type of aircraft. Testing showed that the system failed when a certain combination of some particular

Page 14: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

3. The Software Tool

TDT4375 Autumn 2003 8 Abrahamsen

components were in states that together resulted in unforeseen consequences. It could be that the anti-collision subsystem detected another airplane on a colliding trajectory. In the same airplane there could be another module designed for preventing overexposure to gravitational pressure. This module constrains which manoeuvres the pilot can perform. With an aircraft collision imminent, it might be necessary to make a manoeuvre which exposes the pilot to more gravity pressure than what is recommended. The problem could be that the gravity pressure module does not permit this. The results would be disastrous. In this case, the anti collision component should overrule the gravity constraint component. However, it is possible that during the design the developers did not consider that this combination of states could occur. If this hazard was discovered after the HazOp team had finished their study it would be natural to investigate why they did not foresee this situation. A conclusion could be that they did not work through any design representation that could be considered as a complete state diagram of the control system.

This example demonstrates how important choice of design representation can be. The hazard could have been detected if one of the HazOp team members had experienced something similar to this problem. “ Hazards may also be identified because one of the analysts involved has direct experience of some previous incident which resulted in a hazard [9].” If the study team had used a software tool to search in an experience knowledge base for similar systems and environments, they might have suggested that a state diagram should have been a part of the design representation.

As figure 3-1 shows the knowledge base for the software tool contains information from different parts of the project life cycle. The first thing to do is to record important experience from the HazOp. Such an experience could be the consequences of deciding whether to consider multiple design aspects concurrently or sequentially [3]. Designing software systems is a complex task, and during the development phase programmers may experience possible hazards the HazOp team did not foresee. Recording this information can be valuable. Why did not the study discover the hazard? Was there anything special about the combination of system intent and design representation? What can be done to make discovering such hazards during a Hazop more likely? Answering these questions can improve future HazOps, especially since the team members of the HazOp study do not participate in this part of the system process. These questions will also be relevant for the testing phase and during the operational use of the system.

Figure 3-1: Project and knowledge base

The outcome depends on the quality and relevance of the information. If the knowledge base is big, an efficient way to search through the documentation is needed to maximize the

Knowledge Database

HazOp Development Testing Use

Page 15: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

3. The Software Tool

TDT4375 Autumn 2003 9 Abrahamsen

benefits of such a pre-study. If too much time is consumed by reading irrelevant information the cost of the pre-study could not pay off. The way the organization structures the information can have impact on how an employee searches through the documentation.

3.2 Program information base Documenting a project is time consuming. It is an additional cost for the organization and they want to get as much benefit as possible out of it at a minimal cost. This should guide what information should be stored, and how it should be structured. If everything from a project is recorded and documented it can be boring and quite a trial of patience to find the relevant information when planning a new HazOp. It can be too much and people may feel that they are drowning in information. This problem is typical for the world we are living in. Psychologists even characterize this as a kind of malady and call it the Information Fatigue Syndrome. The psychologist David Lewis comments it this way:

“ We’ re often seeing a failure of concentration. We’ re seeing a loss of motivation, loss of morale. We’ re seeing greater irritability.” [10]

Another related subject is information overload. Information overload is defined by Mark R. Nelson to be “ the inability to extract needed knowledge from an immense quantity of information for one of many reasons [11].” All these factors can have negative impact on the HazOp planning and might even give worse results than not seeking stored experience. People’ s emotions impact their performance. The value of information structuring and extraction should not be underestimated, and the problem of information overload should be considered. A software tool for reusing HazOp experience should support these issues. “ Even if they recognise their need for information, people often lack the understandings and skills to identify, locate, access, evaluate and then apply the needed information [12].”

Figure 3-2: Information overload [11]

Page 16: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

3. The Software Tool

TDT4375 Autumn 2003 10 Abrahamsen

The software tool should help the users avoiding such problems. The challenge will be how this should be done. It is often difficult to establish exactly what a system should do, especially if the system is new [13]. Focusing on determining what is relevant information and how it should be presented to the user is one way to get a better understanding of the problem.

3.3 Relevant information Storing too much data will lead to information overload. This will increase the cost since the organization will use more time on recording and finding information. Information overload can also make it harder to know what you should know. Storing only relevant information knowledge should be a goal for the organization. The problem is then to get an understanding of exactly what is relevant information? There is no single correct answer to this question. Continually seeking an optimal solution to the problem will be a way to improve information recording.

Selecting what information should be stored is a hard task, since it difficult to predict future needs; it will depend on the studies. Making sure that all vital information has been stored can make the information database big. Structuring information could then resolve a potential conflict between storing all necessary knowledge and preventing information overload when seeking relevant information.

An effective and appropriate way of structuring information will help the HazOp team to use previous experience finding hazards in a new system. Emphasizing what the user wants with the HazOp tool should be a guideline for the requirement specification. There is information which is of relevance to all HazOps. Examples include design representation, group selection and detected hazards.

HazOp focuses on deviation from design intent. The HazOp team examines the design representation looking for possible hazards in the system. An appropriate design representation is crucial for the result of the HazOp [14]. The problem is to know when you have the right representation of the system design. This can be seen as a software architecture problem. I will use IEEE’ s recommended practice for architectural descriptions of software-intensive systems [15] as a guideline when dealing with the design representation topic. Here is a brief explanation:

A system has different stakeholders that have different interests and concerns relative to it. Examples of stakeholders are user, acquirers, developers, etc. The HazOp team is a stakeholder in safety-critical systems. Viewpoints are used to cover all the concerns of the stakeholders. A viewpoint is a specification of the convention for constructing and using a view. The design representation the HazOp team examines can be called views in the architecture of the software system. A view is a representation of the whole system from the perspective of a related set of concerns. Every view should conform to a viewpoint. Examples of viewpoint are ER diagrams for databases, UML class diagram etc.

Adhering to this recommended standard ensures that the design representation the HazOp team will examine covers the whole system. However, it can be difficult to select the appropriate viewpoints for the software architecture. Selecting the right viewpoints has consequences for how many hazards will be detected. A view is an abstraction of the system from a certain viewpoint and it is crucial that the abstraction gives the team members a good understanding of how the system has met its requirements.

Page 17: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

3. The Software Tool

TDT4375 Autumn 2003 11 Abrahamsen

Learning from previous system projects can give a better understanding for which viewpoints should be selected to cover the concerns of the HazOp team. This information can be selected during the HazOp study, and the development, operation and maintenance of the system. During the study the team might discover that a viewpoint makes it hard to detect hazards. The software tool could then be used to store information on why this viewpoint made it hard to do their work. The experience can result in recommending a different kind of viewpoint for concerns related to such problems. However, it can be a problem that no matter what viewpoint you select to cover certain concerns, it is hard to give an easily understood design representation anyway. Experiencing such difficulties can give an understanding of what problems the HazOp team should be aware of. This can result in more detected hazards. An additional effect could be that the study will be completed sooner, since the team members know how they should examine the design representation. This might also have a positive effect on the members’ morale because it gives them a feeling of mastering the subject. The time reduction will lead to lower expenses to complete the study.

Other topics the program should cover are group selection and what hazards were detected. As mentioned in chapter 2, group selection has serious impact on the result of the study. Information about what roles and personalities a group should consist of can be valuable when selecting the team. Some projects can have much in common, and hazards which were detected in a previous project similar to the one that is being studied might be present in the new system.

There are numerous topics which can be of relevance for future studies. It is impossible to know in advance all topics that the software tool should support. Trying to build a separate module for every single topic can not succeed because there will always evolve new topics no person was aware of in advance. Making an effort in predicting all the cases a HazOp team must deal with will give a huge workload and more will be gained to a lower cost by letting the program be more generic. To overcome this problem the software tool should support customizing user specific modules to cover requested topics. The advantage of this choice is that it gives the users more freedom in structuring their own information. The drawback will be that the program will require a higher awareness about relevant information and structuring knowledge of the user. This awareness will grow with the experience gained by the use of the program. The example topics and how they are implemented in the program can help the user to create and structure new topics. A technique as Post Mortem Analysis, PMA, can help the organization structure information and decide what experience should be stored after a HazOp. The PMA concept is described by Stålhane, Dingsøyr, Hanssen and Moe in [16] to be:

“ (… )gather all participants from a project that is ongoing or just finished and ask them to identify which aspects of the project worked well and should be repeated, which worked badly and should be avoided, and what was merely “ OK” but leave room for improvement.”

There can be other methods and techniques that can be applied to decide what experience to be stored, and the organization should select one that works for them. The point is that they are conscious of how they elicit and document experience after a project.

Page 18: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

4 Requirement Specification

TDT4375 Autumn 2003 12 Abrahamsen

4 Requirement Specification The software tool must have a defined scope. A well defined scope guides the focus on the intention the organization has for the program. This project is not intended to develop a single program that meets every need a HazOp team has. The program will focus on recording and finding information. A minimum requirement is that the organization must be able to store all the information they feel is necessary. This means they should be able to store not just plain text, but also images and video streams of different formats. In principle it must be capable of storing every file format the organization uses. Digital photo and video equipment are becoming cheaper, and the hardware for data storing is not a big expense for an organization. This leads to new opportunities for how information can be presented within the organization. Everything does not have to be text documents anymore.

4.1 Functional and non-functional requirements Functional requirements are statements of services the system should provide. It also includes how the system should react to particular inputs and how it should behave in particular situations. One example of a functional requirement is that a system should take an employee’ s wage as input and calculate the tax as output. The functional requirements will be illustrated by use cases to see in what context they are relevant. Non-functional requirements are constraints on the services or functions offered by the system. Examples of such requirements are performance, usability etc. These requirements are also sometimes called the quality attributes of the system.

In order to get a good understanding of the problem, it is important to express it in a precise and unambiguous way [17]. Even though many projects have failed because of bad requirement engineering, organizations tend not to put enough effort into this part of the development process. Tom Gilb expresses it this way:

“ Most so-called requirements are actually design for unstated requirements! Most requirements are a nice sounding set of words with no testable or quantified structure and very little information about the requirements and its relation to all other requirements, designs, and plans.” [18]

Examples of such vague requirements are for example; “ the program should be easy to use” , ” the program should be fast” , etc. A quantitative measurement of quality attributes will give a better understanding of what intentions the customer has for the system. Lord Kelvin made this statement:

“ If you think you know something about a subject, try to put a number on it. If you can, then maybe you know something about the subject. If you cannot then perhaps you should admit to yourself that your knowledge is of a meagre and unsatisfactory kind.” [17]

You can not tell how successful a system is without knowing what you want to do with the program. Usability will be the most relevant quality attribute for the software tool of this project since this determines how well the program meets the user intention of storing, seeking and structuring relevant information. The main purpose of the program is to help a HazOp team to detect more hazards.

Page 19: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

4 Requirement Specification

TDT4375 Autumn 2003 13 Abrahamsen

4.2 Functional Requirements

4.2.1 Main functions for the software tool The main functions of the software tool are to store knowledge and later find information that can be used to discover more hazards. The developers, users and the HazOp staff must be able to store information. Consciousness about how the knowledge should be structured will make it easier to find relevant information. Especially the HazOp staff will benefit from this, since they will store and search for information. The example topics in the program, design representation, group selection and detected hazards, will illustrate how the knowledge can be structured. All stored information must be linked to a project so it can be read with an understanding of the context.

Figure 2-1: Use case diagram for main program functions

4.2.2 Selecting Project The program is intended to store experience related to specific projects. All problems, reflection and observation must be seen in a context to get a good understanding. This context is the development project. The development project includes the HazOp, development, testing, maintenance and operation of the system. The reason why the experience is not related to just specific HazOps is that there is information which is valuable for a HazOp even if it is discovered in other parts of the system life cycle, and that a project is better explained by the system than the HazOp since we study the system.

Page 20: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

4 Requirement Specification

TDT4375 Autumn 2003 14 Abrahamsen

Figure 4.2: Use case diagram for "Select Project"

Use Case Name Select project

Actor Program user

Summary The user wants to select a project the experience can be related to

Basic Course of Events 1. The user creates a new project and gives it an appropriate name

2. The user fills in information to describe the project

Alternative Paths In step 1, the user instead selects an existing project. If requested the user can edit the field that describes the project.

Trigger The user wants to store some information and must relate this to a specific project.

Table 4-1: Use case "Select project"

F-1 The user must be able to create a new project F-2 The user must be able to describe a project F-3 The user must be able select an existing project

4.2.3 Storing information When the user wants to store information, the program must ensure that it is catalogued. Each topic should have a distinct category. This is done by forcing the user to select an existing category or create a new one if none of the existing one can be used. Each category should have a certain structure. This can be accomplished by having dialog boxes where the users fill in the appropriate information.

Page 21: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

4 Requirement Specification

TDT4375 Autumn 2003 15 Abrahamsen

Figure 4-3: Use case diagram for "Store Information"

Use Case Name Store information

Actor Program user

Summary The user wants to store information that can be used in future HazOps. The user must figure out how the information should be structured and catalogued. After an appropriate category has been selected or created, the user fills in all the data that needs to be stored.

Basic Course of Events 1. The user creates a new category

2. The user specifies which fields the category form shall have by editing the category form

3. The user fills in the data in the fields

4. The user requests the program to save the data

Alternative Paths In step 1, the user instead selects an existing category, jump to step 3 or in step 3, the user adds one or more fields to the category form before filling in the fields

Exception Paths In step 1 the user tries to give the category a name that is already taken. The program tells the user to give the category another name and explains why the first name did not work.

Trigger The user wants to store some information

Table 4-2: Use case "Store information"

F-4 The user must be able to create a new category F-5 The system must have no categories which share the same name

Page 22: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

4 Requirement Specification

TDT4375 Autumn 2003 16 Abrahamsen

F-6 The user must be able to modify an existing category F-7 The user must be able to fill the category form fields with appropriate data F-8 The user must be able to save the data

4.2.4 Editing Category Dialog Box By letting the user specify the dialog box of a category the program becomes more flexible. The dialog box is made up from user specified fields. The user can set constraints on what kind of data a field can contain. The default is the data format string. Examples of data formats can be strings, integers or certain file types such as pdf, doc, gif, mpeg etc. The purpose of constraining the category’ s dialog box fields is to enforce that the information is structured in a standard way. If the users specify certain fields when searching for information they can use these constraints to get a better search result. The program must give the users the opportunity to remove or rename fields. The dialog box editing has many similarities with editing tables in databases.

Figure 4-4: Use case diagram for "Editing a category dialog box"

Use Case Name Editing a category dialog box

Iteration Filled

Summary The user edits a category dialog box by specifying which fields the dialog box shall contain. This is done by adding, removing and renaming fields. The user set optional constraints on the fields by specifying what data format they should have. A field library will support reuse of existing fields.

Basic Course of Events 1. The user adds a field to the category dialog box and gives this field a name

Page 23: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

4 Requirement Specification

TDT4375 Autumn 2003 17 Abrahamsen

2. The user removes a field from the category dialog box

3. The user renames a field in the category dialog box

4. The user adds a field to the category dialog box by selecting an existing field from the field library.

Alternative Paths In 1 the program user can specify the data format for the field.

This editing task can be done by combining each step one or more times in any desired combination.

Exception Paths In step 1, 3 and 4 a name conflict may occur and the program tells the user that the every field in the dialog box must have an unique name

Trigger The user wants edit a category dialog box

Table 2-3: Use case for "Edit category"

F-9 The user must be able to add fields to the category dialog box F-10 The user must be able to remove fields from a category dialog box. F-11 The user must be able to specify a field’ s data format F-12 The user must be able to rename a field F-13 The user must be able to select fields from a field library that can be added to the category dialog box F-14 All fields in the category must have an unique name

4.2.5 Finding Information When the users want to find information it is important that they have functionality which can be used to filter the search so they can avoid information overload. This can be done by selecting a category, selecting some keywords from a fixed list, and optionally associate these words with certain fields in the dialog box of the selected category. The reason why the users select keywords from a list is that this can force the different users to have a common understanding of how information should be described. This will hopefully make the search result better. This will make the search will be easier to implement.

Figure 4-5: Use case diagram for "Find information"

Page 24: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

4 Requirement Specification

TDT4375 Autumn 2003 18 Abrahamsen

Use Case Name Find information

Iteration Filled

Summary The user wants to find information that can be used to find more hazards in the HazOp. The user selects one or more categories which may be relevant for the search. Keywords, optionally associated with certain fields, can be filled into the search dialog box for achieving a better search result.

Basic Course of Events 1. The user selects one or more categories

2. The user selects keywords which constrain the search

3. The user instructs the program to find information to match the specified search constraints

4. The program returns a result list from the search

Alternative Paths In step 2, the user associates the keywords with certain fields jump to step 3.

Exception Paths In step 3, the user adds one or more fields to the category dialog box before filling the fields

Trigger The HazOp team wants to take advantage of stored knowledge to detect more hazards.

Table 4-4: Use case for "Find information"

F-15 The user must be able to select one or more categories F-16 The user must be able to specify key words for the search F-17 The user must be able to make the program start the searching process F-18 The program must return a list of hits after the search F-19 The user must be able to browse through the search result

4.2.6 Design representation category If the users do not have any relevant category dialog boxes to look at and work with in the beginning they might avoid using the program. There are some categories which can be useful for any kind of HazOp. One of these categories is design representation. A good design representation is crucial for achieving success with the HazOp. This is because the HazOp staff discover hazards by systematically working through the design representation looking for deviations from design intent. Bad material will make the work harder. A minimum requirement is that the design representation covers the whole system. Another requirement is selecting the best way to represent a system when carrying out a HazOp. This will depend on the system represented. Even if there is a good selection of viewpoints there might be some aspects the HazOp staff should be aware of working through that part of the design representation. Some hazards may be hard to find no matter what choice of viewpoints has been made. Reading guidelines could then help the group studying the design representation. The design representation category dialog box should cover all these issues. The problem is to have fields that are not too specific, since this may restrain the expressiveness of the users. If they are too generic, information overload can be a problem since the user might get more

Page 25: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

4 Requirement Specification

TDT4375 Autumn 2003 19 Abrahamsen

information than required when they read through the search result. The information to be stored can be represented by different types of data formats. The string/text format is suited for textual discussions and advices. Sometimes the user wants to have the ability to store data files containing pictures or movies. Examples can be pictures of illustrated design representations, pictures of filled white boards from a meeting, and movie recordings from meetings and seminars.

Figure 4-6: Use case diagram for "Store information about design representation"

Use Case Name Store information about design representation

Iteration Filled

Actor Program user

Summary The user wants to store their experience about design representation and the HazOp process.

Basic Course of Events 1. The user fills in experiences he or she had about completeness of the design representation

2. The user fills in experiences he or she had about selection of view points in the representation

3. The user fills in experiences he or she had about working through different design representations

4. The user fills in any additional experiences he or she had about the problems related to design representation

5. The user associates keywords to the different fields or category dialog box

Page 26: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

4 Requirement Specification

TDT4375 Autumn 2003 20 Abrahamsen

Alternative Paths It does not matter in which sequence the user fills in information, but he or she can not associate keywords to fields that are empty

Trigger The user wants to store information about issues he or she has experienced related to the design representations.

Table 4-5: Use case for "Store information about design representation"

F-20 The user must be able to fill in information in the field for completeness (of the design representation) F-21 The user must be able to fill in information in the field for selections of viewpoints F-22 The user must be able to fill in information in the field for reading guidelines F-23 The user must be able to fill in information in the category’ s field for additional information F-24 The user must be able to associate key words from a fixed list to fields that are non-empty F-25 The user must be able to fill the fields with data on the formats string, picture files, movie files and document files.

4.2.7 Group Selection A good team is crucial for achieving success with a HazOp. The group’ s performance depends on each member’ s skills and knowledge combined with how well they work as a team. Before a HazOp can start there must be a group selection. By having information on what expertise a group should have for a particular kind of system, the study leader is better suited to select the right team. Not only information about the roles can be of importance for the organization, but also knowledge of the skills and experience for each person who can have the different roles can help the organization selecting the right people. A group’ s performance depends not only on each member’ s contribution but also how they work together. The combination of personalities has impact on how the group works as a team. After a study it might be concluded that the personality composition of the HazOp staff was too homogenous. Lack of certain personalities can also be a problem. Some groups could have done better for example if they had an “ initiator” or “ coordinator” . After a HazOp an evaluation may suggest that the group lacked certain roles. For example during the development a software engineer might detect some difficulties that can lead to a hazard. During an evaluation of what could have been done to detect this hazard the conclusion can be that the group lacked an expert on the topic UML state diagrams. If the organization is big, different roles can be filled by many individuals. Stored data of each person’ s experience can help the organization in selecting the right person for a particular role. Information about the employee’ s personalities can also be of interest. The program user must be careful when evaluating the persons who were involved in the HazOp. The staff might feel uncomfortable about this, and can have bad impact on the working environment. One way to handle this is to let the staff read their own evaluation. The evaluation should be fair and both good and bad qualities should be listed. The bad qualities should be written in a way that the person perceives it as constructive criticism.

Page 27: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

4 Requirement Specification

TDT4375 Autumn 2003 21 Abrahamsen

Figure 4-7: Use case diagram for "Store information about group selection"

Table 4-6: Use case "Store information about group selection"

F-26 The user must be able to fill in information in the field for role selection F-27 The user must be able to fill in information in the field for group personality composition

Use Case Name Store information about group selection

Iteration Filled

Actor Program user, usually the study leader.

Summary The users store their ideas on the optimal group composition.

Basic Course of Events 1. The user fills in experiences he or she had about the role selection.

2. The user fills in experiences he or she had about how different personalities influence the team work.

3. The user evaluates every person who worked in the group by selecting the persons from the organisation employee list within the program, and fill in all relevant information about this person’ s contribution to the HazOp.

4. The user fills in any additional experiences he or she had of the group selection.

5. The user associates keywords to the different fields or category dialog box

Alternative Paths It does not matter in which sequence the user fills in information but he or she can not associate keywords to fields that are empty

Trigger The user wants to store information about issues he or she has experienced related to the group selection.

Page 28: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

4 Requirement Specification

TDT4375 Autumn 2003 22 Abrahamsen

F-28 The user must be able to evaluate every person that was a part of the HazOp group. F-29 The user must be able to select the persons that should from an employee list within the program F-30 If the user wants to evaluate a person that is not on the organization employee list the user should be able to add persons to the list. F-31 The user must be able to fill in information in the category’ s field for additional information

4.2.8 Detected hazards Hazards that were detected in a certain system and environment are likely to appear in similar systems and environments. By comparing the system to be studied with previous ones the HazOp group can see if the hazards that were detected are relevant to the study. The category should contain a short heading for each hazard and a more detailed description. Information about which environment it belongs to can also be valuable since a system might operate in several environments. The program user should have the opportunity to browse all the documentation for the HazOp included the design representation. This documentation would be files from external programs since this program does not support recording of the study meetings. If the HazOp group uses this information as checklist when reading the design representation, this may have bad effect on the creativity. Looking for hazards that appeared in similar systems and environments may therefore first take place after the ordinary inspection.

Figure 4-8: Use case diagram for “Store information about detected hazards”

Page 29: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

4 Requirement Specification

TDT4375 Autumn 2003 23 Abrahamsen

Table 4-7: Use case "Store information common hazards for similar systems"

F-32 The user must be able to fill in information in the hazard heading field F-33 The user must be able to fill in information in the field for hazard description F-34 The user must be able to fill in information that describes the hazards environment. F-35 The user must be able to add any documentation files which are relevant for the hazards. F-36 The user must be able to associate keywords with every field in this category.

4.3 Non Functional requirements This chapter will only specify the non functional requirements for the quality attribute usability since this is the only quality attribute that can be a potential problem. The requirements for this quality attribute will be expressed in the quantitative way Tom Gilb recommends [63]. For this project, the quantitative goals themselves are less important than how they are measured. Since the functionality which must be tested to confirm that goals have been met is not implemented, the non functional requirements help achieve a better understanding of what determines the quality of the program. Usability [Find an appropriate category to store information] Ambition: The user should find a relevant category where he or she can store information, if there is one, in a minimum of time. Scale: Average number of seconds a user spends on finding a preferred category.

Use Case Name Store information about detected hazards

Iteration Filled

Actor Program user

Summary The user stores all information about the hazards in the system.

Basic Course of Events 1. The user instructs the program to add a hazard to the project.

2. The user fills in an appropriate text in the hading field.

3. The user fills in information which describes the hazard.

4. The user fills in information which describes the environment the hazard belongs to.

5. The user adds files that give more information about the hazard.

6. The user associates keywords to the different fields or category form

Alternative Paths It does not matter in which sequence the user fills in information but he or she cannot associate keywords to fields that are empty

Trigger The user wants to describe all hazards and their environment.

Page 30: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

4 Requirement Specification

TDT4375 Autumn 2003 24 Abrahamsen

Meter: A formal test where a stopwatch is used to record how much time 10 random intended users spend finding a preferred category. Fail: 45 seconds Goal: 30 seconds Usability [Find stored information] Ambition: When the user wants to find stored information, the program should be implemented so as to make sure the user spends a minimum of time searching this information. Scale: Average number of seconds users spend on finding the relevant information. Meter: A formal test where a stopwatch is used to record how much time 10 random intended users spend finding relevant stored information. Fail: 50 seconds Goal: 60 seconds Comment: The program should be implemented so as to make sure the program user spends a minimum of time searching for the relevant information. Usability [Learning how to edit a dialog box category] Ambition: The user should spend a minimum of time learning the principles of editing a dialog box category. Scale: Average number of seconds a user spends on learning each principle of editing a dialog box category. Meter: A formal test where a stopwatch is used to record how much time 10 random intended users spend on learning the principles of editing a dialog box category. Fail: 200 seconds

Page 31: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

4 Requirement Specification

TDT4375 Autumn 2003 25 Abrahamsen

Goal: 150 seconds

Page 32: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

5 Implementation

TDT4375 Autumn 2003 26 Abrahamsen

5 Implementation Since there was not enough time to produce the program, some dialogue windows which illustrate the concept of the software tool are presented in the next chapter. The implemented dialogue boxes were the design representation category, the group selection category and the detected hazards category. The reason why these parts of the program were given priority was that they illustrate how the software tool can be used in a real situation. The windows lack functionality. They look like “ typical” dialog forms, and with the right resources and time limit it should not be a problem to implement their functionality. These windows were developed with the Microsoft development tool Visual Studio .Net. Implementation of some functionality was started, but because of hardware problems and limited time, this part was given a lower priority. The architecture plan was to store all data in a mySQL database and have a database layer class be responsible for the communication between the dialogue forms and the database. This is a general framework that guides the a future architecture of the software tool.

Page 33: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

6. Program use examples

TDT4375 Autumn 2003 27 Abrahamsen

6. Program use examples For each of the topics design representation, group selection and detected hazards, the corresponding use cases have been followed and tested for a hypothetical situation.

6.1 Design representation category After a system project had finished, the developers and HazOp had experienced some problems they would avoid in the future. They wanted to store the following information: Completeness: In the development phase the programmers discovered problems that could be considered as hazards. When testing the program some program errors occurred that were not foreseen. When trying to fix these problems the developers realized that if they had used a UML sequence diagram these hazards might have been discovered earlier during the HazOp. They thus recommend that every design representation for a HazOp should contain the UML sequence diagram as a viewpoint. Otherwise the design representation could not be considered complete. Selection of viewpoints: By tradition we used the data flow model diagram as one of the viewpoints. As mentioned in the completeness field the developers felt that the design representation lacked the viewpoint UML sequence diagram. When using the UML approach, the data flow model diagram seems obsolete and redundant. Because the organization have started make systems object oriented the UML sequence diagram is better suited for expressing the communication between the objects. All UML diagrams plus an ER-diagram for the database should be enough to cover the design representation for this system. Reading guidelines: When the team is reading the UML diagrams, they must be especially aware of the problem that there could be inconsistencies among or between these views. Additional information: Make sure that the expert and the designer agree on the views for the design representation before the HazOp start and even before they start to develop the system. The designer might feel frustration and boredom about developing design papers for something they mean they already have expressed with other viewpoints. A discussion can also give better results and consciousness for the selection of viewpoints for the design representation.

Page 34: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

6. Program use examples

TDT4375 Autumn 2003 28 Abrahamsen

Figure 6-1: Example of the Design Representation dialog box

6.2 Group selection category After a HazOp, the study leader wanted to store their experience about the group selection. They wanted to store the following information: Role selection: The study lacked an expert that had been involved in similar projects in the same domain. This person should have been a developer that had experience with implementing and maintaining this kind of system. Such a person could more easily detect hazard, because during the development and especially the maintenance of this type of system, this person would have gained knowledge about which hazards that are likely to occur in such systems. Group personality composition: This study lacked a person with a promoter personality. With that kind of person the meetings would have been more enthusiastic. More initiative from the HazOp staff could have avoided the problems experienced during the study due to the disagreement between the team members and system designers about how the design representation should have been made. Additional information: One important lession learned from this study was that persons with experience from previous HazOps was generally more productive than the beginners. However, the beginners sometimes discovered hazards the experienced staff did not see because they sometimes had a different way of thinking. A combination of several experts and a few beginners made the group effective.

Page 35: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

6. Program use examples

TDT4375 Autumn 2003 29 Abrahamsen

Figure 6-2: Example of the group selection dialog box

6.3 Detected hazards category After a HazOp, the study leader wanted to make a list of all detected hazards. By describing the hazards and their environment the organization hoped that it would help future studies of similar systems. They wanted to store the following information: Hazard: Unexpected state problem. Description: Testing showed that the system failed when a certain combination of some particular components where in states that together had consequences that were not foreseen. It could be that the anti-collision sub-system detected another airplane that was heading in the same direction. In the same airplane it could be another module that was designed for not exposing the pilot for too much gravity pressure. This module constraints what manoeuvres the pilot can do. When your about to collide with another airplane it might be necessary to make a

Page 36: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

6. Program use examples

TDT4375 Autumn 2003 30 Abrahamsen

manoeuvre that exposes the pilot for more gravity pressure than recommended. The problem could be that the gravity pressure module does not let the pilot act this way. The result will be disastrous. In this case the anti collision component should overrule the gravity constrain component. Environment: This hazard is relevant for aircrafts that has restriction on how the pilot can manoeuvre in the air.

Figure 6-3: Example of the Hazard detection dialog box

7. Conclusion This project has illustrated a way of using a software tool that is designed to take advantage of the experience an organization has gained related to a HazOp. By using experiences from previous projects an organization can detect more hazards. The project does not go in detail for every functionality the program specification requires, but instead focuses on what tasks the user should be able to perform. This is listed as functional requirements. The user must be able to store any information that he or she wants to. This includes files on any format. Multimedia files like, for example like jpg for pictures and avi for movies can

Page 37: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

7. Conclusion

TDT4375 Autumn 2003 31 Abrahamsen

“ spice up” the information for the users. The point is that it is that the program will let the user decide how they can represent their knowledge. If the amount of data grows big, it can be a problem for users to find relevant information. Such a program should give the users the freedom to structure the information in a way they feel are appropriate. By letting them create their own categories represented as dialog boxes the user can combine expressiveness with structure. Associating keywords with fields in the dialog boxes can help future users when they are searching for certain kinds of information. There are some topics that should be covered with appropriate dialog boxes. These topics are design representation, group selection and detected hazards. Dialog boxes which lack functionality were developed, illustrating how these windows can look. These categories can work as examples to help the user when editing their own dialog box categories. The relevant quality attribute for this project is usability. By expressing the non functional requirements with quantitative goal, the understanding of the program performance improves. Provided that all the functional requirements have been fulfilled, the measurement of the usability for finding an appropriate category to store information, finding stored information and learning how to edit a dialog box category, gives an understanding of the performance of the software tool. The performance of a HazOp team depends on the skills and knowledge of its members. This project has shown why and how a software tool can increase the team members’ knowledge by taking advantage of experience in the organization from previous system projects.

Page 38: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

8. Suggested further work

TDT4375 Autumn 2003 32 Abrahamsen

8. Suggested further work This project argued why a software tool should be implemented to make use of an organization’ s experience from previous system projects. It has listed a minimum set of functional requirements the program must fulfill but no functionality has been implemented. The program should be implemented in further work. Tests should be made to investigate if it has impact on the performance of a HazOp team. There are several ways to do this. One way is to make a student experiment. One group of students carries through a HazOp for a small example system. After this HazOp they are told to store their experience in the program. Later some other students can make a HazOp for a similar system using the software tool. Their results can be compared to the results from another group of students who made a HazOp for the same system without using the program. The program can also be distributed to professional firms that have long time experience with HazOps. Some years later, data can be gathered from these firms about the tool’ s contribution. Case studies for HazOp projects can also give lots of information about the value of the program. Giving a quantitative measure of eventually how many additional hazards that are detected by using the program will be a good measure of its success.

Page 39: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

9. References

TDT4375 Autumn 2003 Abrahamsen

9. References [1] B. Carter, T. Hancock, J. Morin, N. Robins. Introducing RISKMAN methodology. The European Project Risk Management Methodology. Chapter: Background, pages 1-14. NCC Blackwell Ltd, 108 Cowley Road, Oxford OX4 1JF, England, 1994. [2] C. Knutson, S Carmichael. “ Safety First: Avoiding Software Mishaps” http://www.embedded.com/2000/0011/0011feat1.htm, [3] F. Redmill, M Chudleigh, J. Catmur. System Safety: HazOp and Software HazOp. John Wiley & Sons Ltd, Baffins Lane, Chichester, West Sussex PO19 1UD, England, 1999. [4] Adapted from: Guidelines for Hazard Evaluation Procedures. Prepared by Battelle Columbus Division for The Center for Chemical Process Safety of the American Institute of Chemical Engineers. 345 East 47th Street, New York, NY. (1985). http://pie.che.ufl.edu/guides/HazOp/ [5] I. Sommerville. Software Engineering. Chapter: Managing people, pages 489-510 Addison – Wesly, Pearson Education Ltd, Edinburgh Gate, Harlow, Essex CM20 2JE, England, 2001 [6] P. Brooks. “ No Silver Bullet; Essence and Accidents of Software Engineering” , (1986) taken from webpage: http://www.virtualschool.edu/mon/SoftwareEngineering/BrooksNoSilverBullet.html [7] F. Sazama. An organizational approach for experienced-based process improvement in

software engineering: The Software Experience Center, 2000. Taken from the book Software Quality by Martin Wieczorek and Dirk Meyerhoff, SQS Software Quality Systems AG, Stollwerkstr. 11 51149 Køln, Germany, 2001.

[8] T. Hewett. “ Cognitive Factors in Design: Basic Phenomena in Human Memory and Problem Solving” , (publicity year not available). Taken from webpage: http://www.acm.org/sigchi/chi96/proceedings/tutorial/Hewett/tth_txt.htm [9] I. Sommerville. Software Engineering. Chapter: Critical systems specification, pages 371- 390. Pearson Education Ltd, Edinburgh Gate, Harlow, Essex CM20 2JE, England, 2001 [10] Psychologist D. Lewis quoted on CNN webpage with URL: http://www.cnn.com/TECH/9704/15/info.overload/index.html [11] M. Nelson. “ We Have the Information You Want, But Getting It Will Cost You: Being Held Hostage by Information Overload” , 2001. Taken from webpage http://info.acm.org/crossroads/xrds1-1/mnelson.html [12] A. Bundy. “ Drowning in information, starved for knowledge: information literacy, not technology, is the issue.” Paper originally presented at Books and Bytes: technologies for the hybrid library 10th VALA Conference, Melbourne 16-18 February 2000. Available at webpage:

Page 40: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

9. References

TDT4375 Autumn 2003 Abrahamsen

http://www.library.unisa.edu.au/papers/drowning.htm [13] I. Sommerville. Software Engineering. Chapter: Software Requirementss, pages 97-120 Pearson Education Ltd, Edinburgh Gate, Harlow, Essex CM20 2JE, England, 2001 [14] J. McDermid, M. Micholson, D Pumfrey, P. Fenelon. Experience with the application of HAZOP to computer-based systems. British Aerospace Dependable Computing Systems Centre and 2High Integrity Systems Engineering Group, Department of Computer Science, University of York, Heslington, York YO1 5DD, U.K. Available at webpage: http://www-users.cs.york.ac.uk/~djp/publications/djp-compass95.pdf [15] IEEE Reccomended Practice for Architectural Description of Software-Intensive Systems. The Institute of Electrical And Electronics Engineers, Inc. 3 Park Avenue, New York, NY 10016-5997, USA, 2000. [16] Tor Stålhane, Torgeir Dingsøyr, Nils Brede Moe, and Geir Kjetil Hanssen. Post Mortem - An Assessment of Two Approaches, EuroSPI, Limrerick, Ireland, 2001. Available at webpage: http://www.idi.ntnu.no/grupper/su/publ/doc/PMA_two_approaches-final.doc [17] T. Gilb. In competitive Engeneering, Addison – Wesly, Pearson Education Ltd, Edinburgh Gate, Harlow, Essex CM20 2JE, England, 2001, 2002. The information is also available in Tapir Kompendium; SIF8056 Programvarearkitektur. [18] T. Gilb at webpage http://www.resg.org.uk/html/tom_gilb_tutorial.html

Page 41: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

9. References

TDT4375 Autumn 2003 Abrahamsen

Glossary Attribute - An attribute is a relevant property of an entity. Design representation – All documentation of the system design which is the HazOp team needs to complete the study. Dialog box – A window in a graphical user interface which appears in order to request information from the user. The user confirms the information by clicking the “ OK” button Guide word - “ A guide word is a word or phrase which expresses and defines a specific type of deviation from design intent.” [3] Hazard – “A hazard is a set of conditions, or a state, that could lead to an accident, given the right environmental trigger or set of events. An accident is the realization of the negative potential inherent in a hazard.” [2] HazOp – Hazards and Operability study. A technique that helps an organization detecting hazards by having a group brainstorms through the system’ s design representation in a structured manner. Information overload - The problem of exposing individuals of too much information PMA - Post Mortem Analysis. A technique for eliciting experience in a project or after it has finished [16] SQL – Structured Query Language. Query language which is used to update, insert, select and delete data from a database. Study initiator - The person in the organization who is responsible for initiating the HazOp and selecting the study leader. The study initiator has the overall responsibility for the HazOp project. Study leader - The person who is responsible for leading the meeting and makes sure that the follow-up work is done. System – “ A collection of components organized to accomplish a specific function or set of functions.” [15] System stakeholder - “ An individual, team, or organization (or classes thereof) with interest in, or concerns relative to, a system” View - “ A representation of a whole system from the perspective of a related set of concerns.” [15] Viewpoint - “ A specification of the convention for constructing and using a view.” [15]

Page 42: A software tool for reuse of experience in HazOp · HazOp was originally developed for the chemical industry but has been successfully employed in other industries [3]. HazOp is a

9. References

TDT4375 Autumn 2003 Abrahamsen