CSCE 491 Homework #2: Extending the Rose Model, Assignments of Computer Science

Instructions for extending the rose model in a csce 491 course, including creating new use cases and actors in a use case diagram, identifying statements from a class diagram, creating a sequence diagram for new actors, and writing pseudocode for a statechart diagram. Students are expected to carefully make these extensions and save their work.

Typology: Assignments

Pre 2010

Uploaded on 09/02/2009

koofers-user-rmj-1
koofers-user-rmj-1 🇺🇸

10 documents

1 / 4

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CSCE 491 – Homework #2 Page 1
CSCE 491 – Fall 2002
Homework #2
Using the Rose model (the file you download off the HW#2 link on my webpage), make the following
extensions to the different diagrams as indicated in the following specifications. We will use this design
model for the next few homework assignments, so make your changes and extensions carefully. And make
sure you save and backup this file. I’d hate to see you lose any work (and I won’t accept explanations to
this affect as to why you don’t have your homework).
1. Use Case diagram:
We want to add several new cases and actors to the model in a new Use Case Diagram: (1) Add new
Actors: ShiftController, WordCounter, FrameStateCounter, PipelineDecoder; (2) Add new Use Cases:
ShiftInWord, CycleFrameState, BufferFrameWord, CycleFrameWord, DecodeFrameTargetBlock. These
should be created in a separate Use Case diagram. You’ll need to create one using the Browse->Use Case
and selecting New… then name your new diagram “WordShifterController”. You will be creating a
diagram, like the one below, but with 4 Actors and 5 Use Cases. Try and indicate the directions of
association arrows accordingly.
PHY_Layer
TransmitFram e
ReceiveFrame
Deco deFrameHeader
DecodeAddres ses
DecodeDurationID
DecryptFrameData
DecodeFrameCheck
DecodeSequenceControl
MAC_Layer
2. Class Diagram
Given the class diagram below, I want you to list the statements that are captured in the class diagram. I
want to check your understanding of how to read these diagrams, so make a list of each statement that can
be read from the diagram.
Here’s a few to start with:
1. a Station has_state of exactly one OperationState.
2. a MAC_Layer ResidesIn exactly one Station.
3. a Station has exactly one MAC_Layer. (Note we can read these association links in both
directions.)
4. a PHY_Layer Received&Converts one to many Frames.
pf3
pf4

Partial preview of the text

Download CSCE 491 Homework #2: Extending the Rose Model and more Assignments Computer Science in PDF only on Docsity!

CSCE 491 – Fall 2002

Homework

Using the Rose model (the file you download off the HW#2 link on my webpage), make the following

extensions to the different diagrams as indicated in the following specifications. We will use this design

model for the next few homework assignments, so make your changes and extensions carefully. And make

sure you save and backup this file. I’d hate to see you lose any work (and I won’t accept explanations to

this affect as to why you don’t have your homework).

1. Use Case diagram:

We want to add several new cases and actors to the model in a new Use Case Diagram: (1) Add new

Actors: ShiftController, WordCounter, FrameStateCounter, PipelineDecoder; (2) Add new Use Cases:

ShiftInWord, CycleFrameState, BufferFrameWord, CycleFrameWord, DecodeFrameTargetBlock. These

should be created in a separate Use Case diagram. You’ll need to create one using the Browse -> Use Case

and selecting New … then name your new diagram “WordShifterController”. You will be creating a

diagram, like the one below, but with 4 Actors and 5 Use Cases. Try and indicate the directions of

association arrows accordingly.

PHY_Layer

TransmitFrame

ReceiveFrame

Dec odeFrameHeader

DecodeAddresses

DecodeDurationID

DecryptFrameData

Dec odeFrameCheck

DecodeSequenc eControl

MAC_Layer

2. Class Diagram

Given the class diagram below, I want you to list the statements that are captured in the class diagram. I

want to check your understanding of how to read these diagrams, so make a list of each statement that can

be read from the diagram.

Here’s a few to start with:

1. a Station has_state of exactly one OperationState.

2. a MAC_Layer ResidesIn exactly one Station.

3. a Station has exactly one MAC_Layer. (Note we can read these association links in both

directions.)

4. a PHY_Layer Received&Converts one to many Frames.

5. a Frame is received and converted by one or more PHY_Layers (the multiplicity seems to be

hidden on the diagram, but should be indicated a 1..* for the reverse direction of the link.)

ServiceSt ate

OperationState

Station

<>

<>

PHY_Layer (from Use Case View)

ResidesIn (^) MAC_Layer (from Use Case View)

PassesData

ResidesIn

FieldLength

Presc ribedFieldLe ngthR ang e 11

RequiredLengthRange

Frame

Receives/ReceivedBy

Transmits

Receives&Converts

1..1.. +ReceivedFrame Decodes&Processes

Fram eField 11

<>

<>

+Preceding 0.. 1

FollowsInFrame

Contains

FrameSub type 0..0.. 11

<>

FieldType 11

<>

HasPrescribedSet

0.. * +Following

Prescrib edToFoll owInFram e

+Preceding 0.. *

There are 11 classes indicated in the diagram (including those that are already defined as Actors but used in

the class diagram). There are also 18 associations between the various classes. Note that 2 of the

associations are recursive, in that they indicate a relationship with a single class. So, you should have at

least 36 statements to make about the semantics of the 802.11 domain shown in the Class diagram. (You

can write yours in plain text, using nouns and verbs as you see fit. I’ve written mine almost directly off the

diagram.)

3. Sequence Diagram

I would like for you to draw a new sequence diagram to capture the interactions between the new Actors

we have created in part 1 of this assignment. Your new diagram will look something like the one that is

attached from HW1. You’ll create a new Sequence diagram similarly to how you created the new Use

Case diagram (using the Rose pulldown menu and dialog boxes to create a new instance of a sequence

diagram and name it “ShiftWord”).

Your new Sequence diagram will show the sequence of interactions between the actors: PHY_Layer,

ShiftController, WordCounter, FrameStateCounter. Here’s what these actors do:

1. ShiftController – This actor shifts in 4 bits of data passed from the PHY_Layer to the MAC_Layer

(of which the ShiftController is part). It takes 4 byte chunks, shifting them in, until it has a 16-bit

word. It then must determine which of the other actors defined in the MAC_Layer get this word.

2. FrameStateCounter – This actor keeps track of the current field in the frame being passed from the

PHY_Layer and parsed by the MAC_Layer. It is basically a state machine that cycles around a

State1 (00)

State2 (10)

State3 (11)

State0 (01)

The Truth Table for the 2 state variables associated with the ServiceState of a Station is as follows:

Auth Assoc f(A,B)

0 0 1 0 1 0 (invalid) 1 0 1 1 1 1

Note that we have an undefined state which, for hardware, we'll want to define in some manner to eliminate potential for "stuck" states.

Frame=Class

Frame=Class 1 | Class

Frame=Class1 | Class2 | Clas s

Authentication=TRUE

Association=TRUE | Reassociat ion=TRUE

DeauthNotify=TRUE

DisassocNotify=TRUE

DeauthNotify=TRUE

Notes:

1. Your drawing probably won’t look as neat and orderly as mine (at least, in the beginning, since

you are learning how to use a new tool, as well as to think using pictures). That’s okay. Try and

create the drawings as best you can. The quality of your results is directly proportional to the

amount of time you spend working with Rose and exploring the tools capabilities.

2. SAVE YOUR FILE OFTEN! Note that, if you want to create several different variations of ideas

for your design, save copies, then make a new copy and edit it. Make sure that, if you create

different versions, to save them as different names.

3. The tool has a Windows GUI, but it is still running on Unix, so the rules of operation are for a

Unix system, not a PC!!