Suman RoychoudhuryTata Research Development and Design Centre
Suman Roychoudhury
PhD
About
54
Publications
10,395
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
522
Citations
Introduction
Publications
Publications (54)
Modern businesses are being subjected to an unprecedented variety of change drivers that cannot be predicted such as new regulations, emerging business models, and changing needs of stakeholders. This creates new demands on enterprises to meet stated goals in a dynamic and uncertain environment that translate to demands on the enterprise’s software...
Businesses are getting increasingly regulated. Regulatory compliance is a board level concern and one of the top-3 CEO level concerns across business verticals. Failure to comply leads not only to heavy fines but reputational risk too. Current practice of regulatory compliance is document-centric, and therefore, heavily reliant on human experts. Gi...
Modern enterprises operate in an unprecedented regulatory environment with the possibility of heavy penalties for non-compliance. Previous research in the field of compliance has established that the manual specification/tagging of the regulations not only fails to ensure their proper coverage but also negatively affects the turnaround time both in...
These are sample slides for tutorial proposal at MODELS 2019.
Modern enterprises operate in an unprecedented regulatory environment where increasing regulation and heavy penalties on non-compliance have placed regulatory compliance among the topmost concerns of enterprises worldwide. Previous research in the field of compliance has established that the manual specification/tagging of the regulations not only...
Modern enterprises operate in an unprecedented regulatory environment where increasing regulation and heavy penalties on non-compliance have placed regulatory compliance among the topmost concerns of enterprises worldwide. Previous research in the field of compliance has established that the manual specification of the regulations used by GRC frame...
Knowledge is manifested in an enterprise in various forms ranging from unstructured operational data, to structured information like programs, as well as relational data stored in databases to semi-structured information stored in XML files. This information embodies the core of an enterprise knowledge base and analyzing the knowledge base can resu...
Knowledge is stored in an enterprise in various forms ranging from unstructured operational data, legal documents to structured information like programs, as well as relational data stored in databases to semi-structured information stored in xml files. All these information if viewed from a holistic standpoint can help an enterprise to understand...
Today's Enterprises exist in highly dynamic environment. While enterprise-architecture (EA) based models help in holistic treatment of enterprise aspects, they are static in nature and do not represent the complex dynamic behavior of enterprise as it evolves over time. Instead of relying on guideline for simulating EA models as in other approaches,...
Today's Enterprises exist in highly dynamic environment. Simulation could be used to reveal complex dynamic behavior of enterprise, especially for playing out dynamic what-if scenarios, in determining enterprise's response to a change. Instead of relying on guidelines for simulating prescriptive models of enterprise as in other approaches including...
Software cost estimation is an important step that decides upon the effective manpower, schedule, pricing,
profit and success for executing any medium to large sized project. Depending upon the underlying
development methodology (e.g., code-centric, model-driven, product-line etc.) and past experience, every
enterprise follows some cost estimati...
Enterprises are complex heterogeneous entities consisting of multiple stakeholders with each performing a particular role to meet the desired overall objective. With increased dynamics that enterprises are witnessing, it is becoming progressively difficult to maintain synchrony within the enterprise for it to function effectively. Current practice...
Development and maintenance of enterprise systems is becoming more difficult due to change drivers along multiple interconnected dimensions. It is advisable to model the enterprise first and analyze it for potential concerns. For modeling enterprises, ontologies have been considered apt and have been used in the past for the same, but application o...
Data center and cloud providers are responsible for provid- ing services such as storage or retrieval for large amounts of (customer owned) data by using databsae management systems (DBMS). Service provision implies a specific quality of service regarding performance or security. Another factor of increasing importance is energy consumption. Althoug...
While a considerable amount of research on enterprise ontologies exists, work showing how to use ontologies for enterprise architecture (EA) analysis is scarce. We present our ongoing work on creating analyzable enterprise models using EA-based ontological representation. Our contributions are twofold: first, we show how an existing EA modeling lan...
Industry has been practicing model-driven development in various flavours. In general it can be said that modelling and use of models have delivered on the promises of platform independence, enhanced productivity, and delivery certainty as regards development of software-intensive systems. Globalization market forces, increased regulatory complianc...
Taking and executing correct decisions is critical in enterprise systems which are characterized by rapid changes along interconnected dimensions. Enterprise architecture (EA) frameworks offer holistic treatment of enterprise systems but constitute only one part of the solution to problems arising due to organizational changes. The other, less expl...
Taking and executing cost effective decisions in enterprises is becoming increasingly difficult due to multiple change drivers that affect varied aspects of enterprise. Enterprise architecture (EA) frameworks provide holistic treatment of whats and hows of enterprise but leave the important questions of whys unaddressed. Intentional modeling and sys...
Industry has been practicing model-driven development in various flavours. In general it can be said that modelling and use of models have delivered on the promises of platform independence, enhanced productivity, and delivery certainty as regards development of software-intensive systems. Globalization market forces, increased regulatory complianc...
With continued increase in business dynamics, it is becoming increasingly harder to deliver purpose-specific business systems in the ever-shrinking window of opportunity. Code-centric software product line engineering (SPLE) techniques show unacceptable responsiveness as business applications are subjected to changes along multiple dimensions that...
Metrics measurement for cost estimation in model-driven engineering (MDE) is complex because of number of different artifacts that can potentially be generated. The complexity arises as auto-generated code, manually added code, and non-code artifacts must be sized separately for their contribution to overall effort. In this paper, we address measur...
Aspect orientation has been used to improve the modularization of crosscutting concerns that emerge at different levels of
software abstraction. Although initial research was focused on imparting aspect-oriented (AO) capabilities to programming
languages, the paradigm was later on extended to software artifacts that appear at higher levels of abstr...
Protecting the environment by saving energy and thus reducing carbon dioxide emissions is one of today’s hottest and most
challenging topics. Although the perspective for reducing energy consumption, from ecological and business perspectives is
clear, from a technological point of view, the realization especially for mobile systems still falls behi...
Aspect-oriented programming (AOP) provides assistance in modularizing concerns that crosscut the boundaries of system decomposition. Aspects have the potential to interact with many different kinds of language constructs in order to modularize crosscutting concerns. Although several aspect languages have demonstrated advantages in applying aspects...
Most mobile and embedded devices are battery powered. Hence, their uptime depends on the energy consumption of the used components. Developers made severe effort to optimize hardware components in order to reduce their energy consumption. However, in this paper we show that one also has to consider energy awareness in terms of software. In this stu...
Embedded software systems affect critical functions of our daily lives (e.g., software used in automobiles, aircraft control systems), and represent a significant investment by government, scientific and corporate institutions. Modern research approaches for software engineering and programming language design, such as aspect-oriented software deve...
Reducing the energy consumption of mobile systems in order to prolong their operating time has been an active research topic for quite some time. Such systems are typically battery powered and thus, their uptime depends on the energy consumption of the used hardware and software components. Novel strategies that allow software systems to dynamicall...
Checkpointing is one of the key requirements for writing fault-tolerant and flexible applications for dynamic and distributed environments like the Grid. Certain patterns are observed in the implementation of the application-level Checkpointing and Restart (CaR) mechanism across myriad of applications. These patterns indicate that a higher level of...
Domain-Specific Modeling (DSM) allows domain experts to concentrate on the essential characteristics of a problem space without being overwhelmed by the complexities that may occur in the solution space. DSM is focused on the creation of a metamodel for a specific domain, from which instances pertaining to specific configurations of that domain can...
This paper describes an approach that combines model engineering with program transformation techniques to construct aspect weavers for general-purpose programming languages. The front-end of the weaver uses a high-level language (i.e., an aspect language) to specify aspects and is designed with a metamodel-based approach using the AMMA toolsuite....
A major difficulty in compiler development regards the proper modularization of concerns among the various compiler phases. The traditional object-oriented development paradigm has difficulty in providing an optimal solution towards modularizing the analysis phases of compiler development, because implementation of each phase often crosscuts the cl...
A common trend in programming language specification is to generate various tools (e.g., compiler, editor, profiler, and debugger) from a grammar. In such a generative approach, it is desirable to have the definition of a programming language be modularized according to specific concerns specified in the grammar. However, it is often the case that...
During language evolution, compiler construction is usually performed along two dimensions: defining new abstract syntax tree (AST) classes, or adding new operations. In order to facilitate such changes, two software design patterns (i.e., the inheritance pattern and the visitor pattern) are widely used to help modularize the language constructs. H...
RESEARCH AREA Legacy Software Evolution and Restructuring using Program Transformation Systems and Aspect-Oriented Programming -the paper presents the concept of abstract transformation rules that enable program restructuring in legacy-based systems. A generic platform is described that uses grammar adapters in conjunction with transformation syste...
Model-driven approaches to software development, when coupled with a domain-specific visual language, assist in capturing the essence of a large system in a notation that is familiar to a domain expert. From a high-level domain-specific model, it is possible to describe concisely the configuration features that a system must possess, in addition to...
A long-standing goal of software engineering is to construct software that is easily modified and extended. Recent advances in software design techniques, such as aspect-oriented software development and refactoring, have offered new approaches to address challenges of software evolution. Several tools and language extensions have been developed by...
A long-standing goal of software engineering is to construct software that is easily modified and extended. Recent advances in software design techniques, such as aspect-oriented software development and refactoring, have offered new approaches to address challenges of software evolution. Several tools and language extensions have been developed by...
This demonstration will feature overviews of the C-SAW and GenAWeave projects. The first half of the presentation will introduce the concept of two-level aspect weaving, which unites a model transformation tool with a program transformation engine. From models representing an avionics application, it will be shown how changes to model properties tr...
Much has been accomplished through the years to enhance the capabilities of individuals that are physically challenged. The goal of computerassisted adaptive technology is to support the physically challenged in performing tasks on a computer. In addition, adaptive technologies also provide opportunities to enrich a programmer's environment and to...
As aspect-orientation grows in influence, the scope of applicability also will need to expand. The new approaches for improved modularization offered by aspect-orientation can provide benefits not only to new development efforts, but to legacy systems as well. A difficulty with legacy system adoption of aspect-orientation, however, is in the constr...
Much has been accomplished through the years to enhance the capabilities of individuals that are physically challenged. The goal of computer-assisted adaptive technology is to support the physically challenged in performing tasks on a computer. In addition, adaptive technologies also provide opportunities to enrich a programmer's environment and to...
Aspect-oriented programming provides assistance in modularizing concerns that crosscut the boundaries of a system decomposition. Aspects have the potential to interact with many different kinds of language constructs in order to modularize cross-cutting concerns. Although several aspect languages have demonstrated advantages in applying aspects to...
This paper presents an investigation into language constructs for supporting improved separation of crosscutting concerns. Traditionally, this separation has been performed using meta-programming and other related techniques. A growing area of research, called aspect-oriented software development, offers a new approach. We describe several distinct...
Aspects have the potential to interact with many different kinds of language constructs in order to modularize crosscutting concerns. Although the initial Java-based aspect languages have demonstrated advantages of applying aspects to traditional object-oriented hierarchies, additional language concepts (e.g., parametric polymorphism) can also bene...