X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/bdec65138826cc15529c0fc5454aa11bbd877c20..9322e49b932d824e5664aa8c0e0f9a41464537b1:/Model/include/documentation.h diff --git a/Model/include/documentation.h b/Model/include/documentation.h index 2c39025..48cd4f6 100644 --- a/Model/include/documentation.h +++ b/Model/include/documentation.h @@ -6,11 +6,27 @@ (plaqui-model) o como una biblioteca estática y ser compilado dentro de un ejecutable como lo hace PlaQui Server. + No se utilizó el modelo de grafo para resolver el enunciado ya que presentaba + varias limitaciones importantes, y no hacía que la solución sea más simple. + Como primer desventaja se tenía que en el grafo cada elemento era representado + por un vértice, menos los conductos que eran aristas, lo que hacía que el + objeto grafo sea el único objeto en el modelo. Esto implicaba tener una super + clase que hacía todo el trabajo y la idea de POO es descentralizar y reutilizar. + + Por otro lado, y más importante aún, el modelo del grafo no permitía tener múltiples + circuitos independientes simulados al mismo tiempo. El enfoque utilizado permite + , como se muestra en el ejemplo 2_circuitos.xml, simular n plantas al mismo + tiempo, y conectar unas a otra mediante la lógica de control. + \subsection page_model_general_clases Clases del Modelo. Para cada elemento que es posible simular, el modelo tiene una clase que se encarga de ello. También existe una clase PlaQui::Model::Simulator que es quien se encarga de manejar una simulación, cargar una planta desde un archivo XML y da una interfaz para poder acceder a propiedades del modelo desde el exterior. + + A continuación se puede observar un diagrama de clases del modelo: + \image html clases.png + \image latex clases.eps "Diagrama de clases." width=14cm \subsection page_model_general_simulacion Simulación. Para entender qué es lo que vemos al simular una planta, primero debemos entender @@ -54,7 +70,7 @@ \subsection page_model_color Update Color. Aquí comienza una cadena de mensajes similar al del update, pero esta vez se envía hacia las entradas, y se pide que nos envíe el \ref PlaQui::Model::PlantItem::update_color "color". - Entonces, por ejemplo, una union pide un color a cada salida y luego los suma. + Entonces, por ejemplo, una unión pide un color a cada salida y luego los suma.