Software Engineering


Software Reverse and Re-Engineering

Software Engineering

Customizable Standards-based MDD Platform

Configurability, Extensibility, and Software Composition

Embedded Software Research

Model Driven Integration of Enterprise Data

Program Analysis

Requirements Engineering

Software-as-a-Service

Software Maintenance

Software Reverse and Re-Engineering

Software Testing

Process Engineering

Granular Material Modeling

Minerals and Materials Processing

Nanotechnology

Process Modeling and CFD

Thermal Processing of Materials

Virtual Manufacturing

Systems Research Lab

Initiatives

Analytics-led Simplify and Transform of IT Plants
Data Privacy
Improving Operational Efficiency using Corporate Historical Repositories

Exploratory Projects

Control System for Multi-Sensor Actuator System
Enterprise Data Management
Operational Risk Modeling

The group’s vision is to define and enable automated model-driven, re-engineering solutions that make a difference in the modernization market.

Over time, every software tends to become legacy, resulting in complex dependencies between architecture elements and difficulty to match the expanding business needs, leading to high maintenance cost. Objective of this work is to provide automated solutions to migrate legacy software to modern paradigms, at both the design and code levels, while also addressing certain specific needs like scalability and performance.

Technical challenges are in terms of:

 - Evolution of a class of design and architecture models that are sufficiently abstract, but capture enough information for generating code

 - Semi-automated discovery of architecture elements and design models from software

 - Ability to specify and search for patterns of code that encompass syntactic, structural and semantic (data-flow and control-flow) properties

 - Meta-tool approach to enable projects to build their own model-discovery tools.