16 research outputs found

    Model-based reuse for crosscutting frameworks: assessing reuse and maintenance effort

    Get PDF
    Abstract\ud \ud \ud \ud Background\ud Over the last years, a number of researchers have investigated how to improve the reuse of crosscutting concerns. New possibilities have emerged with the advent of aspect-oriented programming, and many frameworks were designed considering the abstractions provided by this new paradigm. We call this type of framework Crosscutting Frameworks (CF), as it usually encapsulates a generic and abstract design of one crosscutting concern. However, most of the proposed CFs employ white-box strategies in their reuse process, requiring two mainly technical skills: (i) knowing syntax details of the programming language employed to build the framework and (ii) being aware of the architectural details of the CF and its internal nomenclature. Also, another problem is that the reuse process can only be initiated as soon as the development process reaches the implementation phase, preventing it from starting earlier.\ud \ud \ud \ud Method\ud In order to solve these problems, we present in this paper a model-based approach for reusing CFs which shields application engineers from technical details, letting him/her concentrate on what the framework really needs from the application under development. To support our approach, two models are proposed: the Reuse Requirements Model (RRM) and the Reuse Model (RM). The former must be used to describe the framework structure and the later is in charge of supporting the reuse process. As soon as the application engineer has filled in the RM, the reuse code can be automatically generated.\ud \ud \ud \ud Results\ud We also present here the result of two comparative experiments using two versions of a Persistence CF: the original one, whose reuse process is based on writing code, and the new one, which is model-based. The first experiment evaluated the productivity during the reuse process, and the second one evaluated the effort of maintaining applications developed with both CF versions. The results show the improvement of 97% in the productivity; however little difference was perceived regarding the effort for maintaining the required application.\ud \ud \ud \ud Conclusion\ud By using the approach herein presented, it was possible to conclude the following: (i) it is possible to automate the instantiation of CFs, and (ii) the productivity of developers are improved as long as they use a model-based instantiation approach.The authors would like to thank CNPq for funding (Processes 132996/2010-3 and 560241/2010-0) and for the Universal Project (Process Number 483106/2009-7) in which this article was created. Thiago Gottardi would also like to thank FAPESP (Process 2011/04064-8)

    Crosscutting framweorks: definitions, classifications, architecture and using in a software development process

    No full text
    O paradigma orientado a objetos não dispõe de abstrações adequadas à modularização de interesses transversais - interesses cuja implementação encontra-se entrelaçada e espalhada por todos os módulos de um sistema. Com o surgimento da Programação Orientada a Aspectos e a disponibilidade de abstrações adequadas à modularização de interesses transversais, o reúso desses interesses foi facilitado. Nesta tese são apresentados alguns resultados de esforços de pesquisa que visam a tornar o reúso de interesses transversais mais efetivo. Definições e classificações para frameworks desenvolvidos no contexto da POA - frameworks transversais - são apresentadas com o objetivo de facilitar a comunicação entre usuários e pesquisadores. Uma arquitetura de referência para o projeto e implementação de frameworks transversais, que torna sua estrutura mais clara e facilita a integração de vários frameworks quando a intenção é criar um repositório de aspectos reusáveis, é proposta. Três famílias de frameworks transversais: de persistência, de segurança e de regras de negócio foram desenvolvidas. Cada família de frameworks transversais constitui uma linha de produtos de software, em que membros podem ser configurados com características (features) distintas. Um processo de desenvolvimento, denominado ProFT/PU, baseado no Processo Unificado (PU), que considera as famílias de frameworks ao longo de todo o processo é apresentado, juntamente com um exemplo de sua utilização para uma aplicação típica. Um estudo de caso para comparar o tempo requerido para reusar um framework transversal de persistência e um framework orientado a objetos de persistência é também apresentado e discutido.The object-oriented paradigm does not provide adequate abstractions to modularize crosscutting concerns - concerns whose implementation end up tangling and spreading throughout the modules of a system. With the emerging of Aspect-Oriented Programming (AOP) and the availability of abstractions suitable to modularize crosscutting concerns, the reuse of such concerns is facilitated. In this thesis, some results of research efforts to make the reuse of crosscutting concerns more effective are presented. Definitions and classifications for frameworks developed in the context of AOP - crosscutting frameworks - with the objective of improving understanding and communication among users and researchers are presented. An architecture specifically to design and implement this type of framework, which makes its structure clearer and facilitates the integration of several frameworks, is proposed. Three families of crosscutting frameworks for persistence, security and business rules, were developed. Each crosscutting framework family is a software product line, in which members can be instantiated with distinct characteristics. A development process, named ProFT/PU, based on Unifed Process (UP), which takes into account the families during the process, is presented, along with an example of its use for a typical application. A case study to compare the time required to reuse a persistence crosscutting framework and a persistence object-oriented framework is also presented and discussed

    Uso de Aspectos para Verificar Regras de Instanciação de Frameworks

    Get PDF
    Instantiation of frameworks is usually a time-consuming, error-prone process as there are specific rule types that must be followed to produce an application that meets its requirements. Some of these rules refer to framework specific implementation policies and cannot be verified in compilation time, such as nomenclature rules and default constructors. A relevant problem is that faults generated when these rules are not applied can only be detected later, during the system usage. A mechanism to enforce that certain rules for a persistency framework be strictly followed, is shown. Keyword: AOP, frameworks, instantiation rulesA instanciação de frameworks normalmente é um processo que demanda tempo e é sujeito a erros, pois existem regras específicas que devem ser seguidas com o intuito de produzir uma aplicação compatível com seus requisitos. Algumas dessas regras referem-se a políticas de implementação e não podem ser verificadas em tempo de compilação, como por exemplo regras de nomenclatura e construtores padrão. Um problema relevante é que as falhas geradas pela não obediência a essas regras só podem ser detectadas em um momento posterior à instanciação, durante o uso do sistema. É apresentada neste artigo a implementação de um mecanismo que verifica regras de instanciação de um framework de persistência. Palavaras-chave: POA, frameworks, regras de instanciaçã

    Data Fusion Analysis and Synthesis Framework for Improving Disaster Situation Awareness

    Get PDF
    To carry out required aid operations efficiently and effectively after an occurrence of a disaster such as an earthquake, emergency control centers must determine the effect of disasters precisely and and in a timely manner. Different kinds of data-gathering techniques can be used to collect data from disaster areas, such as sensors, cameras, and unmanned aerial vehicles (UAVs). Furthermore, data-fusion techniques can be adopted to combine the data gathered from different sources to enhance the situation awareness. Recent research and development activities on advanced air mobility (AAM) and related unmanned aerial systems (UASs) provide new opportunities. Unfortunately, designing these systems for disaster situation analysis is a challenging task due to the topological complexity of urban areas, and multiplicity and variability of the available data sources. Although there are a considerable number of research publications on data fusion, almost none of them deal with estimating the optimal set of heterogeneous data sources that provide the best effectiveness and efficiency value in determining the effect of disasters. Moreover, existing publications are generally problem- and system-specific. This article proposes a model-based novel analysis and synthesis framework to determine the optimal data fusion set among possibly many alternatives, before expensive implementation and installation activities are carried out

    Plastid phylogenomics of Pleurothallidinae (Orchidaceae): Conservative plastomes, new variable markers, and comparative analyses of plastid, nuclear, and mitochondrial data.

    No full text
    We present the first comparative plastome study of Pleurothallidinae with analyses of structural and molecular characteristics and identification of the ten most-variable regions to be incorporated in future phylogenetic studies. We sequenced complete plastomes of eight species in the subtribe and compared phylogenetic results of these to parallel analyses of their nuclear ribosomal DNA operon (26S, 18S, and 5.8S plus associated spacers) and partial mitochondrial genome sequences (29–38 genes and partial introns). These plastomes have the typical quadripartite structure for which gene content is similar to those of other orchids, with variation only in the composition of the genes. The independent loss of genes had an impact on which genes border the inverted repeats and thus the size of the small single-copy region, leading to variation in overall plastome length. Analyses of 68 coding sequences indicated the same pattern of codon usage as in other orchids, and 13 protein-coding genes under positive selection were detected. Also, we identified 62 polymorphic microsatellite loci and ten highly variable regions, for which we designed primers. Phylogenomic analyses showed that the top ten mutational hotspots represent well the phylogenetic relationships found with whole plastome sequences. However, strongly supported incongruence was observed among plastid, nuclear ribosomal DNA operon, and mitochondrial DNA trees, indicating possible occurrence of incomplete lineage sorting and/or introgressive hybridization. Despite the incongruence, the mtDNA tree retrieved some clades found in other analyses. These results, together with performance in recent studies, support a future role for mitochondrial markers in Pleurothallidinae phylogenetics

    Characterization of sequence variability hotspots in Cranichideae plastomes (Orchidaceae, Orchidoideae)

    No full text
    This study reports complete plastome sequences for six species of Neotropical Cranichideae and focuses on identification of the most variable regions (hotspots) in this group of orchids. These structure of these six plastomes is relatively conserved, exhibiting lengths ranging between 142,599 to 154,562 bp with 36.7% GC on average and exhibiting typical quadripartite arrangement (LSC, SSC and two IRs). Variation detected in the LSC/IR and SSC/IR junctions is explained by the loss of ndhF and ycf1 length variation. For the two genera of epiphytic clade in Spiranthinae, almost whole sets of the ndh-gene family were missing. Eight mutation hotspots were identified based on nucleotide diversity, sequence variability and parsimony-informative sites. Three of them (rps16-trnQ, trnT-trnL, rpl32-trnL) seem to be universal hotspots in the family, and the other five (trnG-trnR, trnR-atpA, trnP-psaJ, rpl32-infA, and rps15-ycf1) are described for the first time as orchid molecular hotspots. These regions have much more variation than all those used previously in phylogenetics of the group and offer useful plastid markers for phylogenetic, barcoding and population genetic studies. The use of whole plastomes or exclusive no-gap matrices also positioned with high support the holomycotrophic Rhizanthella among Orchidoideae plastomes in model-based analyses, showing the utility of plastomes for phylogenetic placement of this unusual genus

    Comparative Plastid Genomics of Neotropical Bulbophyllum (Orchidaceae; Epidendroideae)

    No full text
    Pantropical Bulbophyllum, with ∼2,200 species, is one of the largest genera in Orchidaceae. Although phylogenetics and taxonomy of the ∼60 American species in the genus are generally well understood, some species complexes need more study to clearly delimit their component species and provide information about their evolutionary history. Previous research has suggested that the plastid genome includes phylogenetic markers capable of providing resolution at low taxonomic levels, and thus it could be an effective tool if these divergent regions can be identified. In this study, we sequenced the complete plastid genome of eight Bulbophyllum species, representing five of six Neotropical taxonomic sections. All plastomes conserve the typical quadripartite structure, and, although the general structure of plastid genomes is conserved, differences in ndh-gene composition and total length were detected. Total length was determined by contraction and expansion of the small single-copy region, a result of an independent loss of the seven ndh genes. Selection analyses indicated that protein-coding genes were generally well conserved, but in four genes, we identified 95 putative sites under positive selection. Furthermore, a total of 54 polymorphic simple sequence repeats were identified, for which we developed amplification primers. In addition, we propose 10 regions with potential to improve phylogenetic analyses of Neotropical Bulbophyllum species

    PET-BCC: Um PET Temático em Desenvolvimento de Software

    No full text
    O PET-BCC é um grupo temático com o foco em desenvolvimento de software. Além das responsabilidades convencionais de qualquer grupo PET, os temáticos possuem a responsabilidade de desenvolver atividades também voltadas ao seu tema, gerando conhecimento mais direcionado e contribuindo de forma mais pontual para a formação dos estudantes. Este artigo tem como objetivo apresentar os projetos que são desenvolvidos, a organização e a dinâmica de funcionamento do grupo. Apresentam-se também os desafios, limitações e estratégias de gerenciamento que são atualmente adotadas de forma que outros grupos PET possam se beneficiar
    corecore