Professional Documents
Culture Documents
Page 1
Modeling and Validation of Execution of Tasks on High Speed Network under Distributed Environment
Taskeen Zaidi and 2Vipin Saxena Department of Computer Science Babasaheb Bhimrao Ambedkar University Vidya Vihar, Rae Bareli Road Lucknow (UP) 226025, INDIA 1 taskeenzaidi867@gmail.com, 2vsax1@rediffmail.com ABSTRACT
During the past years, distributed computing approach has become an integral part of many of the software companies. This is because of low cost infrastructure involvement and faster execution of the tasks, sharing of resources, etc. In the year 2009, the Indian Government has established distributed network called as National Knowledge Network (NKN). The main objective of NKN is to connect all of the Indian universities, research institutions, computing labs, digital libraries, countrywide classrooms, etc. In the present paper, a well-known objectoriented Unified Modeling Language (UML) is used to construct a model for the execution of the tasks across a distributed network. Authors have designed a static step topology for the faster execution of tasks. Static and dynamic behaviors of the execution of the tasks are represented through UML class and state diagrams, respectively. For validation of the UML model, the state diagram is converted into a Finite State Machine (FSM) and different test cases are generated to validate the proposed model across distributed network environment. parallel and distributed applications. Therefore, let us describe some of the important references related to UML. It is a platform independent modeling language invented by Booch et al. [6-7]. Later on, Object Management Group (OMG) [8] released the various versions of UML used to construct the UML models for software and hardware research problems. In 2008, Saxena and Arora [9] applied UML to model a protocol for establishing mutual exclusion in a distributed computing system. They applied the concepts of synchronization for execution of tasks in a bidirectional ring. Performance of object-oriented software system for different kinds of the object-oriented programming languages has also been estimated by the authors [10]. The Indian Government launched the project known as National Knowledge Network (NKN) based on a distributed computing approach with main objective of project to connect all Indian universities, laboratories, research institutions, libraries, healthcare and agriculture institutions under Next Generation Network (NGN) services. The fibre-based backbone supports data transfer speed up to 1Gbps, which can be further enhanced up to 20 Gbps. It provides reliability, high bandwidth and offers low latency network. This project shall enhance the quality of research work in critical and emerging areas by enabling the scientists, researchers and students to work together. Various features supported by NKN [11] are countrywide classrooms, collaborative research, virtual library, sharing of computing resources, data centres, remote execution of tasks and e-governance, etc. Comparison between traditional learning and e-learning for higher education has been described by Gloria et al. [12]. Zhang and Bao [13] described the research aspects of computer technology for e-learning in higher education. In communication networks, different kinds of topologies are available in literature and one can connect collections of heterogeneous devices using various static and dynamic topologies. The most commonly used topologies are star, bus, tree mesh, hyper cube, etc. Zaidi and Saxena [14] designed a static step topology, which is used to connect heterogeneous devices across distributed network environment for NKN. A mathematical formula is also described by the authors to compute the complexity of the step topology of the NKN network. Later on, performance of processors utilization under NKN network connectivity is also obtained through Internet Security and Acceleration (ISA) server management by Zaidi and Saxena [15]. In the present work, the well-known Unified Modeling Language is used to construct model for the execution of tasks under the distributed environment for step topology on NKN network. Resource allocation for the execution of tasks is controlled by the Endian operating system. After that UML state model is converted into a Finite State Machine (FSM) to generate various test cases. Test cases are used to validate the proposed UML model.
1
General Terms
Performance, Design, Validation
Keywords
Distributed Computing Network, NKN, Step Topology, UML, FSM, Test Cases, Validation
1. INTRODUCTION
Distributed computing systems are autonomous collections of various kinds of devices like laptops, computer systems, palmtops, mobile and other hand-held devices. These devices do not share a global clock and are connected via a communication network, organized by various topologies. Each device has its own memory and processor to execute the tasks. A well-known book written by Tenanbaum [1] described the distributed computing network along with the various kinds of static and dynamic topologies. The categories of various kinds of the communication networks, whether it is based on static or dynamic approaches are well described by Frouzen [2]. Distributed computing systems support distributed algorithms for execution of tasks under mutual exclusion and various distributed algorithms are described in Siberschatz and Galvin [3]. From the literature, we observe that UML was applied by Pllana and Fahringer [4-5] for the solutions of the research problems related to the software and hardware architectures of computer systems. They customized UML for modeling the performance of
DOI: 10.1145/2464526.2464540
http://doi.acm.org/10.1145/2464526.2464540
Page 2
Data Centre
Internet
A process or task is defined as subprogram, macro, subroutine, block of code, subtask to be executed on devices attached across a distributed environment. A process has attributes like Process_id, Process_size, Process_in_time, Process_out_time and Process_priority. These attributes are controlled by the methods Process_create(), Process_delete(), Process_update(), Process_ join(), Process_suspend() and Process_synchronize(). A processing_unit is fully responsible for the execution of tasks. UML definition of the process is given in figure 1. A class has single or multiple instances controlled by objects.
Virtual Classroom
Research Labs
Sharing of Resources
<<processing_unit>> Process +Process_id: integer +Process_size: integer +Process_in_time: string +Process_out_time: string +Process_priority: integer Figure 2. A Distributed NKN Network +Process_create() +Process_delete() +Process_update() +Process_join() +Process_suspend() +Process_synchronize()
Virtual Library Research Institutions Egovernan ce
DOI: 10.1145/2464526.2464540
http://doi.acm.org/10.1145/2464526.2464540
Page 3
NM
NM-2 N5
M NM-1
Booch et al. [6]. It is used by many researchers to create UML models for the software and hardware architecture research problems. It shows static and dynamic behavior of the system. We can represent the research problems diagrammatically through diagrams available in modeling language. Major diagrams are UML class, activity, state, sequence, etc. In the present work, UML class and state diagrams are designed for representing static and dynamic behavior of the execution of tasks across a distributed network environment by taking resources and synchronization of tasks inside the critical section.
N3
N4 1 N1 N2 N4 NM-1
* Facility
A machine is supposed to be initially in start state q 0 ; where, Q= S 0 /S 1 , = {(0,0),(0,1),(1,0),(1,1)}; P= {0,1}; and and functions are given as: [S 0 ,(0,0)] = [S 0 ,(0,1)] = [S 0 ,(1,0)]=S 0 , [S 0 ,(1,1)] =S 1 ; [S 1 ,(0,0)] =S 0 , [S 1 ,(0,1)] =[S 1 ,(1,0)] = [S 1 ,(1,1)] =S 1 ; [S 0 ,(0,0)] = [S 0 ,(1,1)] =1; [S 0 ,(0,1)] = [S 0 ,(1,0)]=0; [S 1 ,(0,0)] = [S 1 ,(1,1)] =1; [S 1 ,(0,1)] = [S 1 ,(1,0)] =0. A machine can be started from state S 0 . A state transition diagram represents sum of all functional information about machine in sense that sets Q, map , , respectively and subset of P occurs as .
L1_Switch *
L3_Switch
Topology
* * LAN * * User
Figure 4. UML Class Diagram for Tasks under NKN associated to different universities and finally data centres as represented in figure 4. Service_provider class provides services as said above across the NKN network controlled by NKN_Server class through Point of Presence (POP class) and Synchronous Transport Module (STM class). Services are categorized by class Facility. NKN server is attached to Router class and this class is responsible for routing data through two switches, which are controlled by L3_Switch and L1_Switch classes and passed to User class via Local Area Network (LAN class). Tasks are considered through five facilities, which may run concurrently under distributed environment. Numbers of users can access data via six core fibre optics from NKN server. In above, devices used
DOI: 10.1145/2464526.2464540
http://doi.acm.org/10.1145/2464526.2464540
Page 4
by users are connected on LAN via a step topology and are controlled by Topology class. For representing the dynamic behavior of system, execution of tasks is represented by state machine diagram as represented in following figure 5. Representation of UML state machine diagram is object-oriented way to show the dynamic behavior of objects on events.
transition from one state to other state. From figure 5, the events are represented as a, b, c, c', d, d', e, f and g as mentioned in table. Table 1. List of Events for Transition Table a b c c' d d' To enter in ready queue Allocation of processor for process Suspension conditions occur Suspension conditions removed For allocation of resources Resources not allocated To enter in critical section To produce the results Transfer of data to user
e
To enter in ready queue
f g
q1
To enter in critical section
b q6 c'
q2
To produce the results
Display results
c q3 d q5 f
d'
q4 e
In above diagram, initially users enter processes or tasks, which may run concurrently on NKN server as shown in UML class diagram. A ready queue of processes is prepared using Endian operating system for allocation of free processor. If the processor is not available, then tasks reside in suspended queue as represented by state and after getting resources, tasks are executed by processor and finally results are produced and sent back to the users.
Figure 6. State Transition Diagram The total states are q 0 , q 1 , q 2 , q 3 , q 4 , q 5 , and q 6 with number of events as represented in above table. Transition functions and equivalent grammar are generated from figure 6 and given below:
DOI: 10.1145/2464526.2464540
http://doi.acm.org/10.1145/2464526.2464540
Page 5
q 2 dq4; q4 d'q 3; q3 c'q1.
From above, a transition table is designed for generation of test cases. A transition table is shown below in table 2. Table 2. List of Events for Transition Table / q0 q1 q2 q3 q4 q5 q6 A q1 b q2 C q3 c' q1 d q4 d' q3 E q5 F q6 g q0
q0 a b d d c q1.
This test case validates that the process/task does not get resources for execution of process/task inside the critical section and finally results are transferred to the user.
4.3 Test Case2: process/task gets processor and resources When process is not suspended due to non availability of processor and resources are allocated for execution of process/task inside the critical section then following production rules are used.
From transition table, we can generate test cases with help of grammar and it can be verified from above production rules. The different test cases are described below: 4.1 Test Case1: process/task does not get processor User enters process/task for execution; a ready queue is prepared and if processor is not allocated then it enters inside the suspended queue. When it is removed from the suspended queue then again process enters inside ready queue from stage q 0 to q 1 . Input {a} is given and then from q 1 to q 2 , input {b} is given and if processor is not available then input {c} is given to enter into stage q 3 and again input {c'} is given to enter into stage q 1 . It is represented by the following production rules
q0 a b d e f g .
This test case validates that the process/task gets the processor and resources both for the execution
5. CONCLUDING REMARKS
In this work, the high speed distributed NKN network of India has been considered as a case study and all devices are connected through step topology. The execution of tasks in respect of facilities provided across NGN services are executed and represented through UML state machine diagram. This diagram is validated through concept of FSM by generating various test cases from grammar. It is observed that tasks executed on nodes connected through NKN do not share a global clock and may run concurrently by getting the resources. The present work is useful for software designers to estimate the performance of UML models at early stages of software development by reducing cost of development and also effort at a significant level.
q0 abccq 1 .
This test case validates that the process/task does not get processor for execution of process/task. 4.2 Test Case2: process/task does not get resources If process gets processor but resources for execution are not allocated then from stage q 2 to q 4 , an input {d} is given for resource allocations. If these are not available then it will enter into stage q 3 through input {d} and finally enters into stage q 1 for ready queue by entering input{c}. It is represented by following production rules
6. ACKNOWLEDGMENTS
Our thanks are due to University Grants Commission (UGC), New Delhi, India for providing financial assistance to carry out this work.
7. REFERENCES
q0 q1
aq1; bq2;
DOI: 10.1145/2464526.2464540
http://doi.acm.org/10.1145/2464526.2464540
Page 6
[2] Frouzen, B. A., 2006. Data Communications and Networks, Tata McGraw Hill. [3] Siberschatz, A. and Galvin, P.B., 2008. Operating Systems Concepts, 5th Edition, John Wiley and Sons, Inc. D.D.L.L.D. [4] Pllana, S. and Fahringer, T., 2002. On customizing the UML for modeling performance oriented applications, In <<UML>>, Model Engineering Concepts and Tools, Springer-Verlag, Dresden, Germany. [5] Pllana, S. and Fahringer, T., 2002. UML based modeling of performance oriented parallel and distributed applications, In Proceedings of Winter Simulation Conference. [6] Booch, G., Rambaugh, J. and Jacobson, I., 1999. The Unified Modeling Language, User Guide Addison Wesley, Reading MA. [7] Booch, G., 1994. Object-Oriented Analysis and Design with Applications, Second Edition Addison Wesley. [8] OMG, 2001. Unified Modeling Language Specification, Available Online via http://www.omg.org (Accessed on 12 Nov. 2012). [9] Saxena, V. and Arora, D., 2008. UML modeling of a protocol for establishing mutual exclusion in distributed computer system, International Journal of Computer Science and Network Security, Vol. 8 No. 6 pp 227-235. [10]Saxena, V. and Arora, D., 2009, Performance evaluation for object-oriented software systems, ACM
[11] www.nkn.in (Accessed on 12th Dec.2011). [12]Gloria, C. Alaneme, Peter O. Olayinola, Comfort O., 2010. Countering traditional learning and E-learning methods in higher distance education: Assessing learners preference, 4th International Conference on Distance Education (ICDLE), 187-190. [13]Zhang, N. and Bao., H., 2010. Research on the computer technology for E-learning in higher education, International Conference on E-Education, E-Business, E-Management and E-Learning 295-298. [14]Zaidi T. and Saxena, V., 2012. Step topology for static interconnection of computer systems under distributed environment, In Proceedings of 3rd World Conference on Information Technology organized by University of Bercelona, Nov. 14-17, 2012. [15] Zaidi T. and Saxena, V., 2012. National knowledge network versus information communication technology, In Proceeding of University Department of Mathematics, B.R.A. Bihar University, Muzzafarfur India, 11-12 Feb.,2012.
DOI: 10.1145/2464526.2464540
http://doi.acm.org/10.1145/2464526.2464540