scieee Science in your language
[es] (orig)

Desarrollo de interfaz gráfico para modelado de procesos con variabilidad

Abstract

El presente Trabajo de Fin de Grado describe el proceso de desarrollo de una interfaz gráfica para una librería de Eclipse que modela procesos con variabilidad para su análisis, TITAN. El propósito del trabajo incluye el aprendizaje sobre redes de Petri y líneas de producto con variabilidad, así como de las posibles herramientas gráficas compatibles con Eclipse que permitan realizar el desarrollo de la interfaz, para posteriormente llevarlo a cabo. El propósito fundamental de este proyecto es la implementación gráfica de la interfaz para el modelado de líneas de producto con variabilidad compatible con Eclipse. Para lograrlo, es necesario el aprendizaje especializado en relación con dos conceptos clave: las redes de Petri y las líneas de producto con variabilidad. Ambos elementos teóricos son fundamentales para comprender la complejidad propia de los procesos con variabilidad, y así, orientar de manera correcta y clara el diseño de la interfaz gráfica. El propósito final de este trabajo se ha centrado en diseñar y crear una herramienta que facilite a los usuarios modelar y analizar procesos con variabilidad de forma intuitiva, colaborando de esta manera al desarrollo en el campo del modelado de procesos y la gestión de la variabilidad en sistemas complejos.

Read accessible full text

Desarrollo de interfaz gráfico para modelado de procesos con variabilidad

Author: Hernández Carriazo, Eduardo; Martín Reyes, Felipe
Year: 2024
Source: https://docta.ucm.es/bitstreams/8476d15b-8c0a-4a95-9a07-baa3f41b37af/download
DESARROLLO DE INTERFAZ GRÁFICO PARA MODELADO
DE PROCESOS CON VARIABILIDAD
GRAPHIC INTERFACE IMPLEMENTATION FOR VARIABLE PROCESS
MODELING
TRABAJO FIN DE GRADO
CURSO 2023-2024
EDUARDO HERNÁNDEZ CARRIAZO
FELIPE MARTÍN REYES
MARÍA ELENA GÓMEZ MARTÍNEZ
JOSE IGNACIO REQUENO JARABO
GRADO EN INGENIERÍA INFORMÁTICA
FACULTAD DE INFORMÁTICA
UNIVERSIDAD COMPLUTENSE DE MADRID
DESARROLLO DE INTERFAZ GRÁFICO PARA MODELADO
DE PROCESOS CON VARIABILIDAD
IMPLEMENTATION OF A GRAPHICAL INTERFACE TO
MODEL PROCESSES WITH VARIABILITY
TRABAJO DE FIN DE GRADO EN INGENIERÍA INFORMÁTICA
EDUARDO HERNÁNDEZ CARRIAZO
FELIPE MARTÍN REYES
MARÍA ELENA GÓMEZ MARTÍNEZ
JOSÉ IGNACIO REQUENO JARABO
CONVOCATORIA: SEPTIEMBRE 2024
GRADO EN INGENIERÍA INFORMÁTICA
FACULTAD DE INFORMÁTICA
UNIVERSIDAD COMPLUTENSE DE MADRID
9 DE SEPTIEMBRE DE 2024
DEDICATORIA
A Elena y Nacho, po su paciencia y guía
en es e casi in e minable camino.
RESUMEN
El p esen e T abajo de Fin de G ado desc ibe el p oceso de desa ollo de una
in e az g á ica pa a una lib e ía de Eclipse que modela p ocesos con a iabilidad pa a
su análisis, TITAN. El p opósi o del abajo incluye el ap endizaje sob e edes de Pe i y
líneas de p oduc o con a iabilidad, así como de las posibles he amien as g á icas
compa ibles con Eclipse que pe mi an ealiza el desa ollo de la in e az, pa a
pos e io men e lle a lo a cabo.
El p opósi o undamen al de es e p oyec o es la implemen ación g á ica de la
in e az pa a el modelado de líneas de p oduc o con a iabilidad compa ible con
Eclipse. Pa a log a lo, es necesa io el ap endizaje especializado en elación con dos
concep os cla e: las edes de Pe i y las líneas de p oduc o con a iabilidad. Ambos
elemen os eó icos son undamen ales pa a comp ende la complejidad p opia de los
p ocesos con a iabilidad, y así, o ien a de mane a co ec a y cla a el diseño de la
in e az g á ica.
El p opósi o inal de es e abajo se ha cen ado en diseña y c ea una
he amien a que acili e a los usua ios modela y analiza p ocesos con a iabilidad de
o ma in ui i a, colabo ando de es a mane a al desa ollo en el campo del modelado
de p ocesos y la ges ión de la a iabilidad en sis emas complejos.
Palab as cla e
Lenguaje de Dominio Especí ico, Red de Pe i, líneas de p oduc o, ingenie ía
o ien ada a modelos.
ABSTRACT
This Final Deg ee P ojec desc ibes he p ocess o de eloping a g aphical
in e ace o he Eclipse lib a y ha models p ocesses wi h a iabili y o analysis, TITAN. The
pu pose o he wo k includes lea ning abou Pe i ne s and a iable p oduc lines, as well
as he possible g aphic ools compa ible wi h Eclipse ha allow he de elopmen o he
in e ace, o subsequen ly ca y i ou .
The main pu pose o his p ojec is o implemen a g aphically use in e ace o
Eclipse-compa ible plugin o modelling p oduc lines wi h a iabili y. To achie e his,
special aining in wo key concep s is equi ed: Pe i ne s and a iable p oduc lines. Bo h
heo e ical elemen s a e undamen al o unde s and he complexi y o p ocesses wi h
a iabili y and hus o guide he design o he g aphical in e ace co ec ly and clea ly.
The goal o his wo k has been o design and c ea e a ool ha makes i easie o
use s o model and analyze p ocesses wi h a iabili y in an in ui i e way, hus con ibu ing
o he de elopmen in he ield o p ocess modelling and a iabili y managemen in
complex sys ems.
Key wo ds
Domain Speci ic Language, Pe i ne , p oduc lines, modeling o ien ed
enginee ing.

Con enido
Capí ulo 1 In oducción .......................................................................................................... 1
I. An eceden es: ............................................................................................................... 1
II. Obje i os: ........................................................................................................................ 2
III. Plan de abajo: ............................................................................................................. 3
Capí ulo 2 Es ado de la cues ión ..........................................................................................15
2.1. Concep os básicos .............................................................................................................. 15
2.2 Tecnologías al e na i as ............................................................................................ 21
2.2.1 G ea SPN............................................................................................................... 21
2.2.2 I ❤ Pe i Ne s ......................................................................................................... 22
2.2.3 Yaspe .................................................................................................................... 22
2.2.4 PTC In eg i y Modele ......................................................................................... 22
2.3 Tecnologías usadas .................................................................................................... 23
2.3.1 Eclipse DSL Pho on 4.8.0 .................................................................................... 23
2.3.2 EMF 2.9 (Eclipse Modeling F amewo k) .......................................................... 23
2.3.3 Si ius 6.0.2 .............................................................................................................. 24
2.3.4 Gi Hub Desk op ................................................................................................... 24
2.3.5 Gi Hub ................................................................................................................... 24
2.3.6 Pain ....................................................................................................................... 25
2.3.7 Acceleo Que y Language ................................................................................ 25
2.3.8 Compa ación con las ecnologías al e na i as .......................................... 26
Capí ulo 3 Me amodelo PNPL ................................................................................................27
3.1 Fea u e Model .............................................................................................................. 28
3.2 P esence Condi ions ................................................................................................... 30
3.3 Pe i Ne 150% ............................................................................................................... 31
Capí ulo 4 Análisis de Requisi os ...........................................................................................33
4.1 Requisi os uncionales ................................................................................................ 33
4.1.1 Rep esen ación y edición de elemen os del Fea u e Model (REEFM)... 33
4.1.2 Rep esen ación y edición de elemen os de Pe i Ne 150% (REEPN) ..... 36
4.1.3 Rep esen ación y edición de las P esence Condi ion median e una
abla (REPC) .............................................................................................................................. 40
4.2 Requisi os no uncionales .......................................................................................... 40
4.2.1 Requisi os de In e az......................................................................................... 40
4.2.1 Requisi os de Documen ación ........................................................................ 42
4.2.3 Requisi os de Man enibilidad y Po abilidad ............................................... 43
Capí ulo 5 Diseño ...................................................................................................................45
5.1 Fea u e Model .............................................................................................................. 46
5.1.1 Capa Componen s ........................................................................................... 47
5.1.2 Capa Legend ..................................................................................................... 50
5.1.3 Capa Requi es /Excludes ................................................................................. 50
5.1.4 Valida ion Rules .................................................................................................. 52
5.2 P esence Condi ions ................................................................................................... 52
5.3 Pe i Ne 150% ............................................................................................................... 54
5.3.1 Capa Componen s ............................................................................................ 54
5.3.2 Valida ion Rules ................................................................................................... 58
Capí ulo 6 Implemen ación ...................................................................................................59
6.1. Fea u e Model .............................................................................................................. 60
6.1.1. Capa Componen s ............................................................................................ 61
6.1.2. Capa Legend ...................................................................................................... 90
6.1.3. Capa Requi es /Excludes .................................................................................. 91
6.1.4. Valida ion Fea u e Model ...............................................................................102
6.2. P esence Cond ions ..................................................................................................107
6.3. Pe i Ne 150% .............................................................................................................110
6.3.1. Capa Componen s ..........................................................................................111
6.3.2. Valida ion Pe iNe ............................................................................................149
6.4. pnpl.design.Se ices .................................................................................................155
Capí ulo 7 P uebas ...............................................................................................................157
Capí ulo 8 Conclusiones y abajo u u o ...........................................................................161
I. Conclusiones ..............................................................................................................161
II. T abajo Fu u o ............................................................................................................161
Capí ulo 9 Con ibuciones Pe sonales ................................................................................165
Edua do He nández Ca iazo ..................................................................................................165
Código .....................................................................................................................................165
Memo ia ...................................................................................................................................166
Felipe Ma ín Reyes ....................................................................................................................167
Código .....................................................................................................................................167
Memo ia ...................................................................................................................................168
Bibliog a ía ............................................................................................................................169
Apéndice A- Manual de uso e ins alación ........................................................................173
1. Ins alación de Eclipse y sus plug-in ....................................................................................173
2. Manual del p og amado ....................................................................................................174
3. Manual del usua io ................................................................................................................175
Tabla 94 Lógica de la implemen ación de P esence Condi ions .......................................128
Tabla 95 Implemen ación de la he amien a de c eación A cTP.......................................129
Tabla 96 Lógica de la he amien a de c eación A cTP ........................................................129
Tabla 97 Implemen ación de la he amien a de c eación A cPT.......................................131
Tabla 98 Implemen ación de edi Name ..................................................................................132
Tabla 99 Lógica de edi Name ....................................................................................................132
Tabla 100 Implemen ación de Reconnec A cs Ta ge .........................................................133
Tabla 101 Lógica de la implemen ación de Reconnec A cs Ta ge ................................133
Tabla 102 Implemen ación de Reconnec A cs Sou ce .......................................................135
Tabla 103 Lógica de la implemen ación de Reconnec A cs Sou ce ...............................136
Tabla 104 Implemen ación de Dele e Place ...........................................................................137
Tabla 105 Lógica de implemen ación de Dele e Place .......................................................138
Tabla 106 Implemen ación de Dele e T ansi ion .....................................................................139
Tabla 107 Lógica de implemen ación de Dele e T ansi ion .................................................140
Tabla 108 Implemen ación de la he amien a Place PC in..................................................141
Tabla 109 Lógica de la he amien a Place PC in....................................................................142
Tabla 110 Implemen ación de la he amien a Place PC ou ...............................................143
Tabla 111 Lógica de la he amien a Place PC ou .................................................................143
Tabla 112 Implemen ación de la he amien a T ansi ion PC in ...........................................144
Tabla 113 Lógica de la he amien a T ansi ion PC in .............................................................145
Tabla 114 Implemen ación de la he amien a T ansi ion PC ou ........................................146
Tabla 115 Lógica de la he amien a T ansi ion PC ou ..........................................................147
Tabla 116 Implemen ación de P ope y Cus omiza ion como S yle Cus omiza ion .......149
Tabla 117 Es uc u a de Valida ion Fea u e Model ................................................................149

Tabla 118 Implemen ación de la egla Same Name .............................................................150
Tabla 119 Lógica de la egla Same Name ...............................................................................150
Tabla 120 Implemen ación de la egla Unconnec ed Elemen ..........................................150
Tabla 121 Lógica de la egla Unconnec ed Elemen ............................................................151
Tabla 122 Implemen ación de la egla Posi i e Tokens .........................................................151
Tabla 123 Lógica de la egla Posi i e Tokens ...........................................................................152
Tabla 124 Implemen ación de la egla Posi i e Weigh .......................................................152
Tabla 125 Lógica de la egla Posi i e Weigh ..........................................................................153
Tabla 126 Implemen ación de la egla No Emp y .................................................................153
Tabla 127 Lógica de la egla No Emp y ...................................................................................153
Tabla 128 Implemen ación de la egla Duplica ed A cTP ....................................................154
Tabla 129 Lógica de la egla Duplica ed A cTP ......................................................................154
Tabla 130 Implemen ación de la egla Duplica ed A cPT ....................................................155
Tabla 131 Lógica de la egla Duplica ed A cPT ......................................................................155
1
Capí ulo 1 In oducción
La mo i ación de es e p oyec o su ge de la necesidad de desa olla he amien as
ecnológicas especializadas que acili en el modelado y análisis de líneas de p oduc os
en sis emas concu en es. En, pa icula , sis emas modelados median e Redes de Pe i,
haciendo hincapié en aquellas que inco po an a iabilidad.
En la ac ualidad, exis e una ca encia signi ica i a de he amien as diseñadas
especí icamen e pa a maneja la complejidad y la a iabilidad p opias de las líneas de
p oduc os basadas en Redes de Pe i [1], lo que di icul a su ges ión e icaz, algo que
a ec a nega i amen e en la calidad y e iciencia del desa ollo de cualquie sis ema con
es as ca ac e ís icas.
Un ejemplo de es o puede se una emp esa cen ada en el desa ollo de una línea de
p oduc os pa a sis emas de au oma ización indus ial. Cada p oduc o puede ene
di e en es a iaciones dependiendo de las necesidades del clien e ( amaño de la
plan a, núme o de máquinas, equisi os de segu idad, en e o os). Pa a modela sus
p oduc os, la emp esa, usa edes de Pe i, pe o la al a de he amien as especí icas pa a
ges iona la a iabilidad p esen a di icul ades. Algunos de es os pueden se la
sob eca ga en el man enimien o, p oblemas de escalabilidad y calidad inconsis en e.
Una he amien a diseñada especí icamen e pod ía ayuda a au oma iza , mejo a y
simpli ica el p oceso de desa ollo.
Es e p oyec o p e ende abo da dicha b echa median e la implemen ación de un
in e az que pe mi an modela y analiza con mayo p ecisión las PNPL, mejo ando así la
capacidad de adap ación y espues a an e los desa íos dinámicos del desa ollo de
p oyec os den o de cualquie ámbi o.
I. An eceden es:
En un en o no en cons an e e olución y ma cado po una e oz compe encia, las
emp esas y o ganizaciones se encuen an en la búsqueda cons an e de es a egias
pa a op imiza sus p ocesos de desa ollo de so wa e. Es e obje i o se cen a en la
necesidad de adap a se ápidamen e a los cambios del me cado, con el in de
2
sa is ace de mane a e icien e y e ec i a las c ecien es exigencias y demandas de los
clien es [2].
La a iabilidad en los p ocesos se ha posicionado como un ac o de e minan e
pa a alcanza la ansiada agilidad y pe sonalización que ca ac e iza a las emp esas
líde es en la ac ualidad. Es a capacidad de adap ación a di e en es escena ios y
eque imien os ha gene ado la necesidad u gen e de con a con he amien as
especializadas que pe mi an modela y analiza dicha a iabilidad de o ma p ecisa y
e icien e. [3]
Asimismo, la ges ión e ec i a de la a iabilidad se posiciona como un pila
undamen al pa a el éxi o y la compe i i idad de las emp esas en un en o no
emp esa ial cada ez más exigen e y dinámico. La capacidad de an icipa se a las
necesidades del me cado y o ece soluciones ágiles y pe sonalizadas se ha con e ido
en un di e enciado cla e pa a aquellas o ganizaciones que buscan des aca se y
p ospe a en es e escena io desa ian e.
II. Obje i os:
El p incipal obje i o de es e abajo es desa olla una nue a in e az g á ica con
base en la lib e ía de Eclipse, TITAN, que acili e el modelado y análisis de p ocesos con
a iabilidad con Redes de Pe i.
TITAN es una lib e ía de Eclipse pa a modela Pe i Ne P oduc Lines (PNPL) [4].
Pe mi e la de inición g á ica de PNPLs y el análisis de las siguien es p opiedades
es uc u ales: s a e-machine, ma ked-g aph, (ex ended) ee-choice, y P- y T-in a ian es.
TITAN es á cons uido sob e la pla a o ma Eclipse y Eclipse Modeling F amewo k (EMF). Sus
componen es p incipales son las edes Pe i Si ius Edi o , basadas en Si ius, que in eg a
Fea u eIDE pa a especi ica modelos de ca ac e ís icas. TITAN u iliza in e namen e la
biblio eca JaCoP Ja a como un solucionado de CP pa a el análisis in a ian e y el
solucionado Sa 4J pa a el análisis de máquina de es ado, g á ico ma cado y
(ex endido) lib e elección. También ans o ma PNPL en CPN Tools pa a analiza
p opiedades dinámicas [5].
3
Pa a log a el p opósi o expues o con an e io idad, se plan ean los siguien es
obje i os especí icos:
1. In es iga y comp ende en p o undidad los concep os de edes de Pe i y líneas
de p oduc o.
2. Iden i ica y e alua las posibles he amien as g á icas compa ibles con Eclipse
pa a el desa ollo de la in e az.
3. Diseña e implemen a la in e az g á ica, asegu ando su uncionalidad y
usabilidad en la ep esen ación de p ocesos con a iabilidad.
4. Realiza p uebas exhaus i as pa a alida la e icacia y e iciencia de la in e az
desa ollada en la isualización y manipulación de modelos de p ocesos.
III. Plan de abajo:
El plan de abajo se es uc u a en a ias e apas igu osamen e diseñadas pa a
alcanza los obje i os p opues os de mane a sis emá ica y e icaz. Cada e apa es á
o ien ada a ga an iza un a ance cohe en e y o denado del p oyec o, desde la
concepción inicial has a la implemen ación inal.
An es de comenza a desa olla la plani icación del abajo, es necesa io
menciona que el uso de las me odologías agiles han pe mi ido ges iona el p oyec o
de mane a lexible y e icien e. Pa a ello se ha di idido el abajo en a eas más
pequeñas y manejables, lo que acili a el seguimien o del p og eso y mejo a la
colabo ación. Con el in de ga an iza la comunicación y las e isiones ecuen es se han
ealizado di e sos Sp in s, pe iodos co os de iempo en los que se desa ollan unas
de e minadas a eas.
G acias a la pla a o ma Ji a se ha ges ionado y moni o izado odas las a eas que,
jun o con la aplicación de comunicación Slack, han ga an izado que el p oyec o se
desa olle de o ma o ganizada y o ien ada a esul ados.
Además, cabe des aca en es e apa ado, aunque se comen a á en o o más
adelan e, el uso de la he amien a Gi Hub, que ha se ido pa a con ola odos los
4
cambios que se han lle ado a cabo en el código del p oyec o, acili ando la
colabo ación y e i ando con lic os en e e siones.
Aho a sí, es momen o de pasa a comen a las e apas que se han lle ado a cabo
en la consecución del p oyec o:
1. Con igu ación del en o no de desa ollo
En es a p ime a e apa se lle an a cabo dos a eas p incipales:
o Ins ala la aplicación de Eclipse con odos los plug-in y dependencias
necesa ias.
o Con igu a odos los en o nos necesa ios den o de es a he amien a pa a
pode desa olla el p oyec o de mane a e icaz.
Al a a se de los pasos iniciales de g an impo ancia pa a amilia izase con el
en o no y es ablece la con igu ación óp ima pa a el pos e io desa ollo, aba co
no más de es semanas, del 7 al 28 de no iemb e de 2023.
2. En enamien o
Es a segunda e apa supuso el p ime con ac o con las Pe i Ne s, an o de mane a
p ác ica como eó ica. Las a eas que se plan ean son las siguien es:
o Realiza un u o ial de Si ius y EMF en Eclipse, con lo que se p e ende da
los p ime os pasos en la con igu ación y desa ollo de modelos con es as
ecnologías.
o Pa a amilia iza se con los concep os necesa ios se ealizan una Lec u a
se ie de lec u as de documen ación sob e Pe i Ne s, Pe i Ne s wi h
P oduc Lines (PNPL), MDE y DLS.
o Implemen ación de un DSL de jugue e con el in de comp ende la u ilidad
de las Pe i Ne s.
o Familia ización con la pla a o ma de Gi y como con igu a lo e in eg a lo
con Eclipse.
Es a e apa conlle o ap oximadamen e dos meses del 20 de no iemb e de 2023
al 22 de ene o de 2024, y con i io con la p ime a, menciona an e io men e.
Du an e es os meses se ealiza on di e sos Sp in s de unos 15 días, con el in de

5
consul a dudas pe iódicamen e pa a así asimila de una mane a más sólida los
conocimien os en cues ión.
3. Esc i u a de la memo ia
La e ce a y cua a e apa es án in ínsecamen e elacionadas. La p ime a de las
dos ecoge oda la documen ación necesa ia pa a la consecución del abajo,
así como odas las acciones y de alles concebidos y ealizados con el in
mencionado. Aunque se p esen e de mane a sepa adas ambas e apas han
con i ido en el iempo, a con inuación, se de allan aquellas que a an sob e la
documen ación:
o In oducción.
o Es ado del a e/Tecnologías.
o Esc i u a del índice.
o Requisi os.
o Diseño
o Implemen ación
o T abajo u u o y conclusiones.
Cabe des aca que los pun os no han sido comple ados en o den secuencial, ya
que algunos de los apa ados necesi an de la consecución de o os pa a su
inalización, así como del desa ollo de la in e az g á ica. El iempo empleado
pa a la ealización de es a e apa a a del 22 de ene o al 9 de sep iemb e del
2024. Du an e los meses ci ados se han ealizado di e sos Sp in s, en los cuales han
sido mos adas di e sas i e aciones con el in de ob ene come a ios cons uc i os
que ayuda an al co ec o desa ollo.
4. In e az g á ica
Como se ha mencionado en la e apa an e io , el desa ollo de es a úl ima e apa
se ha ealizado conjun amen e a la de esc i u a de la memo ia. En es a, se ha
desa ollado oda implemen ación necesa ia pa a el co ec o uncionamien o
del me amodelo acili ado. Aho a se in oduci án los pun os más impo an es y
des acables que han acili ado la consecución de la in e az g á ica:
o Diseño del p ime p o o ipo de GUI.
6
o Rep esen ación de elemen os Node y Rela ion.
o Deco a o s.
o Ges ión de a cos del Fea u e Model.
o Validación del Fea u e Model.
o Rep esen ación de elemen os de Pe i Ne 150.
o Rep esen ación de P esence Condi on en Pe i Ne 150.
o Tokens en Pe i Ne 150.
o Validación de Pe i Ne 150.
o Rep esen ación de la abla con las P esence Condi ion.
Las echas pa a el desa ollado es a e apa son del 22 de ene o al 2 de sep iemb e
de 2024. Al igual que en la e apa 3, los Sp in s ealizados han sido los mismo
buscando con ellos la alidación y suge encias de los a ances ealizados el
desa ollo de la in e az. Una ez acabada es a e apa odos los es ue zos se han
cen ado en la inalización de la o ma más e ec i a y co ec a de la esc i u a de
la memo ia.
A con inuación, se mues an a ias imágenes del c onog ama y las a eas en la
pla a o ma de Ji a, mencionada an e io men e.
Ilus ación 1 Rep esen ación gene al de la plani icación ep esen ada en Ji a
7
Ilus ación 2 Ta eas de las dos p ime as e apas ep esen adas en Ji a
Ilus ación 3 Ta eas de las úl imas dos e apas ep esen adas en Ji a
8
15
Capí ulo 2 Es ado de la cues ión
El p esen e capí ulo abo da á las de iniciones de los concep os abo dados en el
desa ollo de la in e az, así como la ecopilación de las ecnologías usadas y las
al e na i as ecnológicas.
2.1. Concep os básicos
El p ime concep o que debemos de ini es el de modelo de ed de Pe i (PN, del
inglés Pe i Ne ). Las edes de Pe i son una he amien a g á ica pa a la desc ipción
o mal de sis emas cuya dinámica se ca ac e iza po la concu encia, sinc onización,
exclusión mu ua y con lic o. Las edes de Pe i inco po an una noción de es ado y una
egla de cambio que pe mi en cap u a la ca ac e ís icas es á icas y dinámicas de un
sis ema eal [6].
Es as se ep esen an g á icamen e como un g a o bipa i o di igido, que cons a de 2
ipos de nodos: luga es y ansiciones, ep esen ados con cí culos y ba as o cajas,
espec i amen e. Las a is as del g a o co esponden a los a cos, los cuales se clasi ican
en 3 ipos ( espec o de las ansiciones):
● En ada: a cos con o ma de lecha que an desde luga es a ansiciones.
● Salida: a cos con o ma de lecha que an desde ansiciones a luga es.
● Inhibido es: a cos con cí culo en el ex emo des ino que an desde luga es a
ansiciones.
Los luga es pueden con ene ma cas o okens, ep esen ados con pun os neg os
dibujados den o de los p opios cí culos. El es ado de un luga se conoce como ma cado
y se de ine po el núme o de okens con enidos en el mismo [6] [7].

16
Ilus ación 6 Ejemplo de Red de Pe i [6]
En la Ilus ación 6 se puede obse a una ed de Pe i de ejemplo donde los luga es son
cí culos nomb ados como pn con un pun o neg o aquellos que cuen an con okens, las
ansiciones como n y los a cos como lechas que los unen, sal o los a cos inhibido es
que cuen an con un pun o blanco en el ex emo des ino.
Pa a ges iona las posibles a ian es sob e una ed de Pe i se de inen las edes de Pe i
de líneas de p oduc o (PNPL, Pe i Ne P oduc Line) [8]. Se de ine a iabilidad como la
posibilidad que posee cualquie sis ema de se ampliado, cambiado, localizado, o
con igu ado pa a su uso en un con ex o especí ico.
El concep o de a iabilidad se e ie e a la capacidad de un sis ema o p oduc o pa a
adap a se a di e en es equisi os o condiciones del en o no. La a iabilidad puede
ep esen a se de di e sas mane as, como a iaciones en ca ac e ís icas, es uc u as,
ecnologías o incluso en el uncionamien o de un sis ema. Pa a en ende y ges iona con
éxi o es a a iabilidad, es esencial ep esen a de mane a adecuada.
La a iabilidad su ge en di e sos con ex os, algunos de es os con ex os pueden inclui
[9]:
17
• Va iabilidad de P oduc os: se a a de las di e encias en e dis in as e siones de
un p oduc o. Es as a iaciones pueden se en la uncionalidad, en la
con igu ación de se ie o la compa ibilidad con el ha dwa e necesa io.
• Va iabilidad de Dominio: es e ipo de a iaciones su gen al desa olla sis emas
den o de un mismo dominio, pe o equie en di e en es adecuaciones con el in
de complace los equisi os los dis in os usua ios inales.
• Va iabilidad de Pla a o mas: podemos encon a nos an e es e ipo de
a iabilidad cuando se abaja con di e en es en o nos de implemen ación,
ejemplos de ello pueden se di e sos sis emas ope a i os, disposi i os o
a qui ec u as.
• Va iabilidad de P ocesos: es e en oque de a iabilidad incluye la elección de
unas me odologías ágiles en e a en oques adicionales, o la selección de
de e minadas he amien as en e a o as en el desa ollo de sis emas.
En es e con ex o una de las ep esen aciones comunes pa a a iabilidad es po medio
de un conjun o de ca ac e ís icas en un modelo, conocido como Fea u e Model (FM).
Se a a de una ep esen ación es uc u ada de las ca ac e ís icas de un sis ema o
p oduc o, jun o con las elaciones y es icciones en e ellas. Consis e en un conjun o de
a iables llamadas ea u es y una ó mula p oposicional sob e las a iables, la cual
ma ca las combinaciones pe mi idas de a iables [10].
El con ex o de a iabilidad se ep esen a como un conjun o de ca ac e ís icas en un
modelo: Fea u e Model, FM. El FM consis e en un conjun o de a iables llamadas ea u es
y una ó mula p oposicional sob e las a iables, la cual ma ca las combinaciones
pe mi idas de a iables [10].
18
Ilus ación 7 Ejemplo de Fea u e Model de una línea de mon aje lexible [10]
En la Ilus ación 7 se puede obse a un ejemplo de Fea u e Model co espondien e a
una línea lexible de mon aje. Es a cons a de es módulos obliga o ios: InPa s, la
en ada de piezas, P ocess, los p ocesos que a a iesan las piezas, y Ou P oduc s, los
p oduc os gene ados. Las pa es de en ada pueden se de ipo A o B, y los p oduc os
de ipo 1 o 2; los p ocesos pueden se de con ol de calidad, pa alelos o ninguno, ya
que son opcionales. La ó mula del apa ado b esume es a in o mación.
Asimismo, las PNPL cons an de una ed de Pe i en la que se supe ponen las a iables del
FM, denominada 150% PN, y unas ano aciones que empa ejan cada elemen o de la
ed (luga , ansición o a co) con una ó mula p oposicional del FM, las condiciones de
p esencia [11].
19
Ilus ación 8 Ejemplo de PNPL de la línea lexible de mon aje [10]
En la Ilus ación 8 se puede e ep esen ada la PNPL co espondien e a los ejemplos de
las ilus aciones an e io es, pe o comp ende solo la pa e co espondien e al módulo
InPa s. La PN 150% mues a la a iabilidad de las piezas de en ada, especi icada en el
Fea u e Model.
Ilus ación 9 150% PN de la línea lexible de p oduc o [10]
20
En la Ilus ación 9 se puede obse a la ed de Pe i comple a co espondien e a la de la
Ilus ación 8, con los p ocesos pa alelos (ou 2, cn 2 e inc2) y con ol de calidad ( ix -> in)
opcionales, ya que po el camino 1 se pueden igno a ; y el esul ado de p oduc os 1 o
2; con el empaque ado que incluye la posibilidad de que se gene en los 2.
Exis en al e na i as pa a modela la a iabilidad de un sis ema, como son los diag amas
OVM (del inglés O hogonal Va iabili y Modeling). Es a pe mi e de ini los equisi os
a iables de una línea de p oduc o, pe o queda ue a del ámbi o del análisis o mal de
los modelos y la noción de cambio de los sis emas [12].
Dado que las PNPL modelan sis emas eales, su ep esen ación e implemen ación puede
basa se en un me amodelo que las de ina. Un me amodelo es un modelo que
especi ica los concep os de un lenguaje, las elaciones en e ellos y las eglas
es uc u ales que es ingen los posibles elemen os de los modelos álidos, así como el
cumplimien o de las eglas semán icas del dominio.
La de inición del me amodelo se basa en EMF (del inglés Eclipse Modeling F amewo k)
[13], un ma co de abajo de Eclipse pa a la especi icación de modelos en o ma o XMI,
el cual gene a la implemen ación en clases Ja a del modelo y un edi o de á bol básico.
Ilus ación 10 EMF me a-me a-model (Eco e)

21
La Ilus ación 10 mues a la especi icación de los elemen os de los me amodelos
de inidos en EMF, los cuales pe enecen a una clase (EClass), se de inen con lími es de
mul iplicidad (ETypedElemen : lowe Bound, uppe Bound) y pueden ene a ibu os
(EA ibu e).
La de inición de la ep esen ación g á ica del me amodelo que de ine una PNPL se
ealiza con base en un DSL (del inglés Domain-Speci ic Languages). Un DSL es un
lenguaje o ien ado a un dominio pa icula , de mane a que p opo cionan una
desc ipción de al o ni el exp esi a y con p imi i as po en es, inc emen ando la
p oduc i idad. Se puede de ini una sin axis conc e a como a ibu os g á icos de las
clases y sus asociaciones [14].
2.2 Tecnologías al e na i as
Uno de los equisi os de desa ollo implica que la in e az se desa olla pa a una
he amien a den o de Eclipse, po lo que es un nicho muy conc e o de desa ollo. Fue a
de Eclipse, exis en algunas aplicaciones que pe mi en la ep esen ación de Pe i Ne s.
2.2.1 G ea SPN
Es un paque e de so wa e a anzado que pe mi e el modelado, la alidación y
la e aluación del endimien o de sis emas dis ibuidos median e Redes de Pe i
Es ocás icas Gene alizadas (GSPN) y S ochas ic Well- o med Ne s (SWN). Es a
he amien a es á diseñada especí icamen e pa a maneja sis emas es ocás icos y
pe mi e ealiza análisis cuan i a i os del endimien o de o ma amigable, lo que la hace
ideal pa a aplicaciones que equie en un al o g ado de p ecisión en la e aluación del
compo amien o de sis emas complejos. Además, implemen a algo i mos de análisis
e icien es pa a pe mi i su uso en aplicaciones bas an e complejas, no sólo en ejemplos
de jugue e [15].
Sin emba go, dado que su isión p incipal es la e aluación de endimien o y su
complejidad écnica, no es una he amien a adecuada pa a p oyec os cen ados en
la a iabilidad en líneas de p oduc os. Todo es o unido a una cu a de ap endizaje
ele ada, puede e asa su implemen ación en p oyec os con iempos ajus ados.
22
2.2.2 I
❤
Pe i Ne s
Se a a de una pla a o ma web que o ece algo i mos y he amien as cen adas
en la isualización, alidación, ejecución y c eación de Redes de Pe i [16]. Es una
solución sencilla y accesible, ideal pa a la manipulación ápida de modelos de Pe i
Ne s, especialmen e e icaz en con ex os educa i os o pa a quienes ecién comienzan
a abaja con es os modelos.
Po o o lado, p esen a limi aciones pa a maneja a iabilidad compleja en líneas
de p oduc os de so wa e o en p oyec os que equie en in eg ación con o os en o nos
a anzados, como Eclipse o EMF. Su simplicidad hace que sea una he amien a
inap opiada pa a desa ollos que p ecisan una capacidad obus a de modelado y
análisis.
2.2.3 Yaspe
Es una he amien a sencilla pa a el modelado y simulación de p ocesos po
e apas. U iliza Rede de Pe i ampliadas como écnica de modelado y sopo a
simulación an o manual, clicando en el modelo, como au omá ica, alea o izando la
elección de pasos [17].
Aunque es e icaz pa a la simulación de p ocesos básicos, su en oque es limi ado
y su ausencia de ep esen ación g á ica compleja y ges ión de a iabilidad, hacen que
no sea adecuada pa a p oyec os que equie en un en oque más so is icado en la
manipulación de líneas de p oduc os con a iabilidad. Además, no p esen a la
capacidad de in eg ación con o as he amien as más complejas, lo que puede
es ingi su uso en en o nos de desa ollo colabo a i o.
2.2.4 PTC In eg i y Modele
Se a a de una he amien a que acili a la ep esen ación de a iabilidad en
modelos de sis emas complejos, incluidas las Redes de Pe i. A di e encia de o as
soluciones, pe mi e de ini alo es de e minados pa a los a ibu os a iables y pe mi e su
23
inclusión en di e en es con igu aciones, algo e dade amen e ú il pa a el desa ollo de
líneas de p oduc os con a iabilidad.
Sin emba go, es a he amien a no pe mi e la in eg ación en Eclipse y es un
p oduc o de pago, lo que limi a su accesibilidad pa a algunos p oyec os o equipos
que buscan soluciones más lexibles y de código abie o. A pesa de su po encia, la
dependencia de un en o no p opie a io y el cos e que conlle a pueden se
des a o ables en e a o as he amien as más in eg adas en Eclipse, como Si ius y EMF.
2.3 Tecnologías usadas
Las ecnologías que hemos seleccionado pa a la implemen ación de la in e az
g á ica ue on elegidas po sus ca ac e ís icas y capacidades adecuadas pa a los
equisi os del p oyec o. Exis en o as ecnologías pa a c ea in e aces g á icos de
diag amas de modelado, como es PTC In eg i y Modele [18], es a se con apone a uno
de los obje i os del p oyec o, como es ex ende la in e az g á ica de la he amien a
Ti an en Eclipse, po lo que se desca ó su uso. A con inuación, se lis an las ecnologías
usadas pa a la implemen ación de la in e az g á ica:
2.3.1 Eclipse DSL Pho on 4.8.0
Se a a de una e sión especí ica del IDE Eclipse, o ien ada al desa ollo de
aplicaciones con DSL. Es a edición p opo ciona un en o no e icaz, así como di e sas
he amien as esenciales pa a la p og amación en Ja a, pe o se desma ca al acili a el
desa ollo de DSLs. Eclipse DSL Pho on pe mi e a los desa ollado es c ea , edi a y
ges iona es os las DSLs, ya que es capaz de ges iona de o ma e icien e lenguajes de
p og amación o especi icación diseñados pa a un dominio especí ico; además, in eg a
uncionalidades como la e i icación sin ác ica, la gene ación de código y la
depu ación, odo den o de un en o no cohe en e y pe sonalizable.
2.3.2 EMF 2.9 (Eclipse Modeling F amewo k)
EMF es un amewo k de abajo de Eclipse en ocado en el modelado y
gene ación de código pa a el desa ollo de he amien as o aplicaciones basadas en un
24
modelo de da os es uc u ados [19]. La e sión 2.9 de EMF es pa icula men e ú il en la
consecución de he amien as o aplicaciones que equie en un modelo de da os bien
de inido, es a pe mi e a los desa ollado es de ini modelos de da os en o ma de
esquemas (Eco e) y au o gene a el código Ja a pe inen e pa a maneja esos modelos.
G acias a es o el desa ollo se acele a, asegu ando consis encia en e modelo e
implemen ación; odo ello acili a la in eg ación con o as he amien as de Eclipse,
como Si ius.
2.3.3 Si ius 6.0.2
Se a a de p oyec o de Eclipse que pe mi e a los desa ollado es c ea bancos
de abajo pe sonalizados pa a modelado g á ico, ap o echando ecnologías como
EMF y GMF (G aphical Modeling F amewo k) [20]. Si ius pe mi e de ini la sin axis (la o ma
en que se ep esen a isualmen e el modelo), las he amien as de edición (cómo se
pueden c ea y modi ica los elemen os del modelo) y las eglas de alidación (de es a
o ma se asegu a que el modelo sigue las eglas de inidas). Es o es especialmen e e icaz
en p oyec os que equie en modelado g á ico, ya que pe mi e a los usua ios diseña y
manipula modelos isuales de o ma in ui i a, sin necesidad de desa olla desde ce o
un en o no g á ico.
2.3.4 Gi Hub Desk op
Es a aplicación de esc i o io acili a la in e acción con Gi y Gi Hub pa a el con ol
de e siones y el desa ollo colabo a i o. Es conocida po su in e az sencilla y su acilidad
de uso, lo que pe mi e a los desa ollado es ges iona eposi o ios, ealiza commi s, c ea
amas, y usiona cambios de mane a e icien e. Su in eg ación di ec a con Gi Hub
acili a el abajo en equipo, pe mi iendo que a ios desa ollado es colabo en en un
mismo p oyec o, es én al an o de odos los cambios y ges ionen el desa ollo de mane a
más e ec i a.
2.3.5 Gi Hub
Es a es una pla a o ma en la nube pa a el almacenamien o y ges ión de
p oyec os, pa icula men e ú il pa a el desa ollo de p oyec os so wa e. Al se un
31
3.3 Pe i Ne 150%
Ilus ación 14 Reco e de la especi icación de la Pe i Ne 150% del me amodelo de PNPL ep esen ado
con EMF en Eclipse
En la Ilus ación 14 se mues a la especi icación de la ed de Pe i 150%. Es á o mada
po los siguien es elemen os:
• Place: los luga es de la ed de Pe i. Tienen un a ibu o okens pa a especi ica el
núme o de es os.
• T ansi ion: las ansiciones de la ed de Pe i.
• A c: los a cos de la ed de Pe i que une los elemen os an e io es. Tiene un a ibu o
de peso. Son de dos ipos:
o A cTP: a co que iene como o igen una ansición y como des ino un luga .
o A cPT: a co que iene como o igen un luga y como des ino una ansición.

32
Una ez p esen ados odos los elemen os y elaciones del me amodelo, es momen o de
pasa a habla de odo el p oceso, desde el análisis de los equisi os has a las p uebas y
alidación, lle ado a cabo pa a la implemen ación de la in e az g á ica.
33
Capí ulo 4 Análisis de Requisi os
En es e capí ulo se es ablecen los equisi os básicos a la ho a de desa olla la in e az,
pa a ga an iza su e iciencia, usabilidad y compa ibilidad con el en o no de desa ollo
Eclipse. Se de allan los c i e ios necesa ios pa a la in eg ación con Eclipse, la
isualización y diseño in ui i o de edes complejas, la usabilidad de la in e az g á ica y
la ealización de p uebas exhaus i as pa a asegu a la calidad y iabilidad del so wa e
a desa olla .
Hemos di idido los equisi os en dos aspec os, uncionales y no uncionales. Los equisi os
uncionales se án aquellas ac i idades que da án o ma al compo amien o y
uncionamien o de la aplicación. Po o a pa e, los equisi os no uncionales a an de
los aspec os gene ales y las p uebas que ga an icen la calidad del p oyec o.
A con inuación, se exponen con de alle los equisi os necesa ios pa a la co ec a
implemen ación del sis ema.
4.1 Requisi os uncionales
4.1.1 Rep esen ación y edición de elemen os del Fea u e Model
(REEFM)
REEFM-RF-01 El sis ema pe mi e ep esen a los nodos del Fea u e Model.
• El sis ema c ea una ins ancia po cada nodo con el nomb e co espondien e.
• El nomb e de un nodo puede se edi ado.
REEFM-RF-02 El sis ema pe mi e ep esen a las elaciones del Fea u e Model.
• El sis ema es capaz de ep esen a odas las elaciones exis en es en e los
nodos que con o men el Fea u e Model. Las elaciones pueden se : AND, OR y
Al e na i e.
34
REEFM-RF-03 El sis ema pe mi e ep esen a las elaciones no implíci as po
dependencia del Fea u e Model.
• El sis ema es capaz de ep esen a odas las elaciones Requi es exis en es en
el modelo.
REEFM-RF-04 El sis ema pe mi e ep esen a las elaciones de exclusión del Fea u e
Model.
• El sis ema es capaz de ep esen a odas las elaciones Excludes exis en es en
el modelo.
REEFM-RF-05 El sis ema pe mi e la c eación de nue os nodos.
• El sis ema cuen a con un bo ón que da la posibilidad de añadi un nue o nodo,
pa a in eg a lo en el Fea u e Model.
• Los nodos c eados se pueden si ua en cualquie luga den o del con enedo
de la ep esen ación.
REEFM-RF-06 El sis ema p esen a un bo ón pa a la c eación de nue as elaciones
AND.
• El sis ema acili a, media e un bo ón, elaciona dos nodos ya exis en es
añadiendo una nue a elación, AND, en e ellos.
REEFM-RF-07 El sis ema pe mi e la c eación de nue as elaciones OR.
• El sis ema acili a, media e un bo ón, elaciona dos nodos ya exis en es
añadiendo una nue a elación, OR, en e ellos.
REEFM-RF-08 El sis ema pe mi e la c eación de nue as elaciones Al e na i e.
• El sis ema acili a, media e un bo ón, elaciona dos nodos ya exis en es
añadiendo una nue a elación, Al e na i e, en e ellos.
REEFM-RF-09 El sis ema pe mi e la c eación de nue as elaciones Requi es.
35
• El sis ema acili a, media e un bo ón, elaciona dos nodos ya exis en es
añadiendo una nue a elación, Requi es, en e ellos.
REEFM-RF-10 El sis ema pe mi e la c eación de nue as elaciones Excludes.
• El sis ema acili a, media e un bo ón, elaciona dos nodos ya exis en es
añadiendo una nue a elación, Excludes, en e ellos.
REEFM-RF-11 El sis ema pe mi e la edición de las p opiedades de los nodos del
Fea u e Model.
• El sis ema o ece la posibilidad de la edición de odas las ca ac e ís icas de
aquellos nodos que pe enezcan a la ep esen ación del Fea u e Model.
REEFM-RF-12 El sis ema pe mi e la edición del nomb e de los nodos del Fea u e
Model.
• El sis ema o ece la posibilidad de la edición del nomb e di ec amen e en su
isualización en el diag ama de aquellos nodos que pe enezcan a la
ep esen ación del Fea u e Model.
REEFM-RF-13 El sis ema pe mi e la eliminación de los nodos.
• El sis ema pe mi e elimina el nodo, asegu ando que se man iene la cohe encia
en e la isualización y el modelo.
REEFM-RF-14 El sis ema pe mi e la eliminación de las elaciones.
• El sis ema pe mi e elimina cualquie elemen o Rela ion, asegu ando que se
man iene la cohe encia en e la isualización y el modelo.
REEFM-RF-15 El sis ema pe mi e la eliminación de las elaciones Requi es.
• El sis ema pe mi e elimina las elaciones Requi es, asegu ando que se
man iene la cohe encia en e la isualización y el modelo.
REEFM-RF-16 El sis ema pe mi e la eliminación de las elaciones Excludes.
36
• El sis ema pe mi e elimina las elaciones Excludes, asegu ando que se
man iene la cohe encia en e la isualización y el modelo.
REEFM-RF-17 El sis ema pe mi e econec a el pad e de un nodo.
• El sis ema pe mi e modi ica el nodo pad e de una elación, exis en e en e los
nodos del Fea u e Model. Pe mi e cambia el nodo pad e po o o nodo que
se encuen e en la ep esen ación, que cumpla con las es icciones.
REEFM-RF-18 El sis ema pe mi e econec a del hijo de un nodo.
• El sis ema pe mi e modi ica los nodos hijo de una elación, exis en e en e los
nodos del Fea u e Model. Pe mi e cambia los nodos hijo po o os nodos que
se encuen e en la ep esen ación, que cumplan con las es icciones.
REEFM-RF-19 El sis ema pe mi e la modi icación de los nodos Ta ge de una
elación Requi es.
• El sis ema pe mi e modi ica los nodos Ta ge de una elación Requi es,
exis en e en e los nodos del Fea u e Model. Pe mi e cambia los nodos po
o os nodos que se encuen e en la ep esen ación, que cumplan con las
es icciones.
REEFM-RF-20 El sis ema pe mi e la modi icación de los nodos Ta ge de una
elación Excludes.
• El sis ema pe mi e modi ica los nodos Ta ge de una elación Excludes,
exis en e en e los nodos del Fea u e Model. Pe mi e cambia los nodos po
o os nodos que se encuen e en la ep esen ación, que cumplan con las
es icciones.
4.1.2 Rep esen ación y edición de elemen os de Pe i Ne 150%
(REEPN)
REEPN-RF-01 El sis ema pe mi e ep esen a los elemen os Place de PN-150.

37
• El sis ema c ea una ins ancia po cada elemen o Place p esen e en el modelo,
que posibili a isualiza cada uno de es os con sus espec i os nomb es
iden i ica i os.
• El sis ema pe mi e ep esen a el ma cado del luga , median e el a ibu o
“Token”, mos ando su alo numé ico.
REEPN-RF-02 El sis ema pe mi e ep esen a los elemen os T ansi ion de PN-150
• El sis ema c ea una ins ancia po cada elemen o T ansi ion p esen e en el
modelo, que posibili a isualiza cada uno de es os con sus espec i os
nomb es iden i ica i os.
REEPN-RF-03 El sis ema pe mi e ep esen a los a cos de PN-150
• El sis ema es capaz de ep esen a odos los a cos exis en es en e los
elemen os Place y T ansi ion que con o men la PN-150.
• Po de ec o cualquie a co iene el alo 1 en su a ibu o “Weigh ”.
• La P esenceCondi ion del a co depende del de la T ansi ion a la que se unen
REEPN-RF-04 El sis ema pe mi e ep esen a las P esence Condi ions de PN-150
• El sis ema es capaz de ep esen a odas las P esence Condi ion exis en es en
la ep esen ación jun o a sus nomb es iden i ica i os, con eniendo a los
elemen os asociados.
REEPN-RF-05 El sis ema p esen a un bo ón pa a la c eación de nue os elemen os
Place de PN-150
• El sis ema cuen a con un bo ón que da la posibilidad de añadi un nue o
elemen o, Place, pa a in eg a lo en PN-150.
• Los elemen os c eados se pueden si ua en cualquie luga den o de la
ep esen ación, aco de con su a ibu o “P esence Condi ion”.
REEPN-RF-06 El sis ema p esen a un bo ón pa a la c eación de nue os elemen os
T ansi ion de PN-150
38
• El sis ema cuen a con un bo ón que da la posibilidad de añadi un nue o
elemen o, T ansi ion, pa a in eg a lo en PN-150.
• Los elemen os c eados se pueden si ua en cualquie luga den o de la
ep esen ación.
REEPN-RF-07 El sis ema p esen a un bo ón pa a la c eación de nue os a cos A cTP
de PN-150
• El sis ema acili a, media e un bo ón, elaciona un elemen o T ansi ion y uno
Place, ya exis en es, median e un nue o a co.
REEPN-RF-08 El sis ema p esen a un bo ón pa a la c eación de nue os a cos A cPT
de PN-150
• El sis ema acili a, media e un bo ón, elaciona un elemen o Place y uno
T ansi ion, ya exis en es, median e un nue o a co.
REEPN-RF-09 El sis ema p esen a un bo ón pa a la c eación de nue as P esence
Condi ion
• El sis ema acili a, media e un bo ón, c ea una nue a P esence Condi ion
acía.
REEPN-RF-10 El sis ema p esen a una he amien a pa a la edición de las
p opiedades de cada elemen o de la PN-150
• El sis ema o ece la posibilidad de la edición de odas las ca ac e ís icas de
aquellos elemen os que pe enezcan a la ep esen ación de la PN-150.
REEPN-RF-11 El sis ema pe mi e la edición del nomb e de los elemen os de la PN-
150
• El sis ema o ece la posibilidad de la edición del nomb e di ec amen e de
aquellos elemen os Place y T ansi ion, que pe enezcan a la ep esen ación de
la PN-150.
39
REEPN-RF-12 El sis ema pe mi e cambia el a ibu o sou ce de un A cTP.
• El sis ema posibili a el cambio del a ibu o sou ce de un A cTP a as ando el
inicio de la lecha hacia o o elemen o T ansi ion.
REEPN-RF-13 El sis ema pe mi e cambia el a ibu o a ge de un A cTP.
• El sis ema posibili a el cambio del a ibu o a ge de un A cTP a as ando el
inicio de la lecha hacia o o elemen o Place.
REEPN-RF-14 El sis ema pe mi e cambia el a ibu o sou ce de un A cPT.
• El sis ema posibili a el cambio del a ibu o sou ce de un A cPT a as ando el
inicio de la lecha hacia o o elemen o Place.
REEPN-RF-15 El sis ema pe mi e cambia el a ibu o a ge de un A cPT.
• El sis ema posibili a el cambio del a ibu o a ge de un A cPT a as ando el
inicio de la lecha hacia o o elemen o T ansi ion.
REEPN-RF-16 El sis ema pe mi e la eliminación de los elemen os Place.
• El sis ema pe mi e elimina los elemen os Place que es én ep esen ados en la
PN-150. Cuando se elimina el elemen o, los a cos que lleguen o salgan de él
ambién lo hacen.
REEPN-RF-17 El sis ema pe mi e la eliminación de los elemen os T ansi ion.
• El sis ema pe mi e elimina los elemen os T ansi ion que es én ep esen ados en
la PN-150. Cuando se elimina el elemen o, los a cos que lleguen o salgan de él
ambién lo hacen.
REEPN-RF-18 El sis ema pe mi e elaciona los elemen os Place y P esence
Condi ion median e d ag and d op.
40
• El sis ema pe mi e inclui y exclui un elemen o Place de una P esence
Condi ion a as ando los elemen os den o o ue a de es as en el diag ama de
ep esen ación.
REEPN-RF-19 El sis ema pe mi e elaciona los elemen os T ansi ion y P esence
Condi ion median e d ag and d op.
• El sis ema pe mi e inclui y exclui un elemen o T ansi ion de una P esence
Condi ion a as ando los elemen os den o o ue a de es as en el diag ama de
ep esen ación.
4.1.3 Rep esen ación y edición de las P esence Condi ion median e
una abla (REPC)
REPC-RF-01 El sis ema pe mi e ep esen a las P esence Condi ion.
• El sis ema pe mi e isualiza las di e en es P esence Condi ion en o ma de
abla, las columnas son el Id y la Exp ession de es a.
REPC-RF-02 El sis ema p esen a un bo ón pa a añadi nue as P esence Condi ion.
• El sis ema cuen a con un bo ón que da la posibilidad de añadi una nue a
P esence Condi ion.
4.2 Requisi os no uncionales
4.2.1 Requisi os de In e az
RNF-01 Ca ac e ís icas con las que el sis ema ep esen a los elemen os Node
• Fo ma: ec angula
• Colo : RGB (204,242,166)
• Bo de: línea neg a con inua.
• Nomb es iden i ica i os: cen ados en el cue po del nodo, con un amaño de
le a de 8 y un colo RGB (0,0,0).
47
5.1.1 Capa Componen s
Es a es la capa po de ec o en la que se ag upan odos los elemen os p incipales
que con o man la ep esen ación del Fea u e Model, obje os Node y Rela ion, así como
las he amien as que pe mi en añadi , modi ica y elimina su ep esen ación e ins ancia
en el modelo y sus a ibu os y ca ac e ís icas.
• Node
Exis en dos ipos de nodos debido a que un nodo solo puede se pad e e hijo de
una elación espec i amen e. Dado que las elaciones AND ienen el es ilo
Op ional y Manda o y, simul áneamen e, siendo el mismo obje o semán ico de
elación, es necesa io que los elemen os hijo sean semán icamen e dis in os, de
mane a que se puedan de ini dos ins ancias de elación AND con un es ilo
independien e cada una.
La di isión a o ece un lujo de abajo más in ui i o, ya que no es necesa io edi a
las p opiedades del nodo pa a ene ambos ipos y las he amien as de c eación
es án sepa adas p opo cionan luidez al p oceso.
A con inuación, se p esen an los dos ipos comen ados an e io men e:
o Op ionalNode: los nodos con a ibu o manda o y = alse. Su ep esen ación
cuen a con un pun o blanco en el ex emo de la elación que llega a ellos,
con o mando una ama opcional. El cue po del nodo es un ec ángulo de
colo e de cla o, con el nomb e con enido en el cen o de la igu a.
o Manda o yNode: los nodos con a ibu o manda o y = ue. La
ep esen ación iene un pun o neg o en el ex emo de la elación que llega
a ellos, con o mando una ama obliga o ia. El cue po del nodo es un
ec ángulo de colo e de cla o, con el nomb e con enido en el cen o de
la igu a.
• Rela ion
o OR-Rela ion: elación en e nodos cualesquie a, de ipo Op ional. Se
ep esen a con una lecha con inua de pun a ce ada en su o igen, ellena
de colo neg o. La pun a de la lecha se si úa en el lado del Pa en . Exis e
una lecha po cada nodo en el a ibu o Childs.

48
o ANDManda o y-Rela ion: elación de ipo AND en e un nodo o igen y un
Manda o yNode des ino. Se ep esen a con una a is a que e mina en un
diaman e con ondo neg o; es e se si úa en el lado del Child.
o ANDOp ional-Rela ion: elación de ipo AND en e un nodo o igen y un
Op ionalNode des ino. Se ep esen a con una a is a que e mina en un
diaman e con ondo blanco; es e se si úa en el lado del Child.
o ALTERNATIVE-Rela ion: elación en e nodos cualesquie a, de ipo
ALTERNATIVE. Se ep esen a con una lecha con inua de pun a ce ada en
su o igen, ellena de colo blanco. La pun a de la lecha se si úa en el lado
del Pa en . Exis e una lecha po cada nodo en el a ibu o Childs.
A con inuación, se de inen he amien as de c eación, edición y eliminación.
Todas las he amien as que se de allan no solo a ec an a la isualización de la
ep esen ación, sino que ambién, su uso se e e lejado en el modelo c eando,
modi icando o eliminando ins ancias de los elemen os que lo con o man:
• He amien as de C eación
Las he amien as de c eación son bo ones que se ag upan en un panel a la
de echa de la ep esen ación, y con el siguien e o den y uncionamien o:
o Op ional Node: acili a añadi un nue o nodo Op ional al modelo, con las
dimensiones deseadas o con un amaño po de ec o, en cualquie pa e
de la ep esen ación. Cuando un nodo es c eado, se le asigna un nomb e
po de ec o. Es e nomb e cons a de la palab a ‘Nodo’, seguida de la
posición que ha sido añadido a la es uc u a donde se almacenan es os
componen es den o del Fea u e Model.
o Manda o y Node: acili a añadi un nue o nodo Manda o y al modelo, con
las dimensiones deseadas o con un amaño po de ec o, en cualquie
pa e de la ep esen ación. Al igual que la c eación de nodos comen ada
an e io men e, se le asigna un nomb e siguiendo la misma lógica y
o ma o.
49
o OR Rela ion: acili a añadi un nue o obje o Rela ion de ipo OR al modelo,
en e dos nodos que se seleccionen, p e iamen e añadidos, y siemp e y
cuando cumpla con las es icciones.
o ANDManda o y Rela ion: acili a añadi un nue o obje o Rela ion de ipo
ANDManda o y en e dos nodos que se seleccionen, p e iamen e
añadidos, y siemp e y cuando cumpla con las es icciones.
o ANDOp ional Rela ion: acili a añadi un nue o obje o Rela ion de ipo
ANDOp ional en e dos nodos que se seleccionen, p e iamen e añadidos,
y siemp e y cuando cumpla con las es icciones.
o Al e na i e Rela ion: acili a añadi un nue o obje o Rela ion de ipo
Al e na i e a es a en e dos nodos que se seleccionen, p e iamen e
añadidos, y siemp e y cuando cumpla con las es icciones.
• He amien as de Edición
Las he amien as de edición no se ag upan ni se isualizan a simple is a, es as
he amien as se ac i an seleccionando los di e en es elemen os o a ibu os de
es os.
o Edi Node Name: pa a u iliza es a he amien a, únicamen e es necesa io
selecciona el nomb e de un nodo y esc ibi uno nue o; es o cambia el
a ibu o Name del nodo en el modelo.
o Dele e Node: es a he amien a se acciona al pulsa el bo ón sup imi del
eclado sob e un nodo p e iamen e seleccionado. Al elimina el nodo
desapa ece de odas las elaciones a las que pe enecía.
o Dele e Rela ion: es a he amien a se acciona al pulsa el bo ón sup imi del
eclado sob e un elemen o Rela ion p e iamen e seleccionado. Al elimina
el elemen o se elimina del a ibu o Childs el nomb e del nodo que unía.
o Reconnec Fa he : pe mi e cambia el pad e de una elación a as ando
ese ex emo de la elación a o o nodo, o mando una nue a elación del
mismo ipo que la seleccionada.
o Reconnec Child: pe mi e cambia el hijo de una elación a as ando ese
ex emo de la elación a o o nodo, cambiando así los nodos que
componen la elación seleccionada.
50
5.1.2 Capa Legend
En es a capa adicional se ha añadido un con endo , el cual p esen a una
imagen de las ca ac e ís icas de isualización que poseen las di e en es elaciones que
se pueden isualiza en es a ep esen ación. Es a capa se encuen a ac i ada po
de ec o pa a acili a la comp ensión de las elaciones, si se desac i a desapa ece el
con enido de la capa.
5.1.3 Capa Requi es /Excludes
En es a o a capa adicional se ag upan los elemen os Requi es y Excludes que
o man pa e de la ep esen ación del Fea u e Model, así como las he amien as que
pe mi en añadi , modi ica y elimina su ep esen ación e ins ancia en el modelo y sus
a ibu os y ca ac e ís icas. Es a capa se encuen a ac i ada po de ec o, si se desac i a
desapa ecen de la isualización an o la ep esen ación como cualquie he amien a.
• Requi es
Es os obje os ep esen an elaciones no implíci as po descendencia en e los
di e en es nodos exis en es en la ep esen ación. La o ma en que se isualizan
es os elemen os es con una lecha de segmen os discon inuos y colo g is, que
apun a al elemen o del a ibu o Ta ge de la elación.
• Excludes
Es os obje os ep esen an elaciones excluyen es en e los di e en es nodos
exis en es en la ep esen ación. La o ma en que se isualizan es os elemen os es
con una lecha doble de segmen os discon inuos y colo g is.
A con inuación, se de inen he amien as de c eación, edición y eliminación.
Como en la capa obliga o ia, las he amien as que se de allan no solo a ec an a la
isualización de la ep esen ación, sino que ambién, su uso se e e lejado en el modelo,
c eando, modi icando o eliminando ins ancias de los elemen os que lo con o man:
• He amien as de C eación
51
Las he amien as de c eación son bo ones que se ag upan a con inuación de las
he amien as mencionadas en la capa obliga o ia, y con el siguen e o den y
uncionamien o:
o Requi es: acili a añadi un nue o obje o Requi es en e dos nodos que se
seleccionen, p e iamen e añadidos, y siemp e y cuando cumpla con las
es icciones.
o Excludes: acili a añadi un nue o obje o Excludes en e dos nodos que se
seleccionen, p e iamen e añadidos, y siemp e y cuando cumpla con las
es icciones.
• He amien as de Edición
Las he amien as de edición no se ag upan ni se isualizan a simple is a, es as
he amien as se ac i an seleccionando los di e en es elemen os o a ibu os de
es os.
o Dele e Requi es: es a he amien a se acciona al pulsa el bo ón sup imi del
eclado sob e un elemen o Requi es, p e iamen e seleccionado. Al
elimina el componen e desapa ece an o del modelo como de la
ep esen ación.
o Dele e Excludes: es a he amien a se acciona al pulsa el bo ón sup imi
del eclado sob e un elemen o Excludes, p e iamen e seleccionado. Al
elimina el componen e desapa ece an o del modelo como de la
ep esen ación.
o Reconnec Requi es Ta ge : pa a usa es a he amien a es necesa io
a as a el ex emo de la lecha con iguo al elemen o Ta ge de la elación
de ipo Rquie es hacia o o nodo que no enga elación de pa en esco
con el nodo Sou ce de la elación.
o Reconnec Excludes Ta ge : pa a usa es a he amien a es necesa io
a as a el ex emo de la lecha con iguo al elemen o Ta ge de la elación
de ipo Excludes hacia o o nodo que no enga elación de pa en esco
con el nodo Sou ce de la elación.
52
5.1.4 Valida ion Rules
Las Valida ion Rules se a an de un conjun o de eglas, cuyo in es comp oba
que se cumplen odas las es icciones necesa ias pa a ga an iza que la ep esen ación
cumpla con la lógica necesa ia pa a el modelo. Pa a que se apliquen hay que accede
con el bo ón de echo del a ón a un panel de opciones que se ab e al pulsa y
selecciona la opción “Valida e Diag am”. A con inuación, se explican las eglas
de inidas pa a el Fea u e Model:
• Same Name: comp ueba que no haya nodos con el mismo nomb e en la
ep esen ación.
• Loop Rela ion: comp ueba que un nodo no se hijo de sí mismo, o lo que es lo
mismo, que un nodo no posea ninguna elación consigo mismo.
• Unconne ed Node: comp ueba que no haya nodos inconexos en la
ep esen ación.
• Pa en o Mul iple Rela ions: comp ueba que un nodo solo sea pad e de una
única elación.
• Child o Mul iple Rela ions: comp ueba que un nodo solo sea hijo de una única
elación.
• Mu ual Exclusion: comp ueba que la elacion Exclude en e dos nodos sea mu ua.
Es o quie e deci que, si un nodo iene a o o en e en su a ibu o Exclude, es e
segundo debe ene en su a ibu o Exclude al p ime o.
5.2 P esence Condi ions
Los elemen os P esence Condi ions cuen an ienen p esencia en dos diag amas,
uno de ellos se comen a en es e apa a ado, ep esen ado en la ilus ación19, y el o o
en el apa ado siguien e, Pe i Ne 150%.

53
Es a ep esen ación solo es á compues a po una única capa, que con iene los
di e en es elemen os P esence Condi ion y se p esen an en o ma de abla. La abla
cons a de dos columnas y n ilas, an as como elemen os haya almacenados en la lis a
p esencecondi ion con enida en la PNPL.
En una de las columnas se mues a el id de cada una de las P esence Condi ion, y en la
o a columna, con iden i icado Exp ession, se mues a el a ibu o exp ession que posee
cada uno de los elemen os mencionados. El obje i o es que se pueda accede a las
ó mulas lógicas de inidas como P esence Condi ion en el modelo de o ma isual y
cla a.
En elación con las he amien as de edición en es a ep esen ación, son dos:
• He amien as de C eación
o New P esence Condi ion: c ea una nue a P esence Condi ion que se
añade a la PNPL. Una ez c eado es e nue o elemen o se e á e lejado
en cualquie ep esen ación en la que se haya ins anciado es e ipo de
elemen o.
• He amien as de Edición
Ilus ación 18 Diag ama de diseño de las P esence Condi ion
54
o Dele e line: elimina de la PNPL, la P esence Condi ion, que se ha
seleccionado.
5.3 Pe i Ne 150%
La ed de Pe i ampliada p e ende ep esen a el lujo que puede segui cualquie
modelo que siga las con enciones es ablecidas a a és de los elemen os g á icos que
se obse an en la Ilus ación 9. Es a e ce a ep esen ación solo cons a de una capa
obliga o ia y sus espec i as eglas de alidación, al y como mues a la Ilus ación 19.
Po an o, pa a especi ica su ep esen ación, se de inen los siguien es elemen os:
5.3.1 Capa Componen s
• Place
La ep esen ación de es os elemen os es mediando un cí culo de ondo blanco,
con an os pun os den o del pe íme o, que ep esen an el a ibu o Tokens de
Ilus ación 19 Diag ama de diseño de la PN-150
55
cada uno. El nomb e de cada elemen o se si úa ue a del elemen o a la de echa
de es e.
Cuando el núme o de okens sea mayo que cinco, su ep esen ación cons a de
un cí culo de ondo blanco con un pun o que ocupa casi el á ea en e a del
cí culo. Adicionalmen e pa a indica cual es el núme o de okens, se ep esen a
la can idad delan e del nomb e del elemen o en e pa én esis.
• T ansi ion
Pa a ep esen a es os elemen os, se ha elegido un ec ángulo neg o. El nomb e
apa e ue a de la igu a en el lado de echo del elemen o.
• A cos
o A cTP: La o ma en la que se ep esen an es os elemen os es median e
lechas, la di ección de es as es desde un elemen o T ansi ion a un
elemen o Place. El a ibu o Weigh se ep esen a median e un nume o en
la pa e supe io , en la mi ad de la longi ud de la ep esen ación de es e
componen e.
o A cPT: La o ma en la que se ep esen an es os elemen os es median e
lechas, la di ección de es as es desde un elemen o Place a un elemen o
T ansi ion. El a ibu o Weigh se ep esen a median e un nume o en la pa e
supe io , en la mi ad de la longi ud de la ep esen ación de es e
componen e.
• P esence Condi ion
En es a ep esen ación las P esence Condi ions se ep esen an median e
ec ángulos de ondo blanco y bo des de pun os de colo ojo. El nomb e se
si úa en el in e io del elemen o, en la pa e supe io y cen ado espec o a
es e.
Den o de cada P esence Condi ion se si úan odos aquellos elemen os Place y
T ansi ion, cuyo a ibu o p esenceCondi ion coincida con el a ibu o id de la
P esence Condi ion a la que pe enezca.
A con inuación, se de inen he amien as de c eación, edición y eliminación. Las
he amien as que se de allan no solo a ec an a la isualización de la ep esen ación,
56
sino que ambién, su uso se e e lejado en el modelo, c eando, modi icando o
eliminando ins ancias de los elemen os que lo con o man:
• He amien as de C eación
Las he amien as de c eación en la PN-150 cuen a bo ones que se ag upan
en un panel a la de echa de la ep esen ación, cuen an con el siguien e
o den y uncionamien o:
o Place: acili a añadi un nue o elemen o Place al modelo, con un amaño
p es ablecido, en cualquie pa e de la ep esen ación. Al c ea el
elemen o se le asigna un nomb e po de ec o, es e nomb e cons a de los
ca ac e es ‘p_’, seguidos de la posición que ha sido añadido a la
es uc u a donde se almacenan es os componen es den o de la
ep esen ación PN-150.
o T ansi ion: acili a añadi un nue o elemen o T ansi ion al modelo, con un
amaño p es ablecido, en cualquie pa e de la ep esen ación. Al c ea
el elemen o se le asigna un nomb e po de ec o, es e nomb e cons a de
los ca ac e es ‘ _’, seguidos de la posición que ha sido añadido a la
es uc u a donde se almacenan es os componen es den o de la
ep esen ación PN-150.
o P esence Condi ions: acili a añadi una nue a P esence Condi ion a la
PNPL, ex endiéndola a odas las ep esen aciones donde es én p esen es
es as. Al añadi la puede ocupa cualquie pa e de la ep esen ación y
ene las dimensiones deseadas.
o A cTP: acili a añadi un nue o obje o A cTP desde un elemen o T ansi ion
a uno Place que se seleccionen, p e iamen e añadidos, y siemp e y
cuando no exis a un a co del mismo ipo en e los dos elemen os que se
p e ende uni . Tampoco se pod á aza un a co A cTP desde un elemen o
que no sea T ansi ion y no pod á se el ecep o de es e ipo de a co un
elemen o dis in o a uno Place. Se asigna la P esenceCondi ion de la
T ansi ion.
63
Se implemen a un es ilo de ipo Squa e, de mane a que es un ec ángulo
e de cla o, con el a ibu o name del nodo con enido en el cen o. Las
p opiedades del es ilo son las siguien es:
Tabla 6 Es ilo del elemen o de diag ama Op ionalNode
Squa e S yle
P opiedades
Label
Valo
Label Size
8
Label Fo ma
None
Label Alignmen
Cen e
Show Icon
False
Label Exp ession
ea u e:name
Label Posi ion
Node
Hide Label By De aul
False
P opiedades
Colo
Valo
Colo
ligh _g een
Label Colo
black
Bo de Colo
black
P opiedades
Bo de
Valo
Bo de Size Compu a ion
Exp ession
0
Bo ede Line S yle
Solid
P opiedades
Ad anced
Valo
Allow esizing
ue, ue
Size Compu a ion Exp ession
3

64
Heigh
4
Wid h
12
• Manda o yNode: se de ine como nodo de la clase Node de PNPL en el
diag ama ep esen ación. La exp esión de candida os semán icos busca
en nodes de Fea u eModel aquellos cuyo a ibu o manda o y es ue.
Tabla 7 Implemen ación de Manda o yNode
Manda o yNode
P opiedades
Gene al
Valo
Id
Manda o yNode
Label
Manda o yNode
Domain Class
PNPL::Node
Seman ic Candida es Exp ession
aql:sel .nodes->selec (p
| p.manda o y= ue)
La implemen ación del es ilo de Manda o yNode es exac amen e idén ica
a la de Op ionalNode, especi icada en la Tabla 6.
• OR-Rela ion: se de ine como a is a basada en elemen o de la clase
Rela ion de PNPL en el diag ama ep esen ación. El o igen, a ibu o Pa en ,
y des inos, a ibu o Childs, pueden se cualquie implemen ación de Node.
La exp esión de candida os semán icos busca en ela ions de
Fea u eModel aquellas Rela ion de ipo OR.
65
Tabla 8 Implemen ación de OR-Rela ion
OR-Rela ion
P opiedades
Gene al
Valo
Id
OR-Rela ion
Label
OR-Rela ion
Domain Class
PNPL::Rela ion
Sou ce Mapping
Manda o yNode,
Op ionaNode
Sou ce Finde Exp ession
ea u e:Pa en
Ta ge Mapping
Manda o yNode,
Op ionaNode
Ta ge Finde Exp ession
ea u e:Childs
Seman ic Candida es Exp ession
aql:sel . ela ions-
>selec (p | p. ype =
PNPL::Rela ionType::OR)
Se implemen a un es ilo de a is a, que consis e en una línea sólida neg a
con una cabeza de lecha neg a en el ex emo o igen. Las p opiedades
del es ilo son las siguien es:
Tabla 9 Es ilo del elemen o de diag ama OR-Rela ion
Edge S yle
P opiedades
Gene al
Valo
Line S yle
Solid
Rou ing S yle
S aigh
P opiedades
Deco a o s
Valo
66
Sou ce A ow
Inpu FillClosedA ow
Ta ge A ow
NoDeco a ion
P opiedades
Colo
Valo
S oke Colo
black
P opiedades
Ad anced
Valo
Size Compu a ion Exp ession
2
Folding S yle
None
Ends Cen e ing
None
• ANDManda o y-Rela ion: se de ine como a is a basada en elemen o de la
clase Rela ion de PNPL en el diag ama ep esen ación. El o igen, a ibu o
Pa en , pueden se cualquie implemen ación de Node y los des inos,
a ibu o Childs, solo pueden se Manda o yNode. La exp esión de
candida os semán icos busca en ela ions de Fea u eModel aquellas
Rela ion de ipo AND.
Tabla 10 Implemen ación de ANDManda o y-Rela ion
ANDManda o y-Rela ion
P opiedades
Gene al
Valo
Id
ANDManda o y-Rela ion
Label
ANDManda o y-Rela ion
Domain Class
PNPL::Rela ion
Sou ce Mapping
Manda o yNode,
Op ionaNode
Sou ce Finde Exp ession
ea u e:Pa en
Ta ge Mapping
Manda o yNode
67
Ta ge Finde Exp ession
ea u e:Childs
Seman ic Candida es
Exp ession
aql:sel . ela ions-
>selec (p | p. ype =
PNPL::Rela ionType::AND)
Se implemen a un es ilo de a is a, que consis e en una línea sólida neg a
con un diaman e blanco en el ex emo des ino. Las p opiedades del es ilo
son las siguien es:
Tabla 11 Es ilo del elemen o de diag ama ANDManda o y-Rela ion
Edge S yle
P opiedades
Gene al
Valo
Line S yle
Solid
Rou ing S yle
S aigh
P opiedades
Deco a o s
Valo
Sou ce A ow
NoDeco a ion
Ta ge A ow
FillDiamond
P opiedades
Colo
Valo
S oke Colo
black
P opiedades
Ad anced
Valo
Size Compu a ion Exp ession
2
Folding S yle
None
Ends Cen e ing
None
• ANDOp ional-Rela ion: se de ine como a is a basada en elemen o de la
clase Rela ion de PNPL en el diag ama ep esen ación. El o igen, a ibu o
Pa en , pueden se cualquie implemen ación de Node y los des inos,
a ibu o Childs, solo pueden se Op ionalNode. La exp esión de candida os
68
semán icos busca en ela ions de Fea u eModel aquellas Rela ion de ipo
AND.
Tabla 12 Implemen ación de ANDOp ional-Rela ion
ANDOp ional-Rela ion
P opiedades
Gene al
Valo
Id
ANDOp ional-Rela ion
Label
ANDOp ional-Rela ion
Domain Class
PNPL::Rela ion
Sou ce Mapping
Manda o yNode,
Op ionaNode
Sou ce Finde Exp ession
ea u e:Pa en
Ta ge Mapping
Op ionalNode
Ta ge Finde Exp ession
ea u e:Childs
Seman ic Candida es
Exp ession
aql:sel . ela ions-
>selec (p | p. ype =
PNPL::Rela ionType::AND)
Se implemen a un es ilo de a is a, que consis e en una línea sólida neg a
con un diaman e neg o en el ex emo des ino. Las p opiedades del es ilo
son las siguien es:
Tabla 13 Es ilo del elemen o de diag ama ANDOp ional-Rela ion
Edge S yle
P opiedades
Gene al
Valo
Line S yle
Solid
Rou ing S yle
S aigh
P opiedades
Deco a o s
Valo

69
Sou ce A ow
NoDeco a ion
Ta ge A ow
Diamond
P opiedades
Colo
Valo
S oke Colo
black
P opiedades
Ad anced
Valo
Size Compu a ion Exp ession
2
Folding S yle
None
Ends Cen e ing
None
• ALTERNATIVE-Rela ion: se de ine como a is a basada en elemen o de la
clase Rela ion de PNPL en el diag ama ep esen ación. El o igen, a ibu o
Pa en , y des inos, a ibu o Childs, pueden se cualquie implemen ación
de Node. La exp esión de candida os semán icos busca en ela ions de
Fea u eModel aquellas Rela ion de ipo ALTERNATIVE.
Tabla 14 Implemen ación de ALTERNATIVE-Rela ion
ALTERNATIVE-Rela ion
P opiedades
Gene al
Valo
Id
ALTERNATIVE-Rela ion
Label
ALTERNATIVE-Rela ion
Domain Class
PNPL::Rela ion
Sou ce Mapping
Manda o yNode, Op ionaNode
Sou ce Finde
Exp ession
ea u e:Pa en
Ta ge Mapping
Manda o yNode, Op ionaNode
Ta ge Finde
Exp ession
ea u e:Childs
70
Seman ic Candida es
Exp ession
aql:sel . ela ions->selec (p |
p. ype =
PNPL::Rela ionType::ALTERNATIVE)
Se implemen a un es ilo de a is a, que consis e en una línea sólida neg a
con una cabeza de lecha neg a en el ex emo o igen. Las p opiedades
del es ilo son las siguien es:
Tabla 15 Es ilo del elemen o de diag ama ALTERNATIVE-Rela ion
Edge S yle
P opiedades
Gene al
Valo
Line S yle
Solid
Rou ing S yle
S aigh
P opiedades
Deco a o s
Valo
Sou ce A ow
Inpu ClosedA ow
Ta ge A ow
NoDeco a ion
P opiedades
Colo
Valo
S oke Colo
black
P opiedades
Ad anced
Valo
Size Compu a ion Exp ession
2
Folding S yle
None
Ends Cen e ing
None
• Sec ion C ea e: es una sección de he amien as en la que se implemen an
las he amien as de c eación de elemen os del diag ama. Además, cons a
de un subg upo “Edi ”, donde se implemen an he amien as de edición:
edición di ec a de e ique a, econexión de a is as y eliminación de
elemen os.
71
Tabla 16 Es uc u a de la sección de he amien as C ea e
Componen s
Nomb e
Tipo
Op ional Node
Node C ea ion
Manda o y Node
Node C ea ion
OR Rela ion
Edge C ea ion
ANDManda o y Rela ion
Edge C ea ion
ANDManda o y Rela ion
Edge C ea ion
ALTERNATIVE Rela ion
Edge C ea ion
Edi
Tool G oup
Edi > edi NodeName
Di ec Label Edi
Edi > Dele e Rela ion
Dele e Elemen
Edi > Dele e Node
Dele e Elemen
Edi > Reconnec Fa he
Reconnec Edge
Edi > Reconnec Child
Reconnec Edge
o Op ional Node: he amien a de c eación de los elemen os de
diag ama Op ionalNode que ue za la ac ualización del diag ama
pa a que el elemen o se ea ep esen ado as su uso. Se pueden
c ea los elemen os dimensiones lib es o con las dimensiones po
de ec o de inidas en el es ilo de Op ionalNode.
72
Tabla 17 Implemen ación de la he amien a de c eación Op ional Node
Op ional Node
P opiedades
Gene al
Valo
Id
Op ional Node
Label
Op ional Node
Node Mappings
Op ionalNode
Fo ce Re esh
ue
In e se Selec ion o O de
alse
La lógica de la he amien a consis e en la c eación de una ins ancia
del elemen o semán ico Node de PNPL a la que se le ealiza una
asignación de alo es a sus a ibu os manda o y ( alse) y name
(“Node” + el núme o de nodos que con iene el Fea u e Model).
Tabla 18 Lógica de la he amien a de c eación Op ional Node
Op ional Node
Módulo
P opiedades
Valo
Node C ea ion Va iable
Name
con aine
Con aine View Va iable
Name
con aine View
79
Tabla 23 Implemen ación de la he amien a de c eación ANDManda o y Rela ion
ANDManda o y Rela ion
P opiedades
Gene al
Valo
Id
ANDManda o y Rela ion
Label
ANDManda o y Rela ion
Edge Mappings
OR-Rela ion
Connec ion Comple e
P econdi ion
aql:p eTa ge .di e s(p eSou ce)
Fo ce Re esh
ue
In e se Selec ion o O de
alse
La lógica de la he amien a es la misma que la de OR Rela ion
p e iamen e desc i a (Tabla 22) con le es modi icaciones: el p ime
Case del Swi ch se asegu a de que la elación que ya iene el Pa en
sea del ipo AND y al c ea la ins ancia en el segundo Case, el
a ibu o ype de la Rela ion es AND.
o ANDOp ional Rela ion: he amien a de c eación de los elemen os
de diag ama ANDOp ional-Rela ion que ue za la ac ualización del
diag ama pa a que el elemen o se ea ep esen ado as su uso.
P ime o se selecciona el nodo o igen y después el nodo des ino
pe mi idos (Tabla 12, Tabla 13), en e los cuales se o ma la
ANDOp ional-Rela ion con su es ilo p e iamen e de inido en la
Tabla 13. Se p e iene la o mación de bucles (o igen = des ino).
Tabla 24 Implemen ación de la he amien a de c eación ANDOp ional Rela ion
ANDOp ional Rela ion
P opiedades
Gene al
Valo
Id
ANDOp ional Rela ion

80
Label
ANDOp ional Rela ion
Edge Mappings
OR-Rela ion
Connec ion Comple e
P econdi ion
aql:p eTa ge .di e s(p eSou ce)
Fo ce Re esh
ue
In e se Selec ion o O de
alse
La lógica de la he amien a es la misma que la de OR Rela ion
p e iamen e desc i a (Tabla 22) con le es modi icaciones: el p ime
Case del Swi ch se asegu a de que la elación que ya iene el Pa en
se del ipo AND y al c ea la ins ancia en el segundo Case, el a ibu o
ype de la Rela ion es AND.
o ALTERNATIVE Rela ion: he amien a de c eación de los elemen os de
diag ama ALTERNATIVE-Rela ion que ue za la ac ualización del
diag ama pa a que el elemen o se ea ep esen ado as su uso.
P ime o se selecciona el nodo o igen y después el nodo des ino
pe mi idos (Tabla 14), en e los cuales se o ma la ALTERNATIVE-
Rela ion con su es ilo p e iamen e de inido en la Tabla 15. Se
p e iene la o mación de bucles (o igen = des ino).
Tabla 25 Implemen ación de la he amien a de c eación ALTERNATIVE Rela ion
ALTERNATIVE Rela ion
P opiedades
Gene al
Valo
Id
ALTERNATIVE Rela ion
Label
ALTERNATIVE Rela ion
Edge Mappings
ALTERNATIVE Rela ion
Connec ion Comple e
P econdi ion
aql:p eTa ge .di e s(p eSou ce)
Fo ce Re esh
ue
81
In e se Selec ion o O de
alse
La lógica de la he amien a es la misma que la de OR Rela ion
p e iamen e desc i a (Tabla 222) con le es modi icaciones: el
p ime Case del Swi ch se asegu a de que la elación que ya iene
el Pa en sea del ipo ALTERNATIVE y al c ea la ins ancia en el
segundo Case, el a ibu o ype de la Rela ion es ALTERNATIVE.
o edi NodeName: he amien a de edición, de inida en el subg upo
Edi , que pe mi e cambia el a ibu o name de Op ionalNode y
Manda o yNode di ec amen e en la ep esen ación. Ac ualiza el
modelo al usa se.
Tabla 26 Implemen ación de edi NodeName
edi NodeName
P opiedades
Gene al
Valo
Id
edi NodeName
Label
edi NodeName
Mapping
Op ionalNode,
Manda o yNode
Fo ce Re esh
ue
In e se Selec ion o O de
alse
La lógica de la he amien a asigna al a ibu o name del nodo lo
ecibido po eclado.
Tabla 27 Lógica de edi NodeName
edi NodeName
82
Módulo
P opiedades
Valo
Edi Mask Va iables
Mask
{0}
Begin
-
-
Begin > Se
Fea u e
Name
name
Value
Exp ession
a :0
o Dele e Rela ion: he amien a de eliminación del subg upo Edi , que
pe mi e elimina una Rela ion del modelo desde la ep esen ación,
man eniendo la consis encia del modelo con acciones adicionales.
Se ac i a median e la ecla Sup (Del).
Tabla 28 Implemen ación de Dele e Rela ion
Dele e Rela ion
P opiedades
Gene al
Valo
Id
Dele e Rela ion
Label
Dele e Rela ion
Mappings
OR-Rela ion,
ANDManda o y-Rela ion,
ANDOp ional-Rela ion,
ALTERNATIVE-Rela ion
Fo ce Re esh
ue
In e se Selec ion o O de
alse
La eliminación ga an iza que se eliminan los nodos del a ibu o
equi es de los nodos en Childs, ya que cuando se c ean se he edan
en la c eación de la elación. Además, es a lógica ga an iza que un
83
nodo que quede lo ando sin elaciones no enga equi es, ya que
semán icamen e no iene sen ido.
Tabla 29 Lógica de implemen ación de Dele e Rela ion
Dele e Rela ion
Módulo
P opiedades
Valo
Elemen Dele e Va iable
Name
elemen
Elemen Dele e Va iable
Name
elemen View
Con aine View Va iable
Name
con aine View
Begin
-
-
Begin > Change Con ex
B owse
Exp ession
aql:elemen
Begin > Change Con ex >
Fo
Exp ession
aql:sel .oclAsTyp
e(PNPL::Rela ion
).Childs
I e a o Name
child
Begin > Change Con ex >
Fo > Fo
Exp ession
aql:child. equi e
s
I e a o Name
i
Begin > Change Con ex >
Fo > Fo > Change
Con ex
B owse
Exp ession
aql:child
Begin > Change Con ex >
Fo > Fo > Change
Con ex > Unse
Fea u e
Name
equi es
Elemen
Exp ession
aql:child. equi e
s->las ()
84
Begin > Change Con ex >
Remo e
-
-
o Dele e Node: he amien a de eliminación del subg upo Edi , que
pe mi e elimina un Node del modelo desde la ep esen ación,
man eniendo la consis encia del modelo con acciones adicionales.
Se ac i a median e la ecla Sup (Del).
Tabla 30 Implemen ación de Dele e Node
Dele e Node
P opiedades
Gene al
Valo
Id
Dele e Node
Label
Dele e Node
Mappings
Op ionalNode,
Manda o yNode
Fo ce Re esh
ue
In e se Selec ion o O de
alse
La eliminación ga an iza que se eliminan las elaciones en las que el
nodo sea Pa en y en las que es Child, siemp e y cuando sea el
úl imo hijo de la elación. De es a mane a se p e ienen las
elaciones in isibles que siguen exis iendo en el modelo sin alguno
de los a ibu os que o man los ex emos acíos.
Tabla 31 Lógica de implemen ación de Dele e Node
Dele e Node
Módulo
P opiedades
Valo
Elemen Dele e
Va iable
Name
elemen

85
Elemen Dele e
Va iable
Name
elemen View
Con aine View
Va iable
Name
con aine View
Begin
-
-
Begin > Change
Con ex
B owse
Exp ession
a :elemen
Begin > Change
Con ex > I
Condi ion
Exp ession
aql:sel .eCon aine ()
. ela ions-
>exis s(p|p.Childs-
>includes(sel ))
Begin > Change
Con ex > I >
Change Con ex
B owse
Exp ession
aql:sel .eCon aine ()
. ela ions->selec ( |
.Childs-
>includes(sel ))-
> i s ()
Begin > Change
Con ex > I >
Change Con ex > I
Condi ion
Exp ession
aql:sel .Childs-
>size()=1
Begin > Change
Con ex > I >
Change Con ex > I
> Remo e
-
-
Begin > Change
Con ex > I
Condi ion
Exp ession
aql:sel .eCon aine ()
. ela ions-
>exis s(p|p.Pa en -
>includes(sel ))
Begin > Change
Con ex > I >
Change Con ex
B owse
Exp ession
aql:sel .eCon aine ()
. ela ions-
>selec ( | .Pa en -
>includes(sel )) -
> i s ()
Begin > Change
Con ex > I >
Change Con ex >
Remo e
-
-
Begin > Change
Con ex > Remo e
-
-
86
o Reconnec Fa he : he amien a de edición del subg upo Edi que
pe mi e la econexión del o igen de las a is as de la ep esen ación.
Tabla 32 Implemen ación de Reconnec Fa he
Reconnec Fa he
P opiedades
Gene al
Valo
Id
Reconnec Fa he
Label
Reconnec Fa he
Reconnec ion Kind
Reconnec Sou ce
Mappings
OR-Rela ion,
ANDManda o y-Rela ion,
ANDOp ional-Rela ion,
ALTERNATIVE-Rela ion
Fo ce Re esh
ue
In e se Selec ion o O de
alse
La lógica de la he amien a ga an iza que no se pod á econec a
a un nodo que ya es Pa en de una elación, y que el hijo del
ex emo que no se econec a acia á su campo equi es y añadi á
el del nue o pad e y al nue o pad e.
Tabla 33 Lógica de la implemen ación de Reconnec Fa he
Reconnec Fa he
Módulo
P opiedades
Valo
Sou ce Edge C ea ion
Va iable
Name
sou ce
87
Ta ge Edge C ea ion
Va iable
Name
a ge
Sou ce Edge View
C ea ion Va iable
Name
sou ceView
Ta ge Edge View
C ea ion Va iable
Name
a ge View
Elemen Selec Va iable
Name
elemen
Elemen Selec Va iable
Name
elemen View
Begin
-
-
Begin > I
Condi ion
Exp ession
aql:(no
elemen .eCon
aine (). ela ions-
>exis s(p|p.Pa e
n = a ge ))
Begin > I > Change
Con ex
B owse
Exp ession
aql:o he End
Begin > I > Change
Con ex > Fo
Exp ession
aql:elemen .Chil
ds
I e a o Name
child
Begin > Change Con ex >
Fo > Fo
Exp ession
aql:child. equi e
s
I e a o Name
i
Begin > Change Con ex >
Fo > Fo > Change
Con ex
B owse
Exp ession
aql:child
Begin > Change Con ex >
Fo > Fo > Change
Con ex > Unse
Fea u e
Name
equi es
Elemen
Exp ession
aql:child. equi e
s->las ()
88
Begin > Change Con ex >
Fo > Change Con ex
B owse
Exp ession
aql:child
Begin > Change Con ex >
Fo > Change Con ex >
Se
Fea u e
Name
equi es
Value
Exp ession
aql: a ge . equi
es
Begin > Change Con ex >
Fo > Change Con ex >
Se
Fea u e
Name
equi es
Value
Exp ession
a : a ge
Begin > Change Con ex >
Change Con ex
B owse
Exp ession
aql:elemen
Begin > Change Con ex >
Change Con ex > Unse
Fea u e
Name
Pa en
Elemen
Exp ession
a :sou ce
Begin > Change Con ex >
Change Con ex > Unse >
Se
Fea u e
Name
Pa en
Value
Exp ession
a : a ge
o Reconnec Child: he amien a de edición del subg upo Edi que
pe mi e la econexión del des ino de las a is as de la ep esen ación.
Tabla 34 Implemen ación de Reconnec Child
Reconnec Child
P opiedades
Gene al
Valo
Id
Reconnec Child
Label
Reconnec Child
Reconnec ion Kind
Reconnec Ta ge
Mappings
OR-Rela ion,
ANDManda o y-Rela ion,
ANDOp ional-Rela ion,
ALTERNATIVE-Rela ion
Fo ce Re esh
ue
In e se Selec ion o O de
alse
95
• Sec ion C ea e: es una sección de he amien as en la que se implemen an
las he amien as de c eación de elemen os del diag ama. Además, cons a
de un subg upo Edi , donde se implemen an he amien as de edición de
econexión de des inos.
Tabla 44 Es uc u a de la sección de he amien as C ea e
C ea e
Nomb e
Tipo
Requi es
Edge C ea ion
Excludes
Edge C ea ion
Edi
Tool G oup
Edi > Requi es Ta ge
Reconnec Edge
Edi > Excludes Ta ge
Reconnec Edge
A con inuación, se explica la implemen ación de las he amien as
enume adas en la Tabla 44.
o Requi es: he amien a de c eación de elaciones cuya
implemen ación añade al a ibu o equi es del nodo al que se
asocia (el o igen) el nodo des ino.
Tabla 45 Implemen ación de la he amien a Requi es
Requi es
P opiedades
Gene al
Valo
Id
Requi es
Label
Requi es
Edge Mappings
Requi es
Fo ce Re esh
ue
In e se Selec ion o O de
alse

96
Tabla 46 Lógica de la implemen ación de la he amien a Requi es
Requi es
Módulo
P opiedades
Valo
Sou ce Edge C ea ion
Va iable
Name
sou ce
Ta ge Edge C ea ion
Va iable
Name
a ge
Sou ce Edge View
C ea ion Va iable
Name
sou ceView
Ta ge Edge View
C ea ion Va iable
Name
a ge View
Begin
-
-
Begin > Change Con ex
B owse
Exp ession
aql:sou ce
Begin > Change Con ex >
Se
Fea u e
Name
equi es
Value
Exp ession
aql: a ge
o Excludes: he amien a de c eación de elaciones cuya
implemen ación añade al a ibu o exclude del nodo al que se
asocia (el o igen) el nodo des ino, y ice e sa.
97
Tabla 47 Implemen ación de la he amien a Excludes
Excludes
P opiedades
Gene al
Valo
Id
Excludes
Label
Excludes
Edge Mappings
Excludes
Fo ce Re esh
ue
In e se Selec ion o O de
alse
Tabla 48 Lógica de la implemen ación de la he amien a Excludes
Excludes
Módulo
P opiedades
Valo
Sou ce Edge C ea ion
Va iable
Name
sou ce
Ta ge Edge C ea ion
Va iable
Name
a ge
Sou ce Edge View
C ea ion Va iable
Name
sou ceView
Ta ge Edge View
C ea ion Va iable
Name
a ge View
Begin
-
-
98
Begin > Change Con ex
B owse
Exp ession
aql:sou ce
Begin > Change Con ex >
Se
Fea u e
Name
exclude
Value
Exp ession
aql: a ge
Begin > Change Con ex >
Change Con ex
B owse
Exp ession
aql: a ge
Begin > Change Con ex >
> Change Con ex > Se
Fea u e
Name
exclude
Value
Exp ession
aql:sou ce
o Requi es Ta ge : he amien a de econexión de a is as del g upo de
he amien as Edi . Pe mi e econec a el des ino de una elación
Requi es, cambiando así el nodo que igu a en su a ibu o equi es.
Tabla 49 Implemen ación de la he amien a Requi es Ta ge
Requi es Ta ge
P opiedades
Gene al
Valo
Id
Requi es Ta ge
Label
Requi es Ta ge
Reconnec ion Kind
Recconec Ta ge
Mappings
Requi es
Fo ce Re esh
ue
In e se Selec ion o O de
alse
99
Tabla 50 Lógica de la implemen ación de la he amien a Requi es Ta ge
Requi es Ta ge
Módulo
P opiedades
Valo
Sou ce Edge C ea ion
Va iable
Name
sou ce
Ta ge Edge C ea ion
Va iable
Name
a ge
Sou ce Edge View
C ea ion Va iable
Name
sou ceView
Ta ge Edge View
C ea ion Va iable
Name
a ge View
Elemen Selec Va iable
Name
elemen
Elemen Selec Va iable
Name
elemen View
Begin
-
-
Begin > Change Con ex
B owse
Exp ession
aql:elemen
Begin > Change Con ex >
Unse
Fea u e
Name
equi es
Elemen
Exp ession
aql:sou ce
Begin > Change Con ex >
Se
Fea u e
Name
equi es
Value
Exp ession
aql: a ge
100
o Excludes Ta ge : he amien a de econexión de a is as del g upo de
he amien as Edi . Pe mi e econec a el des ino de una elación
Excludes, cambiando así el nodo que igu a en su a ibu o exclude
y añadiendo al nue o des ino el o igen a su a ibu o exclude.
Tabla 51 Implemen ación de la he amien a Excludes Ta ge
Excludes Ta ge
P opiedades
Gene al
Valo
Id
Excludes Ta ge
Label
Excludes Ta ge
Reconnec ion Kind
Recconec Ta ge
Mappings
Excludes
Fo ce Re esh
ue
In e se Selec ion o O de
alse
Tabla 52 Lógica de la implemen ación de la he amien a Excludes Ta ge
Excludes Ta ge
Módulo
P opiedades
Valo
Sou ce Edge C ea ion
Va iable
Name
sou ce
Ta ge Edge C ea ion
Va iable
Name
a ge

101
Sou ce Edge View
C ea ion Va iable
Name
sou ceView
Ta ge Edge View
C ea ion Va iable
Name
a ge View
Elemen Selec Va iable
Name
elemen
Elemen Selec Va iable
Name
elemen View
Begin
-
-
Begin > Change Con ex
B owse
Exp ession
aql:elemen
Begin > Change Con ex >
Unse
Fea u e
Name
exclude
Elemen
Exp ession
aql:sou ce
Begin > Change Con ex >
Se
Fea u e
Name
exclude
Value
Exp ession
aql: a ge
Begin > Change Con ex >
Change Con ex
B owse
Exp ession
aql:sou ce
Begin > Change Con ex >
Unse
Fea u e
Name
exclude
Elemen
Exp ession
a :elemen
Begin > Change Con ex >
Change Con ex
B owse
Exp ession
aql: a ge
Begin > Change Con ex >
Se
Fea u e
Name
exclude
Value
Exp ession
aql:elemen
102
6.1.4. Valida ion Fea u e Model
El conjun o de Valida ion implemen a las eglas de alidación pa a comp oba si
exis en e o es semán icos en el diag ama del modelo.
Tabla 53 Es uc u a de Valida ion Fea u e Model
Valida ion Fea u e Model
Nomb e
Tipo
Same Name
Seman ic Valida ion Rule
Loop Rela ion
Seman ic Valida ion Rule
Unconnec ed Node
Seman ic Valida ion Rule
Pa en o Mul iple Rela ions
Seman ic Valida ion Rule
Child o Mul iple Rela ions
Seman ic Valida ion Rule
Mu ual Exclusion
Seman ic Valida ion Rule
• Same Name: egla de alidación que comp ueba si en los nodes del
Fea u e Model exis en dos que compa en nomb e.
Tabla 54 Implemen ación de la egla Same Name
Same Name
P opiedades
Gene al
Valo
Id
Same Name
Label
Same Name
Le el
E o
Ta ge Class
PNPL::Node
Message
Name mus be unique
103
Tabla 55 Lógica de la egla Same Name
Same Name
Módulo
P opiedades
Valo
Audi
Audi
Exp ession
aql:sel .eCon aine ().nodes-
>selec (n | n.name = sel .name)-
>size() = 1
• Loop Rela ion: egla de alidación que comp ueba si en las ela ions del
Fea u e Model exis e alguna cuyo a ibu o Childs con enga a Pa en .
Tabla 56 Implemen ación de la egla Loop Rela ion
Loop Rela ion
P opiedades
Gene al
Valo
Id
Loop Rela ion
Label
Loop Rela ion
Le el
E o
Ta ge Class
PNPL::Rela ion
Message
A pa en node canno be i s own
child
Tabla 57 Lógica de la egla Loop Rela ion
Loop Rela ion
Módulo
P opiedades
Valo
Audi
Audi
Exp ession
aql:no sel .Childs-
>includes(sel .Pa en )
104
• Unconnec ed Node: egla de alidación que comp ueba si en los nodes
del Fea u e Model exis e alguno que no pe enezca a ninguna Rela ion.
Tabla 58 Implemen ación de la egla Unconnec ed Node
Unconnec ed Node
P opiedades
Gene al
Valo
Id
Unconnec ed Node
Label
Unconnec ed Node
Le el
E o
Ta ge Class
PNPL::Node
Message
Unconnec ed node.
Tabla 59 Lógica de la egla Unconnec ed Node
Unconnec ed Node
Módulo
P opiedades
Valo
Audi
Audi
Exp ession
aql:sel .eCon aine (). ela ions-
>exis s( | .Childs->includes(sel )
o .Pa en = sel )
• Pa en o Mul iple Rela ions: egla de alidación que comp ueba si en los
nodes del Fea u e Model exis e alguno que sea Pa en de más de una
Rela ion.
Tabla 60 Implemen ación de la egla Pa en o Mul iple Rela ions
Pa en o Mul iple Rela ions
P opiedades
Gene al
Valo
Id
Pa en o Mul iple Rela ions
111
P opiedades
Me amodels
Valo
Name
PNPL
nsURI
h p://www.pe ine s.o g/
me amodel URI
Pla o m:/plugin/pnpl/model/pnpl.eco e#
Tabla 73 Es uc u a de la ep esen ación Pe iNe
Pe iNe
Nomb e
Tipo
Componen s
De aul Laye
Valida ion Pe iNe
Valida ion
Cons a de una capa como elemen o de diag ama, “Componen s”, la cual es la
capa po de ec o y obliga o ia. Además, iene de inido un conjun o de eglas de
alidación de la ep esen ación.
6.3.1. Capa Componen s
La capa Componen s implemen a los elemen os del Pe iNe como elemen os de
diag ama y las he amien as que pe mi en la c eación y edición de es os. Los
elemen os de diag ama añadidos son los siguien es:
Tabla 74 Es uc u a de la capa Componen s de Pe iNe
Componen s
Nomb e
Tipo
Place
Node
T ansi ion
Node

112
P esenceCondi ions
Con aine
A cTP
Elemen Based Rela ion
A cPT
Elemen Based Rela ion
C ea ion
Tool Sec ion
S yle Cus omiza ions
S yle Cus omiza ions
Cada elemen o iene una implemen ación de acue do con el diseño expues o en el
capí ulo an e io :
• Place: se de ine como nodo del diag ama ep esen ación de la clase
Place de PNPL. La exp esión de candida os semán icos busca en elemen s
de Pe iNe aquellos sin P esenceCondi ion asociada.
Tabla 75 Implemen ación de Place
Place
P opiedades
Gene al
Valo
Id
Place
Label
Place
Domain Class
PNPL:: Place
Seman ic
Candida es
Exp ession
aql:sel .eCon aine ().pn_150.elemen s-
>selec (e |
e.p esenceCondi ion = null)
Se implemen a un es ilo de ipo Do , de mane a que es un cí culo blanco
con bo de neg o, con el a ibu o name a la de echa del elemen o. Tiene
implemen ados es ilos condicionales, pa a que se mues e una imagen
dis in a en unción del alo de okens, de 1 a 5 y mayo es que 5. Las
imágenes consis en en el mismo pun o blanco con bo de neg o con an os
pun os neg os como okens; a pa i de 6, la imagen es un pun o neg o casi
an g ande como el cí culo blanco. Las imágenes se encuen an en la
113
ca pe a “icons” del p oyec o Si ius. Las p opiedades del es ilo son las
siguien es:
Tabla 76 Es ilo del elemen o de diag ama Place
Do S yle
P opiedades
Label
Valo
Label Size
8
Label Fo ma
None
Label Alignmen
Righ
Show Icon
False
Label Exp ession
ea u e:name
Label Posi ion
bo de
Hide Label By De aul
False
P opiedades
Colo
Valo
Colo
whi e
Label Colo
black
Bo de Colo
black
P opiedades
Bo de
Valo
Bo de Size Compu a ion
Exp ession
2
Bo ede Line S yle
Solid
P opiedades
Ad anced
Valo
Allow esizing
ue, ue
Size Compu a ion Exp ession
3
S oke Size Compu a ion
Exp ession
2
114
Tabla 77 Es ilos condicionales de Place
Condi ional S yle okens=1
P opiedades
Gene al
Valo
P edica e Exp ession
aql:sel . okens=1
Wo kspace Image
P opiedades
Gene al
Valo
Image Pa h
/pnpl.design/icons/do 01.png
P opiedades
Ad anced
Valo
AllowResizing
ue, ue
Size Compu a ion
Exp ession
-1
Condi ional S yle okens=2
P opiedades
Gene al
Valo
P edica e Exp ession
aql:sel . okens=2
Wo kspace Image
P opiedades
Gene al
Valo
Image Pa h
/pnpl.design/icons/do 2.png
P opiedades
Ad anced
Valo
AllowResizing
ue, ue
Size Compu a ion
Exp ession
-1
Condi ional S yle okens=3
P opiedades
Gene al
Valo
115
P edica e Exp ession
aql:sel . okens=3
Wo kspace Image
P opiedades
Gene al
Valo
Image Pa h
/pnpl.design/icons/do 3.png
P opiedades
Ad anced
Valo
AllowResizing
ue, ue
Size Compu a ion
Exp ession
-1
Condi ional S yle okens=4
P opiedades
Gene al
Valo
P edica e Exp ession
aql:sel . okens=4
Wo kspace Image
P opiedades
Gene al
Valo
Image Pa h
/pnpl.design/icons/do 4.png
P opiedades
Ad anced
Valo
AllowResizing
ue, ue
Size Compu a ion
Exp ession
-1
Condi ional S yle okens=5
P opiedades
Gene al
Valo
P edica e Exp ession
aql:sel . okens=5
Wo kspace Image
P opiedades
Gene al
Valo
116
Image Pa h
/pnpl.design/icons/do 5.png
P opiedades
Ad anced
Valo
AllowResizing
ue, ue
Size Compu a ion
Exp ession
-1
Condi ional S yle okens>5
P opiedades
Gene al
Valo
P edica e Exp ession
aql:sel . okens>5
Wo kspace Image
P opiedades
Gene al
Valo
Image Pa h
/pnpl.design/icons/do 6.png
P opiedades
Ad anced
Valo
AllowResizing
ue, ue
Size Compu a ion
Exp ession
-1
• T ansi ion: se de ine como nodo del diag ama ep esen ación de la clase
T ansi ion de PNPL. La exp esión de candida os semán icos busca en
elemen s de Pe iNe aquellos sin P esenceCondi ion asociada.
Tabla 78 Implemen ación de T ansi ion
T ansi ion
P opiedades
Gene al
Valo
Id
T ansi ion
Label
T ansi ion
Domain Class
PNPL:: T ansi ion

117
Seman ic
Candida es
Exp ession
aql:sel .eCon aine ().pn_150.elemen s-
>selec (e |
e.p esenceCondi ion = null)
Se implemen a un es ilo de ipo Squa e, de mane a que es un ec ángulo
neg o e ical, con el a ibu o name a la de echa del elemen o. Las
p opiedades del es ilo son las siguien es:
Tabla 79 Es ilo del elemen o de diag ama T ansi ion
Do S yle
P opiedades
Label
Valo
Label Size
8
Label Fo ma
None
Label Alignmen
Righ
Show Icon
False
Label Exp ession
ea u e:name
Label Posi ion
bo de
Hide Label By De aul
False
P opiedades
Colo
Valo
Colo
black
Label Colo
black
Bo de Colo
black
P opiedades
Bo de
Valo
Bo de Size Compu a ion
Exp ession
0
Bo ede Line S yle
Solid
P opiedades
Ad anced
Valo
Allow esizing
ue, ue
118
Size Compu a ion Exp ession
3
Heigh
7
Wid h
3
• P esenceCondi ions: con enedo que ep esen a las P esenceCondi ions
de PNPL, que con iene los Place y T ansi ion asociadas a ellos. Po es o se
implemen an los Place y T ansi ion den o del con enedo Pa a que
aquellos asociados a una P esence Condi ions sean ep esen ados en el
diag ama.
Tabla 80 Implemen ación de P esenceCondi ions en pn-150
P esenceCondi ions
P opiedades
Gene al
Valo
Id
P esenceCondi ions
Label
P esenceCondi ions
Domain Class
PNPL::P esenceCondi ions
Child en P esen a ion
F ee Fo m
Tabla 81 Es ilo del con enedo P esenceCondi ions
G adien S yle
P opiedades
Gene al
Valo
Backgo und s yle
G adien le o igh
P opiedades
Label
Valo
Label Size
8
Label Fo ma
I alic
119
Label Alignmen
Cen e
Show Icon
False
Label Exp ession
ea u e:id
Label Posi ion
bo de
Hide Label By De aul
False
P opiedades
Colo
Valo
Backg ound Colo
Whi e
Fo eg ound Colo
whi e
Label Colo
black
Bo de Colo
ligh _ ed
P opiedades
Bo de
Valo
Bo de Size Compu a ion
Exp ession
3
Bo ede Line S yle
do
El con enido de P esenceCondi ions es una implemen ación de los Place
y T ansi ion de nomb e PlacePc y T ansi ionPc homóloga a la explicada
p e iamen e (Tabla 75, Tabla 76, Tabla 77, Tabla 78, Tabla 79) an o en
es ilo como en implemen ación.
• A cTP: se de ine como a is a basada en elemen o de la clase A cTP de
PNPL en el diag ama ep esen ación. El o igen, a ibu o sou ce, puede se
cualquie implemen ación de T ansi ion; y el des ino, a ibu o a ge ,
puede se cualquie implemen ación de Place. El alo de weigh apa ece
en la e ique a de la elación, cen ada en el pun o medio.
120
Tabla 82 Implemen ación de A cTP
A cTP
P opiedades
Gene al
Valo
Id
A cTP
Label
A cTP
Domain Class
PNPL:: A cTP
Sou ce Mapping
T ansi ion,
T ansi ionPc
Sou ce Finde Exp ession
ea u e:sou ce
Ta ge Mapping
Place, PlacePc
Ta ge Finde Exp ession
ea u e: a ge
Se implemen a un es ilo de a is a, que consis e en una línea sólida g is con
una cabeza de lecha abie a en el ex emo des ino. Las p opiedades del
es ilo son las siguien es:
Tabla 83 Es ilo del elemen o de diag ama A cTP
Edge S yle
P opiedades
Gene al
Valo
Line S yle
Solid
Rou ing S yle
S aigh
P opiedades
Deco a o s
Valo
Sou ce A ow
NoDeco a ion
Ta ge A ow
Inpu A ow
127
Begin
-
-
Begin > C ea e Ins ance
Re e ence
Name
elemen s
Type Name
PNPL::
T ansi ion
Va iable Name
ins ance
Begin > C ea e Ins ance
> Se
Fea u e Name
name
Value
Exp ession
aql:' _'+con ai
ne .elemen s-
> il e (PNPL::
T ansi ion)-
>size()
o P esence Condi ions: he amien a de c eación del con enedo que
ep esen a las P esenceCondi ions de PNPL.
Tabla 93 Implemen ación de la He amien a P esence Condi ions
P esence Condi ions
P opiedades
Gene al
Valo
Id
P esence Condi ions
Label
P esence Condi ions
Con aine Mappings
P esenceCondi ions
Fo ce Re esh
ue
In e se Selec ion o O de
alse
La lógica de la he amien a c ea una nue a ins ancia de
P esenceCondi ion en pnpl, y asigna a su a ibu o id el alo “PC”
seguido del núme o de P esenceCondi ions en pnpl.

128
Tabla 94 Lógica de la implemen ación de P esence Condi ions
P esence Condi ions
Módulo
P opiedades
Valo
Node C ea ion Va iable
Name
con aine
Con aine View Va iable
Name
con aine View
Begin
-
-
Begin > Change Con ex
B owse
Exp ession
aql:con aine .
eCon aine ().o
clAsType(PNPL:
:pnpl)
Begin > Change Con ex
> C ea e Ins ance
Re e ence
Name
elemen s
Type Name
PNPL::
P esenceCond
i ion
Va iable Name
ins ance
Begin > C ea e Ins ance
> Se
Fea u e Name
name
Value
Exp ession
aql:'PC ' +
con aine .eCo
n aine ().oclAs
Type(PNPL::pn
pl).p esencec
ondi ion-
> il e (PNPL::P
esenceCondi i
on)->size()
129
A cTP: he amien a de c eación de los elemen os de diag ama A cTP que ue za
la ac ualización del diag ama pa a que el elemen o se ea ep esen ado as su uso.
P ime o se selecciona el nodo o igen y después el nodo des ino pe mi idos (
o Tabla 82), en e los cuales se o ma la A cTP con su es ilo
p e iamen e de inido en la Tabla 83. Se p e iene la o mación de
bucles (o igen = des ino).
Tabla 95 Implemen ación de la he amien a de c eación A cTP
A cTP
P opiedades
Gene al
Valo
Id
A cTP
Label
A cTP
Edge Mappings
A cTP
Connec ion Comple e
P econdi ion
aql:p eTa ge .di e s(p eSou ce)
Fo ce Re esh
ue
In e se Selec ion o O de
alse
La lógica de la he amien a consis e en la c eación de una ins ancia
del elemen o semán ico A cTP de PNPL. La c eación de la ins ancia
depende de que el sou ce sea dis in o de a ge ; en onces se c ea
la ins ancia y se asignan alo es a los a ibu os: sou ce es el nodo
o igen, el des ino es a ge , el weigh es 1 po de ec o,
p esenceCondi ion igual a la del o igen y name es una cadena
o mada po : el nomb e del o igen, “_” y el nodo del des ino.
Tabla 96 Lógica de la he amien a de c eación A cTP
A cTP
130
Módulo
P opiedades
Valo
Sou ce Edge C ea ion
Va iable
Name
sou ce
Ta ge Edge C ea ion
Va iable
Name
a ge
Sou ce Edge View
C ea ion Va iable
Name
sou ceView
Ta ge Edge View
C ea ion Va iable
Name
a ge View
Begin
-
-
Begin > I
Condi ion
Exp ession
aql:sel .eCon ai
ne ().elemen s-
>selec (e |
e.oclIsTypeO (P
NPL::A cTP) and
e.sou ce =
sou ce and
e. a ge =
a ge )-
>isEmp y()
Begin > I > Change
Con ex
B owse
Exp ession
aql:sel .eCon ai
ne ()
Begin > I > Change
Con ex > C ea e Ins ance
Re e ence
Name
elemen s
Type Name
PNPL::A cTP
Va iable
Name
ins ance
Begin > I > Change
Con ex > C ea e Ins ance
> Se
Fea u e
Name
sou ce
Value
Exp ession
a :sou ce
131
Begin > I > Change
Con ex > C ea e Ins ance
> Se
Fea u e
Name
a ge
Value
Exp ession
a : a ge
Begin > I > Change
Con ex > C ea e Ins ance
> Se
Fea u e
Name
weigh
Value
Exp ession
1
Begin > I > Change
Con ex > C ea e Ins ance
> Se
Fea u e
Name
name
Value
Exp ession
aql:sel .sou ce.n
ame+'-
'+sel . a ge .na
me
Begin > I > Change
Con ex > C ea e Ins ance
> Se
Fea u e
Name
p esenceCondi
ion
Value
Exp ession
aql:sel .sou ce.p
esenceCondi i
on
A cPT: he amien a de c eación de los elemen os de diag ama A cPT que ue za
la ac ualización del diag ama pa a que el elemen o se ea ep esen ado as su uso.
P ime o se selecciona el nodo o igen y después el nodo des ino pe mi idos (
o Tabla 85), en e los cuales se o ma la A cPT con su es ilo
p e iamen e de inido en la Tabla 86. Se p e iene la o mación de
bucles (o igen = des ino).
Tabla 97 Implemen ación de la he amien a de c eación A cPT
A cPT
P opiedades
Gene al
Valo
Id
A cPT
Label
A cPT
Edge Mappings
A cPT
Connec ion Comple e
P econdi ion
aql:p eTa ge .di e s(p eSou ce)
Fo ce Re esh
ue
In e se Selec ion o O de
alse
132
La lógica de la he amien a es la misma que la de A cTP (Tabla 96),
menos que la comp obación del módulo I se comp ueba que es
ipo PNPL::A cPT y en el módulo C ea e Ins ance, el Type Name es
ambién PNPL::A cPT.
o edi Name: he amien a de edición, de inida en el subg upo Edi ,
que pe mi e cambia el a ibu o name de Place, PlacePc, T ansi ion
y T ansi ionPc di ec amen e en la ep esen ación. Ac ualiza el
modelo al usa se.
Tabla 98 Implemen ación de edi Name
edi Name
P opiedades
Gene al
Valo
Id
edi Name
Label
edi Name
Mapping
Place, PlacePc, T ansi ion,
T ansi ionPc
Fo ce Re esh
ue
In e se Selec ion o O de
alse
La lógica de la he amien a asigna al a ibu o name del elemen o
lo ecibido po eclado.
Tabla 99 Lógica de edi Name
edi Name
Módulo
P opiedades
Valo
Edi Mask Va iables
Mask
{0}

133
Begin
-
-
Begin > Se
Fea u e
Name
name
Value
Exp ession
a :0
o Reconnec A cs Ta ge : he amien a de edición del subg upo Edi
que pe mi e la econexión del des ino de las a is as de la
ep esen ación.
Tabla 100 Implemen ación de Reconnec A cs Ta ge
Reconnec A cs Ta ge
P opiedades
Gene al
Valo
Id
Reconnec A cs Ta ge
Label
Reconnec A cs Ta ge
Reconnec ion Kind
Reconnec Ta ge
Mappings
A cTP,A cPT
Fo ce Re esh
ue
In e se Selec ion o O de
alse
La lógica de la he amien a ga an iza que si e es una elación A cTP
el o igen sea T ansi ion y des ino sea un Place y si e es una A cPT el
o igen sea Place y el des ino es una T ans ion.
Tabla 101 Lógica de la implemen ación de Reconnec A cs Ta ge
Reconnec A cs Ta ge
Módulo
P opiedades
Valo
Sou ce Edge C ea ion
Va iable
Name
sou ce
134
Ta ge Edge C ea ion
Va iable
Name
a ge
Sou ce Edge View
C ea ion Va iable
Name
sou ceView
Ta ge Edge View
C ea ion Va iable
Name
a ge View
Elemen Selec Va iable
Name
elemen
Elemen Selec Va iable
Name
elemen View
Begin
-
-
Begin > Change Con ex
B owse
Exp ession
aql:elemen
Begin > Change Con ex >
I
Condi ion
Exp ession
aql:elemen .sou
ce.oclIsTypeO (
PNPL::Place)
and
elemen . a ge .
oclIsTypeO (PNP
L::T ansi ion)
Begin > Change Con ex >
Unse
Fea u e
Name
a ge
Elemen
Exp ession
-
Begin > Change Con ex >
Se
Fea u e
Name
a ge
Value
Exp ession
a : a ge
Begin > Change Con ex >
I
Condi ion
Exp ession
aql:elemen .sou
ce.oclIsTypeO (
PNPL::T ansi ion)
and
elemen . a ge .
135
oclIsTypeO (PNP
L::Place)
Begin > Change Con ex >
Unse
Fea u e
Name
a ge
Elemen
Exp ession
-
Begin > Change Con ex >
Se
Fea u e
Name
a ge
Value
Exp ession
a : a ge
o Reconnec A cs Sou ce: he amien a de edición del subg upo Edi
que pe mi e la econexión del o igen de las a is as de la
ep esen ación.
Tabla 102 Implemen ación de Reconnec A cs Sou ce
Reconnec A cs Sou ce
P opiedades
Gene al
Valo
Id
Reconnec A cs Sou ce
Label
Reconnec A cs Sou ce
Reconnec ion Kind
Reconnec Sou ce
Mappings
A cTP,A cPT
Fo ce Re esh
ue
In e se Selec ion o O de
alse
La lógica de la he amien a ga an iza que si e es una elación A cTP
el o igen sea T ansi ion y des ino sea un Place y si e es una A cPT el
o igen sea Place y el des ino es una T ans ion.
136
Tabla 103 Lógica de la implemen ación de Reconnec A cs Sou ce
Reconnec A cs Sou ce
Módulo
P opiedades
Valo
Sou ce Edge C ea ion
Va iable
Name
sou ce
Ta ge Edge C ea ion
Va iable
Name
a ge
Sou ce Edge View
C ea ion Va iable
Name
sou ceView
Ta ge Edge View
C ea ion Va iable
Name
a ge View
Elemen Selec Va iable
Name
elemen
Elemen Selec Va iable
Name
elemen View
Begin
-
-
Begin > Change Con ex
B owse
Exp ession
aql:elemen
Begin > Change Con ex >
I
Condi ion
Exp ession
aql:elemen .sou
ce.oclIsTypeO (
PNPL::Place)
and
elemen . a ge .
oclIsTypeO (PNP
L::T ansi ion)
Begin > Change Con ex >
Unse
Fea u e
Name
sou ce