About
76
Publications
15,236
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
539
Citations
Introduction
For the past 30 years in India, I have been working in the field of software engineering covering a wide range of topics including models and ontologies, program structures, reengineering, design and analysis, patterns, parallelism, performance, programming,and metrics and evaluation. At present, I am working on Process engineering with a focus on model transformation, migration, mining and patterns.
Skills and Expertise
Publications
Publications (76)
Dynamic migration of workflows requires the notion of consistency for safe migration. The literature primarily covers consistency models based on the history of the workflow to be migrated. However, for several situations, the history based models are not enough to decide migratability of a state. The paper introduces lookahead models of consistenc...
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 on...
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 attr...
A UML based metamodel for Bunge-Wand-Weber (BWW) ontology is presented. BWW ontology is a generic framework for analysis and conceptualization of real world objects. It includes categories that can be applied to analyze and classify objects found in an information system. In the context of BWW ontology, the metamodel is a representation of the onto...
Patterns of software architecture help in describing structural and functional properties of a system in terms of smaller components. The emphasis of this work is on capturing the aspects of pattern descriptions and the properties of inter-component interactions including non-deterministic behavior. Through these descriptions we, capture structural...
When processes execute through their business logic, their activities generate event logs, which contribute to trace sets. Since its introduction, the field of process mining has evolved, however, accuracy issues persist. In this paper, we explore the L* algorithm in the context of process mining, especially towards development of interactive proce...
The paper identifies several issues and problems in converting BPMN models into formal Petri Net models. The conversion of BPMN models into Petri nets has been attempted for about a decade, but the richness and diversity in the BPMN's toolset continues to demand research attention towards completeness and accuracy in conversion of BPMN elements int...
The paper presents Trace Language, a language for compact encoding of process trace sets. Thirteen micro-configurations are proposed and tested over a few process mining algorithms to identify success and failure points of the latter. Trace expressions are developed for the micro-configurations using Trace Language.
An unconstrained crossword puzzle is a generalization of the constrained crossword problem. In this problem, only the word vocabulary, and optionally the grid dimensions are known. Hence, it not only requires the algorithm to determine the word locations, but it also needs to come up with the grid geometry. This paper discusses algorithmic strategi...
In the context of dynamic evolution of workflow processes, the change region identifies the part of the old process from which migration to the new process is guaranteed to be inconsistent. However, this approach may lead to overestimated regions, incorrectly identifying migratable instances as non-migratable. This overestimation causes delays due...
Segmentation, a new approach based on successive edge contraction is introduced for extract method refactoring. It targets identification of distinct functionalities implemented within a method. Segmentation builds upon data and control dependencies among statements to extract functionalities from code by successive contraction of edges in the Stru...
For traceable evolution of software systems, tracking of continuous changes in their constituent artifacts is essential. The paper outlines a roadmap for evolution traceability of software artifacts with a focus on evolution traceability of descriptions of business processes. Several traceability approaches are overviewed, and a categorization of e...
Cohesion metrics have been explored widely in the literature for procedural programs and subsequently for object oriented programs. However, as it is commonly found with metrics based approaches, most attempts have been shown to have suffered from some or the other flaws. In this paper, in light of two problems associated with cohesion metrics name...
The paper presents a taxonomy of notions of consistency in the context of dynamic migration of business processes covering two decades of research on dynamic process change in various workflow approaches including graph based and net based approaches. A consolidated view that brings out the generic nature of the consistency problem independent of t...
Change regions approximate dynamic instance non-migrata-bility through schema based approach. In a distributed process, each node may have a partial view of the structure of the whole process. The distributed structure-fragments may evolve independently at runtime. Established centralized algorithms to compute change regions cannot be directly appl...
Change regions approximate dynamic instance non-migrata-bility through schema based approach. In a distributed process, each node may have a partial view of the structure of the whole process. The distributed structure-fragments may evolve independently at runtime. Established centralized algorithms to compute change regions cannot be directly appl...
Change regions approximate dynamic instance non-migrata-bility through schema based approach. In a distributed process, each node may have a partial view of the structure of the whole process. The distributed structure-fragments may evolve independently at runtime. Established centralized algorithms to compute change regions cannot be directly appl...
The conventional power system domain includes various utility business processes that are carried out by multiple market participants. In the conventional setup, these processes are typically captured through various local representations understandable by the concerned actors in their respective subdomains. The heterogeneity in process representat...
Evolutionary development in an architecture-centric process involves architectural follow-ups from decision making. The architectural impact of decision-based informatics makes its systematic elicitation necessary in a model-driven traceable process. The paper proposes a systematic way called Process Edification for the elicitation of decision-base...
The problem of workflow instance migration occurs during dynamic evolutionary changes in processes. The paper presents a catalog-based algorithm called the Yo-Yo Algorithm for consistent instance migration in Petri net workflow models. It uses a technique of folding and unfolding of nets. The algorithm is formulated in terms of Colored Derivation T...
Although common information model (CIM) standard has been already a recognized power system domain standard, utilities are facing difficulties in the process of upgrading their software systems on CIM framework. Significant challenges faced by utilities are due to various issues such as legacy of distinct names given to the same power system resour...
Many utilities and control centers are now implementing the new interoperability CIM standards since it facilitates model and data exchange. In accordance with application use cases, application profiles are projected out of standard CIM primitives and relationships. The CIM standard allows high granularity customization for designing CIM profiles...
Architecture Model Integration is a process of defining correspondences between high-level architecture elements and other software elements from artifacts developed during various phases of product life cycle. A primary purpose of this process of integration is to address the challenges of the semantic gap that results due to scattering of concern...
The architecture of a thin distributed event-oriented non-threaded but concurrent workflow engine is presented. The approach shows how to architecture a non-threaded workflow engine by eliminating threading through event-oriented paradigm without degrading performance. The architecture is presented formally in terms of just a handful of expressions...
In the context of runtime evolution of workflow processes, we present a Petri net based approach for pattern oriented workflow migration. In this approach a workflow process is seen as a composition of primitive workflow patterns. The paper demonstrates a yo-yo approach of token transportation in terms of the three primitive workflow patterns Seque...
Business Process Models (BPMs) are commonly used in complex business operations. These BPMs are used not only for functional definition of processes but also for their conformance and performance quality evaluations. However, different business domains involve varied operations having multiple stakeholders with different quality requirements. A hol...
New generation of future power system control centers need a paradigm shift in their utility IT operations, coordinated use of applications and the architectural designs to meet new challenges. However, literature on comprehensive architectural design and implementation towards this direction is scarce. In this paper, an architecture design and imp...
Assigning ontological categories to OO programming abstractions is a task of ontological interpretation. In this paper, we describe an approach for ontological interpretation in which the task of interpretation is seen as a classification problem. The task of interpretation is performed in two stages, namely syntactic feature identification and ont...
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...
That event driven architecture (EDA) will
compliment the data driven systems in future is evident from
the current literature. In this paper, the use of event driven
architecture (EDA) as a platform for supporting event ori-
ented applications in power control centers is presented.
EDA operates on the semantics of events and event patterns,
which a...
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-brea...
That the new generation power system control centers need a paradigm shift in their architectural design to meet new challenges, is an established conclusion of many researchers. However, literature on comprehensive architectural design towards this direction is scarce. In this paper, an information architecture design is proposed for the power sys...
Numerous class cohesion metrics can be found in the literature. However, they end up capturing different aspects of cohesion. Which metric is best suited for a given situation is always a critical question. This work focuses on exploring the strengths and weaknesses of each of the selected cohesion metrics. The issues of their applicability to capt...
A set of interaction primitives and properties are systematically analyzed through Formal Concept Analysis (FCA) leading to
identification of connector types and relationships among them. The approach is illustrated through a set of communication
primitives from the web services modeling languages. The identified concepts are elaborated in terms of...
Mapping elements from an application domain to architectural abstractions is a significant architecture description activity
from the point of view of seamlessness in descriptions. For establishing such a mapping of domain elements to architectural
abstractions, an approach based on ontological analysis is presented. The central idea of the approac...
Characteristics of inheritance metrics are compared with size and length measurement using the property based validation framework of Briand et al. About a dozen inheritance metrics are analyzed and compared with some known object oriented metrics. The analysis first performs an identification of viewpoints and projections of the chosen metrics in...
An architectural connector, a central notion in Architectural Description Languages (ADL) [9, 5], is an abstraction that captures interactions among software components. Existing approaches for representing architectural connectors in programming environments use object-based [6] and component-based [8, 1, 4] notations. Often architectural abstract...
In this paper we investigate information pertaining to the intonation of swaras (scale-degrees) in Hindustani Classical Music for automatically identifying ragas. We briefly explain why raga identification is an interesting problem and the various attributes that characterize a raga. We look at two approaches by other authors that exploit some of t...
A method of capturing task and dependency aspects in an agent oriented requirements methodology based on Formal Tropos is presented. The emphasis is on capturing functional aspects in formal specifications through aspect extensions. With the help of a few exam- ples, the benefit of aspect extensions in terms of reducing scattering from specificatio...
A process of high-level run-time architecture extraction is described through a case study of an existing object-oriented system. The process uses detailed UML models such as use cases, sequence diagrams and component diagrams. A significant portion of the process deals with the problems of identification of high level roles from use cases and extr...
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...
Weyuker's 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 complexi...
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 isolatio...
A programming model called distributed filter processes for transparent filtering in distributed systems is presented. Filter processes are modeled as extensions to distributed processes. Messages can be captured transparently by intermediate filter processes. The programming abstractions are presented with applications to the evolution of programs...
A programming model called distributed filter processes for transparent filtering in distributed systems is presented. Filter processes are modeled as extensions to distributed processes. Messages can be captured transparently by intermediate filter processes. The programming abstractions are presented with applications to the evolution of programs...
A new higher-level synchronization problem called Diwali Festival Problem (DFP) is presented. The problem captures the requirements for implementing the VP operation for semaphores outside the operating system kernel in presence of P and V operations, and shared variables with atomic reads and writes.
Morphological analysis is a core component of Technology for Indian languages. Complexities involved in spellchecking of documents in Marathi, an Indian language are described. Issues for both orthography and morphology are discussed. We have applied morphological analysis to a large number of words of different parts of speech. A spellchecker base...
Ambient Calculus can model mobile agents across administrative do-mains, which may be distributed over the Internet. In this paper, we dis-cuss a scheme for supporting ambients over Anonymous Remote Comput-ing (ARC) framework for C# over .NET. The service oriented framework supports parallel and distributed computations in presence of mobility. A s...
Anonymous Remote Computing (ARC) for C# over .NET is a service oriented framework to support development of parallel and distributed programs in presence of mobility. The paper provides an introduction to the framework and discusses the architecture from use cases, services and components point of views. The application development process is also...
Filtering is an emerging abstraction in object-oriented systems. Filtering can be characterized by an ability to filter messages in transit and perform intermediate actions. Filters can be used for carrying out intermediate tasks such as encryption, load balancing, caching, security checks and add-on computations. A few filtering approaches have be...
Filtered delivery model of message passing in an object- oriented distributed computing environment facilitates separation of mes- sage control from message processing in a transparent manner. In this model, special objects called lter objects have the ability to lter mes- sages in transit and perform intermediate actions. We present the design and...
Generic services and interface navigation in object oriented systems can be formulated in terms of specific typecasting sequences over narrowing and widening operations. With examples, the commonality and difference between the two are brought out with reference to typecasting. Consequences of specific typecasting sequences to their implementation...
I One of the earliest filtering abstraction in a programming language is the Composition Filters model of Aksit et al. for language Sina [8], [10]. Since the development of Composition Filters, various mechanisms have been implemented for supporting filtering in programming languages and environments. Filter Objects of Joshi et al. [1] represent a...
Anonymous Remote Computing (ARC) is a programming paradigm for parallel and distributed computing on workstation clusters.
Workstation clusters are characterized by heterogeneity, node/link failures and changing loads. Typically, a parallel program
may not have any control over the changing load patterns. Stealing idle cycles on such systems requir...
Object-oriented software consists of interacting objects. For an interaction, objects need to know the identity and interface of each other. In contrast, in a real life component-oriented system such as an electronic circuit, components are independent and are unaware of each other. We investigate a programming system of pure components, in which,...
In this article, I identify filter configurations based on filter objects for OO distributed systems. The configurations are based on the notion of first-class filter objects that transparently intercept messages in a client/server object architecture. Transparency primitives for filtering are described and various filter configurations are illustr...
Specifying behavioral specifications for components apart from the conventional syntactic interface specifications can be very useful in component based system development. Preconditions and postconditions describe one form of behavioral aspects of components. We discuss a tool and an implementation mechanism to incorporate behavioral contracts exp...
In this article, the authors describe a design and implementation of filter objects for CORBA-based distributed object systems. Filter objects are intermediate objects that transparently intercept client requests. The authors introduce filter objects in CORBA systems through a standard IDL interface called Filterable. A filterable server interface...
Filtering is emerging as an important programming abstrac- tion in distributed object systems. We discuss the modeling capabilities
of a first class filter object model in the context of distributed systems. Filter objects are transparent objects that are
dynamically pluggable and provide selective filtering of messages. Filters can be injected int...
When looking at distributed communication in the context of software develop- ment, it is important to focus on two different aspects: the abstractions and the integration mechanisms.
An abstraction for distributed communication is a middleware-neutral and platform-independent model that describes a solution for distributed commu- nication. In thi...
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...
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...
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 fr...
Several languages have been proposed to support concurrency in object-oriented programming. However, these languages do not address issues which are specific to parallel programming on loosely coupled distributed systems such as dynamic load variation, fault tolerance and scalability. We propose a new paradigm called object-based subcontracting for...
Parallel programming on loosely coupled distributed systems involves many system dependent tasks such as sensing node availability, creating remote processes, programming inter-process communication and synchronization, etc. Very often these system-dependent tasks are handled at the programmer level. This has complicated the process of parallel pro...
Dynamic object creation or state changes often require in-formation related to object's state to be fetched from an en-vironment external to object's context. Similarly, object's state is accessed in external environments through its in-terface. We discuss a general purpose service architecture for structuring I/O services. The architecture separat...
We present mobile agent abstractions in terms of a few basic mobility and connec- tivity features. The features used in formulating the abstractions are identied as self-hopping, push by host, retraction by originator, push by originator, and mobility and disconnection of host machines. Combining these primitives leads to dieren t agent abstraction...
Many categories of Part-whole relationships have been analyzed earlier. Exist-ing Part-Whole Taxonomies include some form of dependency classifier to account for dependency of whole on the parts. It is shown that the existing notions of dependency partially overlap and are also inadequate. The notion of logical de-pendency is introduced and it is u...
Economical growth in India has led to a considerable growth in its power sector. Issues related to system expansion, restructured environment, and changing regulatory framework demand changes in planning and operating strategies and in the design of system architecture for future needs. We explore the role of interoperability in the Indian power sy...



























![Attribute statistics of XData grading system [2]](profile/Rushikesh-Joshi-3/publication/340142520/figure/tbl1/AS:937456769712131@1600518519958/Attribute-statistics-of-XData-grading-system-2_Q320.jpg)










































































































