Spelling suggestions: "subject:"change patterns"" "subject:"dhange patterns""
1 |
Enhancing Variability Modeling in Process-Aware Information Systems through Change PatternsAyora Esteras, Clara 02 December 2015 (has links)
[EN] The increasing adoption of process-aware information systems (PAISs) together with the high variability in business processes has resulted in collections of process families. These families correspond to a business process model and its variants, which can comprise hundreds or thousands of different ways of realizing this process. Modeling and managing process variability in this context can be very challenging due to the size of these families.
Motivated by this challenge, several approaches enabling process variability have been developed. However, with these approaches PAIS engineers usually are required to model and manage one by one all the elements of a process family and ensure its correctness by their own. This can be tedious and error-prone especially when a process family comprises hundreds or thousands of process variants. For example, variability may not be properly reflected since PAIS engineers need to be aware of each variation of each process variant. Thus, there is a need of methods that allow PAIS engineers to model process variability more explicitly, especially at a level of abstraction higher than the one provided by the existing process variability approaches. However, how process variability is represented in existing approaches becomes critical for these methods (e.g., what language constructs are used to model process variability). In this context, the use of modeling patterns (reusable solutions to a commonly occurring problem) is a promising way to address these issues. For example, patterns have been proved as an efficient solution to model individual business processes.
The objective of this thesis is to enhance the modeling of variability in process families through change patterns. First, we conduct a systematic study to analyze existing process variability approaches regarding their expressiveness with respect to process variability modeling as well as their process support. Thus, we can identify how process variability is actually modeled by existing approaches (i.e., a core set of variability-specific language constructs). In addition, based on the obtained empirical evidence, we derive the VIVACE framework, a complete characterization of process variability which comprises also a core set of features fostering process variability. VIVACE enables PAIS engineers to evaluate existing process variability approaches as well as to select that variability approach meeting their requirements best. In addition, it helps process engineers in dealing with PAISs supporting process variability.
Second, to facilitate variability modeling in process families, based on the identified language constructs, we present a set of 10 change patterns and show how they can be implemented in a process variability approach. In particular, these patterns support process family modeling and evolution and are able to ensure process family correctness. In order to prove their effectiveness and analyze their suitability, we applied these change patterns in a real scenario. More concretely, we conduct a case study with a safety standard with a high degree of variability. The case study results show that the application of the change patterns can reduce the effort for process family modeling in a 34% and for evolution in a 40%. In addition, we have analyzed how PAIS engineers apply the patterns and their perceptions of this application. Most of them expressed some benefit when applying the change patterns, did not perceived an increase of mental effort for applying the patterns, and agreed upon the usefulness and ease of use of the patterns. / [ES] La creciente adopción de sistemas de información dirigidos por procesos de negocio (PAIS) junto con la alta variabilidad en dichos procesos, han dado lugar a la aparición de colecciones de familias de procesos. Estas familias están constituidas por un modelo de proceso de negocio y sus variantes, las cuales pueden comprender entre cientos y miles de diferentes formas de llevar a cabo ese proceso.
Gestionar la variabilidad en este contexto puede resultar muy difícil dado el tamaño que estas familias pueden alcanzar. Motivados por este desafío, se han desarrollado varias soluciones que permiten la gestión de la variabilidad en los procesos de negocio. Sin embargo, con estas soluciones los ingenieros deben crear y gestionar uno por uno todos los elementos de las familias de procesos y asegurar ellos mismos su corrección. Esto puede resultar tedioso y propenso a errores especialmente cuando las familias están compuestas de miles de variantes. Por ejemplo, la variabilidad puede no quedar adecuadamente representada ya que los ingenieros deben ser conscientes de todas y cada una de las variaciones de todas las variantes. Así, son necesarios nuevos métodos que permitan modelar la variabilidad de los procesos de una manera más explícita, a un nivel de abstracción más alto del proporcionado por las soluciones actuales. Sin embargo, cómo se representa la variabilidad en estos métodos resulta crítico (ej.: qué primitivas se utilizan). En este contexto, el uso de patrones de modelado (soluciones reutilizables a un problema recurrente) resultan un camino prometedor. Por ejemplo, los patrones han sido probados como una solución eficaz para gestionar procesos de negocio individuales.
El objetivo de esta tesis es mejorar el modelado de la variabilidad en las familias de procesos a través del uso de patrones de cambio. En primer lugar, hemos llevado a cabo un estudio sistemático con el fin de analizar las soluciones existentes que permiten gestionar la variabilidad en los procesos, así como el soporte que estas proporcionan. Así, hemos sido capaces de identificar y analizar cuál es el conjunto básico de primitivas específicas para representar la variabilidad. Además, basándonos en la evidencia empírica obtenida, hemos derivado el marco de evaluación VIVACE, el cual recoge las primitivas de variabilidad y un conjunto básico de características que favorecen la variabilidad en los procesos. El principal objetivo de VIVACE es conformar una completa caracterización de la variabilidad en los procesos de negocio. Asimismo, VIVACE permite evaluar las soluciones que gestionan la variabilidad en los procesos, así como seleccionar la solución que se ajuste mejor a sus necesidades. Finalmente, VIVACE puede ayudar a los ingenieros a gestionar PAISs con variabilidad.
En segundo lugar, para facilitar el modelado de la variabilidad en las familias de procesos, basándonos en las primitivas identificadas, hemos definido un conjunto de 10 patrones de cambio y hemos mostrado cómo estos patrones pueden ser implementados. En particular, estos patrones ayudan al modelado y la evolución de familias de procesos y son capaces de garantizar la corrección de la propia familia. Para probar su efectividad y analizar su idoneidad, hemos aplicado estos patrones de cambio en un escenario real. En concreto, hemos llevado a cabo un caso de estudio con un estándar de seguridad con un alto nivel de variabilidad. Los resultados de este caso demuestran que la aplicación de nuestros patrones de cambio puede reducir el esfuerzo para el modelado de familias de procesos en un 34% y para la evolución de esos modelos en un 40%. Además, hemos analizado cómo los ingenieros aplican los patrones y cuáles son sus percepciones de esta aplicación. Como resultado, la mayoría de ellos encontró beneficios al aplicar los patrones. Además, no percibieron un aumento en el esfuerzo mental necesario para aplicarlos y estuvieron de acuerdo en la utilid / [CA] La creixent adopció de sistemes d'informació dirigits per processos de negoci (PAIS) junt amb l'alta variabilitat en eixos processos, han donat lloc a la aparició de col·leccions de famílies de processos. Estes famílies es formen de un model de procés de negoci i les seues variants, les quals poden comprendre entre cents i milers de diferents formes de dur a terme eixe procés. Modelar la variabilitat dels processos en este context pot resultar molt difícil donat la grandària que aquestes famílies poden aconseguir.
Motivats per este desafiament, s'han desenvolupat diverses solucions que permeten la gestió de la variabilitat en els processos de negoci. No obstant, amb aquestes solucions els enginyers que treballen amb PAIS han de crear i gestionar un a un tots els elements de les famílies de processos i assegurar ells mateixos la seua correcció. Això pot resultar tediós i propens a errors especialment quan les famílies es componen de cents o milers de variants. Per exemple, la variabilitat pot no quedar adequadament representada ja que els enginyers han de ser conscients de totes i cadascuna una de les variacions de totes les variants. Per quest motiu, son necessaris nous mètodes que permeten als enginyers de PAIS modelar la variabilitat dels processos de manera més explícita, sobretot a un nivell d'abstracció més alt del proporcionat per les solucions actuals. No obstant, com es representa la variabilitat en aquestos mètodes resulta crític (ex.: quines primitives s'utilitzen per a modelar la variabilitat en els processos). En aquest context, l'ús de patrons de modelatge (solucions reutilitzables a un problema recurrent) resulten un camí prometedor. Per exemple, els patrons han sigut provats com una solució eficaç per modelar i gestionar processos de negoci individuals.
L'objectiu d'aquesta tesi 'es millorar el modelatge de la variabilitat en les famílies de processos a través de l'ús de patrons de canvi. En primer lloc, hem dut a terme un estudi sistemàtic per a analitzar les solucions existents per a gestionar la variabilitat en els processos, així com el suport que aquestes proporcionen. D'aquesta manera, som capaços d'identificar i analitzar quin 'es el conjunt bàsic de primitives específiques per a representar la variabilitat. A més, basant-nos en l'evidència empírica obtinguda, hem derivat el marc d'evacuació VIVACE, el qual arreplega les primitives de variabilitat i un conjunt bàsic de característiques que afavoreixen la variabilitat en els processos. Així mateix, VIVACE permet als enginyers de PAIS avaluar les solucions per a gestionar la variabilitat en els processos, així com seleccionar la solució que s'ajusta millor a les seues necessitats. Finalment, VIVACE també pot ajudar als enginyers a gestionar PAISs que donen suport a aquesta variabilitat.
En segon lloc, per a facilitar el modelatge de la variabilitat en les famílies de processos, basant-nos en les primitives identificades, hem definit un conjunt de 10 patrons de canvi i hem mostrat com aquestos poden ser implementats. En particular, estos patrons ajuden al modelatge i l'evolució de famílies de processos i garanteixen la correcció de la pròpia família. Per a provar la seua efectivitat i analitzar la seua idoneïtat, hem aplicat els patrons de canvi en un escenari real. En particular, hem dut a terme un cas d'estudi amb un estàndard de seguretat amb un alt nivell de variabilitat. Els resultats de aquest cas demostren que l'aplicació dels nostres patrons de canvi poden reduir l'esforç per al modelatge de famílies de processos en un 34% i per a l'evolució de eixos models en un 40%. A més, hem analitzat com els enginyers de PAIS apliquen els patrons i quines son les seues percepcions d'esta aplicació. Com a resultat, la majoria d'ells va trobar beneficis al aplicar els patrons de canvi. A més, no van percebre un augment en l'esforç mental necessari per a aplicar-los i van estar d'acord en la utilitat i f / Ayora Esteras, C. (2015). Enhancing Variability Modeling in Process-Aware Information Systems through Change Patterns [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/58426
|
2 |
Compreensão de mudanças estruturais no código fonte usando análise dinâmica e estática / Understanding structural changes in source code using dynamic and static analysisSilva, Janio Rosa 17 December 2015 (has links)
A compreensão de sistemas é fundamental para a atividade de manutenção. Durante a manutenção e evolução dos sistemas, mudanças contínuas podem degradar o projeto modular do sistema, aumentando sua complexidade. Consequentemente, as empresas gastam muito tempo e recursos financeiros na compreensão e manutenção dos sistemas. Portanto, entender como o sistema evolui é uma etapa importante para o bom planejamento, desenvolvimento e gerenciamento de mudanças. Os desenvolvedores geralmente precisam entender rapidamente mudanças recentes antes de implementar novas mudanças. Mesmo
que já existam abordagens para a compreensão, elas ainda são limitadas para detectar componentes diferentes com tarefas similares, para localizar tarefas no código fonte e para medir o impacto de uma determinada mudança nas funcionalidades do sistema. Neste trabalho, é proposto um mecanismo para localizar impactos causados por uma mudança no projeto e quais mudanças estruturais ocorreram em um sistema de uma versão para outra. Dada uma funcionalidade específica, o objetivo é localizar mudanças estruturais e mudanças de relacionamento entre componentes entre duas versões. Cada mudança estrutural detectada na primeira etapa é checada no código fonte para ambas as versões. Depois, as mudanças são classificadas em cinco padrões: i) movimentação de classe; ii) movimentação de método; iii) adição de método; iv) remoção de método; e v) mudança no modificador de acesso (os três últimos que representam mudanças de interface nas classes). A abordagem proposta é avaliada com três sistemas de código aberto com o objetivo de validar a metodologia: jFreeChart, Tomcat e JHotDraw. Os resultados revelam mudanças estruturais como movimentação de método, movimentação de classe e mudança de relacionamento de pacotes. Além disso, também é feito um levantamento de mudanças estruturais que afetam múltiplas funcionalidades, o que é chamado de avaliação de impacto de mudanças; análises sobre mudanças de relacionamento de pacotes no jFreeChart
validado em termos de precisão e recall. Os resultados mostram que movimentações em métodos, em média, aparecem em 28,4% dos casos. Existem classes que afetam muitas funcionalidades, logo o desenvolvedor terá noção de quais funcionalidades serão afetadas com tais mudanças. As mudanças no jFreeChart mostram que a abordagem detecta os padrões de alterações em pacotes a uma precisão de 100% e revocação de 83%. Ao detectar
uma mudança considerável na relação de pacotes entre o jFreeChart versões 0.7.0 e 0.9.5, foi constatado que os novos pacotes possuem um menor acoplamento, conforme a métrica efferent coupling, podendo indicar uma melhor modularização. Portanto detectar estas mudanças nos pacotes pode ajudar o desenvolvedor a explicar a coesão, acoplamento e a modularidade do sistema em termo de pacotes. Um dos resultados importantes
da abordagem, a avaliação de impacto de mudanças, permite ao desenvolvedor avaliar o passado do sistema, e prever o impacto e abrangência de mudanças futuras em classes e funcionalidades. / Software system comprehension is a key maintenance activity. During the software maintenance and evolution, continuous changes may degrade the modular design overtime, thus, increasing its complexity. Consequently, companies spend a lot of time and resources trying to understand and implement changes on software. Therefore, understanding how system changes evolve is an important step towards future development planing and management. Developers usually need to rapidly understand recent changes before implementing a new feature. Despite of several approaches to improve software comprehension, they are still limited to different components with similar roles, to locate features in the source code and to measure the impact of an specific change in other features. In this work, we present an approach centered on dynamic and static analysis to reduce program comprehension effort. More specifically, we propose a mechanism to locate what structural changes have occurred in a program from one version to another. Given one specific functionality, we locate structural changes and component relationship changes between two versions. Each structural change previously detected in the first step, is then verified by a next step of static analysis to confirm if the method in the trace really exists in only one version or both versions. The candidate changes are classified in five patterns by parsing the source code of both analyzed version: i) Move Class, ii) Move Method, iii) Add Method, iv) Remove Method, and v) Access Modifier Change (where they represent Class Interface Change). We evaluated our approach with three open source-software systems: jFreeChart, Tomcat, and JHotDraw. Our results reveals structural changes such as, move method, move class, and package relationship changes. In this study, we further investigate the impact of structural changes over multiple functionalities. We also evaluated the package relationship change found in jFreeChart using precision and recall. The results show that the pattern Move Method dominates, in average, appearing in 28,4% of the changes. Also, there are changes in classes that affect many funcionalities. Also the results show that in jFreeChart there were changes in packages detected with a precision of 100% and a recall of 83%. After the approach detected many changes between versions 0.7.0 and 0.9.5 of jFreeChart, further analysis showed that the new package structure has less coupling measures, according to the Efferent Coupling metric. That can mean the package structure has a better modular structure. Then detecting those changes in the
package structure can be valuable to the developer evaluate the cohesion, coupling and package modular structure. One of the results presented by this approach, the impact analysis, allow the developer, by evaluating the past of the system, foresee the impact
and coverage of future changes that will be made in the system. / Dissertação (Mestrado)
|
3 |
Mapping Adaptation between Biomedical Knowledge Organization Systems / Adaptation des mappings entre systèmes d'organisation de la connaissance du domaine biomédicalReis, Julio Cesar Dos 24 October 2014 (has links)
Les systèmes d'information biomédicaux actuels reposent sur l'exploitation de données provenant de sources multiples. Les Systèmes d'Organisation de la Connaissance (SOC) permettent d'expliciter la sémantique de ces données, ce qui facilite leur gestion et leur exploitation. Bénéficiant de l'évolution des technologies du Web sémantique, un nombre toujours croissant de SOCs a été élaboré et publié dans des domaines spécifiques tels que la génomique, la biologie, l'anatomie, les pathologies, etc. Leur utilisation combinée, nécessaire pour couvrir tout le domaine biomédical, repose sur la définition de mises en correspondance entre leurs éléments ou mappings. Les mappings connectent les entités des SOCs liées au même domaine via des relations sémantiques. Ils jouent un rôle majeur pour l'interopérabilité entre systèmes, en permettant aux applications d'interpréter les données annotées avec différents SOCs. Cependant, les SOCs évoluent et de nouvelles versions sont régulièrement publiées de façon à correspondre à des vues du domaine les plus à jour possible. La validité des mappings ayant été préalablement établis peut alors être remis en cause. Des méthodes sont nécessaires pour assurer leur cohérence sémantique au fil du temps. La maintenance manuelle des mappings est une possibilité lorsque le nombre de mappings est restreint. En présence de SOCs volumineux et évoluant très rapidement, des méthodes les plus automatiques possibles sont indispensables. Cette thèse de doctorat propose une approche originale pour adapter les mappings basés sur les changements détectés dans l'évolution de SOCs du domaine biomédical. Notre proposition consiste à comprendre précisément les mappings entre SOCs, à exploiter les types de changements intervenant lorsque les SOCs évoluent, puis à proposer des actions de modification des mappings appropriées. Nos contributions sont multiples : (i) nous avons réalisé un travail expérimental approfondi pour comprendre l'évolution des mappings entre SOCs; nous proposons des méthodes automatiques (ii) pour analyser les mappings affectés par l'évolution de SOCs, et (iii) pour reconnaître l'évolution des concepts impliqués dans les mappings via des patrons de changement; enfin (iv) nous proposons des techniques d'adaptation des mappings à base d'heuristiques. Nous proposons un cadre complet pour l'adaptation des mappings, appelé DyKOSMap, et un prototype logiciel. Nous avons évalué les méthodes proposées et le cadre formel avec des jeux de données réelles contenant plusieurs versions de mappings entre SOCs du domaine biomédical. Les résultats des expérimentations ont démontré l'efficacité des principes sous-jacents à l'approche proposée. La maintenance des mappings, en grande partie automatique, est de bonne qualité. / Modern biomedical information systems require exchanging and retrieving data between them, due to the overwhelming available data generated in this domain. Knowledge Organization Systems (KOSs) offer means to make the semantics of data explicit which, in turn, facilitates their exploitation and management. The evolution of semantic technologies has led to the development and publication of an ever increasing number of large KOSs for specific sub-domains like genomics, biology, anatomy, diseases, etc. The size of the biomedical field demands the combined use of several KOSs, but it is only possible through the definition of mappings. Mappings interconnect entities of domain-related KOSs via semantic relations. They play a key role as references to enable advanced interoperability tasks between systems, allowing software applications to interpret data annotated with different KOSs. However, to remain useful and reflect the most up-to-date knowledge of the domain, the KOSs evolve and new versions are periodically released. This potentially impacts established mappings demanding methods to ensure, as automatic as possible, their semantic consistency over time. Manual maintenance of mappings stands for an alternative only if a restricted number of mappings are available. Otherwise supporting methods are required for very large and highly dynamic KOSs. To address such problem, this PhD thesis proposes an original approach to adapt mappings based on KOS changes detected in KOS evolution. The proposal consists in interpreting the established correspondences to identify the relevant KOS entities, on which the definition relies on, and based on the evolution of these entities to propose actions suited to modify mappings. Through this investigation, (i) we conduct in-depth experiments to understand the evolution of KOS mappings; we propose automatic methods (ii) to analyze mappings affected by KOS evolution, and (iii) to recognize the evolution of involved concepts in mappings via change patterns; finally (iv) we design techniques relying on heuristics explored by novel algorithms to adapt mappings. This research achieved a complete framework for mapping adaptation, named DyKOSMap, and an implementation of a software prototype. We thoroughly evaluated the proposed methods and the framework with real-world datasets containing several releases of mappings between biomedical KOSs. The obtained results from experimental validations demonstrated the overall effectiveness of the underlying principles in the proposed approach to adapt mappings. The scientific contributions of this thesis enable to largely automatically maintain mappings with a reasonable quality, which improves the support for mapping maintenance and consequently ensures a better interoperability over time.
|
Page generated in 0.0587 seconds