Docstoc

Concurrency Control In CAD Using Functional Back Propagation Neural Network

Document Sample
Concurrency Control In CAD Using Functional Back Propagation Neural Network Powered By Docstoc
					                                                  (IJCSIS) International Journal of Computer Science and Information Security,
                                                  Vol. 9, No. 2, February 2011




            CONCURRENCY CONTROL IN CAD
                     USING FUNCTIONAL BACK
        PROPAGATION NEURAL NETWORK
                   A.Muthukumaravel, Dr.S.Purushothaman and Dr.A.Jothi
A.Muthukumaravel
                                         Dr.S.Purushothaman                         Dr.A.jothi
Research Scholar
                                         Principal,                                 Dean,
Department of MCA
Vels university                          Sun College of Engineering and
                                                                                    School of Computing Sciences
Chennai-600117, India                    Technology,
                                                                                    Vels university
                                         Sun Nagar, Erachakulum,

                                         Kanyakumari District-629902, India         Chennai-600117, India



ABSTRACT--This paper presents artificial neural                                    I.     INTRODUCTION
network method using functional back propagation                           Maintaining consistency in transactions of
algorithm (FUBPA) for implementing concurrency                   objects during drawing huge computer aided object is
Control while developing dial of a fork using Autodesk           the result of efficient concurrency Control. In
inventor 2008. Initially, the various parts are decided          computer aided design (CAD), many persons will be
and the sequence in which they have to be drawn. While           accessing different parts of same objects according to
implementing concurrency control, this work ensures
                                                                 the type work allotted to engineers. As all the parts of
that associated parts cannot be accessed by more than
                                                                 the same objects are stored in a single file, at any
one person due to locking. The FUBPA learns the
                                                                 point of time, there should not be corruption of data,
objects and the type of transactions to be done based on
which node in the output layer of the network exceeds a          inconsistency in storage and total loss of data.
threshold value. Learning stops once all the objects are                    Locks are used for accessing objects. In a
exposed to FUBPA. During testing performance,                    database operation lock manager plays an important
metrices are analyzed.                                           role whether one or more transactions are reading or
         Keywords: Concurrency Control, Functional               writing any part of ‘I’ where ‘I’ is an item. It is the
Back Propagation Network, Transaction Locks, Time                part of that record, for each item I. Gaining access to
Stamping.
                                                                 I is controlled by manager and ensure that there is no
                                                                 , access (read or write) would cause a conflict. The




                                                           168                               http://sites.google.com/site/ijcsis/
                                                                                             ISSN 1947-5500
                                                   (IJCSIS) International Journal of Computer Science and Information Security,
                                                   Vol. 9, No. 2, February 2011




lock manager can store the current locks in a lock                Inbuilt library drawing for the dial of fork (Figure 1)
table which consists of records with fields (<object>,            are available in AutoCAD. The fork is used in the
<lock type>, <transaction>) the meaning of record (I,             two wheeler front structure. Due to customer
L, T) is that transaction T has a lock of type L on               requirements, the designer edits the dial of fork in the
object I [1-4].                                                   central database by modifying different features.
          The process of managing simultaneous                    Consistency of the data has to be maintained during
operations on the database without having them                    the process of modifications of different features.
interfere with one another is called concurrency.[5-8]            Following sequences of locking objects have to be
When two or more users are accessing database                     done whenever a particular user accesses a specific
simultaneously concurrency prevents interference..                feature of the dial of fork. Each feature is treated as
Interleaving of operations may produce an incorrect               an object. The features are identified with numbers
result even though two transactions may be correct.               and corresponding feature names. In this explanation,
Some of the problems that result in concurrency are               O1 refers to an object / feature marked as 1.
lost update, inconsistent analysis and uncommitted                In general, the following sequences are formed when
dependency.                                                       creating dial of fork. The major parameters involved
                                                                  in creating the dial of the fork are hollow cylinder,
            II.     PROBLEM DEFINITION                            wedge and swiveling plate. The various constraints
          There is inability to provide consistency in            that have to be imposed during modifications of
the database when long transactions are involved. It              features by many users on this dial of fork are as
will not be able to identify if there is any violation of         follows:
database consistency during the time of commitment.                    •     During development of features, hollow
It is not possible to know, if the transaction is with                       cylinder details should not be changed
undefined time limit. There is no serializability when                 •     External rings are associated with hollow
many users work on shared objects. During long                               cylinder.
transactions, optimistic transactions and two phase                    •     The circular wedge has specific slope and
locking will result in deadlock. Two phase locking                           associated with hollow cylinder.
forces to lock resources for long time even after they
have finished using them. Other transactions that                 This dial of fork has following entities.
need to access the same resources are blocked. The
problem    in     optimistic   mechanism with      Time           1) Features 1, 2, (set 1)
Stamping is that it causes repeated rollback of                   2) Features 10, 11,12,13,14 (set 2)
transactions when the rate of conflicts increases                 3) Features 5,6,7,8 (set 3)
significantly. Artificial neural network [9] with                 4) Features 3, 4 (set 4)
Functional Back Propagation Network (FUBPA) has
been used to manage the locks allotted to objects and
locks are claimed appropriately to be allotted for
other objects during subsequent transactions.




                                                            169                               http://sites.google.com/site/ijcsis/
                                                                                              ISSN 1947-5500
                                                  (IJCSIS) International Journal of Computer Science and Information Security,
                                                  Vol. 9, No. 2, February 2011




                                                   Figure 1.         Dial of fork

         1 Lower end, 2 height of the end part, 3 external support, 4 Height of the external
         support, 5 support for the wedge, 6 height of the support for the wedge, 7 wedge, 8
         thickness of the wedge, 9 slope of the wedge, 10 Wedge lock, 11 Height of the wedge
         lock, 12 Concentric hole, 13 separator, 14 Guideway


         Set 1, set 2, set 3, set 4 can be made into                 the set 1, set 2, set 3 and set 4, during matching
individual drawing part files (part file 1, part file 2,             should not occur. Provisions can be made in
part file 3 and part file 4) and combined into one                   controlling the dimensions and shapes with upper and
assembly file (containing the part files 1,2 3 and 4                 lower limits confirming to standards. At any time
which will be intact). When the users are accessing                  when a subsequent user is trying to access locked
individual part files, then transactions in part file 1              features, he can modify the features on his system
need not worry about the type of transactions in part                and store as an additional modified copy of the
files 2,3,4 and vice versa among them. When the part                 features with Time Stamping and version names
files 1 2, 3 and 4 are combined into a single assembly               (allotted by the user / allotted by the system).
file, then inconsistency in the shape and dimension of




                                                               170                             http://sites.google.com/site/ijcsis/
                                                                                               ISSN 1947-5500
                                                   (IJCSIS) International Journal of Computer Science and Information Security,
                                                   Vol. 9, No. 2, February 2011




     III.      FUNCTIONAL UPDATE METHOD                           presented to the input layer of the network, and the
            When the network is trained with analog
                                                                  difference between the network’s output and the
data, the number of iterations is large for the
                                                                  target output is calculated for each node in the output
objective function (J) to reach the desired mean
                                                                  layer. If the difference obtained for each node is
squared error (MSE). The objective function does not
                                                                  greater than the value of a functional criterion, a
reach the desired MSE due to some local minima,
                                                                  counter is incremented and the weights are updated.
whose domains of attractions are as large as that for
                                                                  If the difference of not even one node is greater than
the global minimum. The network converges to one
                                                                  0.5, no updating for the weights is done. The MSE of
of those local minima, or the network diverges. The
                                                                  the network for each pattern is calculated only when
updating of the weights will not stop, unless every
                                                                  at least one node in the output of the network is
input is outside the significant update region (0.1 to
                                                                  misclassified.     Remaining       training     patterns     are
0.9), and the outputs of the network will be
                                                                  presented to the network. Training of the network is
approaching either 0 or 1. This requires much
                                                                  stopped when a performance index of the network is
iteration for the network to converge. To overcome
                                                                  reached.
these difficulties, a functional criterion, which results
                                                                             The algorithm for the functional update is as
in faster convergence of the network, is used.
                                                                  follows:
            The main idea of this method is that the
                                                                  Step 1: The weights and thresholds of the network are
weights of this network are updated only when any
                                                                  initialized.
one of the nodes in the output layer of the network is
                                                                  Step 2: The inputs and outputs of a pattern are
misclassified. Even if one of the nodes in the output
                                                                  presented to the network.
layer is not misclassified, no updating of weights is
                                                                  Step 3: The output of each node in the successive
done. A node in the output layer is misclassified, if
                                                                  layers is calculated by:
the difference between the desired output and the

network is greater than 0.5.                                      O (output of a node) = 1/ (1+exp (-∑wij xi))                (1)

            The number of layers and the number of                Step 4: The number of nodes in the output layer,

nodes in the hidden layers are decided. The weights               which are misclassified, are denoted by ‘nm’. A node
                                                                  is misclassified, if it does not satisfy the equation:
among layers are initialized. A training pattern is
                                                                                   1-ε > D ≥ 0.5                               (2)




                                                            171                                http://sites.google.com/site/ijcsis/
                                                                                               ISSN 1947-5500
                                                     (IJCSIS) International Journal of Computer Science and Information Security,
                                                     Vol. 9, No. 2, February 2011




Where ε is the value fixed by the programmer, and                   Object id represents the entire feature or an entity in
                                                                    the file. Mode represents type of lock assigned to an
   D = | Desired output-Network output |             … (3)
                                                                    object.
If ‘nm’ is empty, i.e., not even one node satisfies                 In Table 2, column 1 represents the lock type. column
                                                                    2 represents the value to be used in the input layer of
equation 2, step 2 is adopted.
                                                                    the FUBPA. Column 3 gives binary representation of
Step 5: If ‘nm’ is not empty, the objective function                Lock type to be used in the output layer of FUBPA.
                                                                    The values are used as target outputs in the module
‘j’ is computed by:
                                                                    during lock release on a data item.

                ∑∑
            1                                                                 Table 2: Binary representation of lock type
      J=    2              D2                          (4)
                                                                        Lock type             (Input layer            Binary
                Xi∈nm
                                                                                            representation       representation in
                                                                                           numerical value).      target layer of
Step 6: The weights and thresholds are updated.                                                                     the FUBPA
                                                                       Object Not                  0                    000
Step 7: The steps (2 to 6) are adopted, until the total                  locked
                                                                            S                      1                    001
MSE of all the patterns is below a specified value.
                                                                            X                      2                    010
                                                                           IS                      3                    011
          IV.   RESULTS AND DISCUSSION
                                                                           IX                      4                    100
     Let us assume that there are two users editing
the dial of the fork. User1 edits O1 and hence O2 will
be locked sequentially (Table 1). Immediately user2                              Initially, user 1 and user 2 have
wants to edit O2, however he will not get transaction               opened the same dial of fork file from the
as already O2 is locked. However, user2 or any other                common database. The following steps
user can try to access O3 to O14
                                                                    shows sequence of execution and results
                                                                    T1 edits O1 with write mode. Table 4 shows
     Table 1: Shape and dimension consistency
                   management                                       pattern formed for the training.
   Group         First feature   Remaining feature
                                    to be locked
     G1               1                  2                             Table3: First time pattern used for training FUBPA
     G2               10            11,12,13,14                        Object number             Input          Target output

     G3               5                6,7,8                                                    pattern             pattern

     G4               3                  4                                      O1              [ 1 1]              [ 0 1 0]



The variables used for training the ANN about locks                 Step 1: The transaction manager locks objects
assigned to different objects are transaction id, object            mentioned in the third column of Table 1. Repeat
id, lock mode (Table 2).                                            step 1 with the patterns given in Table 4.
Transaction id represents the client or any other
intermediate transactions




                                                              172                                  http://sites.google.com/site/ijcsis/
                                                                                                   ISSN 1947-5500
                                                        (IJCSIS) International Journal of Computer Science and Information Security,
                                                        Vol. 9, No. 2, February 2011




  Table 4: Additional patterns used for training OML                   V. CONCLUSION
                        FUBPA
                                                                                  An artificial neural network with FUBPA
  Object number          Input          Target output
                        pattern            pattern
                                                                       has been implemented for providing concurrency
        O1               [ 1 1]            [ 0 1 0]                    control to maintain consistency in the CAD database.
        O2               [ 2 1]            [ 0 1 0]                    A dial of fork has been considered that contains 14
Step 2: A new transaction T2 access O2. A pattern is                   objects. The 14 objects have categorized into 4
formed to verify if lock has been assigned to O2 and                   groups. The transaction behavior and concurrency
its associated objects O1. Only when the locks are not                 control by the two users on the 14 objects have been
assigned to O2 and O1 then T2 is allowed.                              controlled using FUBPA network. The neural
                                                                       network method requires memory based on the
The following input patterns are presented to the                      topology used for storing objects and its transactions
testing module to find if the output [0 0 0] is obtained               when compared with conventional method.
in the output layer. During testing, the final weights
obtained during training will be used. Otherwise it                                             REFERENCES
means that lock has been assigned to either O2. In
such case, transaction is denied for T2. Else the                           [1]     Rosenkrantz D., Stearns R. and Lewis P., 1978,
following Table 5 is presented in step 1                                          ‘System-level concurrency control for distributed
                                                                                  database systems’, In ACM Transactions on Database
                                                                                  Systems, Vol. 3, No. 2, pp. 178-198.
   Table 5: Additional patterns used for training
                      FUBPA                                                 [2]     Peter A. Buhr, Ashif S. Harji, Philipp E. Lim and
 Object number     Input pattern      Target output                               Jiongxiong Chen, 2000, ‘Object-oriented real-time
                                         pattern                                  concurrency’, In Proceedings of the 15th ACM
      O1               [11]              [ 0 1 0]                                 SIGPLAN conference on Object-oriented programming
      O2               [ 2 1]            [ 0 1 0]                                 systems, languages and applications, pp. 29-46.
      O3               [31]              [ 0 1 0]
      O4               [41]              [0 1 0 ]                           [3]     Mihalis Yannakakis, 1981, ‘Issues of correctness in

      O5               [5 1]             [0 1 0]                                  database   concurrency    control      by    locking’,   In

      O6               [6 1]             [0 1 0]                                  Proceedings of the thirteenth annual ACM symposium
                                                                                  on Theory of computing, pp. 363–367.
      O7               [7 1]             [0 1 0]
      O8               [8 1]             [0 1 0]
                                                                            [4]     Klahold P., Schlageter G. and Wilkes W., August
Step 3: To know the type of lock value assigned to                                1986, ‘A General Model for Version Management in
an object and for a transaction, testing is used.                                 Databases’,   In   Proceedings   of    the    International
                                                                                  Conference on Very Large Data Bases, Kyoto, pp. 319-
Testing uses the final weights created by training.
                                                                                  327.
The proposed FUBPA for lock state learning and
lock state finding have been implemented using                              [5]     Katz R.H. and Lehman T.J., March 1984, ‘Database
                                                                                  Support for Versions and Alternatives of Large Design
Matlab 7
                                                                                  Files’, In IEEE Transactions on Software Engineering,
                                                                                  Vol. 10, No. 2, pp. 191-200.

                                                                            [6]     Herrmann U., Dadam P., Küspert K., Roman E. A.




                                                                 173                                  http://sites.google.com/site/ijcsis/
                                                                                                      ISSN 1947-5500
                                                               (IJCSIS) International Journal of Computer Science and Information Security,
                                                               Vol. 9, No. 2, February 2011




      and Schlageter G., 1990, ‘A lock technique for disjoint
      and   non-disjoint      complex   objects’,    In   Springer
      Advances in Database Technology — EDBT '90, Vol.
      416, pp. 219-237.

[7]     Garza     J.    and    Kim   W.,   1988,     ‘Transaction
      management in an object-oriented database system’. In
      Proceedings of the ACM SIGMOD International
      Conference on the Management, Vol. 17, No. 3, pp. 37-
      45.

[8]     Eliot B. Moss, 1986, ‘Transaction Management for
      Object-Oriented Systems’, In Proceedings of the IEEE
      Computer Society International Workshop on Object-
      Oriented Database Systems, pp. 229.

[9]     Raviram        P.,    Wahidabanu    R.      S.    D.     and
      Purushothaman S., “Concurrency Control in CAD with
      KBMS using Counter Propagation Neural Network”,
      IEEE International Advance Computing Conference, 6-
      7 March 2009, pp. 1521-1525.




                                                                        174                               http://sites.google.com/site/ijcsis/
                                                                                                          ISSN 1947-5500

				
DOCUMENT INFO
Description: The International Journal of Computer Science and Information Security (IJCSIS Vol. 9 No. 2) is a reputable venue for publishing novel ideas, state-of-the-art research results and fundamental advances in all aspects of computer science and information & communication security. IJCSIS is a peer reviewed international journal with a key objective to provide the academic and industrial community a medium for presenting original research and applications related to Computer Science and Information Security. . The core vision of IJCSIS is to disseminate new knowledge and technology for the benefit of everyone ranging from the academic and professional research communities to industry practitioners in a range of topics in computer science & engineering in general and information & communication security, mobile & wireless networking, and wireless communication systems. It also provides a venue for high-calibre researchers, PhD students and professionals to submit on-going research and developments in these areas. . IJCSIS invites authors to submit their original and unpublished work that communicates current research on information assurance and security regarding both the theoretical and methodological aspects, as well as various applications in solving real world information security problems.