1 |
[en] SUPPORTING HETEROGENEOUS CONFIGURATION KNOWLEDGE OF SOFTWARE PRODUCT LINES / [pt] SUPORTANDO CONHECIMENTO DE CONFIGURAÇÃO HETEROGÊNEO DE LINHAS DE PRODUTOS DE SOFTWAREELDER JOSE REIOLI CIRILO 24 January 2017 (has links)
[pt] Softwares personalizados para as necessidades de um cliente proveem vantagem competitiva quando comparados aos softwares de proposito geral. Linhas de produtos de softwares tem como objetivo a produção de produtos personalizados a partir de um conjunto de features reutilizáveis. É conhecido que o reuso sistemático de features potencialmente leva a ganhos significativos como rápida produção de software a um baixo custo e com maior qualidade. Na prática, a construção de linhas de produtos de softwares empresariais pode se tornar uma tarefa arriscada e sujeita a erros quando se leva em consideração o uso das técnicas atuais de implementação de features. O desenvolvimento de linhas de produtos de software empresariais de fato requer a convergência coordenada de várias visões (ex., especialistas de domínio, projetistas de interface, e desenvolvedores). Neste caso, cada participante do processo de desenvolvimento tem uma linguagem particular para resolver o problema específico a sua especialidade. Os desafios para integração de diferentes linguagens, evitando uma potencial cacofonia, é o problema do conhecimento de configuração heterogêneo. Nesta tese, nos examinamos as dificuldades atuais na especificação do conhecimento de configuração heterogêneo e como solução nos propomos a noção de Linguagens de Modelagem do Conhecimento do Domínio (LMCD). O propósito das LMCDs é evidenciar os conceitos do domínio e suas interfaces de programação, o que ajuda reduzir o ofuscamento do código fonte e aumentar a compreensão. Além disso, evidenciando os conceitos específicos de domínio, somos aptos a prevenir inconsistências em produtos pela detecção de erros em toda a linha de produto de software. Outro resultado deste trabalho de pesquisa é GenArchPlus, uma ferramenta extensível que suporta de forma flexível a incorporação de LMCDs na engenharia de linhas de produtos de softwares tradicional. Nos enfatizamos os benefícios da ferramenta, incluindo simplicidade, expressividade, e a capacidade de ser independente de qualquer tecnologia de implementação do domínio. Finalmente, nos ilustramos e avaliamos o uso de LMCDs em três diferentes linhas de produtos de software. / [en] Customer-specific software can provide a competitive advantage compared to general-purpose software. A software product line (SPL) aims at tailoring customer-specific products from a set of reusable features. It is well known that systematic reuse of features potentially leads to significant gains such as faster production with low costs and high quality. In practice, building enterprise software product lines might become a laborious and error-prone task when we take into account the use of current implementation techniques. Successful development of modern enterprise software product lines requires the convergence of multiple views (e.g., domain experts, interface designers, and developers), which are usually managed via domain-specific concepts. In this case, each participant of the development process has a particular working language to solve specific problems to its expertise. The challenge of integrating these differences into the engineering process, avoiding the potential cacophony of multiple different languages, is the heterogeneous configuration knowledge problem. In this thesis, we examine the current shortcomings on the specification of heterogeneous configuration knowledge and as a solution we propose the notion of Domain Knowledge Modeling Languages (DKMLs). The purpose of DKMLs is to put in evidence the domain concepts and their programming interfaces, which help to reduce source code obfuscation and increase feature comprehension. Moreover, evidencing the domain-specific concepts, we are also able to prevent inconsistencies on products by detecting errors in the entire software product line. Another result of this research is the GenArchPlus, an extensible tool that supports the flexible incorporation of DKMLs in traditional software product line engineering. We emphasize the benefits of GenArchPlus, including simplicity, expressiveness, and being framework independent. Finally, we illustrate and evaluate the use of DKMLs in three different product lines.
|
2 |
[en] PETROLEUM SCHEDULING MULTIOBJECTIVE OPTIMIZATION FOR REFINERY BY GENETIC PROGRAMMING USING DOMAIN SPECIFIC LANGUAGE / [pt] OTIMIZAÇÃO MULTIOBJETIVO DA PROGRAMAÇÃO DE PETRÓLEO EM REFINARIA POR PROGRAMAÇÃO GENÉTICA EM LINGUAGEM ESPECÍFICA DE DOMÍNIOCRISTIANE SALGADO PEREIRA 26 November 2018 (has links)
[pt] A programação de produção em refinaria (scheduling) pode ser compreendida como uma sequência de decisões que buscam otimizar a alocação de recursos, o sequenciamento de atividades e a realização temporal dessas atividades, respeitando um conjunto de restrições de diferentes naturezas e visando o atendimento de múltiplos objetivos onde fatores como atendimento à demanda de produção e minimização de variações operacionais nos equipamentos coexistem na mesma função. Este trabalho propõe o uso da técnica de Programação Genética para automatizar a criação de programas que representem uma solução completa de programação de petróleo em uma refinaria dentro de um horizonte de tempo. Para a evolução destes programas foi desenvolvida uma linguagem específica para o domínio de problemas de scheduling de petróleo e aplicada de forma a representar as principais atividades do estudo de caso. Para tal, a primeira etapa consistiu da avaliação de alguns cenários de programação de produção de forma a selecionar as atividades que devessem ser representadas e como fazê-lo. No modelo proposto, o
cromossomo quântico guarda a superposição de estados de todas as soluções possíveis e, através do processo evolutivo e observação dos genes quânticos, o cromossomo clássico é criado como uma sequencia linear de instruções a serem executadas. As instruções executadas representam o scheduling. A orientação
deste processo é feita através de uma função de aptidão multiobjetivo que hierarquiza as avaliações sobre o tempo de operação das unidades de destilação, o prazo para descarregamento de navios, a utilização do duto que movimenta óleo entre terminal e refinaria, além de fatores como número de trocas de tanques e uso de tanques de injeção nas unidades de destilação. No desenvolvimento deste trabalho foi contemplado um estudo sobre o conjunto de parâmetros para o modelo desenvolvido com base em um dos cenários de
programação selecionados. A partir desta definição, para avaliação do modelo proposto, foram executadas diversas rodadas para cinco cenários de programação de petróleo. Os resultados obtidos foram comparados com estudo desenvolvido usando algoritmos genéticos cujas atividades, no cromossomo, possuem representação por ordem. A programação genética apresentou percentual de soluções aceitas variando entre 25 por cento e 90 por cento dependendo da complexidade do cenário, sendo estes valores superiores ao obtido usando Algoritmos Genéticos em todos os cenários, com esforço computacional menor. / [en] Refinery scheduling can be understood as a sequence of decisions that targets the optimization of available resources, sequencing and execution of activities on proper timing; always respecting restrictions of different natures. The final result must achieve multiple objectives guaranteeing co-existence of different factors in the same function, such as production demand fullfillment and minimize operational variation. In this work it is proposed the use of the genetic programming technique to automate the building process of programs that represent a complete oil scheduling solution within a defined time horizon. For the evolution of those programs, it was developed a domain specific language to translate oil scheduling instructions that was applied to represent the most relevant activities for the proposed case studies. For that, purpose first step was to evaluate a few real scheduling scenarios to select which activities needed to be represented and how to do that. On the proposed model, each quantum chromosome represents the overlapping of all solutions and by the evolutionary process (and quantum gene measurement) the classic chromosome is created as a linear sequence of scheduling instructions to be executed. The orientation for this process is performed through a multi-object fitness function that prioritizes the evaluations according to: the operating time of the atmospheric distillation unities, the oil unloading time from the ships, the oil pipeline operation to transport oil to the refinery and other parameters like the number of charge tanks switchover and injection tank used for the distillation unities. The scope of this work also includes a study about tuning for the developed model based in one of the considered scenarios. From this set, an evaluation of other different scheduling scenarios was performed to test the model. The obtained results were then compared with a developed model that uses genetic algorithms with order representation for the activities. The proposed model showed between 25 percent - 90 percent of good solutions depending on the scenario complexity. Those results exhibit higher percentage of good solutions requiring less computational effort than the ones obtained with the genetic algorithms.
|
Page generated in 0.0569 seconds