ADR: Architecture Decision Record. Documento que registra decisiones arquitectónicas importantes. Ver adr-architecture-decisions.md.
API: Application Programming Interface. Interfaz de programación.
APK: Android Application Package. Archivo ejecutable de aplicación Android.
AVD: Android Virtual Device. Emulador de dispositivo Android en computadora.
Backend: Servidor que expone endpoints HTTP. En PAE, provee beneficiarios, jornadas, etc.
Balanza: Hardware que mide peso de documento/alimento. Se comunica vía Bluetooth.
Beneficiary: Persona que recibe entrega. Tiene embedding facial 512d.
Biometric: Datos biométricos. En PAE: embedding facial para matching.
BOM: Bill of Materials. En Gradle: versionado coordinado de librerías.
Build: Compilación de código a APK ejecutable.
Bytecode: Código compilado a formato máquina virtual (Kotlin → bytecode JVM → Android DEX).
Camera2: API de Android para captura de imágenes. Usado en Machine para fotos.
Certificado Pinning: Técnica de seguridad que fija certificado TLS esperado.
Compose: Framework de UI declarativa de Android. Reemplaza XML layouts.
Contract: Módulo PAE que contiene modelos P2P compartidos entre Machine y RutaPAE.
Coroutine: Mecanismo de Kotlin para asincronía. Alternativa moderna a threads.
CPU: Central Processing Unit. Procesador.
CRUD: Create, Read, Update, Delete. Operaciones básicas de dato.
Daemon: Proceso que corre en background sin interfaz usuario.
DAG: Directed Acyclic Graph. Grafo de dependencias.
DAO: Data Access Object. Patron abstraer acceso a datos.
Database: SQLite en PAE para persistencia local.
Debug: Depuración de código. Pausar en breakpoints, inspeccionar variables.
Delivery: Entrega procesada. Contiene peso, fotos, similitud con beneficiario.
DirectLink: Módulo PAE que implementa P2P vía Wi-Fi Direct.
Domain: Capa de lógica de negocio. Entre presentación y datos.
DTO: Data Transfer Object. Objeto para transferir datos entre capas.
Embedding: Vector numérico. En PAE: 512 dimensiones para rostros.
Emitter: Observer pattern. En PAE: StateNameEmitter, DeliverySyncUiEmitter, etc.
Enum: Tipo con conjunto finito de valores. Ej: P2PMachineStatus.
Extension Function: Función agregada a tipo existente. Ej: Float.isValidWeight().
Factory Pattern: Patrón crear objetos sin especificar clase exacta.
Flow: Kotlin coroutine observable. Emite datos secuencialmente.
Fragment: Componente de UI (legacy, no usado en PAE).
FuelHttpClient: Librería HTTP ligera. Cliente para endpoints REST.
Gradle: Build system para Android/JVM. gradlew es gradle wrapper.
GPU: Graphics Processing Unit. Para aceleración gráfica.
Hardware: Componentes físicos. Camera, Balanza, LED, etc.
HNSW: Hierarchical Navigable Small World. Índice para búsqueda vectorial aproximada.
Hotspot: Red Wi-Fi creada por dispositivo. Machine puede ser hotspot para RutaPAE.
HTTP: HyperText Transfer Protocol. Protocolo web no cifrado. Reemplazado por HTTPS.
HTTPS: HTTP + TLS/SSL. Protocolo web cifrado y seguro.
Inyección de Dependencias: Patrón pasar dependencias a constructor. Facilita testing.
Intent: Mensaje de Android entre componentes (activities, services, etc.).
Interface: Contrato que especifica métodos sin implementación.
Jetpack: Conjunto de librerías Android de Google. Compose, WorkManager, etc.
JDK: Java Development Kit. SDK de Java.
JDWP: Java Debug Wire Protocol. Protocolo debug para Java/Android.
Keystore: Almacén de claves criptográficas. Para firmar APK.
Kotlin: Lenguaje moderno que corre en JVM. Usado 100% en PAE.
Lint: Herramienta análisis estático. Detecta bugs y vulnerabilidades.
Log: Registro de eventos. Ver con adb logcat.
Machine: App Android en dispositivo del operador. Captura entregas.
MainThread: Thread principal de Android. No bloquear (UI cuelga).
Manifest: AndroidManifest.xml. Declara permisos, actividades, etc.
Memory Leak: Retención innecesaria de memoria. Causa crashes por OutOfMemory.
Mocking: Crear objetos fake para tests.
Model: Clase data que representa entidad (Delivery, Beneficiary, etc.).
MVP: Model-View-Presenter. Patrón UI arquitectónico (legacy).
MVVM: Model-View-ViewModel. Patrón UI arquitectónico.
Namespace: Qualificador de nombre. En Android: package en manifest.
Network: Red. Conectividad internet u hotspot.
Null Safety: Sistema de tipos que previene NullPointerException. Kotlin feature.
Observer Pattern: Patrón desacoplado emisor-observadores.
OKHttp: Librería HTTP robusta. Backend de Fuel.
ORM: Object-Relational Mapping. Mapea objetos Java a tablas SQL.
P2P: Peer-to-Peer. Comunicación directa entre dispositivos sin servidor central.
Package: Namespace de Java/Kotlin. Ej: co.ada.paemachine.
Payload: Datos útiles en mensaje HTTP.
Performance: Velocidad y eficiencia. Tiempo, memoria, batería.
Permission: Permiso requerido por app. Ej: CAMERA, BLUETOOTH, INTERNET.
Proguard: Herramienta obfuscate y optimización de código. Reemplazado por R8.
ProGuard Rules: Archivo que especifica qué código preservar durante obfuscation.
P2PContract: Interfaz que define rutas P2P y modelos. En módulo Contract.
P2PManager: Gestor que conecta vía P2P en RutaPAE.
P2PPeer: Dispositivo peer descubierto en red P2P.
R8: Herramienta optimización y obfuscation de código (Proguard moderno).
RAID: Array de discos. Para almacenamiento redundante.
RAM: Random Access Memory. Memoria volátil (se limpia al apagar).
Real-time: Sin latencia notable. Procesamiento inmediato.
Realm: Base de datos móvil (no usado en PAE, usamos Room/VectorDB).
Release Build: Compilación optimizada para producción. Firmada con certificado.
Repository Pattern: Patrón abstrae acceso a datos. En PAE: Repository interface.
REST: Representational State Transfer. Estilo API HTTP.
Retrofit: Librería HTTP con type-safety (no usada en PAE, usamos Fuel).
RutaPAE: App Android de operador de rutas. Sincroniza entregas de Machines.
Scope: Visibilidad de variable/función. Ej: global, local, object.
Serialization: Convertir objeto a bytes/JSON. Ej: Kotlin Serialization.
Shift: Jornada laboral. Ej: mañana 6-12am, tarde 12-6pm.
Software: Código/programas contra hardware.
SQL: Structured Query Language. Lenguaje bases de datos.
SQLCipher: SQLite encriptado.
SQLite: Base de datos SQL ligera. Embebida en Android.
SSL: Secure Sockets Layer. Protocolo seguridad (reemplazado por TLS).
State Management: Gestión estado en UI. StateFlow, ViewModel, etc.
StateManager: Orquestador de máquina de estados en Machine.
StateNameEmitter: Observable emite nombre de estado actual.
StateFlow: Kotlin coroutine observable con estado. Similiar a LiveData.
StatePattern: Patrón donde comportamiento cambia según estado. WaitingForWeight → CaptureImages, etc.
Suspend Function: Función que puede pausarse sin bloquear thread. Kotlin suspend keyword.
SyncDeliveries: Sincronizar entregas entre apps.
SyncResult: Resultado de operación sincronización.
Tare: Operación balanza que pone peso a cero.
Targets: Configuración de compilación cuáles SDK versiones soporta app.
TensorFlow Lite: Framework IA para inference on-device. Para embeddings.
Test Double: Objeto fake para testing (mock, stub, fake, spy).
Thread: Hilo de ejecución. Android tiene Main Thread (UI).
TLS: Transport Layer Security. Protocolo encriptación HTTPS (reemplazó SSL).
Timberlog: Librería logging conveniente para Android.
Transaction: Operación atómica en BD. O completa o revierte. BEGIN TRANSACTION … COMMIT.
UI: User Interface. Interfaz usuario (buttons, texts, etc.).
UUID: Universally Unique Identifier. ID único de 128 bits.
Vector: Array de números. En PAE: 512 floats para embedding.
VectorDB: ORM custom con soporte índices vectoriales. Para búsqueda facial.
ViewModel: Holder de estado UI. Survives screen rotations.
View: Componente visual en Android (legacy, reemplazado por Composable).
Wi-Fi Direct: Protocolo P2P Wi-Fi. Crea conexión punto-a-punto sin router.
WorkManager: Framework para scheduled background tasks. Para DeliverySyncWorker.
XML: Markup language. Antes usado para layouts Android (ahora Compose).
Zone: Región geo. En contexto Machine: zona de operación.
| Sigla | Significado |
|---|---|
| API | Application Programming Interface |
| APK | Android Application Package |
| AVD | Android Virtual Device |
| BD / DB | Base de datos |
| BOM | Bill of Materials |
| CPU | Central Processing Unit |
| CRUD | Create, Read, Update, Delete |
| DAO | Data Access Object |
| DTO | Data Transfer Object |
| DI | Dependency Injection |
| GPS | Global Positioning System |
| HNSW | Hierarchical Navigable Small World |
| HTTP | HyperText Transfer Protocol |
| HTTPS | HTTP Secure |
| IDE | Integrated Development Environment |
| IO | Input/Output |
| JDK | Java Development Kit |
| JVM | Java Virtual Machine |
| MVC | Model-View-Controller |
| MVP | Model-View-Presenter |
| MVVM | Model-View-ViewModel |
| ORM | Object-Relational Mapping |
| P2P | Peer-to-Peer |
| RAM | Random Access Memory |
| REST | Representational State Transfer |
| SDK | Software Development Kit |
| SQL | Structured Query Language |
| SSL/TLS | Secure Sockets Layer / Transport Layer Security |
| UUID | Universally Unique Identifier |
| XML | Extensible Markup Language |
| Acrónimo | Definición | Módulo |
|---|---|---|
| StateManager | Máquina de estados de adquisición | MachineDomain |
| P2PManager | Gestor de conexión P2P | RutaPAEDomain |
| Repository | Abstracción de datos | MachineData / RutaPAEData |
| VectorDB | Motor de BD con índices vectoriales | VectorDB |
| DirectLink | Implementación Wi-Fi P2P | DirectLink |
| Contract | Modelos P2P compartidos | Contract |
| ComputerVision | Modelos IA para embeddings | ComputerVision |
| SDCard | Almacenamiento externo | Sistema |
| LED | Light Emitting Diode | Hardware Machine |