Coat of Arms of the Republic of Colombia Coat of Arms of the Republic of Colombia

Software Architecture

The Software Architecture research line studies and generates new knowledge on the decisions, models, and verification techniques that shape robust and adaptable software systems, spanning structural design, quality attributes, large-scale systems, architectural modeling, and verification.

Software Architecture
Description

The Software Architecture research line studies and generates new knowledge — methods, models, techniques, and empirical evidence — on the different aspects that define the architecture of software systems. Recognizing architecture as a fundamental pillar for ensuring the quality, evolution, and adaptability of software systems in modern environments, our research spans a broad spectrum of key topics in the field. This line bridges theoretical research with real-world software development practices, combining conceptual and empirical work with the development of methods, models, and tools that support architects in making informed, well-founded design decisions.

Thematic Axes

Each thematic axis is a component; connectors show how knowledge flows between them. Click a component to see its subtopics.

«thematic axis» Axis 1

Structural Architectural Design Decisions

Architectural styles and patterns, and the decisions involved in discovering, selecting, and combining them, to shape the structural organization of software systems.

  • Software Architectural Styles
  • Software Architectural Patterns (Structural Viewpoint)
«thematic axis» Axis 2

Quality-Attribute-Driven Architectural Design Decisions

Architectural tactics and patterns, and the decisions involved in discovering, selecting, and applying them, to achieve specific quality attributes — such as performance, scalability, security, reliability, availability, maintainability, and sustainability — and shape the non-functional behavior of software systems.

  • Software Architectural Tactics
  • Software Architectural Patterns (Quality Viewpoint)
  • Trade-off Management
«thematic axis» Axis 3

Software Architecture for Large-Scale Systems

Architectural design principles for building software systems that handle high complexity in terms of structural size, distribution, concurrency, and critical quality scenarios.

  • Large-Scale Software Systems
  • Cyber-Physical Systems
  • Decentralized and Self-Adaptive Systems
«thematic axis» Axis 4

Software Architecture Modeling

Use of architectural models and representations to design, analyze, and generate software architectures, enabling automation, consistency, and early verification of architectural design decisions.

  • Modeling Languages and Techniques
  • Model Extraction and Generation (Reverse Engineering)
  • Architectural Knowledge Management
«thematic axis» Axis 5

Software Architecture Verification

Techniques and tools to analyze whether software architectures comply with functional and non-functional requirements, and to verify architectural conformance in the early stages of design, before system implementation.

  • Design-Time Analysis
  • Simulation
  • Architectural Conformance