Please draw on material presented in lectures 5 & 6, as well as chapter 2 of both textbooks to answer the questions below.
- In gathering requirements, we are told to write user stories that are customer focused. What does this mean and why can it sometimes be difficult to achieve.
- On page 38 of the textbook, one of the user stories is labelled a non-functional constraint. In the book and in lecture, our focus has been mainly on functional requirements. Define what a functional requirement is and then discuss how they are different from non-functional requirements. In your answer, explore what it would mean to take an existing system and change one of its non-functional requirements.
- What is the alphabet of the following FSP process:
DISPLAY_COUNTER = COUNTER[0], COUNTER[v:0..4] = (when (v < 4) increment -> COUNTER[v+1] | display[v] -> COUNTER[v]).
How did you determine your answer? - For the previous FSP specification, is this a valid trace?
display[0]→increment→display[1]→increment→increment→display[2]→increment→increment→
If you answer "no" then identify the problems with the trace. If you answer "yes", provide an example of an invalid trace. - What is the difference between an indexed process and a parameterized process in FSP? (See sections 2.1.3 and 2.1.4 in the concurrency textbook.)
Please submit your work by sending me an e-mail with your answers contained in the body of the message or with your answers attached in a PDF document.
Do NOT submit .doc, .docx, .odt, or other document formats.
This review is due by 11:59 PM on Tuesday, February 3rd.