Course Description
Course Schedule
Team Compositions
Final Assignment
Course Literature
Specification Languages
Education Page
PIRRO
• Team A
• Team B
• Team C
Center
Master Program
Center
Home
Courses
People
Projects
Page
Edit Page
Rename Page
Attach File
Printable
Wiki Source
More ...
Web
Recent Changes
Notify Service
News
Page Index
Search
More ...
Wiki
About TWiki
Text Formatting
Registration
Change Password
Reset Password
Users
Groups
Log In
or
Register
PIRRO
Sws
---++!! Projet International pour la Reconstruction des Rouleaux d'Oumroum ---+++!! System Specification Task Force _This page serves to facilitate the collaborative construction of the spec._ _Use it for:_ * _Depositing draft versions of specs of subsystems (possibly using subpages);_ * _Signaling and discussing issues (points to be decided, inconsistencies, ...)._ * [[Team_B_Page][Team B]] * [[Team_C][Team C]] %TOC% ---+ Introduction ---++ Background (from the news) Archeologists have discovered that the recently recovered fragments from the Scrolls of Oumroum in Egypt may contain the answer to Life, the Universe and Everything. This is indicated by some of the words on the fragments that have been translated out of Koine Greek. The reconstruction of the scrolls is of great importance. The fragments have already been digitally processed with an automatic analysis system in order to match them. Unfortunately, it turned out that there are many ways in which you can combine the fragments, and the scientists have also observed that most matches are just physical and not logical. The reconstruction has failed until now. As a last effort to unveil the secrets of Oumroum, the scientists requested a collaborative system in which other scientists and passionate people can join forces to solve this puzzle. ---++ A bit more technical As the newspaper fragment above indicates, this project is the final effort to decipher the scrolls of Oumroum. Therefore our system has to provide a pleasant working environment for the scientists who are working on the process of putting the pieces together. It has to provide ample communication mechanisms and an intuitive way of putting pieces together. Then it also needs a way of having multiple scientists working together, so we need a consistent way of storing and handling differences in opinions on the composition of the pieces. ---+ Stakeholders Here we list the stakeholders which we think are involved in the project. They are as follows: * Users * Scientist - those who are using the system to solve the puzzle * Data providers – the persons who add new pieces to the system * Community – passionate people that are not scientists but whom are interested in solving the puzzle * Moderators – persons who monitor the communication channels of the system * System administrators – have to maintain the system and install updates * Sponsors – those whom are funding the project ---+ Terminology * Pieces - the original scanned images * Compositions - collections of pieces together with their positions and rotations ---+ Components * Piece management * _Stores individual pieces and their bitmaps etc._ * Versioning system * Commenting system * _Keeps track of compositions and their revision history_ * Automatic Suggestion System (ASS) * User/rights managements system * Includes authentication and group management * User interface * Compositor * Communication system * Forum, mail, IM, ... (_not strongly coupled to the rest of the system_) _Note:_ * Data storage is treated as an implementation issue internal to the other components and is left unspecified. ---++ Component diagram: <br /> <img src="%PUBURLPATH%/%WEB%/PIRRO/components.png" alt="Components diagram" width='560' height='400' /> ---++ Piece Management Interface Piece management component manages pieces and operation that can be done on them. It provides the following operations on pieces: * =get= * Retrieves all stored pieces. * =add= * Add a new piece to the system. * =remove= * Removes a piece from the system. The component is used by the Compositor which displays the pieces to the user, by Versioning component which needs the pieces in order to version compositions, and by ASS when searching for matches. The =add= and =remove= operations are intended to be used when new scroll pieces are found (=add=) or when duplicate pieces are discovered (=remove=) and only by system administrators. ---++ Versioning System Interface The Version management system provides a number of operations on Composition: <!--* =type Universe = Set Composition= * =type CompositionIdentifer = (Identifier, Version)= --> * =get= <!-- :: CompositionIdentifier -> Composition --> * Retrieves the requested composition from the version management system. * =update= <!-- :: CompositionIdentifier -> UpdateMetadata -> Composition --> * Update a composition to a new composition using some additional metadata. * =rollback= <!-- :: CompositionIdentifier -> Composition --> * UPDATE using a copy of an earlier version of a composision. * =branch= <!-- :: Universe -> (Universe, Universe) --> * Creates a copy of a collection of compositions it to a user group. * =merge= <!-- :: CompositionIdentifier -> CompositionIdentifier -> MergeMetadata -> Composition --> * Takes two collections of compositions and combines them into one new collection. This component is used from the Compositor. The Compositor retrieves a number of compositions from the version management system (using =get=). User can perform the some actions as exposed by the version management system (=update=, =rollback=, =merge=) on the imported Compositions. A list of actions is built. When the user submits his actions the list of actions is submitted to the Version management system which performs them on the actual system. ---++ Automatic Suggestion System (ASS) Interface ASS analyses pieces and compositions to find matching between them. Each matches is rated with a value between _maxQuality_ (perfect match) and _minQuality_ (no match). This value is called quality index. The operations exposed by ASS are: * =matchPiece= * For a given piece returns a list of matching pieces together with quality indices. * =matchComposition= * It searches the specified version of the workspace for matches with the specified piece. It returns all matches together with their quality index. * =qualityInterval= * Returns the matching quality interval. This component is used from the Compositor. User can perform searches for matches between pieces or compositions. As result it receives a list with the corresponding matches and their quality indices. In order to search for a composition match the user has to provide the version of the workspace in which ASS should search. _Note:_ * This component could be a wrapper for the automatic analysis system. ---++ User Management Interface User Management component handles user registration, rights management, user authentication and group management. It provides the following operation on users and groups: * =authenticateUser= * Given user credentials it can tell if the user is able to log into the system. * =registerUser= * It register an user with the provided user data. * =createGroup= * Creates a group using the provided group data. * =modifyGroup= * Add or remove users from a certain group. * =modifyUser= * It updates the information about the user (possible the user group). ---++ Communication Component The Communication Component is implemented by using an existing system that meets our requirements. * The system provides an own user interface which can be accessed from/embedded into our own user interface. * It is adaptable to our User Management Component, i.e. it can use the authentication and rights management functions. * It provides different communication services: * Realtime public communication between multiple users. The users need to be online and logged in to be able to use the realtime communication service. The messages need not be accessible at later dates. * Non-realtime private communication between 2 users. A user(sender) sends a message to another user (recipient) in a mail like manner. This message is private to the two users. No other user should be able to access it. The recipient need not be online to receive the messages, he can access his messages after logging in. * Non-realtime public communication between multiple users in a forum. A user can post a message on a specific topic and other users can comment on this. The messages are stored within the system and are accessible at later dates. A moderator is able to delete topics or comments and close topics for further discussion. The Communication component accesses the User Management interface for user authentication and to be able to identify moderators.
Topic attachments
I
Attachment
Action
Size
Date
Who
Comment
GIF
components.GIF
manage
14.4 K
14 Oct 2009 - 14:09
PieterVanEde
Component diagram
png
components.png
manage
71.4 K
14 Oct 2009 - 21:28
CalinJuravle
Components diagram