Home
Pattern Applier - Manual de usuario
Contents
1. ET F eS Temp ate ok Ture Era ae Interface Class O Se gt enews Elnterface wrapper Sinterfaces wrapper EL UMLPrmit we Types eels Ilustraci n 27 Ejemplo de patr n con renombre de elementos a trav s de par metros La subcadena _wrapper permanecer intacta tambi n se pod a haber a adido una subcadena al principio mientras que la parte entre los s mbolos incluidos ser sustituido por el nombre que pasamos como par metro La referencia que se da para el nombre es el elemento Interface Este elemento al ser un elemento parametrizado aportar como par metro el nombre del elemento real del modelo que asume el rol de dicho elemento Es decir el nombre que se a ade a la clase creada ser el de la clase que asume el rol de Interface En el caso de que haya m s de un elemento real se tomar el del primero de ellos PatternApplier Manual de usuario 22 Aplicando el patr n a un modelo formado por una clase Class que asume el rol de Interface el resultado tras la transformaci n ser a el siguiente rd Es Models Class1 7 PI Mode Main Class gt Class wrapper E SU MLPrim tive Types e eels A F ntierfaca wrapper P i nterface wrapper Ilustraci n 28 Resultado de aplicar patr n con renombre de elementos a trav s de par metros El resultado es que la clase Class asume el rol de Interface y se crea una clase que hereda de ella Esta clase toma el nombre de
2. squeda el propio elemento le do en el patr n Esto significar a que es un elemento perteneciente a otro modelo En esta clase se pueden crear tambi n m todos para comprobar si ciertos elementos existen dentro del modelo sobre el que se aplica el patr n Esta igualdad est sujeta siempre a las caracter sticas que se consideren de inter s Es el caso de los m todos searchAssociation searchOperation y searchProperty En el caso de searchAssociation la asociaci n se buscar dentro un modelo dado En los otros dos m todos el elemento se buscar en una lista de elementos del mismo tipo La forma de b squeda estar sujeta a la finalidad de uso del m todo Siguiendo con el ejemplo del elemento Enumeration se presenta la forma que tendr a el m todo searchEnumeration Se puede tener un elemento de tipo Enumeration en el patr n y querer buscar un elemento del mismo tipo en el modelo que se considere igual hasta cierto nivel de detalle Ser necesario pasar como par metros al m todo el elemento Enumeration del patr n cuya copia se est buscar en el modelo as como el modelo o el paquete del modelo donde se realizar la b squeda Se analizar n todos los elementos del modelo y si alguno cumple todas las condiciones para considerarlo igual al elemento de referencia Enumeration se devolver este elemento encontrado Si tras analizar todos los elementos del modelo no se ha encontrado ningun elemento que satisfaga todas las co
3. copiando las caracter sticas que crea oportunas del elemento enum al elemento newenum Si fuese necesario podr an usarse otros m todos de UMLTools para completar el m todo este ser a el caso de que el elemento que se copia contenga otros tipos de elementos UML 44 Clase CheckTools Esta clase proporciona m todos para realizar comprobaciones o localizar elementos dentro del modelo sobre el que se le aplica el patr n Uno de los m todos que puede ser necesario a la hora de ampliar la funcionalidad de la herramienta es el m todo searchNamedElement Este m todo localiza en el modelo sobre el que se aplican los patrones un elemento a partir de otro elemento o de un nombre Por ejemplo si necesitamos buscar las clases que relaciona en el modelo una asociaci n tomaremos las clases del patr n que est n relacionadas con la asociaci n en el patr n y usando searchNamedElement se asignar la clase equivalente para el modelo Esta clase equivalente puede presentar 3 casos primero que la clase haya sido copiada del patr n al modelo y entonces existir a una con el mismo nombre en el modelo segundo que la clase que se toma como referencia para la b squeda sea un elemento parametrizado por lo que el m todo buscar a en el modelo sobre el que se aplica el patr n el elemento que juega el rol del elemento parametrizado y ese ser a el que asignar a y finalmente si no se da ninguno de casos anteriores se devolver a como resultado de la b
4. de usuario 11 gt Diagrams E Properties 7 gt El Tasks El Console gx Outline Y Models P Eg pattem aie Template Binding gt pattern ExampleProject h General i i Ez ControlModel a gt Y Es Models Pi li 7 EJ ControlModel lencia D E Constraints TIEL Relationships Substitutions O ActuatorClass Advanced H CommanderClass Formal Parameter Actual Parameter E Controlerciass Sensorl lass senso gt ES UMLPrimitiveTypes actuator commands i oasys es o As ze debi al Create Browse 5 Clea Navigat Navigate to pe pattems koo Ilustraci n 11 A adir Actual Parameter substituciones Seleccionaremos por cada par metro tantos elementos del modelo queramos que asuman dicho rol del patr n pudiendo no seleccionar ninguno en el caso de que el patr n contemple dicha posibilidad Cuando m s de un elemento pueda asumir un rol en la misma ventana haremos una selecci n m ltiple de los elementos manteniendo pulsado Ctrl mientras seleccionamos los elementos del modelo Select Element I Contralloop Pattem wr I ExampleProject v Eh Models w E ContralModel H ActuatorClass Commander lass ControllerCla s ControllerClass Ilustraci n 12 Seleccionar Actual Parameter para una plantilla PatternApplier Manual de usuario 12 ES Properties 53 JE Tasks El Console T Outline F Problems ES Y lt Template Binding gt pa
5. distintos tipos de plantillas dependiendo del tipo de par metro que se haya seleccionado eo Controlloop Patten gt Models 1 NewPattem lt Template Signature gt TemplateSignature Aa Di or b E Diagrams Parameters 7 En Models 7 E Y Cg NewPattem cles Main pinion Constraints a aj TemplateSignature 7 Es Class Class E cesi Add Ilustraci n 18 Vista de propiedades de un TemplateSignature ES Properties 2 gt S Tasks El Console E Outline Name Type Default Class Class Cada plantilla contiene un elemento elemento parametrizado del tipo del template parameter que podr ser modelado en base al rol que representa dentro del patr n Este rol ser asumido por otros elementos al aplicar el patr n sobre un modelo gt us ES Properties 57 Tasks El Console Outline i lagrams 7 En Model ae lt Classifier Template Parameter gt Classi Class Y Ez NewPattem Parametered Element A Main General 7 er TemplateSignature Semah Element New Pattem lt TemplateSignature gt Documenta tion get Class Class Type Class 1 ClassiterlemplateParameter Class1 EA cass Advanced Create Browse Navigate gt cz UMLPrimitive Types AA AY Oasys Default LE PattemApplicr Value I pattems Create Browse I
6. el bot n secundario del rat n y seleccionamos Checkout SVN Repository Exploring Rational Software Architect Standard Edition O a ES He Edt Mavigate Search Projet Run Window Help ci E a Ft SUN Repository E a y New gt SVN Repositories 0 es Show History Compare gt Show Revision Graph we svin ssh fealarcome 138 100 76 25 gt E ASLab gt gt Asys gt gt Higgs Import gt Ge KEA Rename move 7 people Brard Tag gt E adolfohm Copy gt arturobr b gt aail Delete Orba To lay hoba Copy URL to Clipboard 2 0 7 ealarcon i les to display ai gt MyUMLPluglet_TreeRea Properties 0 CONGO isplay a Refresh Ee e slo B gt E Puget toString Ilustraci n 1 Descarga de PatternApplier desde repositorio En las siguientes ventanas elegimos las opciones que sean de nuestro inter s Ser necesario marcar que la salida ha de ser un proyecto en el espacio de trabajo Check out as a Project in the workspace Al final se realiza la descarga del proyecto al explorador de proyectos t URL del repositorio svn ssh software aslab upm es home svnroot PatternApplier Manual de usuario 6 Checkout from SWN Check Out As Select the method of check out and the revisi n to check out Choose how to check out folder PattemAppler Project Name PattermApplier Check out HEAD revision tesson C Se Checkout from SVN Check Out As Sele
7. que modela el par metro La herramienta sigue as parcialmente la recomendaci n de la OMG para la especificaci n de patrones mediante colaboraciones parametrizadas v ase Booch 2005 Cap tulo 29 Con la inclusi n de los par metros necesarios tendremos en el patr n una plantilla con par metros que se deben asignar a la hora de aplicar el patr n sobre un modelo 3 1 1 Adici n de par metros a nuestro patr n Para a adir un par metro al patr n pichamos con el secundario el modelo de definici n del patr n y seleccionamos Add UML Template Parameter tipo elemento Ac Deployment Specification File Edt Source Refactor Navigate Search Project Run Modeling Wir Device EET Execution Environment i Project Explorer 2 Add Diagram y Node 2 New gt Activity H Add Shortcut Collaboration gt I Controlloop_Pattem Open Opaque Behavior gt eb Models Open With State Machine 7 NewPattem Close Relationship BB ri i Close All s p a Save As Attribute Constraint ve As hd Es Models Boolean l URL Link ct ee Y Main Visualize Comportixt Fran UMLPrimitive Types Rename ae Ls sis gt eo oasys Refactor Biene a Natoral Ilustraci n 17 A adir Template Parameter Ver apartado 3 1 2 Limitaciones PatternApplier Manual de usuario 16 En el modelo de definici n del patr n aparecer un TemplateSignature firma de platillas visible en el explorador de proyectos Dentro aparecer n
8. 23 Seleccionar el Perla anadi usne al ees aera wee 18 Ilustraci n 24 Aplicar estereotipos ccccssssescosssecsonssscunssscnecsssescoussscueuesscneosssensoussecsenesseneues 19 Ilustraci n 25 Seleccionar estereotipos a aplicaran oni Rs 19 Ilustraci n 26 Ejemplo de elementos con estereotipos del Perfil PatternSpec aplicados 19 Ilustraci n 27 Ejemplo de patr n con renombre de elementos a trav s de par metros 21 PatternApplier Manual de usuario 3 Ilustraci n 28 Resultado de aplicar patr n con renombre de elementos a trav s de par metros Ilustraci n 29 Ejemplo de extensi n de par metros de plantilla y elementos estereotipables 23 Ilustraci n 30 Diagrama de funcionamiento de la clase PatternParameterSs ccce 24 Ilustraci n 31 Diagrama de creaci n de elementos nuevos en el modelo de destino 25 C digo 1 Extensi n de tipos de par mentros de plantilla cooocccnnncnnnnncnnnnaninonanoso 24 C digo 2 Forma del m todo solveOperati0N occcccnccncnncnnnnacnnonacinonacononacononacnnonacnnnarononarinonanons 24 C digo 3 Extensi n de tipos de elementos que se pueden crear en el modelo de destino 26 C digo 4 Forma del m todo copyEnumeration en la clase UMLTOOIS ccccncocccnnncnncnicinonanaso 26 C digo 5 Forma del m todo searchEnumeration en la clase CheckTOols c oocccccnncnnnnncos 28 PatternApplier Manual de usuario 4 I
9. Class para insertarlo en el suyo propio resultando Class _wrapper PatternApplier Manual de usuario 23 4 Ampliaci n de la funcionalidad En los siguientes apartados se explicar n algunos puntos de extensi n de la funcionalidad de la herramienta as como algunas reglas para el correcto funcionamiento de las extensiones que se realicen dentro del c digo w PI NewPattem a _ Main Y gg TemplateSignature e EA Y tr Parameter Package Gain PI Parameter E kl 7 E Parameterl Operation E kt He Parameterl E Ks gt news Gain Ba MUP rim tive Types 1 a Ilustraci n 29 Ejemplo de extensi n de par metros de plantilla y elementos estereotipables La idea es que se puedan realizar peque as extensiones en los elementos que pueden ser parametrizados o estereotipados sin tener que conocer en profundidad la estructura del c digo En el patr n de la ilustraci n 29 hay dos elementos de plantilla Parameter Operation y Parameter2 Package que en caso de ser substituidos s lo aportar an un elemento que juega un rol no ser an transformados de modo alguno pues no est contemplado en el c digo de PatternApplier Tambi n hay un elemento Gain Enumeration que est estereotipado para ser creado en el modelo sobre el que se aplica el patr n New Este tipo de elemento no est soportado por la herramienta por lo que ser a necesario realizar una extensi n Son casos simples de extensiones que pueden surgir
10. PatternApplier Manual de usuario 1 atternA pplier n Manual de Usuario Indice o OM aisssen tes csionece sean saeenssusane E EE A 4 Conceptos fundamentales ccecsccscsceccccecnceccccecscscscececcecscececcecscsceccececscecescecscececeseesececes 4 1 Instalaci n de la herramienta csccscsscsccsccscsscsccscsccsccscescscsscnscsccscescnccscescescnsoecnees 5 1 1 Descargar desde el repositorio svn ASLAD oocccccnnccnncnnocnnnnnanonnnnnnonnnonaronnonanonnonanonnnonos 5 1 1 importar RAS ASS E anita psoe 7 2 Aplicaci n de patrones a Modelos ccsceccccscscscsccscscscsccccccscsceccccscsceccececscsceccecececces 9 2 1 Apertura del modelo y lOS patrones ooccccconcccncnnnccnnonanonnonanonnnonaconnonanonnonanonnnonanonnnnns 9 2 2 Enlazado del modelo con los patrones cccccooccnncnnccnncnnacnnnnnanonnnnnaconnnnncnnnonanonncnanonnnonos 9 2 3 Erecci n del Petras 12 3 Dise o de patrones unes iso 15 3 1 Parametros de Panti Terere E oido ica 15 3 1 1 Adici n de par metros a nuestro patr N ccoooccnncnnccnnnnnncnnnonanonnnnanonnnnnacnnnonanonoss 15 3 1 2 Limitaciones de par metros de plantilla o ccccoooccnnonocnnnnnnncnnonanonnnonos 17 3 2 Perfil para especificaci n de transformaciones occccccncccnconocnnnnnanonnonanonnnnanonononanonnnnos 17 3 2 1 Uso de ester OU OS ri eee 17 3 2 2 Estereotipos disponibles ooccccoocccncnnocnnncnnccnnonanonnnonocnnnonaronnonnnrononanon
11. aquetes o sean elementos de tipo asociaci n Esta distinci n se realiza ya que en ocasiones para poder crear elementos del segundo grupo ser necesario haber creado ciertos elementos del primero Por ejemplo para crear una generalizaci n de una clase C1 a otra clase C2 que se crea en el modelo porque est as indicado en el patr n ser necesario que se cree antes la superclase C2 para as poder crear la asociaci n de generalizaci n de C1 a C2 En el m todo createElement habr que hacer una extensi n para dar soporte a un nuevo tipo de elemento Suponiendo que queramos poder a adir un tipo de elemento como Enumeration habr a que a adir un caso en el primer bucle loop ilustraci n 31 pues se considerar a un elemento individual PatternApplier Manual de usuario 26 if object instanceof Enumeration UMLTools copyEnumeration Enumeration object target break Codigo 3 Extension de tipos de elementos que se pueden crear en el modelo de destino Con esta extension se podria crear un elemento Enumeration en el modelo sobre el que se aplica el patron Si se quisiera que la funcionalidad fuese borrar en lugar de crear habria que habria que implementar un m todo para chequear la existencia del tipo punto 3 4 y en tal caso eliminarlo Se puede tomar como ejemplo para ello el caso de Association que permite eliminar asociaciones En el c digo superior se llama a un m todo perteneciente a otra clase de la her
12. cesscceceeseccceesececeeeeceeseesecessuaecetsenscesseges 10 Ilustraci n 10 Seleccionar patr n con el que enlaza el Template Binding oooccnccnocnnno 10 Ilustraci n 11 A adir Actual Parameter SUDStTITUCIONES ooccccccononccnnnnonanononnnonanoninncnananononos 11 Ilustraci n 12 Seleccionar Actual Parameter para una plantilla cooooommmmmmmomm m oo 11 Ilustraci n 13 Template Binding con todas las substituciones realizadas nenene 12 Ilustraci n 14 Ejecutar PatternApplier como Pluglet por primera Vez ooocccccnncccncnnccnnnnnancnnnnos 12 lustracion 15 Ejecutar PatternAppler dat 13 Ilustraci n 16 Consola y explorador de paquetes tras ejecuci n de PatternApplier 13 Ilustraci n 17 A adir Template ParaMeter cccccccescccccssscceceesececeesececeenecceseuseceseenecessuecessenes 15 Ilustraci n 18 Vista de propiedades de un TemplateSignature cccoocccnccnoccnncnnncnnonanonnnonaconnnnos 16 Ilustraci n 19 Vista de propiedades de un Template Parameter occccncccnnnccnnnnccnnnancnonaninanaso 16 Ilustraci n 20 Vista de una clase parametrizada frente a otra clase sin parametrizar 16 Ilustraci n 21 A adir perfil a Un MOdNEIO oomorcoconocnononiononconorocnonaricnonaciononnoronconaricnonasicnonas 17 Ilustraci n 22 Seleccionar origen del perfil a a adir cccoooccnnccnncnnnnnacnnnonanonnnnanonnnonaronnnnos 18 llustracion
13. ci n 21 A adir perfil a un modelo PatternApplier Manual de usuario Para poder estereotipar los elementos del patr n es necesario a adir el perfil al modelo de definici n del patr n Ilustraci n 21 Marcamos el modelo en el explorador de proyectos en la pesta a de propiedades seleccionamos perfiles y pulsamos Add Profile Seleccionamos la opci n de perfil en el espacio de trabajo Select Profile 2 Deployed Profile Profile in Workspace Gr 05 File Ilustraci n 22 Seleccionar origen del perfil a a adir Elegimos el perfil PatternSpec en la carpeta PatternApplier Select Profile Select Profile ic PattemApplier va Pattembpec 2 Dx Ilustraci n 23 Seleccionar el perfil a a adir Ahora ya podemos estereotipar los elementos que definen el patr n Para ello marcamos el elemento y en la pesta a de propiedades seleccionamos estereotipos y pulsamos Apply stereotypes PatternApplier Manual de usuario 19 Properties 57 i Tasks 7 i New Pattem gt Diagrams E Console os Outline hd es Models lt Class gt NewPattern Class2 Y 2 NewPattem rs Main k n ei Operations Applied Ste pes Es TemplateSignature reoty He de gt H Classi Relationsha b gt a UMLPrimiti Apply Stereotypes atera mite Types Appearance Ilustraci n 24 Aplicar estereotipos Aparecer una ventana con un listado de los estereotip
14. con los patrones Para enlazar el modelo con un patr n a adimos al modelo un Template Binding por cada patr n a aplicar sobre ste Para ello en el explorador de proyectos pinchamos el modelo con el bot n secundario y seleccionamos Add UML Template Binding PatternApplier Manual de usuario 10 Instance Specification Deploywment Specification Y S Controlloop_Pattem Execution Environment E Diagrams pe pue Es Models pen Wit Activity gt Ez pattem Collaboration 7 13 ExampleProject Opaque Behavior Diagrams State Machine 2 Rena Visualize E Constraint URL Link URL Template Binding H ControlierClass Import Model Library J SensorClass import Ilustraci n 9 A adir Template Binding Aparecer una ventana en la que buscaremos el patr n que queremos aplicar Select Element wr I Contralloop Patten et Models ue pattem projet gt 2 settings Controlloop Pattem emx 7 E Example Project v Bs Models gt E ControlModel project Ilustraci n 10 Seleccionar patr n con el que enlaza el Template Binding En las propiedades del Template Binding que se ha creado aparecer n los par metros de la plantilla del patr n roles Para ello pinchamos el elemento TemplateBinding que hemos a adido Pattern y seleccionamos la pesta a de la vista de propiedades Seleccionamos una de los par metros controller y pinchamos Browse PatternApplier Manual
15. ct the project location Use default workspace location Ilustraci n 3 Check out paso 2 PatternApplier Manual de usuario 7 1 1 Importar RAS Asset Otra opci n es importar el RAS Asset en el que est empaquetada la herramienta En primer lugar debemos descargar en nuestro equipo el fichero que lo contiene de http aslab org software PatternApplier ras Seguidamente tenemos que importar el contenido en nuestro RSA Para ello seleccionamos File Import Fe Modeling Rational Software Architect Standard Edition Edit Source Refactor Navigate Search Project Modeling Run Window Help Shitt AR N gt Rename Convert Line Delimiters To 2atternApplier Ilustraci n 4 Importar En la ventana que surge elegimos RAS Import y continuamos Select IBM RAS import wizard gt gt Plug in Development gt Profiling and Logging Ilustraci n 5 Importar RAS Asset PatternApplier Manual de usuario 8 A continuaci n indicamos la localizaci n del fichero que contiene el RAS Asset y finalmente aceptamos el destino pinchando finish Import RAS Asset Select the Asset to Import The Asset can be selected either from the file system or from any of the available repositones Sune File system location fhome EuMola PattemApphier ras _ Overwrite without prompting applies only to files and folders not projects _ Save the asset manifestis Import RAS A
16. dr que usar el punto de extensi n al final del m todo Ilustraci n 30 Por ejemplo si tenemos un tipo de elemento Operation la extensi n ser a else if value instanceof Operation solveOperation Operation formal Operation value Codigo 1 Extension de tipos de paramentros de plantilla Hay que indicar el tipo de elemento del que es instancia el elemento de la plantilla en este caso Operation Asi cuando se d el caso los elementos implicados ser n tratados con el m todo especialmente dise ado para operaciones solveOperation A este m todo se le pasan el elemento formal que es el elemento parametrizado del patr n y value que es el elemento del modelo que lo substituye Es importante hacer casting del tipo de elemento de la plantilla en el paso de los par metros Operation formal Operation value Despu s habr que implementar el m todo solveOperation que se a adir en la misma clase PatternParameters El usuario tendr que completar el m todo en base a la sem ntica que se quiera dar a este nuevo tipo en el dise o de patrones Se requerir conocimiento del paquete org eclipse uml2 uml para manejar los elementos UML del modelo y del patr n A continuaci n se muestra la definici n del m todo protected void solveOperation Operation formal Operation actual C digo del m todo C digo 2 Forma del m todo solveOperation PatternApplier Manual de usuario 25 Los m todos ya impl
17. durante el dise o de un patr n A n as se considera que el usuario de este punto posee conocimientos de cierto nivel sobre las librer as que permiten la generaci n de UML mediante programaci n y el Eclipse Modeling Framework para manejar los elementos de los modelos UML 4 1 Extender elementos parametrizables Como se ha mencionado en el punto 3 1 2 los elementos que se pueden usar como par metros de plantilla est n limitados Si se quiere poder usar en el dise o alguno distinto a los indicados ser necesario a adir la sem ntica de la transformaci n que produce ese tipo de elemento en un patr n Esto se har en el c digo de PatternApplier Para ello existe la clase PatternParameters Esta clase maneja las substituciones realizadas en el modelo sobre el que se aplican los patrones Cuando la herramienta es ejecutada tras reconocer el modelo y los patrones que interact an la primera acci n de transformaci n que realiza es resolver los par metros de plantilla PatternApplier Manual de usuario 24 Class PatternParameters TemplateBinding L solvelnterface solveTemplates solveOperation c digo 1 codigo 2 Operation formal l a opertaion value Ilustraci n 30 Diagrama de funcionamiento de la clase PatternParameters El primer m todo de la clase es solveTemplates Este m todo recorre las substituciones realizadas interpretando el tipo de elemento de la plantilla Si se quiere alg n tipo nuevo se ten
18. ementados para otros tipos de elementos pueden servir de orientaci n Esta es la estructuraci n b sica para los elementos de plantilla a adidos en el dise o del patr n En los puntos 4 3 y 4 4 se explicar n otras clases de la herramienta para dar soporte durante la transformaci n de los elementos del modelo 4 2 Extender elementos estereotipados Como pasaba con los par metros de plantilla los elementos que pueden ser estereotipados durante el dise o de los patrones est n limitados tambi n Por ejemplo elementos que pueden ser marcados con el estereotipo new para que sean creados en el modelo de destino Ser necesario pues ampliar tambi n el c digo para a adir nuevos elementos a los indicados en el punto 3 2 3 Class PatternTools Class UMLTools handleElement copyClass createElement copyInterface switch loop case 1 c digo 3 En Object copyEnumeration case2 target c digo 4 Ilustraci n 31 Diagrama de creaci n de elementos nuevos en el modelo de destino Estas modificaciones tendr n comienzo en la clase PatternTools Tras realizar las tareas oportunas con los par metros de plantilla la aplicaci n pasa a trabajar con los elementos estereotipados del patr n La herramienta analizar dos veces los elementos estereotipados y realizar las transformaciones necesarias Se har dos veces porque se har distinci n entre dos tipos de elementos seg n sean elementos individuales clases interfaces p
19. ementos mediante par metros En el dise o de los patrones se pueden a adir unas notaciones espec ficas para indicar que elementos del patr n que ser n creados en el modelo final adoptar n el nombre de elementos del modelo fuente como par metro en sus propios nombres La forma de indicar que alg n elemento toma el nombre de otro para el suyo propio es insertando una cadena de caracteres que indicar que en su lugar se insertar el nombre de un elemento del modelo fuente La cadena tiene la forma reference_element Los s mbolos indican que se inserta un par metro Reference_element es el elemento del patr n que sirve de referencia para tomar el nombre que se inserta en el nombre del elemento a renombrar El elemento de referencia tiene que ser un elemento parametrizado del patr n y el nombre se toma del elemento del modelo que juega el rol de dicho elemento Ejemplo de caso de uso Este caso ser a el de un elemento que es creado en el modelo porque est as especificado en el patr n y queremos que el nombre del elemento creado tenga parcial o totalmente el nombre de un elemento de nuestro modelo La figura inferior muestra un ejemplo de patr n con un par metro de plantilla y su correspondiente elemento parametrizado Interface y otra clase Interface _wrapper que ser creada y generalizar a la clase que asuma el rol de Interface Amd En Models Interface E gt ea Ca Interface wrapper Tk Main
20. inir una notaci n para extender UML como lenguaje formal de especificaci n de patrones Es formal porque especifica las transformaciones que realizar la herramienta PatternApplier El perfil PatternSpec contenido en la carpeta de proyecto de la herramienta ha sido definido para proveer de estas notaciones necesarias para los patrones Uno de los mecanismos usados en la definici n de perfiles son los estereotipos Estos son unos tipos limitados de metaclases que se usan en combinaci n con otro tipo de metaclases a las que extienden 3 2 1 Uso de estereotipos En el perfil PatternSpec hay definidos diferentes estereotipos En el modelo de definici n del patr n se aplicar un estereotipo a un elemento en funci n de lo que se quiera que la herramienta haga con ese elemento por ejemplo crearlo en el modelo final Ef Project Explorer 2 Ol x 4 Tasks E Console Qutline O Y New Pattem a Ca lt Model NewPattern An iarrar Po 3 Diagrams Applied Profiles 7 En Model a on dianas Name Version Release Label Location DA Main Ss CPP Transformation 44 7 5 5 homefEuMo En Documenta bio gt El TempleteSionature dase Default 1 7 00 ihomejEuMo had i i Constraints 7 i o 7 F Class Class eployment 7 00 Mhome EuMo Y i Classl a5 Capabilities gt Feel Standard l homefEuMo SS Relationships gt Bcn 1 a ey UM LPrimitive Types Language Add Profile Remove Profile Ilustra
21. ise o que capturamos en modelos UML As pues tendremos un modelo de definici n del patr n Rol Es un papel o funci n que cumple algo o alguien en un contexto En la definici n de un patr n varios elementos par metros realizan distintos roles en el contexto del patr n para resolver el problema Al aplicar un patr n a un modelo se especifican qu elementos del patr n dan valor a sus par metros es decir realizan los roles definidos en el patr n TemplateParameter Es un elemento UML que permite definir una plantilla con par metros v ase UML2 2009 p g 628 Se usar n en los modelos de definici n de los patrones para definir roles que tendr n que ser jugados por elementos externos al patr n TemplateBinding Es un elemento UML que permite enlazar un modelo con otro modelo que contenga plantillas con par metros v ase UML2 2009 p g 627 A trav s de este enlace se puede saber elementos que juegan los roles PatternApplier Manual de usuario 5 1 Instalaci n de la herramienta A continuaci n se explican dos maneras de importar la herramienta PatternApplier al explorador de proyectos del RSA para poder trabajar con ella Podremos descargar las fuentes del repositorio svn de ASLab o importarla desde un RAS Asset 1 1 Descargar desde el repositorio svn ASLab En la vista SVN Repository Exploring buscamos el directorio root people ealarcon PatternApplier en el repositorio SVN de ASLab Pinchamos con
22. lemento parametrizado no tiene porqu ser sustituido por un elemento del modelo fuente cuando es as no se crea en el modelo final rename Un elemento del modelo fuente que substituye a otro en el patr n tomar el nombre de este ltimo 3 2 3 Limitaciones de los estereotipos A pesar de que en el dise o del perfil RSA permite aplicar los estereotipos de PatternSpec a cualquier elemento existen limitaciones a los elementos que pueden ser usados en el dise o de los patrones Para poder usar elementos distintos es necesario ampliar la funcionalidad de la herramienta a trav s del c digo Las restricciones de cada perfil a los elementos que pueden extenderlos en el dise o de los patrones se muestran en la siguiente tabla Estereotipo Elementos new Class Interface Package Association Generalization InterfaceRealization Attribute en las clases parametrizadas de las plantillas Operation en las clases e interfaces parametrizadas de las plantillas Attribute en las clases parametrizadas de las plantillas Operation en las clases e interfaces parametrizadas de las plantillas delete Association Attribute en las clases parametrizadas de las plantillas Operation en las clases e interfaces parametrizadas de las plantillas ParameterableElement elementos parametrizados de las plantillas ParameterableElement elementos parametrizados de las plantillas PatternApplier Manual de usuario 21 3 3 Renombrar el
23. lustraci n 19 Vista de propiedades de un Template Parameter En el diagrama de clases tienen la misma apariencia un elemento sin parametrizar Class2 que uno parametrizado del mismo tipo Class1 Y E NewPattem fa hy Main 3 _ Main 7 7 er Template Signa ture Hih g J Ch e a fH Classl Class Eds S an mzgattibutel my attributel Eg Attributed m Operation ig Operation C D Y f Operation gt Class2 Ilustraci n 20 Vista de una clase parametrizada frente a otra clase sin parametrizar PatternApplier Manual de usuario 17 3 1 2 Limitaciones de par metros de plantilla El uso de par metros en patrones para ser aplicados con la herramienta PatternApplier est limitado a elementos del tipo Class clase e Interface interfaz Los elementos como atributos y operaciones pertenecientes a dichos elementos deber n ser tratados usando el mecanismo explicado en el siguiente punto De manera que habr que especificar si son creados o no en el elemento que juega el rol Si se quiere poder utilizar otro tipo de elementos como par metros ser necesario ampliar la funcionalidad de la herramienta 3 2 Perfil para especificaci n de transformaciones El uso de perfiles UML permite la extensi n de la sintaxis y la sem ntica del UML para expresar conceptos espec ficos de un determinado domino de aplicaci n En nuestro caso de dise o de patrones def
24. ndiciones se devolvera null PatternApplier Manual de usuario 28 C digo 5 Forma del m todo searchEnumeration en la clase CheckTools
25. nnonanonnnnos 20 3 2 3 Limitaciones de los estereotipOS siinoscducecessavedebsnitducsnssnesvonsduasainccusiabsedsdanpaduxancoods 20 3 3 Renombrar elementos mediante ParaMetrOS coooccccccnccnncnnncnnnonaconnnnanonnnnanonnnonanonnnnos 21 4 Ampliaci n de la fFUNCIONALIAA cceccccecscsceccccccscsccccccscsceccccecscececcccscscscecescecscesess 23 4 1 Extender elementos parametrizables ooocccccoocnnnonnonnnnnnnonnnonaronnnnanonnnnononnnonanonnnnos 23 4 2 Extender elementos CStereOtiPadOS cscccccsssccccesseccceesececeeeeceeeeeseeeseunecesseneceeseees 25 4 3 VS WIL TOONS sao r o sovectentaseeuearaecanecerosdsuelaecseeenesese 26 4 4 Clase CheckToolS cae eee eee nen ne nee eee een ee ee ee eee ee 27 PatternApplier Manual de usuario 2 ndice de ilustraciones Ilustraci n 1 Descarga de PatternApplier desde repositorio oocccccnccccnncncnoncncnnaccnonacinonanononaso 5 lustr ci n 2 Checkout Paso lla isa 6 ustraci na MCNECK OUt DSZ ias oda 6 NUstraci n As IMD OM alr sida iodo aro d ci cine 7 NUStrAciOn S Importar RASASS Ot ii 7 Ilustraci n 6 Seleccionar localizaci n de PatternApplier raS oooncccnnccnnnncnnnnncncnnaccnonarinonaninonaso 8 Ilustraci n 7 Finalizar importaci n de RAS ASST occconccnnnnccnnonccnnnncononarononarononacononacnnnnccnonaranonanoss 8 llustracion 8 Modelos abiertos Y cerrados ii stoke a ees 9 Ilustraci n 9 A adir Template BInding cccsscccccsseccc
26. ntroducci n PatternApplier es una herramienta de dise o que permite transformar un modelo UML aplicando uno o varios patrones sobre l La herramienta est desarrollada como un pluglet para ejecutar en el entorno de modelado de Rational Software Architect de IBM y permite usar patrones especificados mediante modelos UML en este entorno El presente manual muestra al usuario de la herramienta PatternApplier c mo usarla en sus modelos utilizando patrones ya definidos as como la manera de dise ar sus propios patrones o de ampliar la funcionalidad de la herramienta Se supone que el usuario est familiarizado con RSA y el modelado con UML Conceptos fundamentales Modelo Es una abstracci n de un sistema El modelo describe los aspectos del sistema que son relevantes para el prop sito del modelo a un nivel de detalle apropiado En este documento nos referiremos con el t rmino modelo a modelos de sistemas t cnicos capturados mediante el lenguaje de modelado UML Proyecto Los proyectos a los que se hace referencia en el documento son proyectos de modelado de RSA Un proyecto de modelado en RSA es un proyecto en el espacio de trabajo de RSA que contiene uno o varios modelos UML y opcionalmente uno o varios perfiles UML as como cualquier otro tipo de recursos auxiliares ficheros con im genes de texto etc Patr n Es una soluci n a un problema de dise o Los patrones mencionados en el documento son soluciones de d
27. ools iav Run Configurations p R dainean A i intemal Tools Conf En PattemApplier jaw Team yl al gt J Patte mTools java Compare With Ilustraci n 14 Ejecutar PatternApplier como Pluglet por primera vez Si esta opci n no aparece puede que debas habilitar las capacidades de desarrollo de plugins en las preferencias del RSA Help gt Preferences gt Capabilities PatternApplier Manual de usuario 13 La configuraci n de ejecuci n quedar registrada y la aplicaci n podr ser lanzada de manera que se identifique como par metro de entrada del pluglet el modelo sobre el que se aplica el patr n Para ello en el explorador de proyectos seleccionamos el modelo A continuaci n sin marcar ning n otro elemento en cualquier parte del entorno del RSA seleccionamos en la barra principal Run Internal Tools PatternApplier File Edit Source Refactor Navigate Search Projet Modeling Window Help F ye Report gt Fig Project Explorer 30 O Y Code Coverage gt External Tools A Bv pa i Analysis Analyze Last Launched 7 Controlloop Pattern EE Properties a gt Diagrams v 2 Models Es lt Model gt gt EJ pat
28. os que se pueden aplicar a ese tipo de elemento Al lado del nombre del estereotipo aparece el nombre del perfil por lo que ser f cil identificar los estereotipos aportados por el perfil PatternSpec Apply Stereotypes auxiliary Standard delete Pattem Spec implementationClass Standard metaclass Standard MEW Pattembper Ilustraci n 25 Seleccionar estereotipos a aplicar Tras seleccionar un estereotipo el elemento se mostrar estereotipado tanto en el explorador de proyectos como en el diagrama En la siguiente figura se muestran ademas de una clase parametrizada Class una clase y una asociaci n estereotipadas Class2 y Association i New Pattern gt Diagrams v 5 Models 7 E NewPattem Ww E Associations A edeletes dlass2 Class2Holassl Classl Main Ad s Template5ignature P Classl Class o E Class Ilustraci n 26 Ejemplo de elementos con estereotipos del Perfil PatternSpec aplicados PatternApplier Manual de usuario 20 3 2 2 Estereotipos disponibles La siguiente tabla muestra los estereotipos definidos en el perfil y la transformaci n que especifican Estereotipo Especificaci n new El elemento ser creado en el modelo de destino sin importar si ste ya existe o no en el modelo fuente El elemento se a adir al modelo de destino si ste no existe ya en el modelo fuente delete S1 el elemento existe en el modelo fuente ste ser eliminado optional El e
29. ramienta UMLTools que se tendr que implementar tambi n Esta clase que proporciona m todos para copiar elementos UML se explicar en el punto siguiente Cabe destacar que al m todo se le han de pasar como par metros el elemento del patr n que se toma como referencia para copiar Enumeration Object y el modelo target que donde se realiza la copia del primero La forma en que se crean elementos en el modelo depender siempre de el propio elemento que queremos crear por lo que ser necesario tener los conocimientos necesarios para ello 4 3 Clase UMLTools Esta clase de la herramienta est implementada como una librer a est tica que proporciona m todos para copiar elementos UML Los m todos est n implementados de forma que al pasarles como par metros un elemento y un paquete o modelo UML se crea una copia del primer elemento es este paquete o modelo Se considerar copia hasta el nivel que el usuario quiera que compartan unas mismas caracter sticas En el ejemplo propuesto en el punto anterior hab a que implementar un m todo llamado copyEnumeration dentro de la clase UMLTools La forma que deber a tener es la siguiente static Enumeration copyEnumeration Enumeration enum Package target newenum target createOwnedEnumeration null M s c digo del m todo C digo 4 Forma del m todo copyEnumeration en la clase UMLTools PatternApplier Manual de usuario 27 El usuario tendr que completar el m todo
30. sset Select the destination Select the destination folder to import the project artifacts Destinati SO _ o gt oec ____KEEAEAAK K K K K K K K K E AQAU Create projects in home EuMola IBM rationakdp workspace Ilustraci n 7 Finalizar importaci n de RAS Asset PatternApplier Manual de usuario 9 2 Aplicaci n de patrones a modelos Al usar la herramienta sobre un modelo se generar autom ticamente un nuevo modelo o transformaci n del original dependiendo de la opci n elegida resultante de la aplicaci n del patr n o patrones sobre ste A continuaci n se explican los pasos necesarios para ejecutar el pluglet 2 1 Apertura del modelo y los patrones Para aplicar los patrones al modelo es necesario haber abierto tanto el modelo como los patrones que son modelos UML en RSA tambi n Project Explorer E3 E Project Explorer E3 E Ilustraci n 8 Modelos abiertos y cerrados A la izquierda de la figura se muestran dos proyectos de modelado del espacio de trabajo de RSA ControlLoop_Pattern que contiene un modelo denominado pattern y ExampleProject que contiene un modelo denominado ControlModel El modelo del primero es la definici n del patr n que se quiere aplicar en el modelo ControlModel A la derecha de la figura se muestra el resultado de abrir dichos modelos siempre en la perspectiva de modelado de RSA 2 2 Enlazado del modelo
31. tem G Jib l Y ExampleProject la L BA m Profiles gt gt Diagrams n v 2 Models ERES Documentation Classes ActuatorClass F R Gonshao Commandertlas Language Controller lass Advanced J SensorClass Run Debug F11 Run History gt Run Fs gt Run Confqurabions Debug History A Debug As gt Debug Configurations Ilustraci n 15 Ejecutar PatternApplier Ctrl F11 2 Test 2 x 3 ToString 4 TreeReader 3 Test 1 6 ControlPattermn T Reader Run As internal Tools Configura Organize Favorites Si el modelo seleccionado es v lido aparecer una ventana para introducir el nombre del nuevo modelo generado en caso de no querer alterar el original Finalmente las transformaciones sobre el modelo se realizar n Podremos comprobar en la vista de consola si el proceso ha sido correcto 7 E ExampleProject gt Diagrams v 22 Models gt a ControlMadel ge a Re gt 24 Associations Classes Actuator lass Commander lass ControllerClass Controllertlass sensortlass Actuatorilass Commandertlass Do Comprobando parametros Patron pattern Modelo con patron aplicado ControlModel_ target controller gensor gt actuator gt commander E Properties Ji Tasks E Console 5 2 gt of Outline En g
32. ttern General Csatrolldada lt oo lt lt lt os0cosi lt x lt s lt lt lt lt lt lt lt lt ip Fo pattern Documentation Substitutions Constraints Relationships Formal Parameter Actual Parameter Advanced controller ControllerClass Sensor SensorClass actuator Actuator lass commander CommanderClass Ilustraci n 13 Template Binding con todas las substituciones realizadas 2 3 Ejecuci n del pluglet Una vez creados todos los enlaces a los distintos patrones y asignados todos los par metros reales podemos proceder a ejecutar la herramienta Si es la primera vez que se ejecuta PatternApplier la informaci n relativa a la configuraci n de su ejecuci n no estar registrada en nuestro RSA por lo que habr que realizar una primera ejecuci n de la siguiente manera en el explorador de proyectos desplegamos el proyecto PatternApplier y en el paquete org aslab asys models patterns tools pinchamos con el secundario sobre PatternApplier java y seleccionamos Run As Pluglet Refactor Shitt Ak T gt E 3 Import gt 2 Controlloop Patten Export console Outline ExampleProject p p E ES Refresh FS gt 2 oasys l ern Applier 7 ce PattemApplicr wane 4 Value b B Declarations gt doc l o gt EE doc resources Transform gt false gt B das Run 4 gt 1 Java Bean Debug As l p WF wy org aslab asys moadek n ote d P rofile li Check T
33. uardado modelo Sensontlass Modelo Guardado EA eels UMLPrimitie Types Ilustraci n 16 Consola y explorador de paquetes tras ejecuci n de PatternApplier PatternApplier Manual de usuario 14 En el caso de haber elegido un modelo de destino nuevo en el explorador de proyectos aparecer un nuevo modelo ControlModel_target en el proyecto de modelado ExampleProyect que conten a el modelo de partida ControlModel Este nuevo modelo ser el resultado de aplicar el patr n al modelo inicial Si no se eligi un modelo de destino nuevo el patr n se aplicar sobre el modelo inicial ControlModel PatternApplier Manual de usuario 15 3 Dise o de patrones La herramienta transforma modelos UML de acuerdo con la especificaci n del patr n que se realiza siguiendo un lenguaje propio de especificaci n de patrones que hace uso del UML2 y un perfil del mismo el PatternSpec As los dos elementos fundamentales del lenguaje de especificaci n de patrones son dos elementos de UML los par metros de plantilla template parameters y los estereotipos del perfil PatternSpec Estos completan el dise o de los patrones a la par que los dotan de funcionalidad en su interacci n con la herramienta 3 1 Par metros de plantilla Al incluir un par metro en el dise o del patr n estaremos modelando un elemento que posteriormente ser substituido por otro es decir uno o varios elementos del modelo asumir n el rol del elemento
Download Pdf Manuals
Related Search
Related Contents
選手・役員宛 BREVILLE BES860XL Quick Start Guide Manual deinstalación y del usuario Watts 760 Samsung BX2431 Korisničko uputstvo Star Micronics SM-S220i-DB40 Leisure Season PBS4224 Use and Care Manual sample_LUMINAGE TUBE TOP A25E 4x4 Product Brochure Spanish Altronix Vertiline8 Eingeschränkte Garantie Copyright © All rights reserved.
Failed to retrieve file