¿Cómo se puede representar mejor la construcción del evento c # .net en un diagrama de clase UML?

Estoy diseñando un sistema de entidad / componente en el que el sistema de mensajes de eventos resuelve el problema de la comunicación entre entidades. los componentes se dividen en dos partes, una en la entidad y una especie de "entidad proxy" en un subsistema, que se mantienen sincronizados a través de un sistema de tipo observador. Estoy intentando una implementación con eventos y delegados.

Estoy tratando de modelar la estructura del sistema de mensajes / eventos de mi aplicación y estoy teniendo problemas con los delegados. La forma en que está ahora es un diagrama (adjunto) que muestra el delegado, los eventos y las entidades en el sistema, sin embargo, la naturaleza de sus relaciones solo se representa como asociaciones genéricas. También tengo un segundo diagrama que muestra las interfaces del sistema. Necesito mostrar los eventos que se generan en estos objetos, ya que aquí se encuentra la mayor parte de la complejidad del sistema.

Sé que también necesito la colaboración dinámica y los diagramas de tiempo, pero estoy tratando de averiguar qué tipo y cuántas clases diferentes de apoyo a eventos necesito, así como la estructura de la herencia. Quiero darme una opción de tipos de mensajes que sé que trabajarán juntos. Me imagino que luego puedo elegir un derivado de EventArgs y un tipo de delegado de estos tipos predefinidos para reutilizarlos en el tiempo de creación de componentes y diagramas dinámicos.

Lo principal que no puedo averiguar es si se debe modelar el evento como un atributo u operación. He estado tratando de usar una clase de asociación para el delegado y una operación de tipo OnSomeEvent () con un estereotipo de evento. No me gusta esto porque un evento no es una operación. He protegido los métodos en el código con esta convención de nomenclatura On **** () ya. La firma del delegado, el comportamiento de multidifusión y el patrón de observador no son realmente capturados por este enfoque.

¿Qué método utilizan otros para expresar estas clases complejas y estrechamente vinculadas? El punto de los diagramas para mí es documentar y comprender más completamente las interfaces en el sistema. En esta etapa de mi proceso, espero congelar las interfaces y continuar con la implementación de los componentes.

Respuestas a la pregunta(2)

Su respuesta a la pregunta