Software
Simplifying complexity by deconstruction and visualization of Dependency Hypergraphs and object lifetimes in Autofac-Driven projects.
Giang V.H.G. Trang
Title:
Simplifying complexity by deconstruction and visualization of Dependency Hypergraphs and object lifetimes in Autofac-Driven projects.
Description:
During my graduation internship at ASML, I devised a PoC standalone tool to address the complexity of visualizing object lifetimes and dependencies in Autofac, a Dependency Injection (DI) library extensively used within ASML’s YieldStar software. With over 1300 interconnected projects, understanding the relationships between objects and their lifetimes had become increasingly challenging for developers. My assignment focused on creating a tool capable of dynamically generating a graphical representation of these dependencies abd object lifetimes to improve comprehension, facilitate debugging, and support better design decisions.
The project began with a comprehensive analysis of Autofac’s DI framework and the specific challenges associated with its implementation in large-scale systems. Using Microsoft’s Automatic Graph Layout (MSAGL) library, I developed a Windows Presentation Foundation (WPF) application to receive and visualize object lifetimes and dependency graph, displaying nodes (representing objects) and edges (representing dependencies) in an interactive format. The tool works with the modification of the Autofac library to parse and, send configuration data at runtime by swapping .dll.
This visualization tool does not only provide immediate value to developers by offering insights into dependency lifetimes but also highlights potential architectural bottlenecks or integration issues.
My internship has allowed me to apply theoretical knowledge to a real-world problem, contributing to a high-impact solution in a cutting-edge technology and Research & Development environment.
Location: | Tilburg |
Date: |
Thursday 6 February 2025 |
Time: | 15:00 |
Room: | P8 1.44 |
| |
Company: | ASML Holding N.V. |
Main IT area: | Software |
IT area: | Fullstack Development |
Language: |
English |