CSA Exercises 0901

(under work, will be added along course)

1.1 Week 36

No exercises on this week.

1.2 Week 37

1.3 Week 38

1.4 Week 39

1.5 Week 40

1.6 Week 41

1.7 Week 42

Week 43, Exam week

2.1 Week 44

2.2 Week 45

2.3 Week 46

2.4 Week 47

2.5 Week 48

2.6 Week 49

2.7 Week 50

  • Return of week 48 homework.
  • Assignment: Testing
  • Deadline 2009-12-13 CSA Project Work final deadline.
    • Final fixes to project work.

CSA Exercise: A view to rational rose UML tool

Introduce to Rational Rose UML Tool

  • Basic usage
  • Create Class Diagram to form Entities
    • Populate with classes and associations
  • Create Sequence Diagram
    • Populate with Entities and messages
  • Create State Diagram
    • Populate with States and Transitions

CSA Exercises 2: Entity - Message - Interface Modeling

  • Interface concept.
    • Find out what entities HTTP has
    • Find out and model the Messages in HTTP protocol
      • Collect messages to relevant interfaces
      • Attach interfaces to relevant entities
      • For a message a name and short description (one line) is enough now.

Note

  • Content of message is not interested now, just a name and purpose.

CSA Exercise 3: MSC Diagram

Train MSC (sequence) diagram for communications modeling.

MSC Diagram elements and topics:

  • Entity (instance in lectures)
  • Message
  • Comments
  • Event in MSC diagrams
  • Action as comment
  • Communication starting entities
  • Timers and timeout events
  • Entity creation
  • Entity destruction
  • Distributed execution along communication
  • MSC diagram interaction with Class diagrams (Entities - Messages - Interfaces)
  • Found and Lost messages (added)

Notes:

  • MSC diagrams present one scenario (or example), not total design.
  • MSC diagrams are tool to think about needed communication. Diagram works as a source to identify messages to Interfaces in entity communication.

Collaboration diagrams as another view

  • Entities (object)
  • Channels (links)
  • Messages

Task 1: Create MSC diagram for basic HTTP communication.

Task 2: Create MSC diagram for basic HTTP communication on page not found case.

Task 3: Create MSC diagram for basic HTTP communication with Timer and timeout event.

Task 4: Create MSC diagram for HTTP communication with Proxy entity.

Task 5: Create MSC diagram for HTTP communication with Proxy entity and DNS entity.

Task 6: Model communication for information retrieval system. System has entities: UA as user agent (some king of broser) and 4 database systems DB1, DB2, DB3, DB4. UA retrieves information from all databases. Handle also information not available case. Model found messages in Intefaces in class diagram.

CSA Exercise 4: FSM Diagram

Train FSM State Machine diagram fror communications behaviour modeling.

FSM Diagram elements and topics.

  • Entity and Entity logic
    • Entity have to be defined
  • Events, Messages and Input
    • Events have to be defined by Interfaces
  • States, Start state, Final state
  • Transitions
  • Actions
  • Output
  • State machine table presentation
  • Error transition.

Task1: Model Human & Door example

Task2: Create FSM diagram to represent HTTP client and server entities on communication.

CSA Exercise 5: Abstract Messages

Train modeling of the messages in abstract format.

There is multiple ways to describe messages:

  • UML classes with interfaces
  • In plain text (in document)
  • In plain text along concrete format (Most IETF specifications are like this, but flexibility to change format coding is lost then. (not used in course)

But generally message have to specify

  • Textual description of the purpose of the message.
  • Identification of the message.
    • The type of the message. A name of the message type.
    • or message instance specific identification if needed. Usually in specific message field.
  • A name fields of the message content information for message header, payload or trailer.
    • Textual description of the purpose of the field.
    • A type of the fields specified. Type is important.

Applying UML to specify messages.

  • In class diagram
  • Interface contains set of message names.
  • Messages are created as class, where class name is the type name of the message.
  • Field goes to class attribute. Set it public and define type.
  • Messages are connected to interface by dependency relationship.
  • Textual descriptions go in comment field.
  • Base class can be used as well.

Specifying messages in text document.

  • Well nothing specific, just write all needed things.

Task Model messages for a library system where borrowed books are uphold.

Task Model messages for a imaginary and simplified audio streaming.

Messages by direct dependencies

Messages by base class

CSA Exercise 5: Concrete Messages

Fact

  • BIT STREAM IS ALL YOU GET, well in practice this will vary depending the service provided by the used layer, but at the end it is only bit stream.

Message coding

  • Specifying PDUs to use in peer direction of entities.
    • Abstract messages covers all messages: primitives and PDUs, but concrete message coding is usually only needed in peer direction.
  • Modeling common message structure
    • Message indentification or coding of message types
    • Message lenght
    • Message boundaries
    • Alignment of messages
  • Type specification.

Task

Specify concrete PDU message byte count coding for library system abstract model from previous exercise.

Entities in library system

Abstract Messages in library system

CSA Exercise 7: Layers, Services, Requirements

Topics

Task

As in Homework 03 model a system for feed aggregating in web environment, give a

  • System overview
  • Stack overview, in client and server
  • and define layer services

CSA Exercise 8: Layer Model

Topics

Task

Create a layer model for a chat system that uses TCP transport layer. System has client and server parts.

Solution: One possible model

CSA Exercise 9: Concrete Messages, Character Coding

Character Message coding

  • Specifying PDUs to use in peer direction of entities.
    • Abstract messages covers all messages: primitives and PDUs, but concrete message coding is usually only needed in peer direction.
  • Specifying character set.
  • Modeling common message structure
    • Message identification or coding of message types
    • Message length
    • Message boundaries
  • Type and syntax specification.
  • Specifying coding is basically defining a “language” syntax
    • Backbone syntax usually used BNF or ABNF

Task

Specify concrete PDU message character coding for library system abstract model from previous exercise.

Entities in library system

Abstract Messages in library system

CSA Exercise 10: Testing

Task

For a gaming system, design test cases for GameServerEntity. A game can be assumed to be two player turn based game.

  • Model entity diagram with GameServerEntity and tester and relevant interfaces.
  • Model GameServerEntity FSM.
  • Model test case set by UML Use cases.
  • Model specific test cases by simplified textual tree tabular presentation.
Last modified: 2013/07/01 14:42