Perfil UML para el modelado visual de requisitos difusos - Dialnet
Perfil UML para el modelado visual de requisitos difusos - Dialnet
Perfil UML para el modelado visual de requisitos difusos - Dialnet
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Perfil</strong> <strong>UML</strong> <strong>para</strong> <strong>el</strong> mod<strong>el</strong>ado <strong>visual</strong> <strong>de</strong> <strong>requisitos</strong> <strong>difusos</strong><br />
Ross<strong>el</strong>ine Rodríguez y Marlene Goncalves<br />
<strong>el</strong>ementos cuyos valores están restringidos a ser<br />
instancias <strong>de</strong> un tipo. Por otro lado, <strong>el</strong> estereotipo<br />
“Output” extien<strong>de</strong> los atributos, representados en<br />
<strong>el</strong> metamod<strong>el</strong>o <strong>UML</strong> con la metaclase “Property”.<br />
Dichos atributos son los escogidos <strong>para</strong> participar<br />
en la respuesta al requisito.<br />
Un término difuso (“Fuzzy Term”) tiene dos<br />
valores etiquetados: <strong>el</strong> nombre (“name”) d<strong>el</strong> término<br />
y <strong>el</strong> tipo (“type”) d<strong>el</strong> mismo. Este estereotipo es<br />
una extensión <strong>de</strong> la metaclase “NamedElement” que<br />
representa los <strong>el</strong>ementos que pue<strong>de</strong>n tener i<strong>de</strong>ntificador.<br />
Finalmente, se cuenta con un nuevo tipo<br />
enumerado “FuzzyType” cuyos valores son <strong>el</strong> conjunto<br />
{predicate, com<strong>para</strong>tor, modifier, connective,<br />
quantifier} <strong>para</strong> indicar <strong>el</strong> tipo (“type”) d<strong>el</strong> término<br />
difuso. Los términos <strong>difusos</strong> aparecen en las condiciones<br />
<strong>de</strong> búsqueda <strong>de</strong> los <strong>requisitos</strong>, las cuales son<br />
expresadas mediante <strong>el</strong> uso <strong>de</strong> lógica difusa.<br />
Figura 2<br />
<strong>Perfil</strong> <strong>de</strong> <strong>requisitos</strong> <strong>difusos</strong><br />
<br />
Profile of Fuzzy Requirements<br />
<br />
Classifier<br />
<br />
Property<br />
<br />
TypedElement<br />
<br />
Fuzzy Requirement<br />
<br />
Output<br />
<br />
Calibration<br />
Restricciones<br />
Las restricciones propias d<strong>el</strong> metamod<strong>el</strong>o,<br />
se especifican con <strong>el</strong> lenguaje OCL <strong>de</strong> la siguiente<br />
manera:<br />
• Todo requisito difuso incluye al menos un<br />
término difuso, es <strong>de</strong>cir, <strong>el</strong> conjunto <strong>de</strong> términos<br />
difuso no pue<strong>de</strong> ser vacío;<br />
context FuzzyRequirement<br />
inv: s<strong>el</strong>f.FuzzyTerm->notEmpty()<br />
• Si no se especifican atributos en <strong>el</strong> resultado se<br />
asume que aparecen en la respuesta todos los<br />
atributos <strong>de</strong> las clases y asociaciones <strong>de</strong> las que<br />
<strong>de</strong>pen<strong>de</strong> <strong>el</strong> requisito;<br />
context FuzzyRequirement<br />
post: s<strong>el</strong>f.Output@pre->IsEmpty() implies<br />
s<strong>el</strong>f.Output = union(s<strong>el</strong>f.Classifier->owned<br />
Attribute)<br />
• El valor <strong>de</strong> una calibración cualitativa está<br />
estrictamente contenido entre 0 y 1;<br />
context Qualitative<br />
inv: s<strong>el</strong>f.value > 0 and s<strong>el</strong>f.value forall(a | s<strong>el</strong>f.Classifier-><br />
exist(c | a.class = c))<br />
38