stringtranslate.com

árbol de comportamiento

Construyendo un sistema a partir de sus requisitos – vista dinámica
Construyendo un sistema a partir de sus requisitos – vista estática

Los árboles de comportamiento son un lenguaje de modelado gráfico y formal que se utiliza principalmente en ingeniería de sistemas y software . Los árboles de comportamiento emplean una notación bien definida para representar sin ambigüedades los cientos o incluso miles de requisitos del lenguaje natural que normalmente se utilizan para expresar las necesidades de las partes interesadas en un sistema integrado de software a gran escala. [1] [2] [3] [4]

Descripción general

La cantidad de detalles en la gran cantidad de requisitos del lenguaje natural para un sistema a gran escala provoca una sobrecarga de memoria a corto plazo [1] [5] y puede crear una barrera que impida que cualquiera obtenga una comprensión profunda, precisa y holística del sistema. necesidades. [6] Además, debido al uso del lenguaje natural , es probable que haya muchas ambigüedades, alias, inconsistencias, redundancias y problemas de incompletitud asociados con la información de requisitos. [3] Esto aumenta aún más la incertidumbre y la complejidad. Generalmente, en el mejor de los casos, unas pocas personas entienden bien partes del sistema o de la situación, pero nadie tiene más que una comprensión superficial del todo, es decir, del comportamiento integrado detallado del sistema.

La representación del árbol de comportamiento (con la ayuda de la representación del árbol de composición [7] que resuelve alias y otros problemas de vocabulario con grandes conjuntos de requisitos) permite a las personas evitar la sobrecarga de la memoria a corto plazo y producir una representación profunda, precisa y holística del sistema. necesidades [1] que puedan ser entendidas por todas las partes interesadas porque utiliza estrictamente el vocabulario de los requisitos originales. Debido a que la notación del árbol de comportamiento utiliza una semántica formal , para cualquier ejemplo dado, ya es, o puede hacerse, ejecutable .

Formas de árbol de comportamiento

Conjunto de cuatro árboles de comportamiento de requisitos.
Proceso de integración de requisitos

Las formas de árbol de comportamiento únicas y compuestas o integradas son importantes en la aplicación de árboles de comportamiento en ingeniería de sistemas y software .

Tener todos los requisitos convertidos en árboles de comportamiento (RBT) es similar a tener todas las piezas de un rompecabezas distribuidas aleatoriamente sobre una mesa: hasta que juntemos todas las piezas no podemos ver la imagen emergente y si falta alguna pieza o no. no ajustar. La construcción de un árbol de comportamiento integrado (IBT) nos permite hacer esto. [2] [3]

Proceso de ingeniería del comportamiento

Representación utilizada – (crítica)
Proceso utilizado – (crítico)
Fases del proceso de modelado de conducta.

Historia

Los árboles de comportamiento y los conceptos para su aplicación en ingeniería de sistemas y software fueron desarrollados originalmente por Dromey [2] [3] [9] [10] con la primera publicación de algunas de las ideas clave en 2001. [11] Primeras publicaciones sobre este trabajo utilizó los términos "ingeniería de software genético" y "diseño genético" para describir la aplicación de árboles de comportamiento. La razón para utilizar originalmente la palabra genética fue que los conjuntos de genes, los conjuntos de piezas de un rompecabezas y los conjuntos de requisitos representados como árboles de comportamiento parecían compartir varias propiedades clave:

Para los árboles de comportamiento, las propiedades emergentes importantes incluyen

Estos paralelos genéticos, en otro contexto, fueron escritos originalmente por Woolfson, [12] (A. Woolfson, Living Without Genes, Flamingo, 2000).

El uso del término genético recibió mayor peso del pensador del siglo XVIII Giambattista Vico , quien dijo: "Comprender algo, y no simplemente ser capaz de describirlo o analizarlo en sus partes componentes, es comprender cómo llegó a existir". – su génesis, su crecimiento… la verdadera comprensión es siempre genética”. [13] A pesar de estos paralelos genéticos legítimos, se consideró que este énfasis llevó a confusión con el concepto de algoritmos genéticos . Como resultado, se introdujo el término ingeniería del comportamiento para describir los procesos que explotan los árboles de comportamiento para construir sistemas. El término "ingeniería del comportamiento" ya se utilizaba anteriormente en un área especializada de la inteligencia artificial: la investigación en robótica. El uso actual abarca una formalización rigurosa mucho más amplia y una integración de grandes conjuntos de requisitos de comportamiento y composición necesarios para modelar sistemas a gran escala.

Desde que se concibió originalmente la notación de árbol de comportamiento, varias personas del DCCS (Dependable Complex Computer-based Systems Group, un grupo de investigación conjunto de la Universidad de Queensland y la Universidad Griffith ) han hecho importantes contribuciones a la evolución y el refinamiento de la notación y a la Uso de árboles de comportamiento. Los miembros de este grupo incluyen: David Carrington, Rob Colvin, Geoff Dromey, Lars Grunske, Ian Hayes, Diana Kirk, Peter Lindsay, Toby Myers, Dan Powell, John Seagrott, Cameron Smith, Larry Wen, Nisansala Yatapanage, Kirsten Winter, Saad Zafar. , Bosque Zheng.

Colvin, Grunske y Winter han desarrollado recientemente árboles probabilísticos de comportamiento temporal para poder expresar la confiabilidad, el rendimiento y otras propiedades de confiabilidad. [14]

Conceptos clave

Notación de árbol de comportamiento

Elementos centrales de la notación del árbol de comportamiento.

Se utiliza un árbol de comportamiento para representar formalmente el fragmento de comportamiento en cada requisito individual. El comportamiento de un sistema a gran escala en general, donde se admite la concurrencia , aparece de manera abstracta como un conjunto de procesos secuenciales de comunicación . La notación del árbol de comportamiento captura estos estados de componentes compuestos en una forma simple similar a un árbol.

El comportamiento se expresa en términos de componentes que realizan estados y componentes que crean y rompen relaciones. Utilizando la lógica y las formas gráficas de las convenciones que se encuentran en los lenguajes de programación , los componentes pueden admitir acciones, composición, eventos, flujo de control, flujo de datos e hilos. [3]

Las etiquetas de trazabilidad (consulte la Sección 1.2 de la notación del árbol de comportamiento [15] ) en los nodos del árbol de comportamiento vinculan la representación formal con el requisito de lenguaje natural correspondiente . Los árboles de comportamiento capturan con precisión el comportamiento expresado en la representación en lenguaje natural de los requisitos funcionales. Los árboles de comportamiento de requisitos utilizan estrictamente el vocabulario de los requisitos del lenguaje natural, pero emplean formas gráficas para la composición del comportamiento con el fin de eliminar el riesgo de ambigüedad. Al hacer esto, proporcionan una relación directa y claramente rastreable entre lo que se expresa en la representación del lenguaje natural y su especificación formal . [dieciséis]

Una base de la notación es que el comportamiento siempre está asociado con algún componente. Los estados de los componentes que representan nodos de comportamiento se componen de forma secuencial o simultánea para construir un árbol de comportamiento que representa el comportamiento expresado en los requisitos del lenguaje natural. Un árbol de comportamiento con nodos hoja puede revertir (simbolizado agregando el operador de intercalación ^) a un nodo ancestro para repetir el comportamiento, o iniciar un nuevo hilo (simbolizado por dos intercalaciones ^^).

Un árbol de comportamiento especifica los cambios de estado en los componentes, cómo se pasan los datos y el control entre los componentes y cómo interactúan los subprocesos . Hay constructos para crear y romper relaciones. También hay construcciones para configurar y probar estados de componentes, así como mecanismos para la comunicación entre procesos que incluyen el paso de mensajes (eventos), el bloqueo de variables compartidas y la sincronización .

Para obtener una referencia completa a la notación del árbol de comportamiento, versión 1.0, consulte: Behavior Tree Notation v1.0 (2007) [15]

Semántica

La semántica formal de los árboles de comportamiento se proporciona mediante un álgebra de procesos y su semántica operativa . [17] La ​​semántica se ha utilizado como base para el desarrollo de simulación , verificación de modelos y análisis de modos y efectos de falla . [17] [18] [19]

Traducción de requisitos

Ejemplo de traducción de requisitos
Integración del árbol de comportamiento de requisitos

La traducción de requisitos es el vehículo utilizado para cruzar la barrera informal-formal. Considere el proceso de traducción para el requisito R1 a continuación. Las primeras tareas son identificar los componentes ( negrita ), identificar las conductas ( subrayado ) e identificar indicadores del orden ( cursiva ) en que se producen las conductas. Luego se puede construir el árbol de comportamiento correspondiente.

Lo que queda claro del resultado de este proceso es que, aparte de los pronombres, los artículos definidos, etc., esencialmente todas las palabras de las oraciones que contribuyen al comportamiento que describen han sido contabilizadas y utilizadas.

Integración de requisitos

Una vez que el conjunto de requisitos se formaliza como árboles de comportamiento de requisitos individuales, es necesario explotar dos propiedades conjuntas de los sistemas y requisitos para proceder a componer el árbol de comportamiento integrado:

Para los requisitos representados como árboles de comportamiento, esto equivale a encontrar dónde se encuentra el nodo raíz de un árbol en algún otro árbol de comportamiento e integrar los dos árboles en ese nodo.

El siguiente ejemplo ilustra la integración de requisitos para dos requisitos, R1 y R3. En otras palabras, muestra cómo interactúan estos dos requisitos.

Operaciones sobre árboles de comportamiento integrados.

Una vez que se ha compuesto un árbol de comportamiento integrado, hay una serie de operaciones importantes que se pueden realizar sobre él.

Inspección: detección y corrección de defectos.

En general, muchos defectos se vuelven mucho más visibles cuando hay una visión integrada de los requisitos [1] y cada requisito se ha colocado en el contexto de comportamiento donde debe ejecutarse. Por ejemplo, es mucho más fácil saber si un conjunto de condiciones o eventos que emanan de un nodo es completo y consistente. Las etiquetas de trazabilidad [15] también facilitan la referencia a los requisitos originales del lenguaje natural. También existe la posibilidad de automatizar una serie de comprobaciones de defectos y coherencia en un árbol de comportamiento integrado. [20]

Cuando se han corregido todos los defectos y el IBT es lógicamente consistente y completo, se convierte en un árbol de comportamiento modelo (MBT) que sirve como especificación formal para el comportamiento del sistema que se ha construido a partir de los requisitos originales. Este es el punto de parada claramente definido para la fase de análisis. Con otras notaciones y métodos de modelado (por ejemplo, con UML ) no está tan claro cuándo puede detenerse el modelado. [21] En algunos casos, es posible que sea necesario transformar partes de un árbol de comportamiento del modelo para que la especificación sea ejecutable . Una vez que un MBT se ha convertido en ejecutable, es posible llevar a cabo otras comprobaciones de confiabilidad.

Simulación

Se puede simular fácilmente un árbol de comportamiento modelo para explorar las propiedades dinámicas del sistema. Se ha construido tanto una herramienta simbólica como una herramienta gráfica para apoyar estas actividades. [22] [23]

Comprobación de modelos

Se ha escrito un traductor para convertir un árbol de comportamiento modelo al lenguaje de "sistemas de acciones". Esta entrada puede luego introducirse en el verificador de modelos SAL [24] [25] para permitir que se realicen comprobaciones sobre si se cumplen ciertas propiedades de seguridad y protección. [18] [26]

Análisis modal de fallos y efectos (FMEA)

La verificación de modelos se ha aplicado a menudo a los modelos de sistemas para comprobar que no se pueden alcanzar estados peligrosos durante el funcionamiento normal del sistema. [27] Es posible combinar la verificación de modelos con árboles de comportamiento para proporcionar soporte automatizado para el análisis de modos y efectos de fallas (FMEA). [18] La ventaja de utilizar árboles de comportamiento para este propósito es que permiten que los aspectos del método formal del enfoque queden ocultos a los usuarios no expertos.

Cambio de requisitos

El ideal que se busca a la hora de responder a un cambio en los requisitos funcionales de un sistema es que se pueda determinar rápidamente:

Debido a que es probable que un sistema experimente muchos conjuntos de cambios durante su tiempo de servicio, también existe la necesidad de registrar, gestionar y optimizar la evolución del sistema impulsada por la secuencia de cambios.

Un modelo de trazabilidad, que utiliza árboles de comportamiento como notación formal para representar requisitos funcionales, revela los impactos de los cambios en diferentes tipos de construcciones de diseño (documentos) causados ​​por los cambios de los requisitos. [28] El modelo introduce el concepto de documentos de diseño evolutivo que registran el historial de cambios de los diseños. A partir de estos documentos, se puede recuperar cualquier versión de un documento de diseño, así como la diferencia entre dos versiones. Una ventaja importante de este modelo es que la mayor parte del procedimiento para generar estos documentos de diseño evolutivo puede ser respaldado por herramientas automatizadas. [20]

Generación y ejecución de código.

La representación en árbol de comportamiento del comportamiento integrado del sistema ofrece varias ventajas importantes como modelo ejecutable. Separa claramente las tareas de integración de componentes de la tarea de implementación de componentes individuales . El comportamiento integrado del sistema que surge de la integración de los requisitos se puede utilizar como base para crear un diseño aplicando decisiones de diseño. El resultado es un árbol de comportamiento de diseño (DBT): [3] una especificación de integración de componentes multiproceso ejecutable que se ha creado a partir de los requisitos originales.

Los modelos de árbol de comportamiento se ejecutan en una máquina virtual llamada entorno de ejecución de comportamiento (BRE). El BRE vincula componentes mediante middleware, [29] permitiendo que los componentes sean programas independientes escritos en uno de varios lenguajes que se pueden ejecutar en un entorno distribuido . El BRE también contiene un analizador de expresiones que realiza automáticamente operaciones simples para minimizar la cantidad de código necesario para implementar manualmente en el componente.

La implementación de componentes está respaldada por vistas que se pueden extraer automáticamente del DBT. Estas vistas proporcionan los árboles de comportamiento de componentes (CBT) de componentes individuales junto con las interfaces de componentes individuales. Esta información, junto con la información del árbol de composición integrada (TIC) capturada sobre cada componente individual, proporciona la información necesaria para implementar cada componente individual.

Se pueden vincular varios BRE para formar sistemas complejos utilizando una construcción de sistema de sistemas y el entorno de integración de componentes de ingeniería de comportamiento (BECIE). BECIE también se utiliza para monitorear y controlar los modelos de árbol de comportamiento que se ejecutan dentro de un BRE, similar a los sistemas de control de supervisión y adquisición de datos (SCADA) utilizados en el control de procesos industriales.

Se han desarrollado árboles de comportamiento ejecutables para estudios de casos [21] que incluyen protección automatizada de trenes, [30] robots móviles con seguimiento dinámico de objetos, una bomba de infusión ambulatoria [19] y sistemas de gestión de semáforos. También está disponible una versión de BRE adecuada para sistemas integrados (eBRE) que tiene una funcionalidad reducida para adaptarla a microcontroladores de tamaño reducido.

Aplicaciones

El modelado de árboles de comportamiento puede aplicarse y se ha aplicado a una amplia gama de aplicaciones durante varios años. Algunas de las principales áreas de aplicación se describen a continuación.

Sistemas a gran escala

Modelar sistemas a gran escala con grandes conjuntos de requisitos de lenguaje natural siempre ha sido el enfoque principal para probar árboles de comportamiento y el proceso general de ingeniería del comportamiento. La realización de estas evaluaciones y ensayos del método ha implicado trabajar con varios socios de la industria y departamentos gubernamentales de Australia. Los sistemas estudiados han incluido un número significativo de sistemas de defensa, sistemas empresariales, sistemas de transporte, sistemas de información, sistemas de salud y sistemas de control sofisticados con estrictos requisitos de seguridad. Todos los resultados de estos estudios han sido comerciales confidenciales. Sin embargo, los resultados de las extensas pruebas industriales [5] [6] con Raytheon Australia se presentan a continuación en la Sección de Industria. Lo que todo este trabajo ha demostrado consistentemente es que al traducir los requisitos y crear vistas integradas dinámicas y estáticas de los requisitos, se descubre temprano un número muy significativo de defectos importantes, además de los defectos que se encuentran en las mejores prácticas actuales de la industria. [31] [32]

Sistemas embebidos

El fracaso de un diseño para satisfacer los requisitos de un sistema puede resultar en sobrecostos y cronogramas. [33] Si también hay problemas críticos de confiabilidad, no satisfacer los requisitos del sistema puede tener consecuencias potencialmente mortales. [34] Sin embargo, en los enfoques actuales, garantizar que se cumplan los requisitos a menudo se retrasa hasta el final del proceso de desarrollo durante un ciclo de prueba y depuración. [35] Este trabajo describe cómo el enfoque de desarrollo de sistemas, la ingeniería del comportamiento, se puede utilizar para desarrollar software para sistemas integrados . [26] El resultado es un enfoque de desarrollo basado en modelos que puede crear software de sistema integrado que satisfaga sus requisitos, como resultado de la aplicación del proceso de desarrollo.

Sistemas hardware-software

Muchos sistemas a gran escala constan de una combinación de software y hardware codependientes. La naturaleza diferente del software y el hardware significa que a menudo se modelan por separado utilizando enfoques diferentes. Posteriormente, esto puede provocar problemas de integración debido a suposiciones incompatibles sobre las interacciones hardware/software. [30] Estos problemas pueden superarse integrando árboles de comportamiento con el enfoque de modelado matemático Modelica . [30] El entorno y los componentes de hardware se modelan utilizando Modelica y se integran con un modelo de software ejecutable que utiliza árboles de comportamiento.

Control de acceso basado en roles

Para garantizar la correcta implementación de requisitos complejos de control de acceso , es importante que los requisitos validados y verificados se integren efectivamente con el resto del sistema. [36] También es importante que el sistema pueda validarse y verificarse en las primeras etapas del proceso de desarrollo. Se ha desarrollado un modelo de control de acceso integrado y basado en roles. [37] El modelo se basa en la notación gráfica del árbol de comportamiento y puede validarse mediante simulación , así como verificarse mediante un verificador de modelos . Utilizando este modelo, los requisitos de control de acceso se pueden integrar con el resto del sistema desde el principio, porque: se utiliza una notación única para expresar tanto el control de acceso como los requisitos funcionales ; se puede adoptar un enfoque sistemático e incremental para construir una especificación formal de árbol de comportamiento; y la especificación se puede simular y verificar el modelo. La eficacia del modelo se ha evaluado mediante un caso de estudio con requisitos de control de acceso distribuido. [36]

Sistemas biológicos

Debido a que los árboles de comportamiento describen comportamientos complejos, se pueden utilizar para describir una variedad de sistemas que no se limitan a los basados ​​en computadora. [38] En un contexto biológico, los BT se pueden utilizar para armar una interpretación procesal de las funciones biológicas descritas en artículos de investigación, tratando los artículos como documentos de requisitos como se describe anteriormente. Esto puede ayudar a construir una descripción más concreta del proceso de lo que es posible con la sola lectura, y también puede usarse como base para comparar teorías en competencia en artículos alternativos. En investigaciones en curso, la notación del árbol de comportamiento se está utilizando para desarrollar modelos de la función cerebral en ratas sometidas a condicionamiento de miedo .

Modelado de IA de juegos

Si bien los BT se han vuelto populares para modelar la inteligencia artificial en juegos de computadora como Halo [39] y Spore, [40] estos tipos de árboles son muy diferentes de los descritos en esta página y están más cerca de una combinación de estados finitos jerárquicos. máquinas o árboles de decisión . El modelado de jugadores de fútbol también ha sido una aplicación exitosa de los BT. [41] [42]

Pruebas basadas en modelos

[43] es un enfoque para las pruebas de software que requiere que los evaluadores creen modelos de prueba a partir de los requisitos del software bajo prueba (SUT). Tradicionalmente, como lenguaje de modelado se utilizan diagramas de estado UML, FSM, EFSM y diagramas de flujo. Recientemente, también aparece un enfoque interesante en el que se utiliza Event-Driven Swim Lane Petri Net (EDSLPN) como lenguaje de modelado. La notación de árbol de comportamiento también debe considerarse una buena notación de modelado para MBT, y tiene algunas ventajas entre otras notaciones:

  1. Tiene el mismo nivel de expresividad que los gráficos de estado UML y EDSLPN.
  2. Es intuitivo de utilizar como notación de modelado debido a su naturaleza gráfica.
  3. Cada nodo del árbol de comportamiento tiene una etiqueta de requisito, lo que hace que crear una matriz de trazabilidad desde el requisito hasta el artefacto de prueba sea pan comido.

Aquí se ha hecho un intento de este tipo. [44] El MBTester está compuesto por un modelador y un motor de generación de casos de prueba. Los propietarios de empresas o evaluadores traducen sus requisitos en árboles de comportamiento utilizando el modelador y luego (opcionalmente) integran algunos árboles de comportamiento relacionados en uno compuesto. Se puede introducir un árbol de comportamiento en el motor backend para generar casos de prueba, scripts de prueba y datos de prueba automáticamente.

Escalabilidad y aplicaciones industriales.

Captura de pantalla de la herramienta del entorno de soporte de ingeniería del comportamiento
Árbol de comportamiento integrado: sistema más grande (más de 1000 requisitos)

Las primeras pruebas industriales para probar la viabilidad del método y perfeccionar su capacidad se llevaron a cabo en 2002. Durante los últimos tres años se han llevado a cabo una serie de pruebas industriales sistemáticas sobre sistemas empresariales, de transporte y de defensa a gran escala. [5] [31] Este trabajo ha establecido que el método se adapta a sistemas con una gran cantidad de requisitos, pero también que es importante utilizar herramientas de soporte [22] [45] para navegar y editar eficientemente vistas integradas tan grandes de gráficos. datos. De este trabajo con la industria se han obtenido varios resultados principales. En promedio, en una serie de proyectos, se han encontrado sistemáticamente 130 defectos importantes confirmados por cada 1.000 requisitos después de realizar revisiones y correcciones normales. [31] Con conjuntos de requisitos menos maduros se han observado tasas de defectos mucho más altas.

Una parte importante de este trabajo con la industria ha implicado la aplicación de la parte de análisis del método a seis proyectos de defensa a gran escala para Raytheon Australia. Ven el método como "una estrategia clave de mitigación de riesgos, útil tanto en el desarrollo de soluciones como como medio para asesorar al cliente sobre problemas con la documentación de adquisición". [32] [46] Un resultado de estas pruebas de la industria ha sido el desarrollo conjunto [6] con Raytheon Australia de una herramienta sólida en la industria para respaldar el análisis, la edición y la visualización de grandes conjuntos integrados de requisitos. [45] Se pueden encontrar detalles más extensos de los hallazgos de la industria en el sitio web de Behaviour Engineering. [47]

Dr. Terry Stevenson (director técnico de Raytheon Australia) y Sr. Jim Boston (gerente senior de proyectos de Raytheon Australia), Sr. Adrian Pitman de la Organización Australiana de Material de Defensa , Dr. Kelvin Ross (CEO, KJRoss & Associates) y Christine Cornish (Bushell & Cornish ) han brindado las oportunidades especiales necesarias para respaldar esta investigación y realizar pruebas industriales [5] [31] y trabajos de proyectos en vivo. Este trabajo ha sido apoyado por el Consejo Australiano de Investigación - Centro ARC para Sistemas Complejos y fondos recibidos de la industria. [ cita necesaria ]

[48]

Beneficios, ventajas

Como representación de modelado de comportamiento, los árboles de comportamiento tienen una serie de beneficios y ventajas importantes:

Críticas, desventajas.

Ver también

Referencias

  1. ^ abcd Dromey, RG 2007. Principios para la ingeniería de sistemas intensivos en software a gran escala
  2. ^ abc RGDromey, "Formalización de la transición de los requisitos al diseño" Archivado el 25 de julio de 2011 en Wayback Machine , en "Marcos matemáticos para software de componentes: modelos de análisis y síntesis", Jifeng He y Zhiming Liu (Eds.), World Scientific Serie sobre desarrollo basado en componentes, págs. 156–187, (capítulo invitado) (2006)
  3. ^ abcdef RGDromey, De los requisitos al diseño: formalizando los pasos clave Archivado el 25 de julio de 2011 en Wayback Machine , (Discurso de apertura invitado), SEFM-2003, Conferencia internacional IEEE sobre ingeniería de software y métodos formales, Brisbane, septiembre de 2003, págs. 2–11.
  4. ^ ab Wen, L., Dromey, RG 2007. Del cambio de requisitos al cambio de diseño: un camino formal [ enlace muerto permanente ]
  5. ^ abcd Boston, J. 2008. Raytheon Australia apoya la investigación de sistemas pioneros Archivado el 15 de septiembre de 2009 en Wayback Machine.
  6. ^ abc Raytheon Australia, 2008. La comprensión crece en los árboles del comportamiento Archivado el 15 de septiembre de 2009 en Wayback Machine.
  7. ^ Ingeniería del comportamiento. Árboles de composición Archivado el 2 de marzo de 2009 en Wayback Machine.
  8. ^ Winter, K. 2007. Formalización de árboles de comportamiento con CSP
  9. ^ RLGlass, "¿Es esta una idea revolucionaria o no?" Archivado el 25 de julio de 2011 en Wayback Machine , Communications of the ACM, vol. 47(11), págs. 23-25, noviembre de 2004.
  10. ^ RGDromey, "Escalando la pared de ladrillos 'No Silver Bullet'" Archivado el 25 de julio de 2011 en Wayback Machine , IEEE Software, vol. 23, núm. 2, págs. 118-120 (marzo de 2006)
  11. ^ RGDromey, Ingeniería de software genético: simplificación del diseño mediante la integración de requisitos, Conferencia de trabajo de IEEE sobre arquitectura de sistemas dinámicos y complejos, Brisbane, diciembre de 2001.
  12. ^ A. Woolfson, Vivir sin genes, Flamingo, 2000, ISBN  0-00-255618-9
  13. ^ Berlín, I. La madera torcida de la humanidad: capítulos de la historia de las ideas, Ed., H.Hardy, Princeton University Press, 1998 ISBN 0-691-05838-5 
  14. ^ Colvin, R., Grunske, L., Winter, K. 2007 Árboles de comportamiento probabilístico cronometrado Archivado el 25 de julio de 2011 en Wayback Machine.
  15. ^ abcd Behavior Tree Group, Centro ARC para sistemas complejos , 2007. Notación de árbol de comportamiento v1.0 (2007)
  16. ^ Dromey, RG "Diseño genético: amplificación de nuestra capacidad para afrontar la complejidad de los requisitos" Archivado el 25 de julio de 2011 en Wayback Machine , en S.Leue y TJ Systra, Escenarios, notas de conferencias sobre informática, LNCS 3466, págs.95– 108, 2005.
  17. ^ abc Colvin, R., Hayes, IJ 2006 Una semántica de árboles de comportamiento
  18. ^ abcd L.Grunske, P.Lindsay, N.Yatapanage, K.Winter, Un análisis automatizado de efectos y modos de falla basado en especificaciones de diseño de alto nivel con árboles de comportamiento, Quinta Conferencia Internacional sobre Métodos Formales Integrados (IFM-2005), Eindoven , Países Bajos, 2005.
  19. ^ abc Zafar, S. y Dromey, RG, (2005), Integración de los requisitos de seguridad y protección en el diseño de un sistema integrado. Archivado el 25 de julio de 2011 en la Conferencia de Ingeniería de Software de Asia-Pacífico de Wayback Machine 2005, del 15 al 17 de diciembre, Taipei, Taiwán. Prensa de la Sociedad de Computación IEEE. págs. 629–636.
  20. ^ ab Smith, C., Winter, K., Hayes, I., Dromey, RG, Lindsay, P., Carrington, D.: Un entorno para construir un sistema a partir de sus requisitos, 19ª Conferencia internacional IEEE sobre ingeniería de software automatizada , Linz, Austria, septiembre (2004).
  21. ^ ab Dromey, RG Uso de árboles de comportamiento para modelar el sistema de lanzadera autónomo Archivado el 25 de julio de 2011 en Wayback Machine , 3er taller internacional sobre escenarios y máquinas de estados: modelos, algoritmos y herramientas (SCESM04) Taller ICSE W5S, Edimburgo, 25 de mayo de 2004
  22. ^ abc L.Wen, R.Colvin, K.Lin, J.Seagrott, N.Yatapanage, RGDromey, 2007, "Integrare, un entorno colaborativo para el diseño orientado al comportamiento", en Actas de la Cuarta Conferencia Internacional sobre Diseño Cooperativo, Visualización e ingeniería, LNCS 4674, págs. 122-131, 2007
  23. ^ C. Sun, S. Xia, D. Sun, D. Chen. HF Shen, W. Cai: "Adaptación transparente de aplicaciones de usuario único para colaboración multiusuario en tiempo real", ACM Transactions on Computer-Human Interaction, vol. 13, núm. 4, diciembre de 2006, págs. 531–582.
  24. ^ Bensalem, S., Ganesh, V., Lakhnech, Y., Muñoz, C., Owre, et al .: "An Overview of SAL", Quinto taller de métodos formales de Langley de la NASA (LFM 2000), 2000, págs.187 –196.
  25. ^ Rushby, J. Automated Formal Methods 2006 AFM-2006, Automated Formal Methods 2006, Seattle, agosto de 2006, págs.
  26. ^ abc Zafar, S. y Dromey, RG, 2005. Gestión de la complejidad en el modelado de sistemas integrados. Archivado el 25 de julio de 2011 en la Conferencia de evaluación e ingeniería de sistemas Wayback Machine de 2005, del 7 al 9 de noviembre, Brisbane, Australia.
  27. ^ Grunske, L., Colvin, R., Winter, K. Soporte de verificación de modelos probabilísticos para la evaluación cuantitativa de sistemas FMEA. QEST 2007. Cuarta Conferencia Internacional sobre Evaluación Cuantitativa de Sistemas, 17 y 19 de septiembre de 2007, págs. 119-128
  28. ^ Wen, L., Dromey, RG 2005. Normalización de la arquitectura para sistemas basados ​​en componentes Archivado el 25 de julio de 2011 en las actas de Wayback Machine del segundo taller internacional sobre aspectos formales del software de componentes FACS'05, págs.
  29. ^ RTI Inc. 2007 "Cumplimiento de los requisitos en tiempo real en sistemas de defensa integrados", Libro blanco de RTI Archivado el 20 de septiembre de 2008 en Wayback Machine .
  30. ^ abc Myers, T., Fritzson, P., Dromey, RG 2008. Integración perfecta del modelado de software y hardware para sistemas a gran escala. Segundo taller internacional sobre lenguajes y herramientas orientados a objetos basados ​​en ecuaciones (EOOLT 2008), Chipre, julio de 2008, págs.
  31. ^ abcdef Powell, D. 2007. Evaluación de requisitos mediante árboles de comportamiento: hallazgos de la industria Archivado el 25 de julio de 2011 en Wayback Machine.
  32. ^ abc Boston, J., (Raytheon Australia), Árboles de comportamiento: ¿cómo mejoran el comportamiento de la ingeniería? [ enlace muerto permanente ] , Sexta Conferencia Anual del Grupo de Procesos de Ingeniería de Sistemas y Software (SEPG 2008), Melbourne, agosto de 2008.
  33. ^ Barker, D. 2000. Tecnología de modelado de requisitos: una visión para sistemas mejores, más rápidos y más económicos. Actas del taller de otoño del Foro internacional de usuarios de VHDL, 2000, págs.
  34. ^ Leveson, NG Safeware: seguridad del sistema y computadoras: [una guía para prevenir accidentes y pérdidas causadas por la tecnología]. Compañía editorial Addison-Wesley, 1995. ISBN 0-201-11972-2 
  35. ^ Futrell, RT, Shafer, DF, Shafer, LI Gestión de proyectos de software de calidad (Serie Software Quality Institute). Prentice Hall, 2002 ISBN 0-13-091297-2 
  36. ^ ab Zafar, S. Colvin, R., Winter, K., Yatapanage, N., Dromey, RG Validación y verificación tempranas de un modelo de control de acceso distribuido basado en roles. 14ª Conferencia de Ingeniería de Software de Asia y el Pacífico, Nagoya, Japón, diciembre de 2008. págs.
  37. ^ ab Zafar, S., K.Winter, R.Colvin, RGDromey, "Verificación de un modelo integrado de control de acceso basado en roles" Archivado el 25 de julio de 2011 en Wayback Machine , 1er taller internacional - Conferencia de trabajo asiática sobre software verificado (AWCVS '06), págs. 230-240, Macao, octubre de 2006.
  38. ^ ab Milosevic, Z., Dromey, RG Sobre la expresión y el seguimiento del comportamiento en los contratos, EDOC 2002, Actas, 6ª Conferencia internacional sobre informática de objetos distribuidos empresariales, Lausana, Suiza, septiembre de 2002, págs.
  39. ^ Damian Isla Manejo de la complejidad en la IA de Halo 2.
  40. ^ Chris Hecker Mis notas para Spore
  41. ^ Xiao-Wen Terry Liu y Jacky Baltes Una arquitectura intuitiva y flexible para robots móviles inteligentes Segunda conferencia internacional sobre robots y agentes autónomos, 13 al 15 de diciembre de 2004 Palmerston North, Nueva Zelanda
  42. ^ Yukiko Hoshino, Tsuyoshi Takagi, Ugo Di Profio y Masahiro Fujita Descripción y control del comportamiento mediante el módulo de comportamiento para robot personal
  43. ^ Pruebas basadas en modelos (MBT) Pruebas basadas en modelos
  44. ^ MBTester
  45. ^ ab Phillips, V., (Raytheon Australia), "Implementación de una herramienta de análisis de árbol de comportamiento utilizando marcos de desarrollo de Eclipse" [ enlace muerto permanente ] , Conferencia australiana de ingeniería de software (ASWEC'08), Perth, marzo de 2008
  46. ^ McNicholas, D., (Raytheon Australia), 2007. Beneficios de la industria de la ingeniería del comportamiento [ enlace muerto permanente ]
  47. ^ Ingeniería del comportamiento. Sitio web de ingeniería del comportamiento Archivado el 1 de marzo de 2009 en Wayback Machine.
  48. ^ Para obtener más detalles, consulte:
    • Raytheon Australia - Desarrollo conjunto de árboles de comportamiento Archivado el 15 de septiembre de 2009 en Wayback Machine.
    • "Implementación de una herramienta de análisis de árbol de comportamiento utilizando marcos de desarrollo de Eclipse" [ enlace muerto permanente ] Vincent Phillips, Raytheon Australia.
    • Árboles de comportamiento: ¿cómo mejoran el comportamiento de la ingeniería? [ enlace muerto permanente ] Jim Boston, Raytheon Australia.
    • Raytheon Australia apoya la investigación de sistemas pioneros Archivado el 15 de septiembre de 2009 en Wayback Machine.
  49. ^ Lin, K., Chen, D., Sun, C., Dromey, RG, Una estrategia y aplicaciones de mantenimiento de restricciones en entornos colaborativos en tiempo real [ enlace muerto permanente ] , Segunda Conferencia Internacional sobre Diseño, Visualización e Ingeniería Cooperativa (CDVE2005 ), 2005.
  50. ^ Lin, K., Chen, D., Dromey, RG, Sun, CZ.: Propagación de restricciones de flujo de datos multidireccional en sistemas colaborativos en tiempo real Archivado el 25 de julio de 2011 en Wayback Machine , IEEE, Segunda conferencia internacional sobre informática colaborativa : Networking, Applications and Worksharing (CollaborateCom 2006), Atlanta, Georgia, EE. UU., noviembre de 2006.
  51. ^ Grunske, L., Winter, K., Colvin, R., "Timed Behavior Trees y su aplicación para verificar sistemas en tiempo real" Archivado el 18 de noviembre de 2008 en Wayback Machine , Actas de la 18ª Conferencia Australiana sobre Ingeniería de Software (AEWEC 2007 ), abril de 2007, aceptado para publicación.

enlaces externos