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.
- views:
- 72
- posted:
- 3/8/2011
- language:
- English
- pages:
- 7

(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
Get documents about "