Using Problem Frames to Model the ... - ACM Digital Library

5 downloads 266 Views 844KB Size Report
May 10, 2008 - projects. Problem frames (PF) drive developers to understand and ... rescue squads with timely and precise data in case of accidents involving ... Permission to make digital or hard copies of all or part of this work for personal ...
Using Problem Frames to Model the Requirements of a System for Monitoring Dangerous Goods Transportation Pietro Colombo

Vieri del Bianco

Luigi Lavazza

University of Insubria Via Mazzini, 5 21100 Varese (Italy) +39 0332 218949

University of Insubria Via Mazzini, 5 21100 Varese (Italy) +39 0332 218938

University of Insubria and CEFRIEL Via Mazzini, 5 2nd21100 Varese (Italy) +39 0332 218930

[email protected]

[email protected]

[email protected]

describe the problem to be solved, which is crucial for a successful development process.

ABSTRACT The approach to requirements modelling based on problem frames is gaining increasing attention and popularity. This paper reports an experience in the application of problem frames to modelling the requirements of a system for monitoring the transportation of dangerous goods (namely, petrol and other types of fuels) by trucks. The paper shows that in general the main requirements of the system can be modelled by means of problem frames or problem frame compositions. In the considered system, the requirements are deeply affected by the central role played by the database that stores the data collected from trucks. In one case, the presence of the database made it difficult to identify a problem frame, among those available, to describe the user requirements: this resulted in the proposal for a new problem frame. Another consequence of the presence of the database is that several frame compositions are structured according to a sequential pattern, governed by accesses to the database.

This paper reports about the application of the problem frame methodology in the specification of the requirements of a system in charge of monitoring the transportation of dangerous goods (namely, petrol and other types of fuels) by trucks. The project aimed at developing a first experimental version of the system, to be used to monitor a relatively small set of trucks (initially ten, to grow to about one hundred through the experimentation period) in the territory of Lombardy (the region of northern Italy including Milan and about 24,000 Km2 wide). The system is meant to be able to provide firemen, police and rescue squads with timely and precise data in case of accidents involving trucks carrying dangerous loads. The goal of the paper is to show that using problem frames in the development process of industrial software (of a rather critical nature) is not only possible, but brings relevant benefits in terms of easing the achievement of a fairly complete and clear comprehension of requirements in the early phases of the project.

Categories and Subject Descriptors D.2.1 [Software Engineering]: Requirements/Specifications – languages, methodologies.

The paper is organized as follows: in Section 2 the requirements of the monitor system are described informally; Section 3 describes the problem domains and the shared phenomena; the main system requirements are modelled by means of problem frames in Section 4; Section 5 illustrates the lessons learned; Section 6 accounts for related work. Finally some conclusions are drawn in Section 7.

General Terms Design, Languages.

Keywords Problem frames, requirement modelling, Application of problem frames.

2. INFORMAL SYSTEM REQUIREMENTS

The Problem Frames approach [1] has the potential to dramatically improve the early lifecycle phases of software projects. Problem frames (PF) drive developers to understand and

In Italy the vast majority of goods (including the dangerous ones) are transported on roads by trucks. The constant presence of potentially dangerous loads on the roads is worrying, because of worsening traffic conditions, because the roads often go through areas that are densely populated, and even because trucks full of fuel could be a target for terrorists.

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. IWAAPF’08, May 10, 2008, Leipzig, Germany. Copyright 2008 ACM 978-1-60558-020-3/08/05...$5.00.

Because of these reasons, the national authority for transportations decided to start a programme aimed at controlling the transportation of dangerous goods on the roads. The first step was to create an ICT system to monitor the trucks carrying dangerous loads. For this purpose, a pilot project was started in the region of Lombardy, which is the most critical from the point

1. INTRODUCTION

60

the required data in the most efficient way, in order to make the activities required to support the monitor system as inexpensive as possible for the company.

of view of traffic, population density and amount of dangerous goods circulating on the roads.

In Figure 1 the data of the selected mission are displayed on the left hand side, while in the centre the list of ongoing mission is reported. A third requirement concerned the tracking of truck positions on a geographic display. It was required that the GPS coordinates provided by the truck were fed to the Geographic system (already in use at the Supervision and Control Centre) that had to display the position of trucks on the maps (which were also already available). The geographic display of the released prototype is shown in Figure 2. Another requirement, probably the most important, was that the system had to immediately notify alarms and potentially dangerous situations. There are different types of alarms. Some events, like the crash and the upset, are reported by the truck and are simply recognized as alarms by the system. Some states of the load or the track are considered as alarms: in these cases it is the system that detects the alarm on the basis of the raw data provided by the truck.

Figure 1. Visualization of mission data and alarms.

2.1 The Requirements The project has to exploit an already existing infrastructure, created by companies that own the trucks. In fact, trucks are equipped with an on-board device (a special purpose little computer) that reads the state of the truck and the load from ad hoc sensors and communicates these data via GPRS to a central server. In particular, the data provided by the on-board device include: the position and speed of the truck, the temperature and pressure of the load, the amount of fuel on board, and specific critical events (crash, upset). The data collection infrastructure was created by the transport company for several purposes: to support invoicing, to perform optimisations, to check the correctness of spills. One of the constraints for the project was that it was hardly possible to change the existing infrastructure. In practice, the only possible modification concerned the format of the transmitted data. Noticeably, it was not possible to change the data refresh and communication frequency: data are transmitted by every truck approximately every minute (except for critical events, which are communicated immediately).

Figure 2. The geographic display. In Figure 1 the alarms are displayed in the bottom part of the window (a single alarm, highlighted in yellow, is reported).

The first requirement for the system was thus to collect the data transmitted by the trucks and store them in a database, in order to make the data available for querying.

Finally, the system had to be able to answer queries from the operator concerning the situation of every known truck. It is quite relevant that the system had to notify alarms only to the operator, while calling for the intervention of firemen, police, etc. was not among the responsibilities of the system. In fact, the system had to be installed in the Supervision and Control Centre of the Civil Protection Agency, where the operators have the means to alert and coordinate all the organizations required for managing the emergency.

A second requirement concerned the management of the ‘Mission Identification Code’ (MIC). In fact, when the project was started a new law was going to be activated, concerning the transportation of dangerous goods. This new law –in the part involving fuels– requires the creation of a mission document describing the planned journey of the trucks, the type and amount of fuels transported, and where it is going to be delivered. Every single mission has to be identified by a MIC. Therefore, the computer system was required to store the mission document and to identify the travelling trucks by means of their MIC (by the way, this means that the same truck will be associated to different MICs at different times). Mission documentation is provided by the truck company, while the MIC is assigned by the monitor system. This implied that the system provided an interface to the truck company, and that this interface should allow the users to input

The system had to be used as a prototype, to gain knowledge about several issues including the reliability and accuracy of the transmitted data, the usability, reliability and scalability of the system, the definition of the alarms, etc. It is interesting to note that the main goal of the prototype was –as is often the case– to test the requirements, i.e., to check whether

61

modify them). The On-board computer acts as an interface to the system; they are reported to express the connection between the real world and what is reported and monitored.

additional or different requirements should be taken into account for the final version of the system.

2.2 The Origins of Requirements

Phenomena labelled with ‘a’ are controlled by the On-board computer and made visible to the Monitor machine. They are described in Table 1.

The requirements and domain information were provided by multiple sources. Truck companies had already determined the information that were collected on board and transmitted, i.e., the phenomena ‘a’ in Figure 3, described in Table 1. The information were available in the technical documentation; in particular, the documentation of the transmission protocol contained all the relevant information.

Table 1. Truck and load data

The requirements concerning the mission data and the MIC were provided by the regulations and directives from national authority for transportations. The geographic display and the maps of the region were provided by the civil protection. Region Lombardia required that the existing geographic infrastructure were reused, in order to limit the cost of the development. The requirement concerning the use of a database was originated by two considerations. One is technical: data concerning the position of trucks had to be available when needed, and trucks cannot be queried, therefore the only possible solution is to store the received data. The other consideration is that future uses of the system will possibly require historic data, therefore the users demanded that all the received data were collected in a database. The rest of the requirements, i.e. those concerning the tracking and display of trucks, the detection of alarms and the queries to be supported, were expressed by the civil protection personnel. The actual requirements were determined by the needs of the civil protection (to know about the position and contents of trucks) and the available data, and the existing infrastructure. The existence of similar systems (e.g., a system monitoring the position of fire extinguisher planes and helicopters) provided reference models on which new requirements could be defined and evaluated by comparison. Maps

Geographic display

f e

q

Operator

d Monitor machine

c b a

o

Truck company clerk

n

i

j

OnBoardComputerOn

time, (type_of_fuel, total_qty)*

OnBoardComputerOff

time, (type_of_fuel, total_qty)*

Load

time, progressive, (tank_id, type_of_fuel, qty, temperature)*

Unload

start_time, end_time, progressive, type, final_total_qty, planned_qty, acual_unloaded_qty, (tank_id, unloaded_qty, temperature)*

OpenClose

OpenClose: Boolean

Completely_empty

Completely_empty: boolean

Overflow

Overflow: Boolean

ManualInput

Code (enumerative)

TankState

(tank_id, type_of_fuel, qty)*

Datum Freight company Client Vehicle Driver Origin Destination*

k

Driver

i On-board computer

speed, direction

Table 2. Mission data Collect and store data from trucks, Notify alarms, Show truck locations, Show truck&load data on demand, Collect and store journey plans

p Database

Direction&Speed

Phenomena labelled ‘b’ are: Tcc!MissionDocument and MM!MIC. The latter is the Mission Identification Code produced by the Monitor Machine, the former is composed of several data, of which the most relevant are illustrated in Table 2.

r h

Attributes

Event Code (enumerative) The asterisk indicates that multiple instances of the data can be present: for instance a set of data for each type of fuel, or for each tank. In addition to the attributes described above, each message includes the MIC, the position, the plate of the trailer on which the transmitter is located, the observation time and the transmission time.

s

g

Message

m Sensors

k

Truck and Load

Attributes Name Name Plate Name Address, date Address, type of fuel, qty

Phenomena labelled ‘c’ are controlled by the Monitor machine and written into the Database. The set of phenomena c is given by the union of phenomena a and phenomena b: in practice: all the available data about the trucks and their loads and journeys have to be stored into the database. In addition, phenomena c include MM!alarms, i.e., the alarms computed by the Monitor Machine that are themselves stored in the database.

Figure 3. The problem diagram for the monitor system

3. THE MODEL OF REQUIREMENTS: DOMAINS AND SHARED PHENOMENA The problem diagram of the monitor system is reported in Figure 3. The On-board computer, Sensors and Truck and Load domains are given (the company which owns the Truck is not willing to

62

computes the MIC as a function of the provided data, stores it as well in the database, and returns it to the user.

Phenomena labelled ‘d’ are: Op!queries, MM!data, MM!alarmNotifications, Op!commands. The commands issued by the operator are meant to clear alarms, to retrieve data concerning trucks and/or alarms, or to perform configurations or other operations such as scrolling, zooming, etc.: the latter are not considered here (also because they were already supported by the available SW platform).

c

p Collect and store journey plans (i.e., mission data), provide MIC

Monitor machine

Phenomena labelled ‘e’ are: MM!displayCommands. The Monitor machine sends commands and coordinates to the geographic display to get the trucks displayed.

b

Truck company clerk

o

Figure 4. The problem frame diagram for the “Collect and store mission data / provide MIC” requirement

Phenomena labelled ‘f’ are: MM!geographicAnnotations and Ma!geographicData. The former are definitions (e.g., of critical areas) that are input by the operator through the machine. The latter are the actual maps. The phenomena labelled ‘g’ are essentially equivalent to Ma!geographicData.

The first part of the requirement can be quite clearly classified as a workpiece problem. The rest of the problem can be seen as part of the same workpiece problem frame if it is acceptable that: a) the workpiece is formed also by data derived from those provided by the user, and b) a return value is possible. Overall, these conditions seem acceptable, and the requirement can therefore be classified as a workpiece problem frame.

Phenomena labelled ‘h’ are the visualizations (GD!graphicRepresentation) of the truck situation as available in the database.

As in any workpiece frame, the requirements state that the content of the database (p) as resulting from the data and commands (c) provided by the Monitor Machine as a consequence of editing commands (b) are correct with respect to the same commands (o=b). The requirements also contain consistency rules for the database contents p: for instance, the quantity of loaded or unloaded fuel must be non negative and less than the maximum capacity of the trucks.

Phenomena observed and constrained by the requirements are not described here. They will be described later, together with the problem frames to which they are relevant.

4. THE PROBLEM FRAME BASED MODEL OF REQUIREMENTS The main requirements for the system are the following:

− − − − − −

Database

Collect and store mission data / provide MIC;

4.2 Collect and store data from truck

Collect and store data from truck; Tracking and display;

c

Answer queries;

Monitor machine

Edit maps / danger areas;

Database

a

p

n

Collect and store data from trucks

On-board computer

Detect alarms, store them and notify them, textually and geographically.

Figure 5. The workpiece problem frame diagram for the “Collect and store data from truck” requirement

Each of these requirements was studied and modelled in terms of problem frames. In some cases a problem frame composition is needed to model the requirements.

The requirement states that when the Monitor Machine receives data from the On-board Computer this must be interpreted as an order to store the same data in the database. The machine checks the syntactic and semantic correctness of the data, then correct data are stored.

Problem frames were used only in the ‘background’, i.e., they were not used in discussion with the users, because of two main reasons: the number of stakeholders would have made necessary to present and explain problem frames to all of them, at a cost that was not compatible with the budget; most of the stakeholders did not have the culture needed to understand and effectively used problem frames.

The requirement can thus be seen as a workpiece frame: commands and data from the On-board Computer (a) are analysed with respect to their meaningfulness and viability, then they are converted into commands and data (c) that are interpreted by the database, resulting in the creation of contents (p), which must be coherent with commands (n=a).

The design and implementation of the system was based on textual documents that were written having in mind the characterization of the system in terms of frames.

Actually, we have a difference with respect to the traditional workpiece frame described in [1]: in our case, the domain originating the commands is not, strictly speaking, a biddable one. However, from the point of view of the monitor machine, the truck can issue any command at any time; moreover, transmission and sensor errors occur quite frequently. Overall, the behaviour of the on board computer perceived by the monitor machine is quite close to a biddable one.

This section illustrates how the requirements for the monitor system are expressed via problem frames.

4.1 Store/Collect Mission Data and Provide MIC It is required that the mission data –provided by the truck company clerk– are stored in the database, after having been checked for completeness and correctness. Note that the usage of a database is imposed by the user requirements. Then, the system

It is interesting to note that the requirements described above make reference to the data provided by the device on board of the

63

workpiece problem). Note that here the database plays both the role of data source and destination.

truck. This is correct, since the only responsibility of the monitor system is to store the data that it receives and recognizes as correct. However, these data represent a situation in the real world. Since we are actually interested in storing a representation of some interesting phenomena of the real world, it is advisable to include a model of the truck and its devices. Such model is reported in Figure 6. The requirements specify the properties of the reported data a with respect to the real situation, given by the state of the truck and load (k) and the manual inputs from the driver (i).

c’: DB!truckData

i

m

k

i

k

Sensors

j

Geographic display e

e Monitor machine c

Monitor machine

Operator

Operator

c

p Database

q Detect alarm conditions, Notify alarms

The problem can be represented as the composition of three problem frames:

q

p

h

Figure 9. The problem diagram for the “Alarm detection and notification” requirement

s

r

s r

d

The tracking and display requirements state that the new speed and position data from the trucks have to be displayed on a map, so that the operator can be informed visually about the position, speed and direction of every truck.

h

x: AR!rules

g

4.3 Tracking and Display

Geographic display

P: DB!data

Maps

f

g

c”: MM!alarms

Detect alarm conditions

Truck and Load

Figure 6. The problem diagram for the truck and its driver and devices, with indicative requirements

Maps

p

Database

Alarm detection is only the first part of the requirement: in fact, detected alarms must be immediately notified to the operator. The notification has to be both textual (a message is displayed on the operator’s console) and graphical (the involved truck is highlighted on the geographic display). The complete problem diagram for the requirement is shown in Figure 9.

Driver On-board computer

x

Figure 8. The problem frame diagram for the “Alarm detection” requirement with configurable alarm rules

n a

c’ c”

Monitor machine

Properties of the data from trucks (their correspondence to the real world phenomena) Monitor machine

Alarm rules

x

1. The alarm identification and storage problem Transformation problem, as discussed above.

Show truck locations

is

a

2. The alarm textual notification is a Display problem. The requirements are very simple: the data describing the alarm have to be shown as they are, the only elaboration consisting in using a background colour corresponding to the severity of the alarm. In Figure 9 the domains involved are, besides the machine, the Database and the Operator. The latter domain is supposed to include a simple display (a causal domain) that is able to visualize textual data.

Database

Figure 7. The Display problem frame diagram for the “Tracking and display” requirement This is quite clearly a display frame. Commands are sent to the Geographic Display according to the data from the database. This is the only responsibility of the machine, since the geographic display is actually an existing machine that is able to interpret the coordinate and movement data and perform a suitable visualization. The diagram is more complex than the usual display frame, since we explicitly represented that the display uses the Maps in order to interpret the commands and performs the visualization, which is directed to the Operator.

3. The alarm graphical notification is a distinct and independent Display problem, involving the database as observed element and the geographic display as the display domain. In Figure 9 the domains involved are, besides the machine, the Database and the Geographic display.

4.5 Map Annotation

4.4 Alarm detection and notification

It is a requirement of the system that the operator can annotate the existing maps by defining dangerous zones or road intervals (e.g., corresponding to galleries). In practice the user is allowed to annotate the maps by defining areas and specifying their properties. This is clearly a workpiece problem (with the Operator being a biddable domain, and the Maps a lexical domain); the diagram is reported in Figure 10.

The requirement states that the situation must be examined and alarm conditions must be evaluated accordingly, whenever new data from the trucks arrive. In practice, the alarms are functions of the data stored in the database. This can be seen as a transformation problem: alarm data are derived from the situation data. In normal cases the alarm data generated are nil. The problem frame diagram is shown in Figure 8, where the alarm rules that determine alarm conditions are modelled explicitly as a configurable domain (the editing of the Alarm rules is a

64

Monitor machine

A second issue is that in some cases no problem frame seems to match the given requirements, even relatively simple ones. Consider for instance the requirement which states that the operator can query the database about the situation of the trucks. The problem diagram is reported in Figure 13.

s

Maps

f

Annotate maps

d

q Operator

Figure 10. The workpiece problem frame diagram for the “Map editing” requirement However, the annotation of maps requires a precise and sophisticated feedback: it must be possible for the user to see on the map the defined area and its boundaries and properties, in order to verify that the area has been properly defined. Therefore, the representation of the requirement is not complete without the specification of the feedback provided by the geographic display, which can be modelled as a display problem (the diagram is given in Figure 11, where the Maps domain plays the role of data supplier, and the Geographic Display is the data displayer). h

Geographic display

e Monitor machine f

s

Monitor machine c

Figure 13. The problem diagram for the “answer queries” requirement Although the diagram in Figure 13 is quite simple, it is difficult to find a problem frame –among those proposed in [1]– that matches with this problem. This is probably due to the fact that requirements involve the usage of a database, which is a lexical domain. Considering PFs proposed in the literature, the Simple Information Answer [4] (alias Simple Enquiry [5]) models a problem that is similar to ours, but with a relevant difference: the object of the enquiry is the real world, while we want to read from a lexical domain. Since we have to retrieve information from a database, which is a lexical domain, we propose a new problem frame, which we name Data Repository Enquiry, to stress that the source of information is a lexical domain. The problem frame is represented in Figure 14.

q

Annotated map visualization

Maps

Figure 11. The problem diagram for the “Map editing visual feedback” requirement The complete diagram for the map editing requirement, including the geographic visualization feedback, is given in Figure 12. Maps

Monitor machine

e d

IR!D

s

f

Geographic display h

r q

Show truck&load data on demand

p Database

Operator r

q

Operator

d

Query machine

Annotate maps, Annotated map visualization

QM!A

Data Repository X

Response

A C

EN!E

Information relation

E Enquirer

Operator

D

B

Figure 14. Problem Frame Diagram: Data repository enquiry

Figure 12. The problem diagram for the “Map editing visual feedback” requirement

The information relation requirement states what answer (A) the Query machine has to produce, when it receives query E and the contents of the repository is D.

5. LESSONS LEARNED

Note that both in the Simple Information Answer and the Data Repository Enquiry frames, the actual recipient of the information is the Enquirer; nevertheless, the causal Response domain is introduced because the Enquirer is a biddable domain, which cannot be constrained. Instead, the Response is constrained, as shown in Figure 14 and discussed above.

In general, the problem frames approach proved suitable for modelling most of the requirements of the monitor system. However, considering the possibility of using problem frames in an industrial context, methodological guidelines are needed. In fact, the current definition of problem frames and the available documentation sometimes leave the analyst with doubts about the correct way of representing problems via problem frames. A case that may generate doubts is when considering the user needs (i.e., the requested functionality) rather than the machine responsibility (i.e., what the system is supposed to do) result in different problem frames. In the monitor system the dilemma may arise when considering the map editing requirement: the user needs the annotated maps visualized, thus it seems to be a display problem, but the machine just has to convert the editing actions into commands for the display, thus it could be regarded as a transformation problem. Good documentation and guidelines could solve these types of doubts and make the adoption of problem frames easier for industry people.

During the requirements modelling activity, it was observed that often the problems are composed in sequences, such that a problem triggers the following. For instance, the storage of data in the database triggers the alarm evaluation, and the latter triggers the alarm visualization; the annotation of maps triggers the visualization of annotated maps, etc. This is another effect of the presence of a database: in fact the access to the database divides the problem into subproblems. Consider for instance the detection of alarms: if the requirement was just to detect alarm on the basis of data received from trucks, then it would be a simple display problem. Instead in the monitor system we have three subproblems: receive the data and store them into the database,

65

frames in the modelling of the requirements for a system monitoring the transportation of dangerous goods.

then retrieve the data from the database and detect alarm conditions, finally show currently active alarms. Note that the data retrieved from the database are generally a superset of those just stored (for instance, an alarm could involve several trucks, e.g., when they are closed to each other). Therefore, the database plays a primary role in the problem.

The experience was generally successful: the usage problem frames actually brought to achieve a fairly complete and clear comprehension of the requirements of the system. Of the possible alternative methods, we believe that use cases would have been effective, given the nature of the system, provided that domain properties could be properly modelled in a language like UML. However, even UML was too ‘advanced’ for most of the stakeholders. On the contrary, the usage of plain text to represent requirements could have been risky; we used plain text, but according to a problem frame based comprehension of requirements.

Finally, we noted that some problem diagrams provide suggestions for the design and implementation phases. The most outstanding case is given by the problem diagram for the “Map editing visual feedback” requirement shown in Figure 12. It is possible to see that the problem fits quite well in the Model-ViewControl pattern: the Map is the Model, the View is given by the phenomena (labelled ‘h’ in Figure 12) shared between the Display and the Operator, the Control is expressed by the rules that connect the commands (phenomena ‘d’ in Figure 12) to the effects on the Map (phenomena ‘f’ in Figure 12) and on the Display (phenomena ‘e’ in Figure 12). Therefore, we can conclude that a careful analysis of the problem diagrams can not only provide indications for the design activities, but even indicate precise design patterns.

As a side effect, we observed that requirements analysis based on problem frames needs further documentation and support in order to be successfully used in an industrial context, where clear and easy to use methodological guidelines are required. In particular, better documentation and examples should be made available, in order to support the analysts in recognizing problems. Moreover, a complete catalogue of available problem frames would be very helpful; otherwise the analyst may have difficulty to identify the proper frame for a given problem (see the discussion about database querying in section 5).

6. RELATED WORK Nelson et al. addressed the analysis of geographic applications [2]. However, the work reported is here is different under a fundamental respect. In fact, according to Nelson et al. “a geographic application is a computer-based system that uses a map of a region of the world to solve a problem.” [2]. In our work, this usage of the Maps is limited to the Geographic Display domain, which is given.

In general, we believe that researchers should continue the development of the problem frames approach, in order to let it achieve the (not far) maturity level needed to increase its acceptance in industrial processes.

Nevertheless, the monitoring system includes a problem that is similar to the proximity problem that appears in the case study reported in [2]. “The problem is to find resources that satisfy a distance requirement from a given set of resources or locations. Examples of this problem include finding nearest or farthest entities, as well as entities that are within a specific distance.”

ACKNOWLEDGMENTS

In our case, the detection of an alarm based on the proximity of trucks can be considered a sort of Proximity problem. However, Nelson et al. propose the usage of a specific problem frame: the proximity frame (and the variation with source coordinates).

REFERENCES

We did not recognize the need for such a frame. All our alarm detection cases (including the one considering proximity) are modelled as transformation problems. In fact, finding whether two (or more) trucks are to close on the bases of their coordinates, is not different from deciding whether some data should belong to a result according to some well specified conditions, e.g., like in the email filtering example [1].

[2] Nelson M. A. V., Alencar P. and Cowan P. 2007 Informal description and analysis of geographic requirements: an approach based on problems, Software and Systems Modeling (SoSyM), vol 6, no 3. Springer.

7. CONCLUSIONS

[4] Jackson, M. 1999. Problem Analysis Using Small Problem Frames. In Proceedings of WOFACS ’98, Special Issue of the South African Computer Journal, vol. 22, March 1999.

The research presented in this paper has been partially funded by the project “Tecniche e metodi di sviluppo basati su modelli per software real-time" sponsored by the Università degli Studi dell'Insubria.

[1] Jackson, M. 2001. Problem Frames - analysing and structuring software development problems. Addison-Wesley ACM Press.

[3] Jackson, M. 2000. Problem Analysis and Structure. In Engineering Theories of Software Construction, Proceedings of NATO Summer School, Marktoberdorf. IOS Press.

The work reported here intended to contribute to verify the applicability of problem frames in the context of industrial software development. For this purpose, we employed problem

66