DOI: http://dx.doi.org/10.26483/ijarcs.v10i4.6447
Volume 10, No. 4, July – August 2019
International Journal of Advanced Research in Computer Science
RESEARCH PAPER
Available Online at www.ijarcs.info
© 2015-19, IJARCS All Rights Reserved 52
ISSN No. 0976-5697 ISSN No. 0976-5697
DESIGNING A TASK ALLOCATOR FRAMEWORK FOR DISTRIBUTED
COMPUTING
Mrityunjay Chaubey
DST-CIMS, Institute of science
Banaras Hindu University
Varanasi, India
Manjari Gupta
DST-CIMS, Institute of science
Banaras Hindu University
Varanasi, India
Abstract: Software Frameworks attempt to capture and implement a software system architecture that is reusable. A frameworks, thus, is a
semicode that needs to be customized for a particular reuse. The problem of finding an optimal task allocation in distributed computing system
(DCS) is an NP-hard. There are various task allocation algorithms and hence a Task Allocator may implement any of them. Any Task Allocator,
hence will have many portions that can be reused to define and implement a Task Allocator. In distributed system a Task Allocation mechanism
may be replaced by a new one if a standardized definition of a reusable system architecture for this purpose is available. This work attempts at
formalizing a system architecture of a Task Allocator by proposing a framework for the purpose. Here we start the design methodology for OO
software and identify the various parts of the software system architecture for task allocation. This effort finally results into a semicode
framework. The interesting conclusions include “Identification of that code portion of the semicode framework that does not change when
reused”, “Characteristics of the code portion that need customization” and the nature of framework definitions that need to be coded at the time
of reuse. In this work OO design of various activities of task allocation process has been carried out as per the OO design methodology. To be
objects have been identified the dynamic and functional modeling along with identification use cases, corresponding scenarios and data flow
diagrams.
Keywords: Distributed system, Object oriented framework , Design, UML, Task Allocation.
I. INTRODUCTION
Today there is a need of techniques and tools to support
developers to develop complex software in order to improve
current situation. Researchers, in the software engineering
fields, have always been striving to find ways and means to
develop high quality products at low cost. Software reuse
promises substantive reduction in cost and improved quality
if seriously planned and practiced. There are certain
technical and non-technical reasons that impede reuse [11].
The reuse of software design experiences in form of design
patterns and frameworks can make the life of developers
easy. It can promise improved maintainability as well. A
DCS consists of multiple processing nodes and various
cooperating tasks, of any jobs, are distributed across there
nodes. Individual nodes schedule the tasks allocated to
them. Various tasks of a job are allocated to processing
nodes in such a fashion so that execution characteristics of
the jobs such as throughput, turn-around time etc are
improved. Consequently a DCS requires a ask Allocator that
keeps performing task allocation business for all the
incoming Tasks. These Task allocators implementations
based on corresponding task allocation algorithms [1-6].
There are various task allocation algorithms and hence a
Task Allocator may implement any of them. Any Task
Allocator, hence will have many portions that can be reused
to define and implement a Task Allocator. In distributed
system a Task Allocation mechanism may be replaced by a
new one if a standardized definition of a reusable system
architecture for this purpose is available. This work attempts
at formalizing a system architecture of a Task Allocator by
proposing a framework for the purpose. Designers of a DCS
may required to do task allocation as per new algorithms
that may have not been there earlier or in a new situation a
new allocator need to be designed as per some other existing
algorithm. In such a situation designing and implementing a
new allocator would require redoing similar things and
undergoing the same design experiences as earlier. As it is
obvious most of the things in all Task Allocators will be
similar if not always identical. If we can represent that
design of a Task Allocator in form of a semicode framework
a good deal of reuse of the same would take place this work
attempts to achieve the same. An object-oriented framework
is a set of collaborating object classes that embody an
abstract design to provide solutions for a family of related
problems; we have carried out the same for the task
allocation.
In the following subsections we have described what an
object-oriented framework, methodology we used to
develop the framework to appear in this paper and the
problem of task allocation. In section 2 we have carried out
the design for task allocation in DCS that leads to the
framework proposed herein. The concluding section 3
summaries the idea and its usefulness.
II. WHAT IS A FRAMEWORK?
Framework is one of the object-oriented reuse techniques
that promise highest degree of reuse among all others. An
object-oriented framework is a set of collaborating object
classes that embody an abstract design to provide solutions
for a family of related problems. The framework typically
consists of a mixture of abstract and concrete classes. The
abstract classes usually reside in the framework, while the
concrete classes reside in the application. A framework, then,
is a semicomplete application that contains certain fixed