You are on page 1of 6

ACM SIGSOFT Software Engineering Notes

Page 1

May 2013 Volume 38 Number 3

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

Categories and Subject Descriptors


D.3.2 [Programming Languages]: Language ClassificationsObject-oriented languages, Design language.

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

ACM SIGSOFT Software Engineering Notes 2. BACKGROUND 2.1 Process/Task

Page 2

May 2013 Volume 38 Number 3

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

National Knowledge Network

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

2.3 Topology Used


The authors have designed static step topology [14]. We can connect N number of devices across a distributed environment. Designed topology is different from the bus and steps are considered to connect number of computer systems as shown in figure 3. By considering N M as computer systems or devices, length of segments is described below: N 1 N 2 = 1 , N 1 N' 4 = 2 , N 1 N' M-2 = M-1 , N 1 N' M-1 = r; and 1 =tan 1 , 2 =tan 2 ,.. M =tan M ; where, f(r) is a radial distance measuring diameter of step topology as described below: f(r)=1+ 1 r+ 2 (r- 1 )+ 3 (r- 2 )++ M (r- M-1 ). In the figure 3, r is a horizontal distance of cable controlling computer systems and measured in meters. By use of this topology, tasks can be executed on either node and results can be displayed either of computer systems. Computer systems can exchange resources by message passing technique.

Figure 1. UML Class of a Process

2.2 A Distributed Computing System


National Knowledge Network of India is based upon distributed computing approach and shown in figure 2. NKN network offers the execution of tasks with resource sharing, file sharing and provides reliability and scalability to devices connected across a distributed environment. As shown in figure 2, NKN has facility of high speed internet, data centre, virtual classroom, sharing of resources, e-governance, connection to research institutions, virtual libraries, research labs, etc. Processes or tasks can run concurrently in distributed system using message passing mechanism.

DOI: 10.1145/2464526.2464540

http://doi.acm.org/10.1145/2464526.2464540

ACM SIGSOFT Software Engineering Notes

Page 3

May 2013 Volume 38 Number 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

3. UML MODELING FOR EXECUTION OF TASKS UNDER NKN


A UML class diagram shows static representation of problem. Let us consider a task is executed across a distributed environment as shown in following figure 4. A task is considered to access contents of virtual class room, virtual library, research lab, data

Figure 3. Representation of Step Topology


1 1 Service_provider 1 1 1 STM 1 1 Router POP 1 1 * Research lab * Virtual_library * Virtual_classroom * Data_centre * Universities NKN_Server

2.4 Finite State Machine (FSM)


A finite state machine is a dynamic system represented by M=(Q, , P, , ) where Q, , P are finite sets of states, input symbols and output symbols; where, Q= QP= : Q* and : Q* Q P Next state function Output function

* 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

2.5 Unified Modeling Language


A well-known object-oriented Unified Modeling Language (UML) is a powerful platform independent language invented by

DOI: 10.1145/2464526.2464540

http://doi.acm.org/10.1145/2464526.2464540

ACM SIGSOFT Software Engineering Notes

Page 4

May 2013 Volume 38 Number 3

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

User enter process

e
To enter in ready queue

f g

Prepare ready queue

Transfer of data to users

Suspension conditions removed

Suspension conditions occur

Allocation of processor for process


Allocate processor

By taking above events, equivalent state transition diagram is represented in figure 6. S g E q0 a

Enter in suspended queue

For allocation of resources

Resources not allocated Get resources

q1
To enter in critical section

b q6 c'

Process executed in critical section

q2
To produce the results
Display results

c q3 d q5 f

Figure 5. UML State Machine Diagram for Execution of Tasks

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:

4. VALIDATION OF UML STATE MACHINE DIAGRAM THROUGH FSM


UML state machine diagram is validated using finite state machine as per definition of FSM. Table 1 shows list of events for

(q0,a)= q1 (q1,b) = q2 (q2,c)= q3 (q2,d)= q4 (q3,c') = q1 (q4,d')= q3 (q4,e)=q5

q0 aq1 q1 bq2 q2 cq3 q 2 dq4 q3 c'q1 q4 d'q 3 q4 eq5

DOI: 10.1145/2464526.2464540

http://doi.acm.org/10.1145/2464526.2464540

ACM SIGSOFT Software Engineering Notes


(q5,f) = q6 (q6,g)= q0
q5 fq6 q6 g

Page 5
q 2 dq4; q4 d'q 3; q3 c'q1.

May 2013 Volume 38 Number 3

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

By replacing non-terminals on right hand side of productions rules, we can get

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 aq1 q1 bq2 q 2 dq4 q4 eq5 q5 fq6 q6 g


By replacing non-terminals on right hand side of productions, we can get

q0 a b d e f g .
This test case validates that the process/task gets the processor and resources both for the execution

q0 aq1; q1 bq2; q2 cq3; q3 c'q1.


By replacing non terminals on right hand side of productions, we can get

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;

[1] Tanenbaum, A. S., 2010. Computer Networks, Prentice Hall.

DOI: 10.1145/2464526.2464540

http://doi.acm.org/10.1145/2464526.2464540

ACM SIGSOFT Software Engineering Notes

Page 6

May 2013 Volume 38 Number 3


SIGSOFT Software Engineering Notes, Vol. 34, No. 2, 1-5, doi:=http://doi.acm.org/10.1145/1507195.1507213.

[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

You might also like