Rushikesh K. Joshi
Indian Institute of Technology Bombay
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Rushikesh K. Joshi.
Software - Practice and Experience | 1997
Rushikesh K. Joshi; N. Vivekananda; D. Janaki Ram
SUMMARY In the conventionalobject model, encapsulated objects interact by messages that result in method invocations on the destination object. A message is delivered directly at the destination object. As a result of the direct deliveries, the message control code performing intermediate message manipulations cannot be abstracted out separately from the message processing code in the destination object without sacrificing the transparency of the intermediate message control. We propose the filtered delivery model of message passing for object-oriented languages to provide the separation of message control from message processing in a transparent manner. An interclass relationship, called a filter relationship, is introduced. As a consequence, a filter object can intercept and manipulate messages sent to another object called its client via filter member functions. A filter member function in a filter object can intercept a particular member function invocation on its client object. The filtered delivery model supports both upward and downward filtering mechanisms, facilitating interception of an upward message and its return message value. Filter objects can be plugged or unplugged at runtime. Binding of filter member functions to corresponding member functions in the client is selective and dynamic. The filtered delivery model is developed for the C++ object-oriented language; its applications are described and implementation is discussed. ©1997 by John Wiley & Sons, Ltd.
IEEE Transactions on Smart Grid | 2011
Yemula Pradeep; P. Seshuraju; S. A. Khaparde; Rushikesh K. Joshi
In terms of scope and granularity of data, two kinds of connectivity models are broadly in vogue for representing power network data, namely, node-breaker model and bus-branch model. This paper examines both the connectivity models from the perspective of common information model (CIM). Although CIM is primarily designed for most detailed node-breaker representation, with certain extensions CIM can be leveraged to achieve a standard, interoperable bus-branch model representation and exchange format. To facilitate this, it is proposed to introduce new class called TopologyBranch. By decoupling the connectivity information and the equipment parameter information, a mechanism for efficient exchange of time varying system models with minimum information transfer between the power control centers is described in this paper. The proposed CIM bus-branch connectivity model has wide applications in an interoperable, decentralized, hierarchical structure of control centers. Three illustrative examples including one on a practical 20-substation model of the 400 kV transmission network of Maharasthra state, India, are then presented for demonstrating the benefits.
IEEE Transactions on Software Engineering | 1999
Rushikesh K. Joshi; D.J. Ram
Parallel computing on interconnected workstations is becoming a viable and attractive proposition due to the rapid growth in speeds of interconnection networks and processors. In the case of workstation clusters, there is always a considerable amount of unused computing capacity available in the network. However, heterogeneity in architectures and operating systems, load variations on machines, variations in machine availability, and failure susceptibility of networks and workstations complicate the situation for the programmer. In this context, new programming paradigms that reduce the burden involved in programming for distribution, load adaptability, heterogeneity and fault tolerance gain importance. This paper identifies the issues involved in parallel computing on a network of workstations. The anonymous remote computing (ARC) paradigm is proposed to address the issues specific to parallel programming on workstation systems. ARC differs from the conventional communicating process model by treating a program as one single entity consisting of several loosely coupled remote instruction blocks instead of treating it as a collection of processes. The ARC approach results in distribution transparency and heterogeneity transparency. At the same time, it provides fault tolerance and load adaptability to parallel programs on workstations. ARC is developed in a two-tiered architecture consisting of high level language constructs and low level ARC primitives. The paper describes an implementation of the ARC kernel supporting ARC primitives.
conference on software maintenance and reengineering | 2009
Padmaja Joshi; Rushikesh K. Joshi
A concept lattice based approach for analysis of class cohesion is presented. The approach facilitates rapid identification of less cohesive classes. It also helps identify less cohesive methods, attributes and classes in one go. Further, the approach guides refactorings such as extract class, move method, localize attributes and remove unused attributes.The effectiveness of the technique is demonstrated through examples.
IEEE Transactions on Software Engineering | 2006
Naveen Sharma; Padmaja Joshi; Rushikesh K. Joshi
Weyukers Property 9 has received a mixed response regarding its applicability to object oriented software metrics. Contrary to past beliefs, the relevance of this property to object oriented systems is brought out. In support of the new argument, counterexamples to earlier claims are formulated and two new metrics highlighting a notion of complexity that is capturable through Property 9 are also presented.
conference on software maintenance and reengineering | 2006
Padmaja Joshi; Rushikesh K. Joshi
It is observed that most object oriented coupling metrics are macroscopic, which makes them unsuitable for making finer refactoring decisions. The notions of microscopic viewpoints and coupling projections are introduced. Existing metrics are classified in terms of viewpoints and projections. Two microscopic metrics called relative method coupling (RMC) and relative inward coupling (RIC) are introduced, and a method of applying them to refactoring is discussed. A case study is also included
IEEE Transactions on Smart Grid | 2012
Yemula Pradeep; S. A. Khaparde; Rushikesh K. Joshi
Exchange of event information among multiple interconnected power system operators has become imperative for integrated and secure operation of the system. Considerable literature is reported on the standardization of power system data, while limited work has been done on the standardization of events. In this paper, we define a high level event ontology for power systems comprising seven concepts, namely, event, event extractor, event consumer, time, measurement, location, and level. These concepts are then developed with details extracted from the operating procedures followed by national and regional load dispatch centers in the Indian national grid. The methodology adopted for designing concrete sub-ontologies from the high level event ontology is also reported. The proposed event ontology has wide applications in the areas of i) event driven architecture (EDA) which facilitates the integration of event driven applications within and across the utilities, and ii) complex event processing (CEP) which facilitates development of sense-and-respond software capable of processing events extracted from large volumes of real-time data streams.
ACM Sigsoft Software Engineering Notes | 2012
Rakesh Shukla; Ashish Sureka; Rushikesh K. Joshi; Rajib Mall
In this report, we present a summary and a few reflections of a one day workshop on Software Engineering Education held on February 22, 2012 at Indian Institute of Technology, Kanpur, India collocated with the 5th India Software Engineering Conference. We identify a gap and believe there is a need for creating an annual discussion forum that serves the need of having a regular workshop for software engineering education in India and also benefit the global software engineering education community by sharing the workshop insights and results by a publication process. The workshop consists of two keynotes, one from academia and one from industry, two subgroups discussions and presentations by the subgroups on their discussions. Three systematic techniques, invitation of position statements, set up of a Google group and an online survey, were employed before the workshop to estimate number of participants, subgroups and size of each subgroup for effective discussions. Twenty participants attended the workshop. The keynotes were on Using Collaborative Learning and Divergent Thinking to Teach Software Engineering and on Software Engineering Competency Development Model. Three topics were selected for subgroups discussions by the participants: use of various methods, such as learning while playing and project-based software engineering, over Power Point lecture, requirements and needs of undergraduate software engineering degree program from the perspective of Indian software industry and curriculum content, coverage, and impact of software engineering courses. The workshop was a successful endeavor and the response in terms of the contributions by participants is a clear indicator and confirmation of the need of having a focused discussion forum for brainstorming on software engineering education in India
Journal of Parallel and Distributed Computing | 1999
Rushikesh K. Joshi; O. Ramakrishna; D. Janaki Ram
With the growing emphasis on distributed applications, sophisticated programming models for handling replication become important. Control replication as an issue has so far been considered in the larger context of distributed systems such as ISIS and Arjuna. We present a programming model called ShadowObjects for programming replicated services to cater to the needs of control replication in distributed object oriented systems. The ShadowObjects model provides primitives for building highly available and redundant services. Replication in ShadowObjects is encapsulated and a replica access control mechanism is provided. Messages accessing the services exported by a server object can be captured on-the-fly, and can be appropriately scheduled on the replicas. The ShadowObjects model can be used to develop applications for distributed systems.
asia-pacific software engineering conference | 2006
Yogesh Murarka; Umesh Bellur; Rushikesh K. Joshi
Maintenance downtime and overheads for applying patches are major concerns for systems requiring round the clock availability. Hence, methods for carrying out dynamic updates are needed. However, correctness of the system during and after every dynamic update needs to be ensured. This paper defines two safety criteria, type consistency and isolation of process execution/or dynamic software update. Updates involving one or more insertions of new classes, removals of old classes and replacements of old classes are considered. The condition for producing a type safe update schedule is defined. The parts of the program whose executions have to be isolated from process update are annotated by the user. Conditions are also provided for ensuring isolation of the update process from execution of annotated parts of the program.