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