28.06.2014 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!