DSS 12 S4 03 ProjectProposal

Embed Size (px)

Citation preview

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    1/30

    School of Computer Science & Software Engineering

    Bachelor of Computer Science (Digital Systems Security)

    CSCI321- Project

    Project Proposal

    27 December 2012

    Group: SS12/4B

    Khoo Jun Xiang 4000766 [email protected]

    Ang Wencan Stephen 4194032 [email protected]

    Goh Kheng Siang Joel 4187490 [email protected]

    Lim Sing Hui 4185948 [email protected]

    Low Jia Hui 4186448 [email protected]

    Supervisor: Mr Sionggo Jappit

    Assessor: Mr Tan Kheng Teck

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    2/30

    Project Proposal SS12/4B

    Page 2 of30

    Document Control

    Title: Project ProposalDocument Name: DSS-12-S4-03_ProjectProposal.doc

    Owner Current VersionLast Change on

    Approved byDate Time

    Khoo Jun Xiang 1.1 27/12/2012 6:00PM Project Manager

    Distribution List

    Name Title/Role Where

    Mr Sionggo Jappit Surpervisor SIM_UOW

    Mr Tan Kheng Teck Accessor SIM_UOW

    Khoo Jun Xiang Project Manager SIM_UOW

    Low Jia Hui Database Designer SIM_UOWGoh Kheng Siang Joel Test Designer SIM_UOW

    Lim Sing Hui UI Designer SIM_UOW

    Stephen Ang Software Architect SIM_UOW

    Record of Revision

    Revision Date Description Section Affected Changes Made byVersion after

    Revision

    30/10/2012 Document CreationBriefing,

    update vision and goal

    All Khoo Jun Xiang 0.1

    2/11/2012 Added all section. A draft of

    proposal.

    All All 0.2

    2/10/2012 Added background, literature

    review and objective

    Background,

    Objective

    Low Jia Hui, Lim

    Sing Hui

    0.3

    6/11/2012 Updated roles and responsibilities,

    Updated development method

    Roles and

    Responsibilities,

    Development

    Method

    Goh Kheng Siang

    Joel, Stephen Ang

    0.4

    7/11/2012 Updated Objectives, scope and

    problem of limitation

    Scope and

    Problem of

    Limitation

    Goh Kheng Siang

    Joel, Khoo Jun

    Xiang

    0.5

    7/11/2012 Updated timeline Timeline Lim Sing Hui 0.6

    8/11/2012 Review, update of contents All All 0.7

    9/11/2012 Final check on project description,updated executive summary

    ExecutiveSummary

    Khoo Jun Xiang 0.8

    23/11/2012 Update Objective, Scope and

    Problem Limitation

    Objective, Scope

    and Problem

    ALL 0.9

    15/12/2012 Update Objective, Scope Objective, Scope Khoo Jun Xiang 1.0

    27/12/2012 Review and Misc ALL Khoo Jun Xiang,

    Low Jia Hui

    1.1

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    3/30

    Project Proposal SS12/4B

    Page 3 of30

    ContentsDocument Control ................................................................................................................................... . 2

    Executive Summary .................................................................................................................................. 4

    Introduction ............................................................................................................................................... 5

    Project Description .................................................................................................................................... 6

    Background ........................................................................................................................................... 7

    Objectives ........................................................................................................................................... 12

    Scope and Problems of Limitation ...................................................................................................... 19

    Development Method .......................................................................................................................... 21

    Roles and Responsibilities .................................................................................................................. 25

    Timetable ............................................................................................................................................ 28

    Reference ................................................................................................................................................ 30

    Appendix ................................................................................................................................................. 30

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    4/30

    Project Proposal SS12/4B

    Page 4 of30

    Executive Summary

    Inference problem for statistical database has been a constant issue for all enterprise when securingtheir data in their database. Unauthorized personnel use the inference channel to retrieve sensitive

    information that they are not allowed to view. Database designer has been trying to prevent such

    inference and develop various strategies. But in order to do so, it is required to studied the inference

    problem deeply and must fully understood the fundamental problem of determining how multilevel

    data of different classification is stored and retrieve from the database. Our aim is to introduce a

    product, DB-Wrapper, to provide an efficient storage and retrieval of information from database.

    DB-Wrapper is a filtering tool that is wrapped around a statically database to fully prevent inference

    attacks in multi-level database. It provides a strong defense required to prevent sensitive information to

    be obtained by unauthorized personnel through inference of the statistical database. It targets allenterprises that require a configurable solution that provides ease of usability and handles inference

    problems. Most organizations tend to develop similar protection engines and tools that have a poor

    interface and is hard to integrate into the system. Unlike them, our development philosophy is to have a

    lightweight core engine but yet highly extendable.

    OUR VISION:

    We strive to create an effective and reliable engine that fully eliminates inference attack of technical

    database.

    Our vision is the establishment of an efficient and accessible inference protection engine for statistical

    database. It allows users to fully utilize this engine in handling highly confidential records of each

    individual. Thus, this is an ideal software application to manage areas like Human ResourceDepartments and Hospital Management Systems.

    Our approach to achieve this is to build a wrapper around the database and have restrictions with

    database in accordance with policies that enable to be set within the management system.

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    5/30

    Project Proposal SS12/4B

    Page 5 of30

    Introduction

    Statistical database is a database that contains sensitive records describing individuals but only

    statistical information is available. They are mainly used for statistical analysis where only statisticalqueries, such as SUM, AVERAGE and COUNT are available and information of individuals cannot be

    disclosed. They are used in many applications, such as census data, mortality data and economic

    planning.

    The purpose of this project is to develop an inference protection engine for statistical databases. Our

    objective is to plan, design and develop a wrapper around the database, such as Oracle database, to

    restrict the interactions with the database in accordance with policies that would need to be able to be

    set within a hospital management system. Significant thought will be put into applying relevant

    policies.

    In this project proposal, we would like to show the stakeholders the milestones taken to complete this

    project. In-depth objective of this project, scope and risk faced and type of development method will be

    included in this proposal.

    Lastly, a brief description of the project members will be included. This will consist of past

    achievement, current qualifications, their roles and responsibility for the stakeholders' reference.

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    6/30

    Project Proposal SS12/4B

    Page 6 of30

    Project Description

    Background

    Statistical database

    A Statistical Database (SDBs) is a database that contains highly confidential data/records that describes

    an individual; however only statistical information can be retrieve in order to provide confidentiality. It

    is usually implemented when a system requires statistical analysis which only statistical queries are

    allowed so that individual information cannot be retrieved. In practices, many statistical databases are

    dynamic where multiple individual data are being modified and updated in order to keep the

    information fresh. It can also be categorized into 5 different categories with different structures of the

    SDBs will contribute to the major risk of the databases.

    Statistical database are mainly use in places like hospital and human resources department with highly

    confidential information. In such database, security leads to problems that possibly need to infer

    protected information such as retrieving information from permitted statistical queries.

    There are several inference attack control mechanisms, which can be proposed to protect the SDBs and

    the different advantages and disadvantages of using different approach. However, in practice statistical

    database are usually dynamic which reduces the use of inference control method.

    Factor that categorized Statistical Database

    Immediate In these systems, the queries are process in real time where queries areimmediately processed

    Delay The queries that are requested will not be process immediately and user do notknow when the queries will be processed

    Dynamic Updates on table within the system will take effect immediately and mayundergo several changes in a short period of time.

    Static Updates on table within the system will occur when the lifetime of the database

    expires and new database. CentralizedA single centralized data repository where all the table of the database resides

    and one database server manages the availability of the database

    Decentralized A distributed data repository where all the table of the database are distributedacross multiple database server.

    Dedicated When a system are primary use to store the database and to process the queries

    Shared When a system is shared to run other application and database application.\

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    7/30

    Project Proposal SS12/4B

    Page 7 of30

    Inference Attacks

    Inference attack is a data mining technique which is use to compromise confidential of a statistical

    database, it occurs when multiple statistical query are made and combining the results together forminginference chaining which can be used to deduce or infer the confidential information. Inference Attack

    can be sub-divided into 5 methods Arithmetic Means, Single Match, Diophantine inferences and linear

    systems, Addition Aggregate and Partitioning.

    Types of Inference attacks

    Arithmetic Means

    Statistical database can be compromised by queries getting information about query set whose

    cardinality is in the range[a,a-N], where N*2-a is total number of records in the database. This occurs

    when one computes the average of the field, thus the size of the tables can be infer by changing the

    attributes of the average computation which provides as the beginning for several other inference attack.

    Arithmetic means is to be considered an important piece of statistical system

    Single Matching

    This method uses queries that will return only a few tuples to retrieve confidential data. It is said to be

    the most effective method of queries matching which will result in disclosure of confidential

    information belong to a single data item allowing access to data related to small group by create queriesthat match the records in order to disguise the real intentions.

    Diophantine inferences and linear systems

    This method uses the knowledge of the distribution function to create a series of queries that will return

    result relating to several different sets of data that does not reveal any single value. With the use of

    Diophantine equations, unknowns can access by in an indirect manner by combining multiple queries

    and extracting data such as table and field dimensions. With the use of Diophantine equation where a

    set of equations can be form and eventually result to exposure of individual fields.

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    8/30

    Project Proposal SS12/4B

    Page 8 of30

    Addition Aggregate

    This attack uses the summation of multiple SUM aggregation queries to infer a value and using

    differentiation between two SUM queries results that could be use successful infer the restricted

    information.

    Partitioning

    This attack is most frequently used on small sets of data call low-frequency group where multiple

    queries will result produce small results and using multiple queries that will eventually cancel each

    other out revealing the information that is required. When there is cases where the system refuse to

    process the results we can deduce that the cardinality of the result is small and using this problem to

    derive with a more precise value.

    Tracker

    To add on, confidential records can be compromised by a series of small queries with the help of a'Tracker'. Tracker' derives confidential records from known characteristics of an individual and

    deducing additional characteristic an individual might have.

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    9/30

    Project Proposal SS12/4B

    Page 9 of30

    Types of Inference Control Methods

    In order to enhance the security of a statistical database, there are several methods that can be proposed.

    The methods can be classified to 3 classes; conception, perturbation and query restrictions.

    1. Perturbation ApproachPerturbation approach introduces noise to the data or the result of the query without affecting the

    data in the statistical database, however this is a trade-off between the consistency of the data and the

    level of security, which happens when the records are suppressed and causing confusion by ensuring

    that the results produced by a query is not directly related to the actual data stored in the database.

    This approach is generally more applicable to medium-size and large systems. Perturbation approach

    can be divided to 2 different type; Data perturbations which is associated with the actual data in thedatabase and Output perturbations is to introduce noise to the results of the queries

    One example is bivariate perturbation. It is a fixed type of data perturbations that are targeted on

    controlling the data within the dataset so that it will still retain its own characteristic but making the

    observations of a single data meaningless, as it does not reflect on the actual data. However, this

    method requires additional storage space so that the original dataset can be stored apart and monitor

    and change accordingly. This allows maximum access, as the actual data cannot be inferred through

    multiple queries.

    2. Conceptual ApproachConceptual method proves security on the concept-data model level where tables are broken down

    into multiple smaller tables and statistical queries may result in redundant information. (e.g lattice

    model)

    3. Query restrictions ApproachQuery restriction added extra restriction on query protecting data from low query set size,

    overlapping of results, auditing of queries and partition data into mutually exclusive subsets and cell

    suppressions.

    Query-Set-Size-Control

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    10/30

    Project Proposal SS12/4B

    Page 10 of30

    Query Set Size approach restricts the statistical query if the set-size result of the statistical query is

    small, so that it is hard to infer using Single matching methods

    Query-Set-Overlap Control

    Query-Set -Overlap approach restricts the statistical query if the system identifies the result of two or

    more the statistical query overlaps and investigates if the queries that surface will compromise the

    security of the statistical database.

    Auditing

    Auditing requires that all the queries made by one user is being recorded down requires consistent

    checking to ensure that the multiple queries made by a single user does not result in an inferenceattack.

    Partition

    Partitioning is to cluster multiple individual entities into different subset, atomic populations which

    contribute the resources to the user. The problem occurs when an atomic population consists of only

    a single data.

    Cell Suppression

    The technique typically use for data published in tabular, that hides the cells that may cause

    confidential information to be reveal and other non-confidential information which may cause

    confidential information to be leak.

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    11/30

    Project Proposal SS12/4B

    Page 11 of30

    Metadata modeling

    Metadata modeling can be used in software and system engineering for constructing of models and

    analysis. It is for development of frames, rules, models and theories, which are applicable and

    effectively used for predefined class of problems. There is a concept diagram in meta-data modeling;

    which is an adjusted class diagram. There are also important notions such as concept, generalization,

    association, multiplicity and aggregation. Moreover, Metadata modeling is an enhancement to

    relational database tables. It is tough to use tables directly as there are numerous items to filter out or

    joining of tables that will have an impact on processing time. A good metadata will deal these issues.

    With the model that combines items from different tables, it allows them to be available to reporting

    and enable to use analysis tools. Data items can be hidden from users that are not authorized to view

    them. Furthermore, developers of the database do not have to worry about getting the joins in the tables

    correctly as data items can be combined in complex calculations for reporting.

    To sum the problems up, the inference problems that statistical database created involves:

    1. Indirect access. View data which user has no privileges to.

    2. Correlated data. Visible data is related to invisible data.

    3. Missing data. Having null values for fields that should not be null logically.4. Data association. Two non-sensitive data will become sensitive if combined.

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    12/30

    Project Proposal SS12/4B

    Page 12 of30

    ObjectivesThe goal of this project is to detect and remove all inference channels and prevent value constraints in a

    statistical database. In another word, our aim is to prevent unauthorized personnel to infer data with ahigher classification from a data with a lower classification.

    This project is to implement an inference protection engine for statistical databases. Based on data

    dependency, database scheme and sematic knowledge, we can construct a filtering wrapper around the

    database. Not only will it protect sensitive data contents, the wrapper will provide statistical

    information related to the content of database whereas highly sensitive transactions information will be

    protected.

    Our product DB-Wrapper will sit on top of the database and provides inference protection by

    filtering users queries.

    Based on the literature review above. We have identified four most common inference attack on

    statistical database. The proposed solution is targeted to prevent these four attacks mention.

    -Arithmetic Means: When computing the average of a field, table size must vary the attributes of

    average computation. This is the beginning of the several inference attacks.

    -Single Match: It is a successful method for usage of queries matching exactly one data item.

    -Addition Aggregate: This attack implements SUM aggregate to infer a value from a reported addition

    of records.

    -Partitioning: Statistical databases hide data when a small number of entities makes a large proportion

    of the data revealed. The attacker will combine additional records to retrieved other different aggregate

    queries.

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    13/30

    Project Proposal SS12/4B

    Page 13 of30

    Overviewof our wrapper

    The above diagram shows how inference protections are done on statistical database. The structures are

    divided into 2 components Database and Inference Checks. Database consists of the statistical databaseand the basic authentication control provided by Oracle database.

    The Inference Checks consists of inference control wrapper and the inference checker. Inference

    Checker provides the checking of logs and Inference history to determine if the query made or previous

    queries made by the same user end up with a possible inference attack. The information is then passed

    back to the Inference control wrapper to determine the action to be done to handle the situation.

    If inference attack occurs, the result will not be display and instead the query will be logged under

    Inference history and the user will only know that the access is denied. If inference attack is not

    detected the Wrapper will then return the result to the user.

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    14/30

    Project Proposal SS12/4B

    Page 14 of30

    Main Features of DB-Wrapper:

    1. Conceptual Lattice model to provide a framework that describes statistical database

    information in tabular form at different level of aggregation to suppress confidentialinformation. ( Meta-Data Modeling/ Data Dictionary)

    2. Query RestrictionPrevent query which can lead to success in inference attack.

    Only allow aggregate queries by using User interface to control the function call in aSQL statements

    : SUM, COUNT, AVG, etc.

    Do not allow overly selective queries: SELECT WHERE income = 2500;

    3. Query set size controlPermits a statistic to be released only if the size of the query set |C|

    satisfies the condition K

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    15/30

    Project Proposal SS12/4B

    Page 15 of30

    Database Description

    SQLite will be used to provide a relational database management system, or RDBMS. SQLite will

    assist us in developing a database-backed application. The reason of choosing SQLite is because it issuitable to use in our assignments, for low to medium traffic and working with a scripting language

    such as C or C++. SQLite also provides applications such as SQLite Manager and SQLite Browser to

    manage SQLite database on our computer. SQLite manager will be used to create the DB-Wrapper

    database as well as the Application database. DB-Wrapper database will be used to contain all the

    meta-data information of the application database that DB-Wrapper is applied on. Meta-data / data

    dictionary is a set of information which describes the structure of the database consisting of Table,

    attribute and constraints.

    Screenshot of SQLite Manager:

    Source:

    https://reader009.{domain}/reader009/html5/0424/5adefe11b542f/5adefe1a872c4.png?modified=133124770

    Inference protection database (Database of DB-Wrapper)

    https://addons.cdn.mozilla.net/img/uploads/previews/full/17/17043.png?modified=1331247702https://addons.cdn.mozilla.net/img/uploads/previews/full/17/17043.png?modified=1331247702https://addons.cdn.mozilla.net/img/uploads/previews/full/17/17043.png?modified=1331247702
  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    16/30

    Project Proposal SS12/4B

    Page 16 of30

    Following are the three main items in the database.

    1. User Table

    This table will store the username and password of all users. To enhance security feature,

    password stored will be encrypted.

    Main column attributes: userID, userName, password.

    2. Roles

    This table will store the role associated with every users. The amount of privileges of each user

    depends on their role.

    Main column attributes: RoleNum, roleName.

    3. Data Dictionary (metadata repository)

    Multiple tables will be used to store the description of the application database. It determines

    the structure of an application database. Users, designers and administrator will get information

    from the application database base on this data dictionary instead of directly access the

    application database. Application database is secured and protected in this way.

    Main Table: Application, Table, Attributes, Constraint

    Application table will store the details of all application databases.

    .Main attributes: AppNumID, AppName.

    Table will store the details of tables in each application database.

    Main attributes: TableName.

    Attributes will store the details of attributes in each tables of all application.

    Main attributes: AttributesName..

    Constraint will store the details of constraints that are applied on each application.

    Main attributes: ConstraintName,Value.

    There will be rules associated with each attribute. These rules will defined the property

    of the attributes and determine the functions that can be executed to these attributes.

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    17/30

    Project Proposal SS12/4B

    Page 17 of30

    Sample Design of the applicationDatabase UOW Staff DB

    Database Description: Staff in SIM

    Contains around 25 records and 10 attributes

    Main Attributes are: Staff_Number, Staff_Name, Staff_DOB, Staff_Age, Staff_Gender, Staff_Address,

    Staff_Course, Staff_Salary, Staff_Position, Staff_Date_join

    Sensitive Attributes are: Staff_Number, Staff_Name, Staff_DOB, Staff_Address, Staff_Salary

    Why are those attributes confidential? Assumption: Database is for fellow staff to view.

    These attributes give away sensitive informational of a staff:

    -

    Staff_Number:o Unique ID to a staff. We could impersonate the staff if we know the Staff ID of an

    employee

    - Staff_Name:

    o There is no need to know any staff names. In any case, our database wrapper will only

    allownon-aggregate function such as COUNT, AVG, Sum etc

    - Staff_DOB:

    o Individual's DOB should be protected from fellow colleagues- Staff_Address:

    o Individual's residential address should be protected from fellow colleges

    -

    Staff_Salary:o Individual's salary should be protected from fellow colleges

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    18/30

    Project Proposal SS12/4B

    Page 18 of30

    Technology

    This assignment will need the project team to download SQLite which is a software library that

    implements a self-contained, serverless, transactional SQL database engine. SQLite enables developers

    to work on C, C++ applications. The recommended version to download is 3.7.15. SQLite

    manager/browser will then be downloaded to provide the project team with an interface

    QT development framework, a cross-platform application framework, will then be used for developing

    our application graphical user interface (GUI). QT uses standard C++ which all members of the project

    teams have experience with. It has a unified cross-platform application programming interface (API)

    which will benefits the project team where members uses different kind of platform such as MAC,

    Window and Linux.

    Programming language to code the wrapper is selected to be in C++. The reason is because all

    members have been using C++ to code most of the school assignments.

    QTSql is one modules of QT. It contains classes that integrate with open-source and proprietary SQL

    databases. Most importantly, QTSql includes an implementation of SQLite. The project team will use

    QT creator, an IDE of QT, to implement the GUI.

    Below shows the main window of QT Creator:

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    19/30

    Project Proposal SS12/4B

    Page 19 of30

    Scope and Problems of Limitation

    This section lists the scope as well as problems of limitation that we expect to face during thedevelopment process of the inference protection engine. Realistically, there is no plan that is and

    perfect and no problem. All projects have its risks and problems. Some of the most significant potential

    problems that can occur are:

    Scopes

    Main scopes of our products (DB-Wrapper)

    - Inference controller prototype to handle interfaces during query processing

    - Meta-Data Modeling

    - Propagating update to the user history files to ensure accepted/rejected queries are logged

    - GUI platform will only aggregation queries to be made- Filter queries by allowing not overly selective queries.

    - Queries result that are return consist of only statistical information

    - Query set size control are to be implement to reduce the chance of inference attack due to smallquery set size by permitting statistical information to be released only if the size of the query set

    size satisfies query set-size control limits

    - Usage of range and constraints

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    20/30

    Project Proposal SS12/4B

    Page 20 of30

    Problems

    All members are currently taking two modules of the course. Times are allocated to do those subjects

    assignments and revision. This is just a minor constraint as a good project plan and timeline can solvetime constraints issues.

    In a large database system, the dependency relationship between the security attribute and otherattributes is complicated. In another word, it is hard to give a quantitative measurement to describe

    protection requirements for each security attribute. Therefore, constant review, analyses and

    measurement of database data need to be done. All assumptions must be made and stated so that there

    wont any conflicts and confusion.

    Problems will occur when data is restricted by the control mechanisms in our engine wrapper product.

    Severe restrictions on allowable query sizes will render the database useless. Light restrictions on

    allowable query sizes will not secure confidential records. Our products will choose to prioritize onsecuring confidential information instead of leaking sensitive information to unauthorized personnel so

    that the database wont be useless. However, extra focus will be done to make users are able to getthe most amount of information from their queries.

    Testing will be done both during all iterations phases and before submission of the final product to

    ensure the number of bugs should is kept to the minimum. However, it is always possible that one or

    two mission critical issues were missed. Therefore, it is important to scheduled maintenance periodsafter the product is released. In some cases, we can temporary stop the product and services from

    running during the maintenance if necessary. A message that the service is under maintenance must

    then be displayed to the users.

    One of our features Query set size control might be compromised after a frame of queries if thethreshold value is too small. One example is through individual tracker which is a costumed formula

    which allows us to calculate the answer to a forbidden query indirectly. Tracker attack can beprevented by placing several restrictions on the query set size or controlling the queries that are

    allowed in some other ways. One way is to increase the threshold value. However, if the threshold

    value is too large, many queries will be restriction unnecessary.

    Therefore, query set overlapped is introduced to counter this issue. Any queries made by the user first

    undergoes the process of query set size control and if the query passes the stage, then it undergoes the

    process of query set overlap techniques to check for database compromise.

    Query set overlap is that successive queries must be checked against the number of common recordssuch that if the number of common records in any query exceeds a given threshold, the requestedstatistic is not released.

    However, Query set overlapped would be additional feature and would only be implemented if only

    there are sufficient time after the main requirements of DB-Wrapper are implemented/

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    21/30

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    22/30

    Project Proposal SS12/4B

    Page 22 of30

    Inception PhaseIn this phase, the primary goal is to establish the project scope. To fully utilize each

    member, the roles of our team mates must be decided based on individuals skills. All members will betasked to do the following tasks based on their roles:

    - An identification of objectives for the assignment

    - Establishment of project scope

    - Main end goal of project- Identify alternatives to mitigate risk

    - Documentation inclusive of core project requirements, key functional requirements, possible

    constraints, illustrations of use cases

    - Project implementation plan- Overall constraints - cost and schedule

    - Milestone identified, (Lifecycle Objective), mainly an understanding of requirements of the

    project which will be supported by evident use of use cases

    Based on the above findings, a detailed plan will be made to guide us on how the development of

    project will take shape. However, many details are still raw. The project is currently in this phase. Inthe real world, the project can still be cancelled if it is not feasible as not much work has been done.

    For this final year project, some of the main deliverables for the inception phrase will be the members

    profile, project proposal, project website, initial project documents and initial preliminary requirementspecification.

    Elaboration PhaseIn this phase, the primary goal is to look into the project scope in greater details.

    It is the most crucial of the 4 phases as it is necessary to clarify all doubts and understand the project

    fully before further development. Project will get it basic architecture and the risks will be analyzed.The blueprint for the development effort to continue is provided. The blueprint mainly consists of the

    following:

    - Elaboration of scope

    - Development of project plan

    - Identify and eliminate the elements that are identified to be of the highest risk- Specifics of architecture, requirements and plans are being researched and stabilized

    - Usage scenarios and use cases (80%)

    - Prototyping the product before moving to construction phase- Find ways to greatly reduced all risks

    - Note down all uncertainties- Milestone identified, (Lifecycle Architecture), mainly detailed system objectives and possibleresolutions to major risks that have been identified

    At the end of this phrase, a decision on which approach to use must be decided based on key factors

    such as effectiveness, efficiency, risks, proficiency of group members and comparison with otherapproaches. Any changes made after this will be costly and difficult to make because these changes

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    23/30

    Project Proposal SS12/4B

    Page 23 of30

    might be made half way through actual development, in which many different parts of the system are

    interrelated. In the real world, we must take into consideration the budget of the project and make

    agreement with all stakeholders before moving to the construction phase.

    For this final year project, some of the main deliverables for the elaboration phrase will be the final

    version of project document, final version of system requirement specifications, preliminary technical

    design manual and project prototype.

    Construction PhaseIn this phase, actual development of the product will be done. The project

    development will be heavily based on the blueprint concluded from the previous phase. Flows built in

    the elaboration phase will be further enhanced. Architecture will not be worried, focused instead ondelivering the highest value solution possible. Several iterations of implementing and validating the

    system are being carried out concurrently. Main activities of the development process consist of:

    - Set targets and scheules- Development and integration of application features

    - All features are tested thoroughly- Emphasis on management of resources and optimization to reduce costs and increase quality

    - Breaking up the development into several iterations.

    - Constant evaluation on the approach

    - Extensive testing on each functionalities- Integration of system to different platforms (If applicable)

    - Completion of development of application components and testing of functional requirements

    - Finalized version of User Manuals or ReadMes are provided to guide users in using the system

    - Milestone identified, (Initial Operational Capability), mainly application is ready for operation,

    usually known as the beta release before actual deployment on a huge scale

    At the end of the construction phase, the program should be able to be used by a small group of end

    users

    For this final year project, some of the main deliverables for the construction phrase will be the system

    test plan, progress report, user manual.

    Transition PhaseIn this phase, the system is moved to the user environment. Activities will consist

    of:

    - Beta and integration testing- Checking product meets end user requirements

    - Deliver product to stakeholder

    - Training personnel in utilizing the system- Validation of system against operational needs

    - Milestone identified, (Product Release), mainly checking and making sure that objectives are

    met and determining is another development cycle is necessary

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    24/30

    Project Proposal SS12/4B

    Page 24 of30

    For this final year project, some of the main deliverables for the transition phase will be the final result

    of all the system tests, product and presentation.

    In comparison, inception and elaboration phase belongs to the genre of developing intellectual property(e.g. proposed ideas, resources needed) and the construction and transition phase belongs to the genre

    of deploying and management of the product.

    Through the use of RUP, we will be approaching the project with a clear understanding of the needs ofthe project. A balance will be kept between project requirements and project risk. The project will be

    delivered on time with quality.

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    25/30

    Project Proposal SS12/4B

    Page 25 of30

    Roles and Responsibilities

    Each members of the team has different roles to play. Each role will be in charge of different aspect of

    the project. Each member need to deliver the artifacts for aspect that he is responsible for.

    Realistically, every member will also contribute to other aspects of the project but will only be more

    focused on those they are in charge of.

    Committee Structure:

    Roles Jun Xiang Jia Hui Joel Stephen Sing Hui

    Database

    Designer

    Documenter

    Implementer

    Integrator

    ProjectManager

    SoftwareArchitect

    System

    Analyst

    SystemTester

    Test

    Designer

    User

    Interface

    Designer

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    26/30

    Project Proposal SS12/4B

    Page 26 of30

    Job scopes of each roles:

    DatabaseDesigner

    Responsible to Design and implement project database systems. Drawing ofERD diagrams. Must be able to provide programming and troubleshooting

    support for database systems. Perform data backup and restoration on regularbasis. Responsible for the integrity of database.

    Documenter Project diaries will be done based on individual roles. Project diaries will

    consist of the work assigned to them, their work process and the difficultiesfaced during the project including the solution to the difficulties. For

    example, project manager will include the user manual in the documentation.

    Tester will include the testing result.

    Implementer Lead programmer of the system. Program all the functions in the product.

    Work closely with tester.

    Integrator Main System Integrator to integrate all the components of the system. Make

    sure that components are checked by tester before integrating. Work closely

    with Project manager and Software Engineer.ProjectManager

    Overlook the entire project and finalize the analyses of project requirements.Helps to settle clarification between Team Members and supervisor. Task,

    Identifies, define and do quality check for the various individual components

    of team members. Compile work done by each members and make sure it

    form the specified deliverable for submission Required to do the projectplanning, meeting management, resource allocation, overlooking all the 4

    RUP projects phases and ensure smooth execution. Ensure deliverables are

    completed before the submission deadline.

    Software

    Architect

    Lead in system designs such as requirements specification and UML

    diagrams. Involves in developing system architecture, brainstorming end-to-

    end requirements between stakeholder needs and final products. Have tomake sure the architecture requirement meet customer needs. Bottom line is

    to develop system and software architectures to ensure performance andmodularity.

    System

    Analyst

    Analyse existing business operations and existing information systems.

    Propose alternative solutions to business problems and select and justifypreferred solution. Design and guide implementation of new systems

    including process flow, user interface, reports, and security procedures.

    Prepare training and user manual for the final product.

    System

    Tester

    Perform testing and report to implementer and integrator of any bugs found.

    Assist implementer in programming of the system.

    TestDesigner

    Responsible in setting up the system test plan for system tester to use. Mustidentify all necessary test required to ensure the usability of the final product.

    UserInterface

    Designer

    In charge designing, creating and performing maintenance of our GUI ofproducts. Identify the aim, structure and technique to achieve the required

    GUI needed for the product. Helps in designing of project website. Work

    closely with both the Software Engineer and Project Manager.

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    27/30

    Project Proposal SS12/4B

    Page 27 of30

    Main responsibilities of each member:

    Name Responsibilities

    Khoo Jun Xiang Planning and managing of the project

    Involve in the designing of database systemInvolve in the implementation of the system

    Low Jia Hui Involve in the designing of the database systemInvolve in the implementation the system

    Involve in the integration the system

    Involve in the testing of the system

    Goh Kheng Siang

    Joel

    Involve in the designing of the database system

    Involve in the designing of the test casesInvolve in the testing of the system

    Involve in the designing of the user interface

    Stephen Ang Involve in the documentation of the project development

    Involve in the integration the systemInvolve in the designing of the test casesInvolve in the testing of the system

    Lim Sing Hui Involve in the documentation of the project developmentInvolve in the designing of the test cases

    Involve in the designing of the user interface

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    28/30

    Project Proposal SS12/4B

    Page 28 of30

    Timetable

    Our project development will be implementing on the RUP model. This following section will be

    presenting the project schedule graphically. In addition, each phases are iterative meaning that there aresuccessive refinement, evaluating and testing before deciding on an effective solution.

    WEEK

    Activity 1-2 3- 5 6-8 9-10 10-11 12-15 16-17 18-19 20

    Proposal Due Date 10/11 24/11 8/12 22/12 29/12 19/1 9/2 23/2 2/3

    Inception Phase

    FORMING THE TEAM, SET

    UP PROJECT WEBSITE

    - Form project team,

    - Identify roles &

    responsibilities- Create project website

    - Do literature review

    REQUIREMENT

    -Systems functionalities

    -Initial Use Cases and Risk list

    - Test Plan

    - Algorithms and interfaces(

    functional, non-functional,

    security)

    - Project Document(Preliminary Requirement

    Specification)

    Elaoration Phase

    ANALYZE AND DESIGN

    - Case Diagram

    - Class Diagrams

    - Sequence Diagrams

    - Activity Flow Diagrams

    - Architecture Design

    - Database Design

    - Produce System Design

    - Update Project Plan

    - Update Website

    - Update Use Cases

    IMPLEMENTATION

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    29/30

    Project Proposal SS12/4B

    Page 29 of30

    - Starts development

    - Design Implementation

    - Develop prototype with

    basic functionalities- Preliminary Project

    Document

    (SRS, Technical Design

    Manual)

    - Unit Testing

    - User Acceptance Test

    TERM 1 REVIEW

    - Demonstrate prototypes

    - Submit Preliminary Project

    Documents

    (Project Document, SRS,

    Technical Design Manual,

    Project Website)

    Construction Phase

    IMPLEMENTATION

    - Start implementation of all

    functions

    -Unit Testing

    - Update Technical Design

    and documents with further

    development

    - System Test Plan- Progress Report( Minutes

    of Meeting and Project

    Diary)

    Transition Phase

    TESTING

    - Integration Test

    - Produce User Manual

    PREPARATION OF

    DEMONSTRATION &

    PRESENTATION OF PROJECT

    - Wrap up development andprepare project presentation

    - Present to supervisor

    PROJECT PRESENTATION

    -Team demonstration to

    panel of supervisors and

    assessor

    X

  • 7/30/2019 DSS 12 S4 03 ProjectProposal

    30/30

    Project Proposal SS12/4B

    Page 30 of30

    References

    1. Salvador Mandujano- Inference Attacks to Statistical Database: Data Suppression, ConcealingControls and Other Security Trends - 1

    st

    May 2000 -http://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFj

    AA&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.61.751%2

    6rep%3Drep1%26type%3Dpdf&ei=L4avULvtLsHQrQel9YHYDA&usg=AFQjCNHjPzwJcCvPgggPDB_Qc1g

    hjg4bXQ&sig2=5G-6qsU5zM6cYZqQ70gKuw

    2. Shiuh-Pyng Shieh And Chern-Tang Lin Information Protection in Dynamic Statistical Database 1stJanuary 1999 -

    http://dsns.csie.nctu.edu.tw/ssp/paper/29.Information%20Protection%20in%20Dynamic%20Statis

    tical%20Databases.pdf

    3. Per Kroll And Philippe Kruchten - The Rational Unified Process Made EasyA Practitioners Guide ToThe RUP Dec 2007

    4. Michael Hylkema - A survey of Database Inference Attack Prevention Methods 1st Decemeber 2009

    http://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFj

    AA&url=http%3A%2F%2Fmet-research.bu.edu%2Fmet-

    ert%2FInternal%2520Documentation%2FInference%2520Research%2FMichael_Hylkema_Research_

    Paper.pdf&ei=mpCvUIm2FcLZrQfl5oGQBw&usg=AFQjCNGBvseuUw44DR051ogSdge0IXBEuw&sig2=G

    _LImMo1cGeMSEcAV8aqOA

    5. Neelabh Baijal - Privacy in Statistical Database: An Approach Using Cell Suppression 1st May 2005http://www.cs.utep.edu/vladik/cs5354.10/thesis.pdf

    Appendix

    None

    http://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.61.751%26rep%3Drep1%26type%3Dpdf&ei=L4avULvtLsHQrQel9YHYDA&usg=AFQjCNHjPzwJcCvPgggPDB_Qc1ghjg4bXQ&sig2=5G-6qsU5zM6cYZqQ70gKuwhttp://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.61.751%26rep%3Drep1%26type%3Dpdf&ei=L4avULvtLsHQrQel9YHYDA&usg=AFQjCNHjPzwJcCvPgggPDB_Qc1ghjg4bXQ&sig2=5G-6qsU5zM6cYZqQ70gKuwhttp://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.61.751%26rep%3Drep1%26type%3Dpdf&ei=L4avULvtLsHQrQel9YHYDA&usg=AFQjCNHjPzwJcCvPgggPDB_Qc1ghjg4bXQ&sig2=5G-6qsU5zM6cYZqQ70gKuwhttp://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.61.751%26rep%3Drep1%26type%3Dpdf&ei=L4avULvtLsHQrQel9YHYDA&usg=AFQjCNHjPzwJcCvPgggPDB_Qc1ghjg4bXQ&sig2=5G-6qsU5zM6cYZqQ70gKuwhttp://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.61.751%26rep%3Drep1%26type%3Dpdf&ei=L4avULvtLsHQrQel9YHYDA&usg=AFQjCNHjPzwJcCvPgggPDB_Qc1ghjg4bXQ&sig2=5G-6qsU5zM6cYZqQ70gKuwhttp://dsns.csie.nctu.edu.tw/ssp/paper/29.Information%20Protection%20in%20Dynamic%20Statistical%20Databases.pdfhttp://dsns.csie.nctu.edu.tw/ssp/paper/29.Information%20Protection%20in%20Dynamic%20Statistical%20Databases.pdfhttp://dsns.csie.nctu.edu.tw/ssp/paper/29.Information%20Protection%20in%20Dynamic%20Statistical%20Databases.pdfhttp://dsns.csie.nctu.edu.tw/ssp/paper/29.Information%20Protection%20in%20Dynamic%20Statistical%20Databases.pdfhttp://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fmet-research.bu.edu%2Fmet-ert%2FInternal%2520Documentation%2FInference%2520Research%2FMichael_Hylkema_Research_Paper.pdf&ei=mpCvUIm2FcLZrQfl5oGQBw&usg=AFQjCNGBvseuUw44DR051ogSdge0IXBEuw&sig2=G_LImMo1cGeMSEcAV8aqOAhttp://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fmet-research.bu.edu%2Fmet-ert%2FInternal%2520Documentation%2FInference%2520Research%2FMichael_Hylkema_Research_Paper.pdf&ei=mpCvUIm2FcLZrQfl5oGQBw&usg=AFQjCNGBvseuUw44DR051ogSdge0IXBEuw&sig2=G_LImMo1cGeMSEcAV8aqOAhttp://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fmet-research.bu.edu%2Fmet-ert%2FInternal%2520Documentation%2FInference%2520Research%2FMichael_Hylkema_Research_Paper.pdf&ei=mpCvUIm2FcLZrQfl5oGQBw&usg=AFQjCNGBvseuUw44DR051ogSdge0IXBEuw&sig2=G_LImMo1cGeMSEcAV8aqOAhttp://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fmet-research.bu.edu%2Fmet-ert%2FInternal%2520Documentation%2FInference%2520Research%2FMichael_Hylkema_Research_Paper.pdf&ei=mpCvUIm2FcLZrQfl5oGQBw&usg=AFQjCNGBvseuUw44DR051ogSdge0IXBEuw&sig2=G_LImMo1cGeMSEcAV8aqOAhttp://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fmet-research.bu.edu%2Fmet-ert%2FInternal%2520Documentation%2FInference%2520Research%2FMichael_Hylkema_Research_Paper.pdf&ei=mpCvUIm2FcLZrQfl5oGQBw&usg=AFQjCNGBvseuUw44DR051ogSdge0IXBEuw&sig2=G_LImMo1cGeMSEcAV8aqOAhttp://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fmet-research.bu.edu%2Fmet-ert%2FInternal%2520Documentation%2FInference%2520Research%2FMichael_Hylkema_Research_Paper.pdf&ei=mpCvUIm2FcLZrQfl5oGQBw&usg=AFQjCNGBvseuUw44DR051ogSdge0IXBEuw&sig2=G_LImMo1cGeMSEcAV8aqOAhttp://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fmet-research.bu.edu%2Fmet-ert%2FInternal%2520Documentation%2FInference%2520Research%2FMichael_Hylkema_Research_Paper.pdf&ei=mpCvUIm2FcLZrQfl5oGQBw&usg=AFQjCNGBvseuUw44DR051ogSdge0IXBEuw&sig2=G_LImMo1cGeMSEcAV8aqOAhttp://www.cs.utep.edu/vladik/cs5354.10/thesis.pdfhttp://www.cs.utep.edu/vladik/cs5354.10/thesis.pdfhttp://www.cs.utep.edu/vladik/cs5354.10/thesis.pdfhttp://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fmet-research.bu.edu%2Fmet-ert%2FInternal%2520Documentation%2FInference%2520Research%2FMichael_Hylkema_Research_Paper.pdf&ei=mpCvUIm2FcLZrQfl5oGQBw&usg=AFQjCNGBvseuUw44DR051ogSdge0IXBEuw&sig2=G_LImMo1cGeMSEcAV8aqOAhttp://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fmet-research.bu.edu%2Fmet-ert%2FInternal%2520Documentation%2FInference%2520Research%2FMichael_Hylkema_Research_Paper.pdf&ei=mpCvUIm2FcLZrQfl5oGQBw&usg=AFQjCNGBvseuUw44DR051ogSdge0IXBEuw&sig2=G_LImMo1cGeMSEcAV8aqOAhttp://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fmet-research.bu.edu%2Fmet-ert%2FInternal%2520Documentation%2FInference%2520Research%2FMichael_Hylkema_Research_Paper.pdf&ei=mpCvUIm2FcLZrQfl5oGQBw&usg=AFQjCNGBvseuUw44DR051ogSdge0IXBEuw&sig2=G_LImMo1cGeMSEcAV8aqOAhttp://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fmet-research.bu.edu%2Fmet-ert%2FInternal%2520Documentation%2FInference%2520Research%2FMichael_Hylkema_Research_Paper.pdf&ei=mpCvUIm2FcLZrQfl5oGQBw&usg=AFQjCNGBvseuUw44DR051ogSdge0IXBEuw&sig2=G_LImMo1cGeMSEcAV8aqOAhttp://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fmet-research.bu.edu%2Fmet-ert%2FInternal%2520Documentation%2FInference%2520Research%2FMichael_Hylkema_Research_Paper.pdf&ei=mpCvUIm2FcLZrQfl5oGQBw&usg=AFQjCNGBvseuUw44DR051ogSdge0IXBEuw&sig2=G_LImMo1cGeMSEcAV8aqOAhttp://dsns.csie.nctu.edu.tw/ssp/paper/29.Information%20Protection%20in%20Dynamic%20Statistical%20Databases.pdfhttp://dsns.csie.nctu.edu.tw/ssp/paper/29.Information%20Protection%20in%20Dynamic%20Statistical%20Databases.pdfhttp://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.61.751%26rep%3Drep1%26type%3Dpdf&ei=L4avULvtLsHQrQel9YHYDA&usg=AFQjCNHjPzwJcCvPgggPDB_Qc1ghjg4bXQ&sig2=5G-6qsU5zM6cYZqQ70gKuwhttp://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.61.751%26rep%3Drep1%26type%3Dpdf&ei=L4avULvtLsHQrQel9YHYDA&usg=AFQjCNHjPzwJcCvPgggPDB_Qc1ghjg4bXQ&sig2=5G-6qsU5zM6cYZqQ70gKuwhttp://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.61.751%26rep%3Drep1%26type%3Dpdf&ei=L4avULvtLsHQrQel9YHYDA&usg=AFQjCNHjPzwJcCvPgggPDB_Qc1ghjg4bXQ&sig2=5G-6qsU5zM6cYZqQ70gKuwhttp://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.61.751%26rep%3Drep1%26type%3Dpdf&ei=L4avULvtLsHQrQel9YHYDA&usg=AFQjCNHjPzwJcCvPgggPDB_Qc1ghjg4bXQ&sig2=5G-6qsU5zM6cYZqQ70gKuw