Software architecture is a critical element of software engineering. It influences the development, maintenance, and evolution of software systems and contributes significantly to their success. Knowledge about the architecture and the underlying Architectural Design Decisions (ADDs) can further improve good architecture and prevent fast software aging and erosion