Consider the following set of requirements for an Actors-StageSet Interaction System
that is used to support interactions between actors and stageSet.
These requirements specify the database entities
and relationships.
a. The troupe consists of actors and administrators, each with a first-name, last-name,
numeric id, password, status, address, birthdate and gender.
The attribute status specifies whether that
person is an 'actor', an 'admin' or 'actor-admin'.
b. A play consists of acts, each with a numeric act-id and an act-description.
c. An act consists of scenes, each with a numeric scene-id and a scene-description.
d. The state-set consists of stage-objects, each with a numeric object-id, a name, a description and a location.
All objects are assumed to be rectangular blocks (or contained in
rectangular blocks) so that a location is specified by
two points p1(x1,y1,z1) and p2(x2,y2,z2) where
p1 is one corner of the lower rectangle of the block, and
p2 is the diagonally opposite corner of the upper rectangle of the block.
e. An actor 'participates' (or 'acts') in a number of scenes.
f. A stage-object 'is assigned to' (or 'is used in') a number of scenes.
The applications are:
(1) An administrator can assign an actor to a scene.
(2) An administrator can assign a stage-object to a scene.
Solution to Exercise 1: There can be different solutions.
Basic diagrams 4.0.
Class diagram with labelled associations such as teacher teaches class 0.5. Unlabeled associations 0.3.
Use case diagram with some "include" relations for commonly used cases 0.5.
Exercise 2: (5 points)
Continue with Exercise 1 and draw the state and activity diagrams,
and the sequence and collaboration diagrams,
for the two applications.
For CS1635 students the diagrams should be zipped and e-mailed to the TA.
The additional requirements about database entities and relationships to be added:
g. A stage is also a rectangular block with
location attributes specified by two points.
h. A scene can be 'assigned to' (or 'put on') the stage.
i. A gesture can assume one of the following
values: up, down, left, right, inward, outward.
j. An actor can apply a gesture to a stage-object.
The additional applications to be considered:
(3) An administrator can assign a scene to the stage.
(4) An actor can move a stage-object from one location to another location on the stage subject to certain constraints.
Solution to Exercise 2: There can be different solutions.
A solution should include at least the use case diagram, the class diagram,
one or more collaboration (or sequence) diagram, and
one or more activity (or state) diagram.
The four types of diagrams should form a complete specification
of the application described above. The degree of completeness is 1 point.
A solution using only
a single ArgoUML zargo file containing all the diagrams is the most elegant solution, but a hybrid solution consisting of multiple zargo file(s) and WORD file(s) is equally acceptable.
1st Solution for Exercise 2:
ex2activity1app3.JPG
ex2activity1app4.JPG
ex2colla1app3.JPG
ex2colla1app4.JPG
ex2sequ1app3.JPG
ex2sequ1app4.JPG
ex2state1app3.JPG
ex2state1app4.JPG
2nd Solution for Exercise 2:
ex2activity2app3.JPG
ex2activity2app4.JPG
ex2colla2app3.JPG
ex2colla2app4.JPG
ex2sequ2app3.JPG
ex2sequ2app4.JPG
ex2state2app3.JPG
ex2state2app4.JPG
(In subsequent exercises and the term project, we will
elaborate on how to generate the specification of blocks, how to
manipulate blocks using gestures, whether
a stage-object can be physical, virtual or hybrid,
and how to move/transform a stage-object from physical to
hybrid to a virtual stage-object and vice versa.
The recognition of gestures from Kinect interface
will be another interesting problem to tackle.)
Exercise 3:
This exercise is an application of
patterns, which has three parts:
problem, context and solution.
The problem is to reliably count how many
people are present in a crowded room.
The context is a very noisy environment,
where everyone is drinking, laughing and
shouting because the Steelers just won the Superbowl.
What is the solution?
Describe your solution, and construct (a) conceptual pattern and (b) design pattern catalog, and illustrate how this
pattern can be applied to at least one more
problem.
This exercise does not require programming. You
only need to describe the solution and construct the conceptual pattern and design pattern, and explain why
you believe it is a useful pattern.
Solution to Exercise 3
Exercise 4:
Write a component to send a request message 406 to the
Kinect Server to request a stored Kinect action
sequence. Your component should receive a response message 408
containing the URL of the stored file. Your
component can then directly access and download
the stored file.
The messages can be found at: Testbed/Kinect/xml/DataXML/406(KinectServerRequest).XML, and Testbed/Kinect/xml/DataXML/408(KinectServerResponse).XML.
The SIS test bed can be downloaded as SISv3.zip. The package SISv3 includes the SISserver and KinectServer. You should be able to start SISserver and KinectServer on your PC/notebook to do the testing of your component.
Before testing the KinectServer, a CreateKinectServer
message (message type 20) should be sent to the
SISserver. Please see
Testbed/Kinect/xml/InitXML/CreateKinectServer.XML.
Milestone 1:
(a) Statement of Work (SOW): Describe the project in
one short paragraph (see calendar
for due date).
(b) Describe the project as a Conceptual Pattern:
the problem, the context (including forces and
constraints) and the solution.
(c) Describe the Design Pattern using a class diagram.
Milestone 2:
The whole class will review the design patterns
to ensure that the design patterns (a) can represent the
problems to be solved, and (b) are mutually consistent.
Your component will retrieve actors and objects from the
Theatre database, and access the Kinect action sequences
stored in the Kinect database.
Projects and
Project Scenarios