7 repositorios
Resources explaining structural models for software systems, including multi-tier and monolithic designs.
Distinguishing note: No candidates provided; minting under Software Engineering & Architecture to categorize high-level system structural models.
Explore 7 awesome GitHub repositories matching software engineering & architecture · System Architectures. Refine with filters or upvote what's useful.
This project is a comprehensive educational resource focused on the principles, patterns, and trade-offs required to design scalable, reliable, and high-performance distributed systems. It provides a structured curriculum that covers the fundamental architectural strategies necessary for building modern software infrastructure, ranging from high-level system decomposition to low-level networking and data management. The repository distinguishes itself by offering deep dives into complex architectural patterns, such as microservices-based decomposition, event-driven communication, and command-
Let's look at some examples of N-Tier architecture: ### 3-Tier architecture 3-Tier is widely used and consists of the following different layers: - Presentation layer: Handles user interactions with the application.
Apollo es un stack de software integral diseñado para el desarrollo de vehículos autónomos, proporcionando los componentes necesarios para la percepción, planificación y control. Funciona como un middleware de robótica de alto rendimiento, utilizando un bus de datos de publicación-suscripción para facilitar la comunicación de baja latencia entre módulos distribuidos y sensores de hardware. La plataforma integra datos de cámaras, lidar y radar a través de un framework de fusión de sensores para generar un modelo ambiental en tiempo real para la navegación. El sistema cuenta con un framework de tiempo de ejecución basado en componentes que gestiona la programación de tareas y la asignación de recursos, respaldado por una capa de abstracción de hardware que desacopla la lógica de conducción de configuraciones específicas de vehículos. Para garantizar un comportamiento consistente durante las pruebas, incluye un motor de reproducción determinista para flujos de datos de sensores y admite simulación hardware-in-the-loop. La plataforma también emplea programación de grafos acíclicos dirigidos y transporte de memoria compartida de copia cero para optimizar el flujo de datos y la eficiencia computacional en sistemas robóticos complejos. El software proporciona una interfaz de control de vehículo estandarizada para traducir las decisiones de navegación en comandos mecánicos. Hay documentación extensa disponible, incluyendo instrucciones de instalación, guías de integración de hardware y una serie de manuales de inicio rápido para varias versiones de la plataforma.
Provides structural overviews of hardware and software connections.
This project is a collection of software engineering principles and architectural design patterns designed to minimize the mental effort required to understand and maintain source code. It serves as a guide for implementing clean code methodologies and architectural simplification to reduce the overall cognitive load on developers. The framework emphasizes aligning module boundaries and ubiquitous language with business stakeholders to prevent architectural ripple effects. It advocates for balancing service granularity to avoid the overhead of distributed monoliths and suggests favoring objec
Provides a comprehensive framework for simplifying system architecture by replacing heavy layers with dependency inversion.
This project is a comprehensive security suite and knowledge base focused on the engineering and construction of trustworthy digital and physical systems. It provides a systematic framework for security engineering design, covering the establishment of high-assurance architectures and the implementation of security models that govern how a system achieves its safety goals. The project is distinguished by its focus on formal assurance and adversarial deterrence. It includes methodologies for creating security assurance cases and proofs to verify system trustworthiness, alongside economic and t
Provides an engineering framework for implementing defense-in-depth and trusted computing base architectures.
Este proyecto es un estudio técnico y guía de análisis centrado en la arquitectura interna de Node.js. Proporciona un examen profundo del runtime, centrándose en cómo el motor gestiona los manejadores de memoria, ejecuta operaciones asíncronas e implementa la lógica de módulos central. La guía analiza específicamente la integración de clases y funciones nativas de C++ en JavaScript y documenta el comportamiento del bucle de eventos libuv. Incluye referencias detalladas para optimizar el rendimiento identificando rescates (bailouts) del compilador V8 y perfilando la ejecución para mejorar la eficiencia de los recursos. El material cubre una amplia gama de sistemas internos, incluyendo programación de red de bajo nivel para TCP y UDP, gestión de procesos para clustering y subprocesos, y la mecánica de E/S no bloqueante. También explora la implementación a nivel de fuente de buffers, streams y la capa de enlace de nativo a script.
Analyzes the relationship between the V8 engine, libuv, and native bindings to explain the overall system operation.
Mezzano is a self-hosted operating system written entirely in Common Lisp. It employs a language-integrated kernel architecture where both the kernel and user-space applications execute within a single, unified high-level language runtime. The system is designed for both bare-metal environments, booting from physical external media, and as a guest operating system within virtual machine software. It implements symmetric multiprocessing to distribute computational workloads across multiple CPU cores. The environment includes capabilities for automated memory recovery via generational garbage
Employs a language-integrated architecture allowing deep introspection and debugging of the kernel within the runtime.
This project is a comprehensive guide to software architecture, providing a framework for designing maintainable, readable, and modular codebases. It focuses on establishing design best practices that help developers structure complex applications into independent, single-purpose units. The guide emphasizes the use of modular programming principles to decouple software components, allowing for greater reusability across different parts of an application or separate projects. By prioritizing interface-based design and the dependency inversion principle, it enables safe, incremental refactoring
Defines structural models for systems that isolate side effects to ensure reliable and predictable behavior.