ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN...

39
Desarrollo de una Ontología para la Seguridad en caso de Incendio en la Edificación. Aplicación a la Consulta Inteligente del Documento Básico SI. - 265 - ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN CASO DE INCENDIO

Transcript of ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN...

Page 1: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Desarrollo de una Ontología para la Seguridad en caso de Incendio en la Edificación. Aplicación a la Consulta Inteligente del Documento Básico SI.

- 265 -

ANEJO:

REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN CASO DE INCENDIO

Page 2: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Anejo: Reglas en Jess de la Ontología: D.B. Seguridad en caso de Incendio.

- 266 -

A1.- Reglas Relativas a la Necesidad de Compartimentación para un determinado Espacio. (deftemplate sector-de-incendio "Espacio de un edificio separado de otras zonas del mismo por elementos que impiden durante un determinado tiempo, la propagación de un incendio." (slot tipo-zona(type SYMBOL)) (slot uso-establecimiento-contenedor(type SYMBOL)) (slot uso-edificio-contenedor (type SYMBOL)) (slot sector-de-incendio-segun-DBSI (type SYMBOL)(default FALSE)) (slot uso-zona(type SYMBOL)) (slot actividad-principal-establecimiento(type SYMBOL)) (slot superficie-construida-establecimiento(type FLOAT)) (slot superficie-construida-zona(type FLOAT)) (slot numero-planta-establecimiento(type FLOAT)) (slot superficie-construida-maxima-sector(type FLOAT)) (slot ocupacion(type FLOAT)) (slot vestibulo-de-independencia(type SYMBOL)(default FALSE)) (slot establecimiento-compartimentado-respecto-edificio(type SYMBOL)(default FALSE)) (slot zona-pertenece-a-establecimiento-contenedor(type SYMBOL)(default FALSE)) (slot zona-pertenece-a-planta(type SYMBOL)(default FALSE)) (slot planta-divide-a-edificio(type SYMBOL)(default FALSE)) (slot planta-compartimentada-respecto-edificio(type SYMBOL)(default FALSE)) (slot zona-compartimentada-respecto-edificio(type SYMBOL)(default FALSE)) (slot zona-compartimentada-respecto-establecimiento(type SYMBOL)(default FALSE)) (slot zona-pertenece-a-edificio-contenedor(type SYMBOL)(default FALSE)) (slot establecimiento-ocupa-totalmente-edificio-contenedor(type SYMBOL)(default FALSE)) (slot establecimiento-pertenece-a-edificio-contenedor(type SYMBOL)(default FALSE))) (defrule regla-general-compartimentacion-1 (sector-de-incendio (uso-edificio-contenedor ?usoedif)(uso-establecimiento-contenedor ?usoest)(superficie-construida-establecimiento ?scest)) ?fact <-(sector-de-incendio(uso-edificio-contenedor administrativo|aparcamiento|docente|comercial|residencial-publico|hospitalario|publica-concurrencia)(uso-establecimiento-contenedor administrativo|hospitalario|residencial-vivienda|residencial-publico|aparcamiento|docente|comercial|publica-concurrencia )(establecimiento-pertenece-a-edificio-contenedor TRUE)) => (printout t "El ESTABLECIMIENTO de uso "?usoest" es necesario que forme sector de incendio diferenciado del resto del edificio" crlf) (modify ?fact (establecimiento-compartimentado-respecto-edificio TRUE)(sector-de-incendio-segun-DBSI TRUE))) (defrule regla-general-compartimentacion-2 (sector-de-incendio (uso-edificio-contenedor ?usoedif)(uso-establecimiento-contenedor ?usoest)(superficie-construida-establecimiento ?scest)) ?fact <-(sector-de-incendio(uso-edificio-contenedor residencial-vivienda)(uso-establecimiento-contenedor hospitalario|residencial-vivienda|aparcamiento|comercial|publica-concurrencia )(establecimiento-pertenece-a-edificio-contenedor TRUE)) => (printout t "El ESTABLECIMIENTO de uso "?usoest" es necesario que forme sector de incendio diferenciado del resto del edificio" crlf)

Page 3: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Desarrollo de una Ontología para la Seguridad en caso de Incendio en la Edificación. Aplicación a la Consulta Inteligente del Documento Básico SI.

- 267 -

(modify ?fact (establecimiento-compartimentado-respecto-edificio TRUE)(sector-de-incendio-segun-DBSI TRUE))) (defrule regla-general-compartimentacion-3 (sector-de-incendio (uso-edificio-contenedor ?usoedif)(uso-establecimiento-contenedor ?usoest)(superficie-construida-establecimiento ?scest)) ?fact <-(sector-de-incendio(uso-edificio-contenedor residencial-vivienda)(uso-establecimiento-contenedor residencial-publico|docente|administrativo )(establecimiento-pertenece-a-edificio-contenedor TRUE)) => (if (<= ?scest 500) then (printout t "El ESTABLECIMIENTO de uso "?usoest" no es necesario que forme sector de incendio diferenciado del resto del edificio" crlf) (modify ?fact (establecimiento-compartimentado-respecto-edificio FALSE)(sector-de-incendio-segun-DBSI FALSE)) else

(printout t "El ESTABLECIMIENTO de uso "?usoest" es necesario que forme sector de incendio diferenciado del resto del edificio" crlf) (modify ?fact (establecimiento-compartimentado-respecto-edificio TRUE)(sector-de-incendio-segun-DBSI TRUE)))) (defrule regla-general-compartimentacion-4 (sector-de-incendio (uso-establecimiento-contenedor ?usoest)(uso-zona ?usoz)) ?fact <-(sector-de-incendio(uso-zona residencial-vivienda)(zona-pertenece-a-establecimiento-contenedor TRUE)) =>(if (not (= ?usoest residencial-vivienda)) then (printout t "La ZONA de uso "?usoz" es necesario que forme sector de incendio diferenciado del resto del establecimiento" crlf) (modify ?fact (zona-compartimentada-respecto-establecimiento TRUE)(sector-de-incendio-segun-DBSI TRUE)) else (printout t "La ZONA de uso "?usoz" no es necesario que forme sector de incendio diferenciado del resto del establecimiento" crlf))) (defrule regla-general-compartimentacion-5 (sector-de-incendio (uso-edificio-contenedor ?usoed)(uso-zona ?usoz)) ?fact <-(sector-de-incendio(uso-zona residencial-vivienda)(zona-pertenece-a-edificio-contenedor TRUE)) =>(if (not(= ?usoed residencial-vivienda)) then (printout t "La ZONA de uso "?usoz" es necesario que forme sector de incendio diferenciado del resto del edificio" crlf) (modify ?fact (zona-compartimentada-respecto-edificio TRUE)(sector-de-incendio-segun-DBSI TRUE)) else (printout t "La ZONA de uso "?usoz" no es necesario que forme sector de incendio diferenciado del resto del edificio" crlf)))

Page 4: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Anejo: Reglas en Jess de la Ontología: D.B. Seguridad en caso de Incendio.

- 268 -

(defrule regla-general-compartimentacion-6 (sector-de-incendio (uso-establecimiento-contenedor ?usoest)(superficie-construida-zona ?scz)(uso-zona ?usoz)) ?fact <-(sector-de-incendio(uso-zona administrativo|comercial|docente)(zona-pertenece-a-establecimiento-contenedor TRUE)) =>(if (and(not(or(= ?usoest administrativo)(= ?usoest comercial)( = ?usoest docente)))(> ?scz 500)) then (printout t "La ZONA de uso "?usoz" es necesario que forme sector de incendio diferenciado del resto del establecimiento" crlf) (modify ?fact (zona-compartimentada-respecto-establecimiento TRUE)(sector-de-incendio-segun-DBSI TRUE)) else (printout t "La ZONA de uso "?usoz" no es necesario que forme sector de incendio diferenciado del resto del establecimiento" crlf))) (defrule regla-general-compartimentacion-7 (sector-de-incendio (uso-edificio-contenedor ?usoed)(superficie-construida-zona ?scz)(uso-zona ?usoz)) ?fact <-(sector-de-incendio(uso-zona administrativo|comercial|docente)(zona-pertenece-a-edificio-contenedor TRUE)) =>(if (and(not(or(= ?usoed administrativo)(= ?usoed comercial)( = ?usoed docente)))(> ?scz 500)) then (printout t "La ZONA de uso "?usoz" es necesario que forme sector de incendio diferenciado del resto del edificio" crlf) (modify ?fact (zona-compartimentada-respecto-edificio TRUE)(sector-de-incendio-segun-DBSI TRUE)) else (printout t "La ZONA de uso "?usoz" no es necesario que forme sector de incendio diferenciado del resto del edificio" crlf))) (defrule regla-general-compartimentacion-8 (sector-de-incendio (superficie-construida-zona ?scz)(tipo-zona ?tipz)) ?fact <-(sector-de-incendio(tipo-zona alojamiento)(zona-pertenece-a-establecimiento-contenedor TRUE)) =>(if (> ?scz 500) then (printout t "La ZONA "?tipz" es necesario que forme sector de incendio diferenciado del resto del establecimiento" crlf) (modify ?fact (zona-compartimentada-respecto-establecimiento TRUE)(sector-de-incendio-segun-DBSI TRUE)) else (printout t "La ZONA "?tipz" no es necesario que forme sector de incendio diferenciado del resto del establecimiento" crlf))) (defrule regla-general-compartimentacion-9 (sector-de-incendio (superficie-construida-zona ?scz)(tipo-zona ?tipz)) ?fact <-(sector-de-incendio(tipo-zona alojamiento)(zona-pertenece-a-edificio-contenedor TRUE)) =>(if (> ?scz 500) then

Page 5: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Desarrollo de una Ontología para la Seguridad en caso de Incendio en la Edificación. Aplicación a la Consulta Inteligente del Documento Básico SI.

- 269 -

(printout t "La ZONA "?tipz" es necesario que forme sector de incendio diferenciado del resto del edificio" crlf) (modify ?fact (zona-compartimentada-respecto-edificio TRUE)(sector-de-incendio-segun-DBSI TRUE)) else (printout t "La ZONA "?tipz" no es necesario que forme sector de incendio diferenciado del resto del edificio" crlf))) (defrule regla-general-compartimentacion-10 (sector-de-incendio (uso-establecimiento-contenedor ?usoest)(ocupacion ?ocup)(uso-zona ?usoz)) ?fact <-(sector-de-incendio(uso-zona publica-concurrencia)(zona-pertenece-a-establecimiento-contenedor TRUE)) =>(if (and(not(= ?usoest publica-concurrencia))(> ?ocup 500)) then (printout t "La ZONA de uso "?usoz" es necesario que forme sector de incendio diferenciado del resto del establecimiento" crlf) (modify ?fact (zona-compartimentada-respecto-establecimiento TRUE)(sector-de-incendio-segun-DBSI TRUE)) else (printout t "La ZONA de uso "?usoz" no es necesario que forme sector de incendio diferenciado del resto del establecimiento" crlf))) (defrule regla-general-compartimentacion-11 (sector-de-incendio (uso-edificio-contenedor ?usoed)(ocupacion ?ocup)(uso-zona ?usoz)) ?fact <-(sector-de-incendio(uso-zona publica-concurrencia)(zona-pertenece-a-edificio-contenedor TRUE)) =>(if (and(not(= ?usoed publica-concurrencia))(> ?ocup 500)) then (printout t "La ZONA de uso "?usoz" es necesario que forme sector de incendio diferenciado del resto del edificio" crlf) (modify ?fact (zona-compartimentada-respecto-edificio TRUE)(sector-de-incendio-segun-DBSI TRUE)) else (printout t "La ZONA de uso "?usoz" no es necesario que forme sector de incendio diferenciado del resto del edificio"crlf ))) (defrule regla-general-compartimentacion-12 (sector-de-incendio (uso-establecimiento-contenedor ?usoest)(superficie-construida-zona ?scz)(uso-zona ?usoz)) ?fact <-(sector-de-incendio(uso-zona aparcamiento)(zona-pertenece-a-establecimiento-contenedor TRUE)) =>(if (and(not(= ?usoest aparcamiento))(> ?scz 100)) then (printout t "La ZONA de uso "?usoz" es necesario que forme sector de incendio diferenciado del resto del establecimiento" crlf) (modify ?fact (zona-compartimentada-respecto-establecimiento TRUE)(sector-de-incendio-segun-DBSI TRUE)(vestibulo-de-independencia TRUE)) else (printout t "La ZONA de uso "?usoz" no es necesario que forme sector de incendio diferenciado del resto del establecimiento" crlf)))

Page 6: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Anejo: Reglas en Jess de la Ontología: D.B. Seguridad en caso de Incendio.

- 270 -

(defrule regla-general-compartimentacion-13 (sector-de-incendio (uso-edificio-contenedor ?usoed)(superficie-construida-zona ?scz)(uso-zona ?usoz)) ?fact <-(sector-de-incendio(uso-zona aparcamiento)(zona-pertenece-a-edificio-contenedor TRUE)) =>(if (and(not(= ?usoed aparcamiento))(> ?scz 100)) then (printout t "La ZONA de uso "?usoz" es necesario que forme sector de incendio diferenciado del resto del edificio" crlf) (modify ?fact (zona-compartimentada-respecto-edificio TRUE)(sector-de-incendio-segun-DBSI TRUE)(vestibulo-de-independencia TRUE)) else (printout t "La ZONA de uso "?usoz" no es necesario que forme sector de incendio diferenciado del resto del edificio"crlf ))) (defrule regla-general-compartimentacion-14 (sector-de-incendio (superficie-construida-zona ?scz)(tipo-zona ?tipz)) ?fact <-(sector-de-incendio(tipo-zona aparcamiento-robotizado)(zona-pertenece-a-establecimiento-contenedor TRUE)) =>(if (> ?scz 500) then (printout t "La ZONA "?tipz" es necesario que forme sector de incendio diferenciado del resto del establecimiento" crlf) (modify ?fact (zona-compartimentada-respecto-establecimiento TRUE)(sector-de-incendio-segun-DBSI TRUE)) else (printout t "La ZONA "?tipz" no es necesario que forme sector de incendio diferenciado del resto del establecimiento" crlf))) (defrule regla-general-compartimentacion-15 (sector-de-incendio (superficie-construida-zona ?scz)(tipo-zona ?tipz)) ?fact <-(sector-de-incendio(tipo-zona aparcamiento-robotizado)(zona-pertenece-a-edificio-contenedor TRUE)) =>(if (> ?scz 500) then (printout t "La ZONA "?tipz" es necesario que forme sector de incendio diferenciado del resto del edificio" crlf) (modify ?fact (zona-compartimentada-respecto-edificio TRUE)(sector-de-incendio-segun-DBSI TRUE)) else (printout t "La ZONA "?tipz" no es necesario que forme sector de incendio diferenciado del resto del edificio" crlf))) (defrule regla-general-compartimentacion-16 (sector-de-incendio (superficie-construida-establecimiento ?sce)(actividad-principal-establecimiento ?ape)(uso-establecimiento-contenedor ?usoe)) ?fact <-(sector-de-incendio(uso-edificio-contenedor comercial)(establecimiento-pertenece-a-edificio-contenedor TRUE)(uso-establecimiento-contenedor publica-concurrencia)) =>(if (or (and(> ?sce 500)(not(= ?ape espectaculos)))(= ?ape espectaculos)) then (printout t "El Establecimiento de uso "?usoe" es necesario que forme sector de incendio diferenciado del resto del edificio" crlf)

Page 7: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Desarrollo de una Ontología para la Seguridad en caso de Incendio en la Edificación. Aplicación a la Consulta Inteligente del Documento Básico SI.

- 271 -

(modify ?fact (establecimiento-compartimentado-respecto-edificio TRUE)(sector-de-incendio-segun-DBSI TRUE)(vestibulo-de-independencia TRUE)))) (defrule regla-general-compartimentacion-17 (sector-de-incendio (uso-establecimiento-contenedor ?usoe)(numero-planta-establecimiento ?numpl)) ?fact <-(sector-de-incendio(uso-edificio-contenedor docente)(establecimiento-ocupa-totalmente-edificio-contenedor TRUE)(uso-establecimiento-contenedor docente)) =>(if (> ?numpl 1) then (printout t "El Establecimiento de uso "?usoe" es necesario que sea compartimentado en sectores de incendio" crlf) (modify ?fact (sector-de-incendio-segun-DBSI TRUE)) else (printout t "El Establecimiento de uso "?usoe" NO es necesario que sea compartimentado en sectores de incendio" crlf))) (defrule regla-general-compartimentacion-18 (sector-de-incendio (tipo-zona ?tipz)) ?fact <-(sector-de-incendio(tipo-zona caja-escenica)(zona-pertenece-a-edificio-contenedor TRUE)(uso-edificio-contenedor publica-concurrencia)) => (printout t "La ZONA "?tipz" es necesario que forme sector de incendio diferenciado del resto del edificio" crlf) (modify ?fact (zona-compartimentada-respecto-edificio TRUE)(sector-de-incendio-segun-DBSI TRUE))) (defrule regla-general-compartimentacion-19 (sector-de-incendio (tipo-zona ?tipz)(numero-planta-establecimiento ?numpl)) ?fact <-(sector-de-incendio(uso-edificio-contenedor hospitalario)(tipo-zona hospitalizacion|unidad-especial)(planta-divide-a-edificio TRUE)(zona-pertenece-a-planta TRUE)) => (printout t "La Planta con zonas de "?tipz" es necesario que sea compartimentada en sectores de incendio respecto al resto del edificio" crlf) (modify ?fact (sector-de-incendio-segun-DBSI TRUE)(planta-compartimentada-respecto-edificio TRUE))) A2.- Reglas Relativas a las Condiciones que tiene que cumplir un Sector de Incendio, respecto a la Protección contra Incendios. (deftemplate condiciones-compartimentacion "Espacio de un edificio separado de otras zonas del mismo por elementos que impiden durante un determinado tiempo, la propagación de un incendio." (slot tipo-zona(type SYMBOL)) (slot tipo-zona-planta-superior(type SYMBOL)) (slot tipo-sector(type SYMBOL)) (slot uso-establecimiento-contenedor(type SYMBOL)) (slot uso-establecimiento-planta-superior(type SYMBOL)) (slot uso-edificio-contenedor (type SYMBOL)) (slot elemento-compartimentador (type SYMBOL)) (slot sector-de-incendio-segun-DBSI (type SYMBOL)(default FALSE))(slot elemento-compartimentador-delimita-zona-respecto-establecimiento (type SYMBOL)(default FALSE))

Page 8: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Anejo: Reglas en Jess de la Ontología: D.B. Seguridad en caso de Incendio.

- 272 -

(slot elemento-cierre(type SYMBOL)) (slot Qs(type FLOAT)(default 0)) (slot elemento-revestido(type SYMBOL)) (slot reaccion-al-fuego(type SYMBOL)) (slot resistencia-al-fuego-elemento-compartimentador(type SYMBOL)) (slot resistencia-al-fuego-elemento-cierre(type SYMBOL)) (slot superficie-construida-establecimiento(type FLOAT)) (slot altura-de-evacuacion(type FLOAT)) (slot superficie-construida-planta(type FLOAT)) (slot longitud-recorrido-evacuacion(type FLOAT)) (slot superficie-maxima-construida-sector-de-incendio(type FLOAT)) (slot numero-minimo-sector-de-incendio(type FLOAT)) (slot numero-maximo-sector-de-incendio(type FLOAT)) (slot pertenece-a-elemento-compartimentador(type SYMBOL)(default FALSE)) (slot vestibulo-de-independencia(type SYMBOL)(default FALSE)) (slot salida-de-planta-comunica-con-sector-riesgo-minimo(type SYMBOL)(default FALSE)) (slot salida-de-planta-comunica-con-espacio-exterior-seguro(type SYMBOL)(default FALSE)) (slot IAdE(type SYMBOL)(default FALSE)) (slot salida-de-edificio-comunica-planta(type SYMBOL)(default FALSE)) (slot establecimiento-compartimentado-respecto-edificio(type SYMBOL)(default FALSE)) (slot establecimiento-es-compartimentado-por-sector-de-incendio(type SYMBOL)(default FALSE)) (slot edificio-es-compartimentado-por-sector-de-incendio(type SYMBOL)(default FALSE)) (slot zona-pertenece-a-establecimiento-contenedor(type SYMBOL)(default FALSE)) (slot zona-pertenece-a-planta(type SYMBOL)(default FALSE)) (slot planta-divide-a-edificio(type SYMBOL)(default FALSE)) (slot planta-divide-a-establecimiento(type SYMBOL)(default FALSE)) (slot planta-compartimentada-respecto-edificio(type SYMBOL)(default FALSE)) (slot planta-compartimentada-respecto-establecimiento(type SYMBOL)(default FALSE)) (slot zona-compartimentada-respecto-edificio(type SYMBOL)(default FALSE)) (slot zona-compartimentada-respecto-establecimiento(type SYMBOL)(default FALSE)) (slot zona-pertenece-a-edificio-contenedor(type SYMBOL)(default FALSE)) (slot establecimiento-ocupa-totalmente-edificio-contenedor(type SYMBOL)(default FALSE)) (slot establecimiento-pertenece-a-edificio-contenedor(type SYMBOL)(default FALSE))) (defrule regla-condiciones-compartimentacion-1 (condiciones-compartimentacion (IAdE ?iade)(uso-edificio-contenedor ?usoed)) ?fact <-(condiciones-compartimentacion(uso-edificio-contenedor administrativo|residencial-publico|residencial-vivienda|comercial|hospitalario|publica-concurrencia)(sector-de-incendio-segun-DBSI TRUE)(edificio-es-compartimentado-por-sector-de-incendio TRUE)) =>(if (not(= ?iade TRUE)) then (printout t "La superficie construida de los sectores de incendio que compartimentan el edificio de uso "?usoed" no puede superar los 2500 m2" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 2500)) else (printout t "La superficie construida de los sectores de incendio que compartimentan el edificio de uso "?usoed" no puede superar los 2*2500 m2" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 5000)))) (defrule regla-condiciones-compartimentacion-2 (condiciones-compartimentacion (IAdE ?iade)(uso-establecimiento-contenedor ?usoest))

Page 9: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Desarrollo de una Ontología para la Seguridad en caso de Incendio en la Edificación. Aplicación a la Consulta Inteligente del Documento Básico SI.

- 273 -

?fact <-(condiciones-compartimentacion(uso-establecimiento-contenedor administrativo|residencial-publico|residencial-vivienda|comercial|hospitalario|publica-concurrencia)(establecimiento-es-compartimentado-por-sector-de-incendio TRUE)(sector-de-incendio-segun-DBSI TRUE)) =>(if (not(= ?iade TRUE)) then (printout t "La superficie construida de los sectores de incendio que compartimentan el establecimiento de uso "?usoest" no puede superar los 2500 m2" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 2500)) else (printout t "La superficie construida de los sectores de incendio que compartimentan el establecimiento de uso "?usoest" no puede superar los 2*2500 m2" crlf) (modify ?fact ( superficie-maxima-construida-sector-de-incendio 5000)))) (defrule regla-condiciones-compartimentacion-3 (condiciones-compartimentacion (IAdE ?iade)(uso-edificio-contenedor ?usoed)) ?fact <-(condiciones-compartimentacion(uso-edificio-contenedor docente)(sector-de-incendio-segun-DBSI TRUE)(edificio-es-compartimentado-por-sector-de-incendio TRUE)) =>(if (not(= ?iade TRUE)) then (printout t "La superficie construida de los sectores de incendio que compartimentan el edificio de uso "?usoed" no puede superar los 4000 m2" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 4000)) else (printout t "La superficie construida de los sectores de incendio que compartimentan el edificio de uso "?usoed" no puede superar los 2*4000 m2" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 8000)))) (defrule regla-condiciones-compartimentacion-4 (condiciones-compartimentacion (IAdE ?iade)(uso-establecimiento-contenedor ?usoest)) ?fact <-(condiciones-compartimentacion(uso-establecimiento-contenedor docente)(establecimiento-es-compartimentado-por-sector-de-incendio)(sector-de-incendio-segun-DBSI TRUE)) =>(if (not(= ?iade TRUE)) then (printout t "La superficie construida de los sectores de incendio que compartimentan el edificio de uso "?usoest" no puede superar los 4000 m2" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 4000)) else (printout t "La superficie construida de los sectores de incendio que compartimentan el edificio de uso "?usoest" no puede superar los 2*4000 m2" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 8000)))) (defrule regla-condiciones-compartimentacion-5 (condiciones-compartimentacion (tipo-sector ?tipsector)) ?fact <-(condiciones-compartimentacion(tipo-sector riesgo-minimo)) => (printout t "El sector de "?tipsector" no tiene restricciones en cuanto a superficie máxima construida" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 100000000000)))

Page 10: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Anejo: Reglas en Jess de la Ontología: D.B. Seguridad en caso de Incendio.

- 274 -

(defrule regla-condiciones-compartimentacion-6 (condiciones-compartimentacion (IAdE ?iade)(altura-de-evacuacion ?h)(uso-establecimiento-contenedor ?usoest)) ?fact <-(condiciones-compartimentacion(uso-edificio-contenedor comercial)(uso-establecimiento-contenedor comercial)(establecimiento-es-compartimentado-por-sector-de-incendio TRUE)(sector-de-incendio-segun-DBSI TRUE)(establecimiento-ocupa-totalmente-edificio-contenedor TRUE)) =>(if (and(= ?iade TRUE)(<= ?h 10)) then (printout t "La superficie construida de los sectores de incendio que compartimentan el establecimiento de uso "?usoest" no puede superar los 10000 m2" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 10000)) else (if (and(= ?iade TRUE)(> ?h 10)) then (printout t "La superficie construida de los sectores de incendio que compartimentan el establecimiento de uso "?usoest" no puede superar los 2*2500 m2" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 5000)) else (printout t "La superficie construida de los sectores de incendio que compartimentan el establecimiento de uso "?usoest" no puede superar los 2500 m2" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 2500))))) (defrule regla-condiciones-compartimentacion-7 (condiciones-compartimentacion (IAdE ?iade)(uso-establecimiento-contenedor ?usoest)) ?fact <-(condiciones-compartimentacion(uso-edificio-contenedor comercial)(uso-establecimiento-contenedor publica-concurrencia)(establecimiento-compartimentado-respecto-edificio TRUE)(sector-de-incendio-segun-DBSI TRUE)(establecimiento-pertenece-a-edificio-contenedor TRUE)) =>(if (not(= ?iade TRUE)) then (printout t "La superficie construida de los sectores de incendio que compartimentan el establecimiento de uso "?usoest" no puede superar los 2500 m2" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 2500)) else (if (= ?iade TRUE) then (printout t "La superficie construida de los sectores de incendio que compartimentan el establecimiento de uso "?usoest" no puede superar los 2*2500 m2" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 5000))))) (defrule regla-condiciones-compartimentacion-8 (condiciones-compartimentacion (IAdE ?iade)(uso-edificio-contenedor ?usoed)(tipo-zona ?tipz)(Qs ?qs)(vestibulo-de-independencia ?vest)(salida-de-planta-comunica-con-espacio-exterior-seguro ?salext)(salida-de-planta-comunica-con-sector-riesgo-minimo ?salrm)(tipo-zona-planta-superior ?tipzps)(elemento-revestido ?er)(reaccion-al-fuego ?reaccion)(resistencia-al-fuego-elemento-compartimentador ?resistencia)) ?fact <-(condiciones-compartimentacion(uso-edificio-contenedor publica-concurrencia)(zona-pertenece-a-edificio-contenedor TRUE)(tipo-zona publico-sentado-asiento-fijo)(sector-de-incendio-segun-DBSI TRUE)(zona-compartimentada-respecto-edificio TRUE)) =>(if (and(not(= ?iade TRUE))(<= ?qs 200)(= ?tipzps no-habitable)(or(and(or(= ?er pared)(= ?er techo))(= ?reaccion B-s1,d0))(and(= ?er suelo)(= ?reaccion Bfl,s1)))(= ?resistencia EI120)(or(and(= ?salrm TRUE)(= ?vest TRUE))(= ?salext TRUE)))

Page 11: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Desarrollo de una Ontología para la Seguridad en caso de Incendio en la Edificación. Aplicación a la Consulta Inteligente del Documento Básico SI.

- 275 -

then (printout t "La superficie construida de los sectores de incendio que compartimentan la zona "?tipz" respecto el edificio de uso "?usoed" tienen como superficie mínima construida 2500 m2" crlf) (modify ?fact (superficie-minima-construida-sector-de-incendio 2500)))) (defrule regla-condiciones-compartimentacion-9 (condiciones-compartimentacion (IAdE ?iade)(uso-edificio-contenedor ?usoed)(tipo-zona ?tipz)(Qs ?qs)(vestibulo-de-independencia ?vest)(salida-de-planta-comunica-con-espacio-exterior-seguro ?salext)(salida-de-planta-comunica-con-sector-riesgo-minimo ?salrm)(tipo-zona-planta-superior ?tipzps)(elemento-revestido ?er)(reaccion-al-fuego ?reaccion)(resistencia-al-fuego-elemento-compartimentador ?resistencia)) ?fact <-(condiciones-compartimentacion(uso-edificio-contenedor publica-concurrencia)(zona-pertenece-a-edificio-contenedor TRUE)(tipo-zona publico-sentado-asiento-fijo)(sector-de-incendio-segun-DBSI TRUE)(zona-compartimentada-respecto-edificio TRUE)) =>(if (not(= ?iade TRUE)) then (printout t "La superficie construida de los sectores de incendio que compartimentan la zona "?tipz" respecto el edificio de uso "?usoed" tienen como superficie máxima construida 2500 m2" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 2500)) else (if (= ?iade TRUE) then (printout t "La superficie construida de los sectores de incendio que compartimentan la zona "?tipz" respecto el edificio de uso "?usoed" tienen como superficie máxima construida 2*2500 m2" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 5000))))) (defrule regla-condiciones-compartimentacion-10 (condiciones-compartimentacion (IAdE ?iade)(uso-establecimiento-contenedor ?usoest)(tipo-zona ?tipz)(Qs ?qs)(vestibulo-de-independencia ?vest)(salida-de-planta-comunica-con-espacio-exterior-seguro ?salext)(salida-de-planta-comunica-con-sector-riesgo-minimo ?salrm)(tipo-zona-planta-superior ?tipzps)(elemento-revestido ?er)(reaccion-al-fuego ?reaccion)(resistencia-al-fuego-elemento-compartimentador ?resistencia)) ?fact <-(condiciones-compartimentacion(uso-establecimiento-contenedor publica-concurrencia)(zona-pertenece-a-establecimiento-contenedor TRUE)(tipo-zona publico-sentado-asiento-fijo)(sector-de-incendio-segun-DBSI TRUE)(zona-compartimentada-respecto-establecimiento TRUE)) =>(if (and(not(= ?iade TRUE))(<= ?qs 200)(= ?tipzps no-habitable)(or(and(or(= ?er pared)(= ?er techo))(= ?reaccion B-s1,d0))(and(= ?er suelo)(= ?reaccion Bfl,s1)))(= ?resistencia EI120)(or(and(= ?salrm TRUE)(= ?vest TRUE))(= ?salext TRUE))) then (printout t "La superficie construida de los sectores de incendio que compartimentan la zona "?tipz" respecto el establecimiento de uso "?usoest" tienen como superficie mínima construida 2500 m2" crlf) (modify ?fact (superficie-minima-construida-sector-de-incendio 2500))))

Page 12: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Anejo: Reglas en Jess de la Ontología: D.B. Seguridad en caso de Incendio.

- 276 -

(defrule regla-condiciones-compartimentacion-11 (condiciones-compartimentacion (IAdE ?iade)(uso-establecimiento-contenedor ?usoest)(tipo-zona ?tipz)(Qs ?qs)(vestibulo-de-independencia ?vest)(salida-de-planta-comunica-con-espacio-exterior-seguro ?salext)(salida-de-planta-comunica-con-sector-riesgo-minimo ?salrm)(tipo zona-planta-superior ?tipzps)(elemento-revestido ?er)(reaccion-al-fuego ?reaccion)(resistencia-al-fuego-elemento-compartimentador ?resistencia)) ?fact <-(condiciones-compartimentacion(uso-establecimiento-contenedor publica-concurrencia)(zona-pertenece-a-establecimiento-contenedor TRUE)(tipo-zona publico-sentado-asiento-fijo)(sector-de-incendio-segun-DBSI TRUE)(zona-compartimentada-respecto-establecimiento TRUE)) =>(if (not(= ?iade TRUE)) then (printout t "La superficie construida de los sectores de incendio que compartimentan la zona "?tipz" respecto el establecimiento de uso "?usoest" tienen como superficie máxima construida 2500 m2" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 2500)) else (if (= ?iade TRUE) then (printout t "La superficie construida de los sectores de incendio que compartimentan la zona "?tipz" respecto el establecimiento de uso "?usoest" tienen como superficie máxima construida 2*2500 m2" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 5000))))) (defrule regla-condiciones-compartimentacion-12 (condiciones-compartimentacion (longitud-recorrido-evacuacion ?lre)(uso-edificio-contenedor ?usoed)(tipo-zona ?tipz)(salida-de-planta-comunica-con-espacio-exterior-seguro ?salext)(superficie-construida-planta ?suppl)) ?fact <-(condiciones-compartimentacion(planta-divide-a-edificio TRUE)(uso-edificio-contenedor hospitalario)(zona-pertenece-a-planta TRUE)(tipo-zona hospitalizacion|unidad-especial)(sector-de-incendio-segun-DBSI TRUE)(planta-compartimentada-respecto-edificio TRUE)) =>(if (and(<= ?lre 25)(<= ?suppl 1500)(= ?salext TRUE)) then (printout t "La superficie construida de los sectores de incendio que compartimentan las plantas en las que se dan las zonas "?tipz" respecto el edificio de uso "?usoed" pueden tener una superficie máxima construida distinta de 1500 m2" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 1500)(numero-minimo-sector-de-incendio 1)) else (if (or(> ?lre 25)(> ?suppl 1500)(= ?salext FALSE)) then (printout t "La superficie construida de los sectores de incendio que compartimentan las plantas en las que se dan las zonas "?tipz" respecto el edificio de uso "?usoed" tendrán una superficie máxima construida de 1500 m2" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 1500)(numero-minimo-sector-de-incendio 2))))) (defrule regla-condiciones-compartimentacion-13 (condiciones-compartimentacion (longitud-recorrido-evacuacion ?lre)(uso-establecimiento-contenedor ?usoest)(tipo-zona ?tipz)(salida-de-planta-comunica-con-espacio-exterior-seguro ?salext)(superficie-construida-planta ?suppl))

Page 13: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Desarrollo de una Ontología para la Seguridad en caso de Incendio en la Edificación. Aplicación a la Consulta Inteligente del Documento Básico SI.

- 277 -

?fact <-(condiciones-compartimentacion(planta-divide-a-establecimiento TRUE)(uso-establecimiento-contenedor hospitalario)(zona-pertenece-a-planta TRUE)(tipo-zona hospitalizacion|unidad-especial)(sector-de-incendio-segun-DBSI TRUE)(planta-compartimentada-respecto-establecimiento TRUE)) =>(if (and(<= ?lre 25)(<= ?suppl 1500)(= ?salext TRUE)) then (printout t "La superficie construida de los sectores de incendio que compartimentan las plantas en las que se dan las zonas "?tipz" respecto el establecimiento de uso "?usoest" pueden tener una superficie máxima construida distinta de 1500 m2" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 1500)(numero-minimo-sector-de-incendio 1)) else (if (or(> ?lre 25)(> ?suppl 1500)(= ?salext FALSE)) then (printout t "La superficie construida de los sectores de incendio que compartimentan las plantas en las que se dan las zonas "?tipz" respecto el establecimiento de uso "?usoest" tendrán una superficie máxima construida de 1500 m2" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 1500)(numero-minimo-sector-de-incendio 2))))) (defrule regla-condiciones-compartimentacion-14 (condiciones-compartimentacion (uso-establecimiento-contenedor ?usoest)(tipo-zona ?tipz)) ?fact <-(condiciones-compartimentacion(planta-divide-a-establecimiento TRUE)(uso-establecimiento-contenedor aparcamiento)(tipo-zona aparcamiento-robotizado)(zona-pertenece-a-establecimiento-contenedor TRUE)(sector-de-incendio-segun-DBSI TRUE)(uso-establecimiento-planta-superior administrativo|comercial|docente|residencial-publico|residencial-vivienda|hospitalario|publica-concurrencia)) => (printout t "La superficie construida de los sectores de incendio que compartimentan la zona "?tipz" respecto el establecimiento de uso "?usoest" tendrán una superficie máxima construida máxima de 10000 m2" crlf) (modify ?fact (superficie-maxima-construida-sector-de-incendio 10000))) (defrule regla-condiciones-compartimentacion-15 (condiciones-compartimentacion (uso-establecimiento-contenedor ?usoest)(tipo-zona ?tipz)) ?fact <-(condiciones-compartimentacion(uso-establecimiento-contenedor residencial-vivienda)(elemento-compartimentador-delimita-zona-respecto-establecimiento TRUE)(zona-pertenece-a-establecimiento-contenedor TRUE)(tipo-zona vivienda)(sector-de-incendio-segun-DBSI TRUE)) => (printout t "La resistencia al fuego de los elementos delimitadores de la zona "?tipz" respecto al establecimiento de uso "?usoest" será EI60." crlf) (modify ?fact (resistencia-al-fuego-elemento-compartimentador EI60))) (defrule regla-condiciones-compartimentacion-16 (condiciones-compartimentacion (uso-establecimiento-contenedor ?usoest)(tipo-zona ?tipz)(superficie-construida-establecimiento ?scest)) ?fact <-(condiciones-compartimentacion(uso-establecimiento-contenedor residencial-publico)(elemento-compartimentador pared)(elemento-compartimentador-delimita-zona-respecto-establecimiento TRUE)(zona-pertenece-a-establecimiento-contenedor TRUE)(tipo-zona habitacion-alojamiento)(sector-de-incendio-segun-DBSI TRUE)) => (if (> ?scest 500) then

Page 14: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Anejo: Reglas en Jess de la Ontología: D.B. Seguridad en caso de Incendio.

- 278 -

(printout t "La resistencia al fuego de los elementos delimitadores de la zona "?tipz" respecto al establecimiento de uso "?usoest" será EI60 y la de las puertas de la zona EI2 30-C5" crlf) (modify ?fact (resistencia-al-fuego-elemento-compartimentador EI60)(elemento-cierre puerta)(pertenece-a-elemento-compartimentador TRUE)(resistencia-al-fuego-elemento-cierre EI230-C5)) else (if (<= ?scest 500) then (printout t "La resistencia al fuego de los elementos delimitadores de la zona "?tipz" respecto al establecimiento de uso "?usoest" será EI60." crlf) (modify ?fact (resistencia-al-fuego-elemento-compartimentador EI60))))) (defrule regla-condiciones-compartimentacion-17 (condiciones-compartimentacion (uso-establecimiento-contenedor ?usoest)(tipo-zona ?tipz)) ?fact <-(condiciones-compartimentacion(IAdE TRUE)(salida-de-edificio-comunica-planta TRUE)(planta-divide-a-establecimiento TRUE)(uso-establecimiento-contenedor comercial)(tipo-zona publico)(zona-pertenece-a-establecimiento-contenedor TRUE)(sector-de-incendio-segun-DBSI TRUE)(establecimiento-ocupa-totalmente-edificio-contenedor TRUE)) => (printout t "La zona "?tipz" podrá formar un único sector de incendio dentro del establecimiento "?usoest" al que pertenece" crlf) (modify ?fact (numero-maximo-sector-incendio 1)(zona-compartimentada-respecto-establecimiento TRUE))) A3.- Reglas relativas a la Clasificación de un Local o Zona como de Riesgo Especial (deftemplate local-zona "un local o zona de un edificio, que puede ser de riesgo especial." (slot nombre) (slot tipo (type SYMBOL)) ;;uso del local o zona (slot s (type FLOAT)) ;;superficie construida en m2 (slot v (type FLOAT)) ;;volumen construido en m3 (slot P (type FLOAT)) ;;potencia nominal o potencia instalada en kW (slot Qs (type FLOAT)) ;;densidad de carga de fuego ponderada y corregida en MJ/m2 (slot IAdE (type SYMBOL)(default FALSE));;Instalación automática de extinción (slot posicion-respecto-salida-edificio(type SYMBOL)) (slot altura-de-evacuacion(type FLOAT)) (slot uso-establecimiento-contenedor (type SYMBOL)) (slot tipo-normativa-aplicacion (type SYMBOL) (default DBSI)) (slot riesgo-especial (type SYMBOL) (default FALSE)) (slot grado-de-riesgo (type SYMBOL))) (defrule grado-de-riesgo-local-almacen-de-residuos (local-zona (s ?superficie)(tipo ?type)(uso-establecimiento-contenedor ?uso)) ?fact <-(local-zona (tipo almacen-de-residuos)(uso-establecimiento-contenedor administrativo|aparcamiento|comercial|docente|hospitalario|publica-concurrencia|residencial-publico|residencial-vivienda)) =>(if (<= ?superficie 5) then (printout t " El local "?type" no se considera de Riesgo especial" crlf) (modify ?fact (grado-de-riesgo no-especial))

Page 15: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Desarrollo de una Ontología para la Seguridad en caso de Incendio en la Edificación. Aplicación a la Consulta Inteligente del Documento Básico SI.

- 279 -

else (if (and (> ?superficie 5) (<= ?superficie 15)) then (printout t " El local "?type" se considera de Riesgo especial Bajo" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo bajo)) else (if (and(> ?superficie 15) (<= ?superficie 30)) then (printout t " El local "?type" se considera de Riesgo especial Medio" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo medio)) else (if (> ?superficie 30) then (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo alto)) (printout t " El local "?type" se considera de Riesgo especial Alto" crlf)))))) (defrule grado-de-riesgo-taller-de-mantenimiento (local-zona (v ?volumen)(tipo ?type)(uso-establecimiento-contenedor ?uso)) ?fact <-(local-zona (tipo taller-de-mantenimiento|almacen-de-elementos-combustibles|archivo-documentos|deposito-libros)(uso-establecimiento-contenedor administrativo|aparcamiento|comercial|docente|hospitalario|publica-concurrencia|residencial-publico|residencial-vivienda)) =>(if (<= ?volumen 100) then (printout t " El local "?type" no se considera de Riesgo especial" crlf) (modify ?fact (grado-de-riesgo no-especial)) else (if (and (> ?volumen 100) (<= ?volumen 200)) then (printout t " El local "?type" se considera de Riesgo especial Bajo" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo bajo)) else (if (and(> ?volumen 200) (<= ?volumen 400)) then (printout t " El local "?type" se considera de Riesgo especial Medio" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo medio)) else (if (> ?volumen 400) then (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo alto)) (printout t " El local "?type" se considera de Riesgo especial Alto" crlf)))))) (defrule grado-de-riesgo-aparcamiento (local-zona (tipo ?type)(s ?superficie)(uso-establecimiento-contenedor ?uso)) ?fact <-(local-zona (tipo aparcamiento)(uso-establecimiento-contenedor administrativo|aparcamiento|comercial|docente|hospitalario|publica-concurrencia|residencial-publico|residencial-vivienda))

Page 16: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Anejo: Reglas en Jess de la Ontología: D.B. Seguridad en caso de Incendio.

- 280 -

=> (if (<= ?superficie 100) then (printout t " El local "?type" EN TODO CASO se considera de Riesgo especial BAJO" crlf) (modify ?fact (riesgo-especial TRUE)(grado-de-riesgo bajo)) else (if (> ?superficie 100) then (printout t " El local "?type" No se considera de Riesgo especial" crlf) (modify ?fact (grado-de-riesgo no-especial))))) (defrule grado-de-riesgo-lavanderia (local-zona (s ?superficie)(tipo ?type)(uso-establecimiento-contenedor ?uso)) ?fact <-(local-zona (tipo lavanderia|camerino|vestuario-de-personal)(uso-establecimiento-contenedor administrativo|aparcamiento|comercial|docente|hospitalario|publica-concurrencia|residencial-publico|residencial-vivienda)) =>(if (<= ?superficie 20) then (printout t " El local "?type" no se considera de Riesgo especial" crlf) (modify ?fact (grado-de-riesgo no-especial)) else (if (and (> ?superficie 20) (<= ?superficie 100)) then (printout t " El local "?type" se considera de Riesgo especial Bajo" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo bajo)) else (if (and(> ?superficie 100) (<= ?superficie 200)) then (printout t " El local "?type" se considera de Riesgo especial Medio" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo medio)) else (if (> ?superficie 200) then (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo alto)) (printout t " El local "?type" se considera de Riesgo especial Alto" crlf)))))) (defrule grado-de-riesgo-trastero (local-zona (s ?superficie)(tipo ?type)(uso-establecimiento-contenedor ?uso)) ?fact <-(local-zona (tipo trastero)(uso-establecimiento-contenedor residencial-vivienda)) =>(if (<= ?superficie 50) then (printout t " El local "?type" no se considera de Riesgo especial" crlf) (modify ?fact (grado-de-riesgo no-especial)) else (if (and (> ?superficie 50) (<= ?superficie 100)) then (printout t " El local "?type" se considera de Riesgo especial Bajo" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo bajo)) else (if

Page 17: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Desarrollo de una Ontología para la Seguridad en caso de Incendio en la Edificación. Aplicación a la Consulta Inteligente del Documento Básico SI.

- 281 -

(and(> ?superficie 100) (<= ?superficie 500)) then (printout t " El local "?type" se considera de Riesgo especial Medio" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo medio))

else (if (> ?superficie 500) then (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo alto)) (printout t " El local "?type" se considera de Riesgo especial Alto" crlf)))))) (defrule grado-de-riesgo-ropero-consigna (local-zona (s ?superficie)(tipo ?type)(uso-establecimiento-contenedor ?uso)) ?fact <-(local-zona (tipo ropero|local-custodia-equipaje|consigna)(uso-establecimiento-contenedor residencial-publico)) =>(if (<= ?superficie 20) then (printout t " El local "?type" se considera de Riesgo especial Bajo" crlf) (modify ?fact (riesgo-especial TRUE)(grado-de-riesgo bajo)) else (if (and (> ?superficie 20) (<= ?superficie 100)) then (printout t " El local "?type" se considera de Riesgo especial Medio" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo medio)) else (if (> ?superficie 100) then (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo alto)) (printout t " El local "?type" se considera de Riesgo especial Alto" crlf))))) (defrule grado-de-riesgo-productos-farmaceuticos (local-zona (v ?volumen)(tipo ?type)(uso-establecimiento-contenedor ?uso)) ?fact <-(local-zona (tipo almacen-de-productos-clinicos|almacen-de-productos-farmaceuticos)(uso-establecimiento-contenedor hospitalario)) =>(if (<= ?volumen 100) then (printout t " El local "?type" no se considera de Riesgo especial" crlf) (modify ?fact (grado-de-riesgo no-especial)) else (if (and (> ?volumen 100) (<= ?volumen 200)) then (printout t " El local "?type" se considera de Riesgo especial Bajo" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo bajo)) else (if (and(> ?volumen 200) (<= ?volumen 400)) then (printout t " El local "?type" se considera de Riesgo especial Medio" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo medio))

Page 18: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Anejo: Reglas en Jess de la Ontología: D.B. Seguridad en caso de Incendio.

- 282 -

else (if (> ?volumen 400) then (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo alto)) (printout t " El local "?type" se considera de Riesgo especial Alto" crlf)))))) (defrule grado-de-riesgo-laboratorio-clinico (local-zona (v ?volumen)(tipo ?type)(uso-establecimiento-contenedor ?uso)) ?fact <-(local-zona (tipo laboratorio-clinico)(uso-establecimiento-contenedor hospitalario)) =>(if (<= ?volumen 350) then (printout t " El local "?type" se considera de Riesgo especial Bajo" crlf) (modify ?fact (riesgo-especial TRUE)(grado-de-riesgo bajo)) else (if (and (> ?volumen 350) (<= ?volumen 500)) then (printout t " El local "?type" se considera de Riesgo especial Medio" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo medio)) else (if (> ?volumen 500) then (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo alto)) (printout t " El local "?type" se considera de Riesgo especial Alto" crlf))))) (defrule grado-de-riesgo-Zona-esterilización (local-zona (tipo ?type)(uso-establecimiento-contenedor ?uso)) ?fact <-(local-zona (tipo zona-esterilizacion)(uso-establecimiento-contenedor hospitalario)) => (printout t " El local "?type" EN TODO CASO se considera de Riesgo especial ALTO" crlf) (modify ?fact (riesgo-especial TRUE)(grado-de-riesgo alto))) (defrule grado-de-riesgo-varios-bajo-todo-caso (local-zona (tipo ?type)(uso-establecimiento-contenedor ?uso)) ?fact <-(local-zona (tipo sala-maquinaria-climatizacion|local-contadores-electricidad|sala-maquinaria-ascensor|centro-transformacion-aislamiento-dielectrico-punto-inflamacion-mayor-300ºC)(uso-establecimiento-contenedor administrativo|aparcamiento|comercial|docente|hospitalario|publica-concurrencia|residencial-publico|residencial-vivienda)) => (printout t " El local "?type" EN TODO CASO se considera de Riesgo especial BAJO" crlf) (modify ?fact (riesgo-especial TRUE)(grado-de-riesgo bajo))) (defrule grado-de-riesgo-varios-medio-todo-caso (local-zona (tipo ?type)(uso-establecimiento-contenedor ?uso)) ?fact <-(local-zona (tipo sala-maquinaria-frigorifica-refrigerante-amoniaco|almacen-combustible-solido-calefaccion)(uso-establecimiento-contenedor administrativo|aparcamiento|comercial|docente|hospitalario|publica-concurrencia|residencial-publico|residencial-vivienda))

Page 19: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Desarrollo de una Ontología para la Seguridad en caso de Incendio en la Edificación. Aplicación a la Consulta Inteligente del Documento Básico SI.

- 283 -

=> (printout t " El local "?type" EN TODO CASO se considera de Riesgo especial MEDIO" crlf) (modify ?fact (riesgo-especial TRUE)(grado-de-riesgo medio))) (defrule grado-de-riesgo-sala-caldera-potencia-util-P (local-zona (P ?potencia)(tipo ?type)(uso-establecimiento-contenedor ?uso)) ?fact <-(local-zona (tipo sala-caldera)(uso-establecimiento-contenedor administrativo|aparcamiento|comercial|docente|hospitalario|publica-concurrencia|residencial-publico|residencial-vivienda)) =>(if (<= ?potencia 70) then (printout t " El local "?type" no se considera de Riesgo especial" crlf) (modify ?fact (grado-de-riesgo no-especial)) else (if (and (> ?potencia 70) (<= ?potencia 200)) then (printout t " El local "?type" se considera de Riesgo especial Bajo" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo bajo)) else (if (and(> ?potencia 200) (<= ?potencia 600)) then (printout t " El local "?type" se considera de Riesgo especial Medio" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo medio)) else (if (> ?potencia 600) then (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo alto)) (printout t " El local "?type" se considera de Riesgo especial Alto" crlf)))))) (defrule grado-de-riesgo-sala-maquinaria-frigorifica-refrigerante-halogenado (local-zona (P ?potencia)(tipo ?type)(uso-establecimiento-contenedor ?uso)) ?fact <-(local-zona (tipo sala-maquinaria-frigorifica-refrigerante-halogenado)(uso-establecimiento-contenedor administrativo|aparcamiento|comercial|docente|hospitalario|publica-concurrencia|residencial-publico|residencial-vivienda)) =>(if (<= ?potencia 400) then (printout t " El local "?type" se considera de Riesgo especial BAJO" crlf) (modify ?fact (riesgo-especial TRUE)(grado-de-riesgo bajo)) else (if (> ?potencia 400) then (printout t " El local "?type" se considera de Riesgo especial MEDIO" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo medio))))) (defrule grado-de-riesgo-publica-concurrencia (local-zona (v ?volumen)(tipo ?type)(uso-establecimiento-contenedor ?uso)) ?fact <-(local-zona (tipo taller-de-decorados|almacen-de-decorados|taller-de-vestuario|almacen-de-vestuario)(uso-establecimiento-contenedor publica-concurrencia)) =>(if (and(> ?volumen 100) (<= ?volumen 200))

Page 20: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Anejo: Reglas en Jess de la Ontología: D.B. Seguridad en caso de Incendio.

- 284 -

then (printout t " El local "?type" se considera de Riesgo especial MEDIO" crlf) (modify ?fact (riesgo-especial TRUE)(grado-de-riesgo medio)) else (if (> ?volumen 200) then (printout t " El local "?type" se considera de Riesgo especial ALTO" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo alto))))) (defrule grado-de-riesgo-cocina-IAdE (local-zona (tipo ?type)(uso-establecimiento-contenedor ?uso)(IAdE ?iade)(P ?potencia)) ?fact <-(local-zona (tipo cocina)(uso-establecimiento-contenedor administrativo|aparcamiento|comercial|docente|publica-concurrencia|residencial-vivienda)(IAdE TRUE)) =>(if (> ?potencia 50) then (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo alto)(IAdE TRUE)) (printout t " El local "?type" al tener una potencia instalada mayor de 50 kW por normativa necesita una Instalación Automática de Extinción de Incendios" crlf) (printout t " El local "?type" se considera de Riesgo especial Alto" crlf) else (printout t " El local "?type" no se considera de Riesgo especial" crlf) (modify ?fact (grado-de-riesgo no-especial)))) (defrule grado-de-riesgo-cocina (local-zona (P ?potencia)(tipo ?type)(uso-establecimiento-contenedor ?uso)) ?fact <-(local-zona (tipo cocina)(uso-establecimiento-contenedor administrativo|aparcamiento|comercial|docente|hospitalario|publica-concurrencia|residencial-publico|residencial-vivienda)(IAdE FALSE)) =>(if (<= ?potencia 20) then (printout t " El local "?type" no se considera de Riesgo especial" crlf) (modify ?fact (grado-de-riesgo no-especial)) else (if (and (> ?potencia 20) (<= ?potencia 30)) then (printout t " El local "?type" se considera de Riesgo especial Bajo" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo bajo)) else (if (and(> ?potencia 30) (<= ?potencia 50 )) then (printout t " El local "?type" se considera de Riesgo especial Medio" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo medio)) else (if (> ?potencia 50) then (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo alto)(IAdE TRUE)) (printout t " El local "?type" al tener una potencia instalada mayor de 50 kW por normativa necesita una Instalación Automática de Extinción de Incendios" crlf) (printout t " El local "?type" se considera de Riesgo especial Alto" crlf))))))

Page 21: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Desarrollo de una Ontología para la Seguridad en caso de Incendio en la Edificación. Aplicación a la Consulta Inteligente del Documento Básico SI.

- 285 -

(defrule grado-de-riesgo-centro-transformacion-punto-inflamacion-menor-oigual-300ºC-potencia-total (local-zona (P ?potencia)(tipo ?type)(uso-establecimiento-contenedor ?uso)) ?fact <-(local-zona (tipo centro-transformacion-aislamiento-dielectrico-punto-de-inflamacion-menor-oigual-300ºC-potencia-instalada-total)(uso-establecimiento-contenedor administrativo|aparcamiento|comercial|docente|hospitalario|publica-concurrencia|residencial-publico|residencial-vivienda)) =>(if (<= ?potencia 2500) then (printout t " El local "?type" se considera de Riesgo especial BAJO" crlf) (modify ?fact (grado-de-riesgo bajo)(riesgo-especial TRUE)) else (if (and (> ?potencia 2520) (<= ?potencia 4000)) then (printout t " El local "?type" se considera de Riesgo especial MEDIO" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo medio)) else (if (> ?potencia 4000) then (printout t " El local "?type" se considera de Riesgo especial ALTO" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo alto)))))) (defrule grado-de-riesgo-centro-transformacion-punto-inflamacion-menor-oigual-300ºC-potencia-encada-trafo (local-zona (P ?potencia)(tipo ?type)(uso-establecimiento-contenedor ?uso)) ?fact <-(local-zona (tipo centro-transformacion-aislamiento-dielectrico-punto-de-inflamacion-menor-oigual-300ºC-potencia-instalada-en-cada-transformador)(uso-establecimiento-contenedor administrativo|aparcamiento|comercial|docente|hospitalario|publica-concurrencia|residencial-publico|residencial-vivienda)) =>(if (<= ?potencia 630) then (printout t " El local "?type" se considera de Riesgo especial BAJO" crlf) (modify ?fact (grado-de-riesgo bajo)(riesgo-especial TRUE)) else (if (and (> ?potencia 630) (<= ?potencia 1000)) then (printout t " El local "?type" se considera de Riesgo especial MEDIO" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo medio)) else (if (> ?potencia 1000) then (printout t " El local "?type" se considera de Riesgo especial ALTO" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo alto)))))) (defrule grado-de-riesgo-almacen (local-zona (s ?superficie)(tipo ?type)(uso-establecimiento-contenedor ?uso)(Qs ?qs)(posicion-respecto-salida-edificio ?prse)(IAdE ?iade)(altura-de-evacuacion ?alturaevac)) ?fact <-(local-zona (tipo almacen)(uso-establecimiento-contenedor comercial)(posicion-respecto-salida-edificio en-salida|sobre-salida)(IAdE TRUE))

Page 22: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Anejo: Reglas en Jess de la Ontología: D.B. Seguridad en caso de Incendio.

- 286 -

=>(if (<= ?qs 425) then (printout t " El local "?type" no se considera de Riesgo especial" crlf) (modify ?fact (grado-de-riesgo no-especial)) else (if (and (> ?qs 425) (<= ?qs 850)(< ?superficie 2000)) then (printout t " El local "?type" se considera de Riesgo especial Bajo" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo bajo)) else (if (and(> ?qs 850) (<= ?qs 3400)(< ?superficie 600)) then (printout t " El local "?type" se considera de Riesgo especial Medio" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo medio)) else (if (and(> ?qs 3400) (<= ?qs 3000000)(> ?superficie 25)(< ?alturaevac 15)) then (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo alto)) (printout t " El local "?type" se considera de Riesgo especial Alto" crlf) else (if (> ?qs 3000000) then (printout t " El local "?type" no se considera de Riesgo especial" crlf) (modify ?fact (grado-de-riesgo no-especial)(tipo-normativa-aplicacion Reglamento-SIEI)))))))) (defrule grado-de-riesgo-almacen-uno (local-zona (s ?superficie)(tipo ?type)(uso-establecimiento-contenedor ?uso)(Qs ?qs)(posicion-respecto-salida-edificio ?prse)(IAdE ?iade)(altura-de-evacuacion ?alturaevac)) ?fact <-(local-zona (tipo almacen)(uso-establecimiento-contenedor comercial)(posicion-respecto-salida-edificio en-salida|sobre-salida)(IAdE FALSE)) =>(if (<= ?qs 425) then (printout t " El local "?type" no se considera de Riesgo especial" crlf) (modify ?fact (grado-de-riesgo no-especial)) else (if (and (> ?qs 425) (<= ?qs 850)(< ?superficie 1000)) then (printout t " El local "?type" se considera de Riesgo especial Bajo" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo bajo)) else (if (and(> ?qs 850) (<= ?qs 3400)(< ?superficie 300)) then (printout t " El local "?type" se considera de Riesgo especial Medio" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo medio)) else (if (> ?qs 3000000) then (printout t " El local "?type" no se considera de Riesgo especial" crlf)

Page 23: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Desarrollo de una Ontología para la Seguridad en caso de Incendio en la Edificación. Aplicación a la Consulta Inteligente del Documento Básico SI.

- 287 -

(modify ?fact (grado-de-riesgo no-especial)(tipo-normativa-aplicacion Reglamento-SIEI))))))) (defrule grado-de-riesgo-almacen-dos (local-zona (s ?superficie)(tipo ?type)(uso-establecimiento-contenedor ?uso)(Qs ?qs)(posicion-respecto-salida-edificio ?prse)(IAdE ?iade)(altura-de-evacuacion ?alturaevac)) ?fact <-(local-zona (tipo almacen)(uso-establecimiento-contenedor comercial)(posicion-respecto-salida-edificio debajo-salida)(IAdE TRUE)) =>(if (<= ?qs 425) then (printout t " El local "?type" no se considera de Riesgo especial" crlf) (modify ?fact (grado-de-riesgo no-especial)) else (if (and (> ?qs 425) (<= ?qs 850)(< ?superficie 800)) then (printout t " El local "?type" se considera de Riesgo especial Bajo" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo bajo)) else (if (> ?qs 3000000) then (printout t " El local "?type" no se considera de Riesgo especial" crlf) (modify ?fact (grado-de-riesgo no-especial)(tipo-normativa-aplicacion Reglamento-SIEI)))))) (defrule grado-de-riesgo-almacen-tres (local-zona (s ?superficie)(tipo ?type)(uso-establecimiento-contenedor ?uso)(Qs ?qs)(posicion-respecto-salida-edificio ?prse)(IAdE ?iade)(altura-de-evacuacion ?alturaevac)) ?fact <-(local-zona (tipo almacen)(uso-establecimiento-contenedor comercial)(posicion-respecto-salida-edificio debajo-salida)(IAdE FALSE)) =>(if (<= ?qs 425) then (printout t " El local "?type" no se considera de Riesgo especial" crlf) (modify ?fact (grado-de-riesgo no-especial)) else (if (and (> ?qs 425) (<= ?qs 850)(< ?superficie 400)) then (printout t " El local "?type" se considera de Riesgo especial Bajo" crlf) (modify ?fact (riesgo-especial TRUE) (grado-de-riesgo bajo)) else (if (> ?qs 3000000) then (printout t " El local "?type" no se considera de Riesgo especial" crlf) (modify ?fact (grado-de-riesgo no-especial)(tipo-normativa-aplicacion Reglamento-SIEI))))))

Page 24: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Anejo: Reglas en Jess de la Ontología: D.B. Seguridad en caso de Incendio.

- 288 -

A4.- Reglas relativas a las Condiciones de protección contra Incendios en un Local o Zona de Riesgo Especial. (deftemplate local-zona-pci "un local o zona de un edificio, que puede ser de riesgo especial y que tiene unas condiciones de protección contra incendios." (slot tipo-local (type SYMBOL)) ;;Nombre del local o zona (slot tipo-elemento-constructivo (type SYMBOL));;Elemento que forma parte del local de riesgo especial. (slot elemento-cierre (type SYMBOL));; Elemento móvil que permite el paso desde el local al vestíbulo de independencia o a establecimiento adyacente. (slot resistencia-al-fuego (type SYMBOL));; (slot recorrido-de-evacuacion (type SYMBOL));; (slot IAdE (type SYMBOL)(default FALSE));;Instalación automática de extinción (slot reaccion-al-fuego (type SYMBOL));; (slot elemento-revestido (type SYMBOL));;Elemento constructivo que lleva revestimiento (slot vestibulo-de-independencia (type SYMBOL)(default FALSE));;Cómo se produce la comunicación con los locales adyacentes(vestíbulo independencia) (slot riesgo-especial (type SYMBOL) (default FALSE)) (slot grado-de-riesgo (type SYMBOL))) (defrule condicion-pci-resistencia-portante (local-zona-pci (grado-de-riesgo ?grado)(tipo-elemento-constructivo ?constructivo)(tipo-local ?type)) ?fact <-(local-zona-pci (tipo-elemento-constructivo estructura-portante|cubierta-sin-actividad)(riesgo-especial TRUE)) =>(if (= ?grado bajo) then (printout t "La estructura portante de el local "?type" necesita al menos una Resistencia al Fuego de R90" crlf) (modify ?fact (resistencia-al-fuego R90)) else (if (= ?grado medio) then (printout t "La estructura portante de el local "?type" necesita al menos una Resistencia al Fuego de R120" crlf) (modify ?fact (resistencia-al-fuego R120)) else (if(= ?grado alto) then (printout t " La estructura portante de el local "?type" necesita al menos una Resistencia al Fuego de R180" crlf) (modify ?fact (resistencia-al-fuego R180)))))) (defrule condicion-pci-resistencia-pared (local-zona-pci (grado-de-riesgo ?grado)(tipo-elemento-constructivo ?constructivo)(tipo-local ?type)) ?fact <-(local-zona-pci (tipo-elemento-constructivo pared)(riesgo-especial TRUE)) =>(if (= ?grado bajo) then (printout t "Las paredes de el local "?type" necesitan al menos una Resistencia al Fuego de EI90" crlf) (modify ?fact (resistencia-al-fuego EI90)) else

Page 25: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Desarrollo de una Ontología para la Seguridad en caso de Incendio en la Edificación. Aplicación a la Consulta Inteligente del Documento Básico SI.

- 289 -

(if (= ?grado medio) then (printout t "La estructura portante de el local "?type" necesita al menos una Resistencia al Fuego de EI120" crlf) (modify ?fact (resistencia-al-fuego EI120)) else (if(= ?grado alto) then (printout t " La estructura portante de el local "?type" necesita al menos una Resistencia al Fuego de EI180" crlf) (modify ?fact (resistencia-al-fuego EI180)))))) (defrule condicion-pci-resistencia-techo (local-zona-pci (grado-de-riesgo ?grado)(tipo-elemento-constructivo ?constructivo)(tipo-local ?type)) ?fact <-(local-zona-pci (tipo-elemento-constructivo techo|cubierta-con-actividad)(riesgo-especial TRUE)) =>(if (= ?grado bajo) then (printout t "Las paredes de el local "?type" necesitan al menos una Resistencia al Fuego de REI90" crlf) (modify ?fact (resistencia-al-fuego REI90)) else (if (= ?grado medio) then (printout t "La estructura portante de el local "?type" necesita al menos una Resistencia al Fuego de EI120" crlf) (modify ?fact (resistencia-al-fuego REI120)) else (if(= ?grado alto) then (printout t " La estructura portante de el local "?type" necesita al menos una Resistencia al Fuego de EI180" crlf) (modify ?fact (resistencia-al-fuego REI180)))))) (defrule condicion-pci-resistencia-puerta (local-zona-pci (grado-de-riesgo ?grado)(tipo-elemento-constructivo ?constructivo)(tipo-local ?type)) ?fact <-(local-zona-pci (elemento-cierre puerta)(riesgo-especial TRUE)) =>(if (= ?grado bajo) then (printout t "Las puertas de comunicación del local "?type" necesitan al menos una Resistencia al Fuego de EI2 45-C5" crlf) (modify ?fact (resistencia-al-fuego EI2 45-C5)) else (if (= ?grado medio) then (printout t "Las puertas de comunicación del local "?type" necesitan al menos una Resistencia al Fuego de 2xEI2 30-C50" crlf) (modify ?fact (resistencia-al-fuego 2xEI2 30-C50)) else (if(= ?grado alto)

Page 26: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Anejo: Reglas en Jess de la Ontología: D.B. Seguridad en caso de Incendio.

- 290 -

then (printout t " Las puertas de comunicación del local "?type" necesitan al menos una Resistencia al Fuego de 2xEI2 30-C5" crlf) (modify ?fact (resistencia-al-fuego 2xEI2 30-C5)))))) (defrule condicion-pci-vestibulo-independencia (local-zona-pci (grado-de-riesgo ?grado)(tipo-local ?type)) ?fact <-(local-zona-pci(riesgo-especial TRUE)) =>(if (= ?grado bajo) then (printout t "El local "?type" NO necesita VESTÍBULO DE INDEPENDENCIA para comunicarse con el resto del edificio." crlf) (modify ?fact (vestibulo-de-independencia FALSE)(IAdE FALSE)) else (if (= ?grado medio) then (printout t "El local "?type" necesita VESTÍBULO DE INDEPENDENCIA para comunicarse con el resto del edificio." crlf) (modify ?fact (vestibulo-de-independencia TRUE)(IAdE FALSE)) else (if(= ?grado alto) then (printout t " El local "?type" necesita VESTÍBULO DE INDEPENDENCIA para comunicarse con el resto del edificio." crlf) (modify ?fact (vestibulo-de-independencia TRUE)(IAdE FALSE)))))) (defrule condicion-pci-recorrido-evacuacion-sin-IAdE (local-zona-pci (grado-de-riesgo ?grado)(tipo-local ?type)(IAdE ?iade)) ?fact <-(local-zona-pci(riesgo-especial TRUE)(IAdE FALSE)(grado-de-riesgo bajo|medio|alto)) => (printout t "El local "?type" podrá tener un máximo recorrido de evacuación de 25m" crlf) (modify ?fact (recorrido-de-evacuacion 25))) (defrule condicion-pci-recorrido-evacuacion-con-IAdE (local-zona-pci (grado-de-riesgo ?grado)(tipo-local ?type)(IAdE ?iade)) ?fact <-(local-zona-pci(riesgo-especial TRUE)(IAdE TRUE)(grado-de-riesgo bajo|medio|alto)) => (printout t "El local "?type" podrá aumentar el máximo recorrido de evacuación en un 25%" crlf) (modify ?fact (recorrido-de-evacuacion 25x1,25))) (defrule condicion-pci-reaccion-al-fuego (local-zona-pci (elemento-revestido ?elmrev)(tipo-local ?type)) ?fact <-(local-zona-pci(riesgo-especial TRUE)) =>(if (or (= ?elmrev pared)(= ?elmrev techo)) then (printout t "El revestimiento de las paredes o techos del local "?type" será B-s1,d0 " crlf) (modify ?fact (reaccion-al-fuego B-s1,d0)) else (if (= ?elmrev suelo) then (printout t "El revestimiento de el suelo del local "?type" será Bfl-s1" crlf) (modify ?fact (reaccion-al-fuego Bfl-s1)))))

Page 27: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Desarrollo de una Ontología para la Seguridad en caso de Incendio en la Edificación. Aplicación a la Consulta Inteligente del Documento Básico SI.

- 291 -

A5.- Reglas relativas a la Resistencia al Fuego. (deftemplate resistencia-al-fuego "Capacidad de un elemento constructivo de mantener durante un período de tiempo la capacidad portante y la integridad o aislamiento térmico exigido." (slot tipo-zona(type SYMBOL));;Zona donde se encuentra situado el elemento compartimentador (slot tipo-sector(type SYMBOL));;Sector determinado, como el de riesgo mínimo. (slot resistencia-al-fuego (type SYMBOL));; (slot elemento-compartimentador (type SYMBOL));;Elemento constructivo que impide durante un período de tiempo la propagación de fuego y/o humo en caso de incendio. (slot uso-sector-contenedor(type SYMBOL)) (slot posicion-respecto-rasante-sector-contenedor(type SYMBOL)) (slot altura-evacuacion(type FLOAT)) (slot pertenece-a-elemento-compartimentador(type SYMBOL)(default FALSE)) (slot vestibulo-independencia(type SYMBOL)(default FALSE)) (slot elemento-cierre (type SYMBOL)));; Elemento móvil que permite el paso desde el sector al establecimiento o sectores adyacentes. (defrule resistencia-al-fuego-usos-1 (resistencia-al-fuego (elemento-compartimentador ?elmcomp)(posicion-respecto-rasante-sector-contenedor ?posras)(altura-evacuacion ?h)) ?fact <-(resistencia-al-fuego(vestibulo-independencia FALSE)(pertenece-a-elemento-compartimentador FALSE)(uso-sector-contenedor residencial-vivienda|residencial-publico|docente|administrativo)) =>(if (and (= ?elmcomp pared)(= ?posras bajo-rasante)) then (printout t "La Resistencia al fuego de las paredes del sector será al menos EI120 " crlf) (modify ?fact (resistencia-al-fuego EI120)) else (if (and (= ?posras bajo-rasante)(or (= ?elmcomp techo)(= ?elmcomp cubierta-con-actividad))) then (printout t "La Resistencia al fuego de el techo del sector será al menos REI120" crlf) (modify ?fact (resistencia-al-fuego REI120)) else (if (and (= ?elmcomp pared)(= ?posras sobre-rasante)( <= ?h 15)) then (printout t "La Resistencia al fuego de las paredes del sector será al menos EI60 " crlf) (modify ?fact (resistencia-al-fuego EI60)) else (if (and (= ?elmcomp pared)(= ?posras sobre-rasante)( > ?h 15)(<= ?h 28)) then (printout t "La Resistencia al fuego de las paredes del sector será al menos EI90 " crlf) (modify ?fact (resistencia-al-fuego EI90)) else (if (and (= ?elmcomp pared)(= ?posras sobre-rasante)( > ?h 28)) then (printout t "La Resistencia al fuego de las paredes del sector será al menos EI120 " crlf) (modify ?fact (resistencia-al-fuego EI120)) else

Page 28: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Anejo: Reglas en Jess de la Ontología: D.B. Seguridad en caso de Incendio.

- 292 -

(if (and (or (= ?elmcomp techo)(= ?elmcomp cubierta-con-actividad))(= ?posras sobre-rasante)( <= ?h 15)) then (printout t "La Resistencia al fuego de el techo del sector será al menos REI60 " crlf) (modify ?fact (resistencia-al-fuego REI60)) else (if (and (or (= ?elmcomp techo)(= ?elmcomp cubierta-con-actividad))(= ?posras sobre-rasante)( > ?h 15)(<= ?h 28)) then (printout t "La Resistencia al fuego de el techo del sector será al menos REI90 " crlf) (modify ?fact (resistencia-al-fuego REI90)) else (if (and (or (= ?elmcomp techo)(= ?elmcomp cubierta-con-actividad))(= ?posras sobre-rasante)( > ?h 28)) then (printout t "La Resistencia al fuego de el techo del sector será al menos REI120 " crlf) (modify ?fact (resistencia-al-fuego REI120)) else (if (and (= ?posras bajo-rasante)(= ?elmcomp cubierta-sin-actividad)) then (printout t "La Resistencia al fuego de la cubierta del sector será al menos R120" crlf) (modify ?fact (resistencia-al-fuego R120)) else (if (and (= ?elmcomp cubierta-sin-actividad)(= ?posras sobre-rasante)( <= ?h 15)) then (printout t "La Resistencia al fuego de la cubierta del sector será al menos R60 " crlf) (modify ?fact (resistencia-al-fuego R60)) else (if (and (= ?elmcomp cubierta-sin-actividad)(= ?posras sobre-rasante)( > ?h 15)(<= ?h 28)) then (printout t "La Resistencia al fuego de la cubierta del sector será al menos R90 " crlf) (modify ?fact (resistencia-al-fuego R90)) else (if (and (= ?elmcomp cubierta-sin-actividad)(= ?posras sobre-rasante)( > ?h 28)) then (printout t "La Resistencia al fuego de la cubierta del sector será al menos R120 " crlf) (modify ?fact (resistencia-al-fuego R120))))))))))))))) (defrule resistencia-al-fuego-usos-2 (resistencia-al-fuego (elemento-compartimentador ?elmcomp)(posicion-respecto-rasante-sector-contenedor ?posras)(altura-evacuacion ?h)) ?fact <-(resistencia-al-fuego(vestibulo-independencia FALSE)(pertenece-a-elemento-compartimentador FALSE)(uso-sector-contenedor comercial|publica-concurrencia|hospitalario)) =>(if (and (= ?elmcomp pared)(= ?posras bajo-rasante)(<= ?h 28)) then (printout t "La Resistencia al fuego de las paredes del sector será al menos EI120 " crlf) (modify ?fact (resistencia-al-fuego EI120)) else (if (and (= ?elmcomp pared)(= ?posras bajo-rasante)(> ?h 28)) then (printout t "La Resistencia al fuego de las paredes del sector será al menos EI180 " crlf) (modify ?fact (resistencia-al-fuego EI180))

Page 29: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Desarrollo de una Ontología para la Seguridad en caso de Incendio en la Edificación. Aplicación a la Consulta Inteligente del Documento Básico SI.

- 293 -

else (if (and (= ?posras bajo-rasante)(or (= ?elmcomp techo)(= ?elmcomp cubierta-con-actividad))(<= ?h 28)) then (printout t "La Resistencia al fuego de el techo del sector será al menos REI120" crlf) (modify ?fact (resistencia-al-fuego REI120)) else (if (and (= ?posras bajo-rasante)(or (= ?elmcomp techo)(= ?elmcomp cubierta-con-actividad))(> ?h 28)) then (printout t "La Resistencia al fuego de el techo del sector será al menos REI180 " crlf) (modify ?fact (resistencia-al-fuego REI180)) else (if (and (= ?elmcomp pared)(= ?posras sobre-rasante)( <= ?h 15)) then (printout t "La Resistencia al fuego de las paredes del sector será al menos EI90 " crlf) (modify ?fact (resistencia-al-fuego EI90)) else (if (and (= ?elmcomp pared)(= ?posras sobre-rasante)( > ?h 15)(<= ?h 28)) then (printout t "La Resistencia al fuego de las paredes del sector será al menos EI120 " crlf) (modify ?fact (resistencia-al-fuego E120)) else (if (and (= ?elmcomp pared)(= ?posras sobre-rasante)( > ?h 28)) then (printout t "La Resistencia al fuego de las paredes del sector será al menos EI180 " crlf) (modify ?fact (resistencia-al-fuego EI180)) else (if (and (or (= ?elmcomp techo)(= ?elmcomp cubierta-con-actividad))(= ?posras sobre-rasante)( <= ?h 15)) then (printout t "La Resistencia al fuego de el techo del sector será al menos REI90 " crlf) (modify ?fact (resistencia-al-fuego REI90)) else (if (and (or (= ?elmcomp techo)(= ?elmcomp cubierta-con-actividad))(= ?posras sobre-rasante)( > ?h 15)(<= ?h 28)) then (printout t "La Resistencia al fuego de el techo del sector será al menos REI120 " crlf) (modify ?fact (resistencia-al-fuego REI120)) else (if (and (or (= ?elmcomp techo)(= ?elmcomp cubierta-con-actividad))(= ?posras sobre-rasante)( > ?h 28)) then (printout t "La Resistencia al fuego de el techo del sector será al menos REI180 " crlf) (modify ?fact (resistencia-al-fuego REI180)) else (if (and (= ?posras bajo-rasante)(= ?elmcomp cubierta-sin-actividad)(<= ?h 28)) then (printout t "La Resistencia al fuego de la cubierta del sector será al menos R120" crlf) (modify ?fact (resistencia-al-fuego R120)) else

Page 30: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Anejo: Reglas en Jess de la Ontología: D.B. Seguridad en caso de Incendio.

- 294 -

(if (and (= ?posras bajo-rasante)(= ?elmcomp cubierta-sin-actividad)(> ?h 28)) then (printout t "La Resistencia al fuego de la cubierta del sector será al menos R180 " crlf) (modify ?fact (resistencia-al-fuego R180)) else (if (and (= ?elmcomp cubierta-sin-actividad)(= ?posras sobre-rasante)( <= ?h 15)) then (printout t "La Resistencia al fuego de la cubierta del sector será al menos R90 " crlf) (modify ?fact (resistencia-al-fuego R90)) else (if (and (= ?elmcomp cubierta-sin-actividad)(= ?posras sobre-rasante)( > ?h 15)(<= ?h 28)) then (printout t "La Resistencia al fuego de la cubierta del sector será al menos R120 " crlf) (modify ?fact (resistencia-al-fuego R120)) else (if (and (= ?elmcomp cubierta-sin-actividad)(= ?posras sobre-rasante)( > ?h 28)) then (printout t "La Resistencia al fuego de la cubierta del sector será al menos R180 " crlf) (modify ?fact (resistencia-al-fuego R180)))))))))))))))))) (defrule resistencia-al-fuego-usos-3 (resistencia-al-fuego (elemento-compartimentador ?elmcomp)(posicion-respecto-rasante-sector-contenedor ?posras)(altura-evacuacion ?h)) ?fact <-(resistencia-al-fuego(vestibulo-independencia FALSE)(pertenece-a-elemento-compartimentador FALSE)(uso-sector-contenedor aparcamiento)(tipo-zona aparcamiento-no-robotizado)) =>(if (and (= ?elmcomp pared)(= ?posras bajo-rasante)) then (printout t "La Resistencia al fuego de las paredes del sector será al menos EI120 " crlf) (modify ?fact (resistencia-al-fuego EI120)) else (if (and (= ?posras bajo-rasante)(or (= ?elmcomp techo)(= ?elmcomp cubierta-con-actividad))) then (printout t "La Resistencia al fuego de el techo del sector será al menos REI120" crlf) (modify ?fact (resistencia-al-fuego REI120)) else (if (and (= ?elmcomp pared)(= ?posras sobre-rasante)( <= ?h 15)) then (printout t "La Resistencia al fuego de las paredes del sector será al menos EI120 " crlf) (modify ?fact (resistencia-al-fuego EI120)) else (if (and (= ?elmcomp pared)(= ?posras sobre-rasante)( > ?h 15)(<= ?h 28)) then (printout t "La Resistencia al fuego de las paredes del sector será al menos EI120 " crlf) (modify ?fact (resistencia-al-fuego E120)) else (if (and (= ?elmcomp pared)(= ?posras sobre-rasante)( > ?h 28)) then (printout t "La Resistencia al fuego de las paredes del sector será al menos EI120 " crlf) (modify ?fact (resistencia-al-fuego EI120)) else

Page 31: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Desarrollo de una Ontología para la Seguridad en caso de Incendio en la Edificación. Aplicación a la Consulta Inteligente del Documento Básico SI.

- 295 -

(if (and (or (= ?elmcomp techo)(= ?elmcomp cubierta-con-actividad))(= ?posras sobre-rasante)( <= ?h 15)) then (printout t "La Resistencia al fuego de el techo del sector será al menos REI120 " crlf) (modify ?fact (resistencia-al-fuego REI120)) else (if (and (or (= ?elmcomp techo)(= ?elmcomp cubierta-con-actividad))(= ?posras sobre-rasante)( > ?h 15)(<= ?h 28)) then (printout t "La Resistencia al fuego de el techo del sector será al menos REI120 " crlf) (modify ?fact (resistencia-al-fuego REI120)) else (if (and (or (= ?elmcomp techo)(= ?elmcomp cubierta-con-actividad))(or(= ?posras sobre-rasante)(= ?posras bajo-rasante))( > ?h 28)) then (printout t "La Resistencia al fuego de el techo del sector será al menos REI120 " crlf) (modify ?fact (resistencia-al-fuego REI120)) else (if (and (= ?posras bajo-rasante)(= ?elmcomp cubierta-sin-actividad)) then (printout t "La Resistencia al fuego de la cubierta del sector será al menos R120" crlf) (modify ?fact (resistencia-al-fuego R120)) else (if (and (= ?elmcomp cubierta-sin-actividad)(= ?posras sobre-rasante)( <= ?h 15)) then (printout t "La Resistencia al fuego de la cubierta del sector será al menos R120 " crlf) (modify ?fact (resistencia-al-fuego R120)) else (if (and (= ?elmcomp cubierta-sin-actividad)(= ?posras sobre-rasante)( > ?h 15)(<= ?h 28)) then (printout t "La Resistencia al fuego de la cubierta del sector será al menos R120 " crlf) (modify ?fact (resistencia-al-fuego R120)) else (if (and (= ?elmcomp cubierta-sin-actividad)(or (= ?posras sobre-rasante)(= ?posras bajo-rasante))( > ?h 28)) then (printout t "La Resistencia al fuego de la cubierta del sector será al menos R120 " crlf) (modify ?fact (resistencia-al-fuego R120))))))))))))))) (defrule resistencia-al-fuego-usos-4 (resistencia-al-fuego (elemento-compartimentador ?elmcomp)(posicion-respecto-rasante-sector-contenedor ?posras)(altura-evacuacion ?h)) ?fact <-(resistencia-al-fuego(vestibulo-independencia FALSE)(pertenece-a-elemento-compartimentador FALSE)(uso-sector-contenedor aparcamiento)(tipo-zona aparcamiento-robotizado)) => (if (and (= ?posras bajo-rasante)(or (= ?elmcomp techo)(= ?elmcomp cubierta-con-actividad))) then (printout t "La Resistencia al fuego de el techo del sector será al menos REI180" crlf) (modify ?fact (resistencia-al-fuego REI180))

Page 32: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Anejo: Reglas en Jess de la Ontología: D.B. Seguridad en caso de Incendio.

- 296 -

else (if (and (= ?posras bajo-rasante)(= ?elmcomp pared)) then (printout t "La Resistencia al fuego de las paredes del sector deberá ser al menos EI180" crlf) (modify ?fact (resistencia-al-fuego EI180)) else (if (and (= ?posras bajo-rasante)(= ?elmcomp cubierta-sin-actividad)) then (printout t "La Resistencia al fuego de las paredes del sector deberá ser al menos R180" crlf) (modify ?fact (resistencia-al-fuego R180)))))) (defrule resistencia-al-fuego-usos-5 (resistencia-al-fuego (elemento-compartimentador ?elmcomp)(altura-evacuacion ?h)) ?fact <-(resistencia-al-fuego(vestibulo-independencia FALSE)(pertenece-a-elemento-compartimentador FALSE)(tipo-sector sector-riesgo-minimo)) => (if (and (= ?elmcomp pared)(= ?posras sobre-rasante)( <= ?h 15)) then (printout t "La Resistencia al fuego de las paredes del sector será al menos EI90 " crlf) (modify ?fact (resistencia-al-fuego EI120)) else (if (and (= ?elmcomp pared)(= ?posras sobre-rasante)( > ?h 15)(<= ?h 28)) then (printout t "La Resistencia al fuego de las paredes del sector será al menos EI120 " crlf) (modify ?fact (resistencia-al-fuego E120)) else (if (and (= ?elmcomp pared) (= ?posras sobre-rasante)( > ?h 28)) then (printout t "La Resistencia al fuego de las paredes del sector será al menos EI120 " crlf) (modify ?fact (resistencia-al-fuego EI120)) else (if (and (or (= ?elmcomp techo)(= ?elmcomp cubierta-con-actividad))(= ?posras sobre-rasante)( <= ?h 15)) then (printout t "La Resistencia al fuego de el techo del sector será al menos REI120 " crlf) (modify ?fact (resistencia-al-fuego REI120)) else (if (and (or (= ?elmcomp techo)(= ?elmcomp cubierta-con-actividad))(= ?posras sobre-rasante)( > ?h 15)(<= ?h 28)) then (printout t "La Resistencia al fuego de el techo del sector será al menos REI120 " crlf) (modify ?fact (resistencia-al-fuego REI120)) else (if (and (or (= ?elmcomp techo)(= ?elmcomp cubierta-con-actividad))(= ?posras sobre-rasante)( > ?h 28)) then (printout t "La Resistencia al fuego de el techo del sector será al menos REI120 " crlf) (modify ?fact (resistencia-al-fuego REI120)) else (if (and (= ?elmcomp cubierta-sin-actividad)(= ?posras sobre-rasante)( <= ?h 15))

Page 33: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Desarrollo de una Ontología para la Seguridad en caso de Incendio en la Edificación. Aplicación a la Consulta Inteligente del Documento Básico SI.

- 297 -

then (printout t "La Resistencia al fuego de la cubierta del sector será al menos R120 " crlf) (modify ?fact (resistencia-al-fuego R120)) else (if (and (= ?elmcomp cubierta-sin-actividad)(= ?posras sobre-rasante)( > ?h 15)(<= ?h 28)) then (printout t "La Resistencia al fuego de la cubierta del sector será al menos R120 " crlf) (modify ?fact (resistencia-al-fuego R120)) else (if (and (= ?elmcomp cubierta-sin-actividad) (= ?posras sobre-rasante)( > ?h 28)) then (printout t "La Resistencia al fuego de la cubierta del sector será al menos R120 " crlf) (modify ?fact (resistencia-al-fuego R120)))))))))))) (defrule resistencia-al-fuego-puerta-1 (resistencia-al-fuego (elemento-compartimentador ?elmcomp)(posicion-respecto-rasante-sector-contenedor ?posras)(altura-evacuacion ?h)) ?fact <-(resistencia-al-fuego(vestibulo-independencia FALSE)(uso-sector-contenedor residencial-vivienda|residencial-publico|docente|administrativo)(elemento-cierre puerta)(pertenece-a-elemento-compartimentador TRUE)) =>(if (= ?posras bajo-rasante) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI260-C5 " crlf) (modify ?fact (resistencia-al-fuego EI260-C5)) else (if (and (= ?posras sobre-rasante)( <= ?h 15)) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI230-C5 " crlf) (modify ?fact (resistencia-al-fuego EI230-C5)) else (if (and (= ?posras sobre-rasante)( > ?h 15)(<= ?h 28)) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI245-C5 " crlf) (modify ?fact (resistencia-al-fuego EI245-C5)) else (if (and (= ?posras sobre-rasante)( > ?h 28)) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI260-C5 " crlf) (modify ?fact (resistencia-al-fuego EI260-C5))))))) (defrule resistencia-al-fuego-puerta-2 (resistencia-al-fuego (elemento-compartimentador ?elmcomp)(posicion-respecto-rasante-sector-contenedor ?posras)(altura-evacuacion ?h)) ?fact <-(resistencia-al-fuego(vestibulo-independencia FALSE)(uso-sector-contenedor comercial|publica-concurrencia|hospitalario)(elemento-cierre puerta)(pertenece-a-elemento-compartimentador TRUE))

Page 34: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Anejo: Reglas en Jess de la Ontología: D.B. Seguridad en caso de Incendio.

- 298 -

=>(if (and(= ?posras bajo-rasante)(<= ?h 28)) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI260-C5 " crlf) (modify ?fact (resistencia-al-fuego EI260-C5)) else (if (and(= ?posras bajo-rasante)(> ?h 28)) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI290-C5 " crlf) (modify ?fact (resistencia-al-fuego EI290-C5)) else (if (and (= ?posras sobre-rasante)( <= ?h 15)) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI245-C5 " crlf) (modify ?fact (resistencia-al-fuego EI245-C5)) else (if (and (= ?posras sobre-rasante)( > ?h 15)(<= ?h 28)) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI260-C5 " crlf) (modify ?fact (resistencia-al-fuego EI260-C5)) else (if (and (= ?posras sobre-rasante)( > ?h 28)) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI290-C5 " crlf) (modify ?fact (resistencia-al-fuego EI290-C5)))))))) (defrule resistencia-al-fuego-puerta-3 (resistencia-al-fuego (elemento-compartimentador ?elmcomp)(posicion-respecto-rasante-sector-contenedor ?posras)(altura-evacuacion ?h)) ?fact <-(resistencia-al-fuego(vestibulo-independencia FALSE)(uso-sector-contenedor aparcamiento)(tipo-zona aparcamiento-no-robotizado)(elemento-cierre puerta)(pertenece-a-elemento-compartimentador TRUE)) =>(if (= ?posras bajo-rasante) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI2 60-C5 " crlf) (modify ?fact (resistencia-al-fuego EI260-C5)) else if (and (= ?posras sobre-rasante)( <= ?h 15)) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI260-C5 " crlf) (modify ?fact (resistencia-al-fuego EI260-C5)) else (if (and (= ?posras sobre-rasante)( > ?h 15)(<= ?h 28)) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI260-C5" crlf) (modify ?fact (resistencia-al-fuego EI260-C5))

Page 35: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Desarrollo de una Ontología para la Seguridad en caso de Incendio en la Edificación. Aplicación a la Consulta Inteligente del Documento Básico SI.

- 299 -

else (if (and (= ?posras sobre-rasante)( > ?h 28)) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI260-C5 " crlf) (modify ?fact (resistencia-al-fuego EI260-C5))))))) (defrule resistencia-al-fuego-puerta-4 (resistencia-al-fuego (elemento-compartimentador ?elmcomp)(posicion-respecto-rasante-sector-contenedor ?posras)(altura-evacuacion ?h)) ?fact <-(resistencia-al-fuego(vestibulo-independencia FALSE)(uso-sector-contenedor aparcamiento)(tipo-zona aparcamiento-robotizado)(elemento-cierre puerta)(pertenece-a-elemento-compartimentador TRUE)) =>(if (= ?posras bajo-rasante) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI2 90-C5 " crlf) (modify ?fact (resistencia-al-fuego EI290-C5)))) (defrule resistencia-al-fuego-puerta-5 (resistencia-al-fuego (elemento-compartimentador ?elmcomp)(altura-evacuacion ?h)) ?fact <-(resistencia-al-fuego(vestibulo-independencia FALSE)(tipo-sector sector-riesgo-minimo)(elemento-cierre puerta)(pertenece-a-elemento-compartimentador TRUE)) => (if (and (= ?posras sobre-rasante)(or( <= ?h 15)( > ?h 15)(<= ?h 28)( > ?h 28))) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI260-C5 " crlf) (modify ?fact (resistencia-al-fuego EI260-C5)))) (defrule resistencia-al-fuego-puerta-8 (resistencia-al-fuego (elemento-compartimentador ?elmcomp)(posicion-respecto-rasante-sector-contenedor ?posras)(altura-evacuacion ?h)) ?fact <-(resistencia-al-fuego(uso-sector-contenedor aparcamiento)(tipo-zona aparcamiento-no-robotizado)(elemento-cierre puerta)(pertenece-a-elemento-compartimentador TRUE)(vestibulo-independencia TRUE)) =>(if (= ?posras bajo-rasante) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI2 30-C5 " crlf) (modify ?fact (resistencia-al-fuego EI230-C5)) else (if (and (= ?posras sobre-rasante)( <= ?h 15)) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI230-C5 " crlf) (modify ?fact (resistencia-al-fuego EI230-C5)) else (if (and (= ?posras sobre-rasante)( > ?h 15)(<= ?h 28)) then

Page 36: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Anejo: Reglas en Jess de la Ontología: D.B. Seguridad en caso de Incendio.

- 300 -

(printout t "La Resistencia al fuego de la puerta del sector será al menos EI230-C5" crlf) (modify ?fact (resistencia-al-fuego EI230-C5)) else (if (and (= ?posras sobre-rasante)( > ?h 28)) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI230-C5 " crlf) (modify ?fact (resistencia-al-fuego EI230-C5))))))) (defrule resistencia-al-fuego-puerta-9 (resistencia-al-fuego (elemento-compartimentador ?elmcomp)(posicion-respecto-rasante-sector-contenedor ?posras)(altura-evacuacion ?h)) ?fact <-(resistencia-al-fuego(uso-sector-contenedor aparcamiento)(tipo-zona aparcamiento-robotizado)(elemento-cierre puerta)(pertenece-a-elemento-compartimentador TRUE)(vestibulo-independencia TRUE)) =>(if (= ?posras bajo-rasante) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI2 45-C5 " crlf) (modify ?fact (resistencia-al-fuego EI245-C5)))) (defrule resistencia-al-fuego-puerta-10 (resistencia-al-fuego (elemento-compartimentador ?elmcomp)(altura-evacuacion ?h)) ?fact <-(resistencia-al-fuego(tipo-sector sector-riesgo-minimo)(elemento-cierre puerta)(pertenece-a-elemento-compartimentador TRUE)(vestibulo-independencia TRUE)) => (if (and (= ?posras sobre-rasante)(or( <= ?h 15)( > ?h 15)(<= ?h 28)( > ?h 28))) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI230-C5 " crlf) (modify ?fact (resistencia-al-fuego EI230-C5)))) (defrule resistencia-al-fuego-puerta-6 (resistencia-al-fuego (elemento-compartimentador ?elmcomp)(posicion-respecto-rasante-sector-contenedor ?posras)(altura-evacuacion ?h)) ?fact <-(resistencia-al-fuego(uso-sector-contenedor residencial-vivienda|residencial-publico|docente|administrativo)(elemento-cierre puerta)(pertenece-a-elemento-compartimentador TRUE)(vestibulo-independencia TRUE)) => (if (= ?posras bajo-rasante) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI230-C5 " crlf) (modify ?fact (resistencia-al-fuego EI230-C5)) else (if (and (= ?posras sobre-rasante)( <= ?h 15)) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI215-C5 " crlf) (modify ?fact (resistencia-al-fuego EI215-C5)) else (if (and (= ?posras sobre-rasante)( > ?h 15)(<= ?h 28))

Page 37: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Desarrollo de una Ontología para la Seguridad en caso de Incendio en la Edificación. Aplicación a la Consulta Inteligente del Documento Básico SI.

- 301 -

then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI2 45/2-C5 " crlf) (modify ?fact (resistencia-al-fuego EI245/2-C5)) else (if (and (= ?posras sobre-rasante)( > ?h 28)) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI230-C5 " crlf) (modify ?fact (resistencia-al-fuego EI230-C5))))))) (defrule resistencia-al-fuego-puerta-7 (resistencia-al-fuego (elemento-compartimentador ?elmcomp)(posicion-respecto-rasante-sector-contenedor ?posras)(altura-evacuacion ?h)) ?fact <-(resistencia-al-fuego(uso-sector-contenedor comercial|publica-concurrencia|hospitalario)(elemento-cierre puerta)(pertenece-a-elemento-compartimentador TRUE)(vestibulo-independencia TRUE)) => (if (and (= ?posras bajo-rasante)(<= ?h 28)) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI230-C5 " crlf) (modify ?fact (resistencia-al-fuego EI230-C5)) else (if(and (= ?posras bajo-rasante)( > ?h 28)) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI245-C5 " crlf) (modify ?fact (resistencia-al-fuego EI245-C5)) else (if (and (= ?posras sobre-rasante)( <= ?h 15)) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI245/2-C5 " crlf) (modify ?fact (resistencia-al-fuego EI245/2-C5)) else (if (and (= ?posras sobre-rasante)( > ?h 15)(<= ?h 28)) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI230-C5 " crlf) (modify ?fact (resistencia-al-fuego EI230-C5)) else (if (and (= ?posras sobre-rasante)( > ?h 28)) then (printout t "La Resistencia al fuego de la puerta del sector será al menos EI245-C5 " crlf) (modify ?fact (resistencia-al-fuego EI245-C5))))))))

Page 38: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Anejo: Reglas en Jess de la Ontología: D.B. Seguridad en caso de Incendio.

- 302 -

A6.- Reglas relativas a la Reacción al Fuego. (deftemplate reaccion-al-fuego "un local o zona de un edificio, que puede ser de riesgo especial y que tiene unas condiciones de protección contra incendios." (slot tipo-zona(type SYMBOL));;Zona donde se encuentra situado el elemento revestido (slot reaccion-al-fuego (type SYMBOL));; (slot elemento-revestido (type SYMBOL));;Elemento constructivo que lleva el revestimiento (slot uso-establecimiento-contenedor(type SYMBOL)) (slot pasillo-protegido(type SYMBOL)(default FALSE)) (slot escalera-protegida(type SYMBOL)(default FALSE)) (slot espacio-oculto (type SYMBOL))) (defrule reaccion-al-fuego-aparcamiento (reaccion-al-fuego (elemento-revestido ?elmrev)) ?fact <-(reaccion-al-fuego(tipo-zona aparcamiento)) =>(if (or (= ?elmrev pared)(= ?elmrev techo)) then (printout t "El revestimiento de las paredes o techos del APARCAMIENTO será A2-s1,d0 " crlf) (modify ?fact (reaccion-al-fuego A2-s1,d0)) else (if (= ?elmrev suelo) then (printout t "El revestimiento de el suelo del APARCAMIENTO será A2fl-s1" crlf) (modify ?fact (reaccion-al-fuego A2fl-s1))))) (defrule reaccion-al-fuego-zona-ocupable-hospitalario (reaccion-al-fuego (elemento-revestido ?elmrev)) ?fact <-(reaccion-al-fuego(tipo-zona zona-ocupable)(uso-establecimiento-contenedor hospitalario)) =>(if (or (= ?elmrev pared)(= ?elmrev techo)) then (printout t "El revestimiento de las paredes o techos será B-s1,d0 " crlf) (modify ?fact (reaccion-al-fuego B-s1,d0)) else (if (= ?elmrev suelo) then (printout t "El revestimiento de el suelo del APARCAMIENTO será Cfl-s1" crlf) (modify ?fact (reaccion-al-fuego Cfl-s1))))) (defrule reaccion-al-fuego-escalera (reaccion-al-fuego (elemento-revestido ?elmrev)) ?fact <-(reaccion-al-fuego(escalera-protegida TRUE)) =>(if (or (= ?elmrev pared)(= ?elmrev techo)) then (printout t "El revestimiento de las paredes o techos será B-s1,d0 " crlf) (modify ?fact (reaccion-al-fuego B-s1,d0)) else (if (= ?elmrev suelo) then (printout t "El revestimiento de el suelo del APARCAMIENTO será Cfl-s1" crlf) (modify ?fact (reaccion-al-fuego Cfl-s1)))))

Page 39: ANEJO: REGLAS EN JESS DE LA ONTOLOGÍA: DB SEGURIDAD EN ...bibing.us.es/proyectos/abreproy/4427/fichero/Memoria%2F11+-+Anej… · Anejo: Reglas en Jess de la Ontología: D.B. Seguridad

Desarrollo de una Ontología para la Seguridad en caso de Incendio en la Edificación. Aplicación a la Consulta Inteligente del Documento Básico SI.

- 303 -

(defrule reaccion-al-fuego-pasillo (reaccion-al-fuego (elemento-revestido ?elmrev)) ?fact <-(reaccion-al-fuego(pasillo-protegido TRUE)) =>(if (or (= ?elmrev pared)(= ?elmrev techo)) then (printout t "El revestimiento de las paredes o techos será B-s1,d0 " crlf) (modify ?fact (reaccion-al-fuego B-s1,d0)) else (if (= ?elmrev suelo) then (printout t "El revestimiento de el suelo del APARCAMIENTO será Cfl-s1" crlf) (modify ?fact (reaccion-al-fuego Cfl-s1))))) (defrule reaccion-al-fuego-espacio-oculto (reaccion-al-fuego (elemento-revestido ?elmrev)) ?fact <-(reaccion-al-fuego(espacio-oculto patinillo|falso-techo|suelo-elevado)) =>(if (or (= ?elmrev pared)(= ?elmrev techo)) then (printout t "El revestimiento de las paredes o techos será B-s3,d0 " crlf) (modify ?fact (reaccion-al-fuego B-s3,d0)) else (if (= ?elmrev suelo) then (printout t "El revestimiento de el suelo del APARCAMIENTO será Bfl-s2" crlf) (modify ?fact (reaccion-al-fuego Bfl-s2))))) (defrule reaccion-al-fuego-zona-ocupable (reaccion-al-fuego (elemento-revestido ?elmrev)) ?fact <-(reaccion-al-fuego(tipo-zona zona-ocupable)(uso-establecimiento-contenedor administrativo|aparcamiento|comercial|docente|residencial-publico|residencial-privado|publica-concurrencia)) =>(if (or (= ?elmrev pared)(= ?elmrev techo)) then (printout t "El revestimiento de las paredes o techos será C-s2,d0 " crlf) (modify ?fact (reaccion-al-fuego C-s2,d0)) else (if (= ?elmrev suelo) then (printout t "El revestimiento de el suelo del APARCAMIENTO será Efl" crlf) (modify ?fact (reaccion-al-fuego Efl)))))