Concurrency Control In CAD Using Functional Back Propagation Neural Network
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.
(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  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  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  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  [ 0 1 0] SIGPLAN conference on Object-oriented programming O2 [ 2 1] [ 0 1 0] systems, languages and applications, pp. 29-46. O3  [ 0 1 0] O4  [0 1 0 ]  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]  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  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.  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.  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.  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.  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