El proceso de construcción de un sistema compuesto por hardware, software y comunicaciones de una infraestructura crítica comienza por la selección de un modelo de proceso de diseño. Decidido el modelo de proceso, nos enfrentamos en una etapa temprana, con la elicitación de requerimientos y una etapa de diseño inicial. Esta etapa de diseño inicial debería mirar al sistema con el objetivo de identificar subsistemas y establecer un marco de control y comunicación entre los subsistemas identificados. A esto se denomina DISEÑO ARQUITECTÓNICO.
Autores como Bass y otros señalan al menos tres ventajas de diseñar y documentar explícitamente la arquitectura de un sistema. En realidad ellos hablan de "software" y no de sistema, pero se puede extender esta propuesta y reafirmar estas ventajas, con algunas observaciones:
- Facilitación de la comunicación con los stakeholders;
- Falicitar el análisis del sistema para cumplir con requerimientos críticos como pueden ser el rendimiento, confiabilidad, mantenibilidad y SEGURIDAD.
- Reutilización a gran escala.
Esto último en particular, lleva a que sistemas diferentes para el mismo dominio presenten estilos arquitectónicos semejantes. Digo, aparecen patrones de organización ya reconocidos como una organización cliente-servidor o un arquitectura por capas. Lo cual es una referencia al momento de tomar decisiones de diseño de la arquitectura de la solución.En definitiva, hay que elegir la estructura mas adecuada que permita satisfacer los requerimientos funcionales y no funcionales del sistema.
Resultante de esta etapa del proceso de diseño es un documento que contendrá a nivel sistema, modelos estructurales o estáticos, modelos de procesos o dinámicos, modelos de interfaces, relaciones, etc. Para todos ellos, SysML es el lenguaje a utilizar.
Sería deseable que también la seguridad sea abordada en esta etapa temprana de diseño, para lo cual deberíamos evaluar modelos de amenazas que permitan mapear sobre patrones de seguridad que luego se incorporarán en las decisiones posteriores de diseño de componentes.
Cuando hablamos de todas estas cuestiones aparece como interesante pensar en disponer primero de una arquitectura de referencia (AR), en particular para los Cyber Physical Systems. Y luego en una AR segura. Esto permitiría abordar desde una etapa muy temprana, el problema de diseño seguro de un CPS. Luego esto permitiría escalar al sistema crítico las deciciones de diseño a fin de garantizarle seguridad.
Bass, L., Clements P. (2003). Software Architecture in Practice, 2nd edn. Boston: Addison-Wesley. (Ch 11).-










