57 research outputs found

    3-я Міжнародна конференція зі сталого майбутнього: екологічні, технологічні, соціальні та економічні аспекти (ICSF 2022) 24-27 травня 2022 року, м. Кривий Ріг, Україна

    Get PDF
    Матеріали 3-ої Міжнародної конференції зі сталого майбутнього: екологічні, технологічні, соціальні та економічні аспекти (ICSF 2022) 24-27 травня 2022 року, м. Кривий Ріг, Україна.Proceedings of the 3rd International Conference on Sustainable Futures: Environmental, Technological, Social and Economic Matters (ICSF 2022) 24-27 May 2022, Kryvyi Rih, Ukraine

    FVS: A declarative aspect oriented modeling language

    Get PDF
    Very well known problems such as the fragility problem, the AOP paradox, or the aspect interference problem threaten aspect oriented application in the modeling phase. In this work we explore FVS, a declarative visual language, as an aspect-oriented modeling language. Our language exhibits a very exible and rich joinpoint model to leverage aspect oriented application and is suitable for incremental modeling, a highly desirable quality attribute in any modeling language.Sociedad Argentina de Informática e Investigación Operativ

    Wide-coverage statistical parsing with minimalist grammars

    Get PDF
    Syntactic parsing is the process of automatically assigning a structure to a string of words, and is arguably a necessary prerequisite for obtaining a detailed and precise representation of sentence meaning. For many NLP tasks, it is sufficient to use parsers based on simple context free grammars. However, for tasks in which precision on certain relatively rare but semantically crucial constructions (such as unbounded wh-movements for open domain question answering) is important, more expressive grammatical frameworks still have an important role to play. One grammatical framework which has been conspicuously absent from journals and conferences on Natural Language Processing (NLP), despite continuing to dominate much of theoretical syntax, is Minimalism, the latest incarnation of the Transformational Grammar (TG) approach to linguistic theory developed very extensively by Noam Chomsky and many others since the early 1950s. Until now, all parsers using genuine transformational movement operations have had only narrow coverage by modern standards, owing to the lack of any wide-coverage TG grammars or treebanks on which to train statistical models. The received wisdom within NLP is that TG is too complex and insufficiently formalised to be applied to realistic parsing tasks. This situation is unfortunate, as it is arguably the most extensively developed syntactic theory across the greatest number of languages, many of which are otherwise under-resourced, and yet the vast majority of its insights never find their way into NLP systems. Conversely, the process of constructing large grammar fragments can have a salutary impact on the theory itself, forcing choices between competing analyses of the same construction, and exposing incompatibilities between analyses of different constructions, along with areas of over- and undergeneration which may otherwise go unnoticed. This dissertation builds on research into computational Minimalism pioneered by Ed Stabler and others since the late 1990s to present the first ever wide-coverage Minimalist Grammar (MG) parser, along with some promising initial experimental results. A wide-coverage parser must of course be equipped with a wide-coverage grammar, and this dissertation will therefore also present the first ever wide-coverage MG, which has analyses with a high level of cross-linguistic descriptive adequacy for a great many English constructions, many of which are taken or adapted from proposals in the mainstream Minimalist literature. The grammar is very deep, in the sense that it describes many long-range dependencies which even most other expressive wide-coverage grammars ignore. At the same time, it has also been engineered to be highly constrained, with continuous computational testing being applied to minimize both under- and over-generation. Natural language is highly ambiguous, both locally and globally, and even with a very strong formal grammar, there may still be a great many possible structures for a given sentence and its substrings. The standard approach to resolving such ambiguity is to equip the parser with a probability model allowing it to disregard certain unlikely search paths, thereby increasing both its efficiency and accuracy. The most successful parsing models are those extracted in a supervised fashion from labelled data in the form of a corpus of syntactic trees, known as a treebank. Constructing such a treebank from scratch for a different formalism is extremely time-consuming and expensive, however, and so the standard approach is to map the trees in an existing treebank into trees of the target formalism. Minimalist trees are considerably more complex than those of other formalisms, however, containing many more null heads and movement operations, making this conversion process far from trivial. This dissertation will describe a method which has so far been used to convert 56% of the Penn Treebank trees into MG trees. Although still under development, the resulting MGbank corpus has already been used to train a statistical A* MG parser, described here, which has an expected asymptotic time complexity of O(n3); this is much better than even the most optimistic worst case analysis for the formalism

    An approach based on software product lines using components and aspects in Android platform

    Get PDF
    Orientador: Cecília Mary Fischer RubiraDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: O número de dispositivos móveis utilizando a plataforma Android cresceu dramaticamente nos últimos anos, contribuindo para uma explosão no número de aplicações. Hoje, são mais de um milhão de aplicativos disponíveis para download. Essas aplicações estão crescendo em número, tamanho e estão se tornando cada vez mais complexas, requisitando técnicas sofisticadas de engenharia de software, como por exemplo, programação orientada a aspectos e o desenvolvimento baseado em componentes, que foram amplamente explorados em plataformas desktop mas não foram muito investigadas na plataforma Android. Na literatura, poucos estudos foram feitos para mostrar sua viabilidade em cenários reais de implantação. Nesta plataforma, existem limitações de memória e poder de processamento que podem limitar o uso dessas técnicas sofisticadas. Este trabalho explora a plataforma Android em uma abordagem que utiliza essas técnicas sofisticadas de engenharia de software para modularizar interesses transversais para construção de Linhas de Produtos de Software (LPS) e a aplicação desta abordagem em estudo de caso reais. No primeiro estudo de caso, a abordagem é avaliada em relação à quantidade de memória e desempenho, e posteriormente, comparada em relação a abordagens tradicionais como o desenvolvimento baseado em componentes e o desenvolvimento orientado a objetos. No segundo estudo de caso, a abordagem é verificada em relação ao atendimento de requisitos não funcionais de tolerância a falhas no domínio de coleta de dados em campo. Os principais artefatos desse segundo estudo de caso são uma arquitetura e uma aplicação para este domínioAbstract: The number of smartphones running on Android platform increased dramatically in the past few years, contributing to an explosion in the number of applications. Today, there are more than a million available for download. These applications are increasing in the number, size and becoming more complex requiring sophisticated software engineering techniques such as Aspect-Oriented Programming (AOP) and Component-Based Development (CBD) which are highly exploited in desktop environments but have not been much investigated in this platform. In the literature, few studies have been conducted in order to show their feasibility in real industry deployment scenarios. In Android platform, there are limitations in memory and processing power that can limit the use of these software engineering techniques. This work explores Android platform in an approach that uses these sophisticated techniques to modularize crosscutting concerns to build Software Product Lines (SPLs) and its application in real case studies. In the first case study, the approach is evaluated in terms of memory allocation and performance; later, it is compared to traditional approaches such as component-based development and object-oriented programming. In the second case study, the approach is verified in terms of fault-tolerant non-functional requirements suitability in the data collection domain. The main artifacts of this second case study include an architecture and an application for data collection domainMestradoCiência da ComputaçãoMestre em Ciência da Computação131824/2013-9CNP

    Design and implementation of architectural variabilities based on COSMOS*

    Get PDF
    Orientador: Cecilia Mary Fischer RubiraDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: Muitos esforços estão sendo feitos, atualmente, para se obter um alto grau de reutilização durante o desenvolvimento de sistemas. Linhas de produtos de software (LPS) é uma abordagem moderna para promover a reutilização de software. Um dos principais artefatos de uma LPS é sua Arquitetura de Linhas de Produtos (ALP), que provê uma perspectiva global das variabilidades da linha, ao passo que engloba os conceitos tradicionais de uma arquitetura de software. Devido as variabilidades de software de uma ALP, a evolução arquitetural é ainda mais complexa, do que quando comparado com evolução de arquiteturas de software convencionais. O objetivo principal deste trabalho é propor um novo modelo para especificar e implementar variabilidades de software em ALPs baseadas em componentes, de forma a facilitar a evolução arquitetural. A solução proposta é um refinamento do modelo de implementações de componentes COSMOS*, chamado COSMOS*-VP, que emprega a modularização de pontos de variação explícitos e modernas abordagens de programação orientada a aspectos, com o intuito de promover a estabilidade arquitetural, e assim, facilitar a evolução de ALPs. A validação do modelo proposto foi feita utilizando duas LPS, que sofreram diversos cenários de evolução reais. Durante as evoluções, as ALPs criadas utilizando COSMOS*-VP tiveram a estabilidade mensurada através de métricas de impacto de mudanças e modularidade. Os resultados obtidos para o modelo proposto foram comparados com os alcançados utilizando o modelo COSMOS* originalAbstract: Nowadays, many efforts are being made to achieve a high degree of reuse during systems development. Software Product Lines (SPL) is a modern approach to improve software reuse, and one of its main artifacts is the Product Line Architecture (PLA). A PLA provides a global view of the variabilities of a SPL, while it embodies the concepts and advantages of the traditional software architecture. Due to its variabilities, a PLA is harder to evolve than a convetional software architecture. The main goal of this work is to propose a new model to specify and implement software variabilities of component-based PLAs. Our proposed solution is an extension of the component implementation model COSMOS*, called COSMOS*-VP, which employs specific elements and modern aspect-oriented approaches to modularize architectural variation points, aiming at the improvement of architectural stability of PLAs, and thus, facilitating their evolution. The validation of the proposed solution was made using two SPLs, which were targed of several real evolution scenarios. During the evolution, the PLAs created using COSMOS*-VP had their stability measured using metrics of change impact and modularity. The results of the proposed model were compared with those achieved using the COSMOS* modelMestradoEngenharia de SoftwareMestre em Ciência da Computaçã

    Evolution of component and aspect-based product line architectures

    Get PDF
    Orientador: Cecília Mary Fischer RubiraTese (doutorado) ¿ Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: Arquiteturas de linhas de produtos são essenciais para facilitar a evolução das linhas, pois ajudam a lidar com sua complexidade, abstraindo seus detalhes de implementação. A variabilidade arquitetural difere arquiteturas de linhas de produtos de arquiteturas de sistemas únicos. Ela reflete a existência de alternativas de projeto arquitetural e é expressa por meio de um conjunto de pontos de variação e variantes arquiteturais. A variabilidade arquitetural pode dificultar a evolução de arquiteturas de linhas produtos, pois a implementação da variabilidade software pode aumentar a complexidade da arquitetura com a possível adição de elementos e dependências extras. A variabilidade de linhas de produtos é usualmente capturada modelo de características e implementado pela arquitetura de linha de produtos. Entretanto, a implementação de características, pontos de variação e variantes podem estar espalhados por diversos elementos arquiteturais, o que dificulta a sua evolução. Em geral, cenários de evolução de linhas de produto envolvem adição e/ou remoção de características, mudança de uma característica obrigatória para opcional, entre outros. Quando cenários de evolução afetam características cujas implementações estão espalhadas na arquitetura, eles podem causar impacto de mudança em vários elementos arquiteturais. Estudos recentes exploram o uso de aspectos para modularizar a implementação de características em arquiteturas de linhas de produtos. Aspectos são usados para modularizar interesses transversais que, no contexto de linhas de produtos, são interesses que afetam diversas características. Contudo, esses estudos não consideram (i) arquiteturas componentizadas com interfaces explícitas e (ii) o uso integrado de componentes e aspectos para modularizar a implementação da variabilidade arquitetural. Idealmente aspectos devem ser modelados o mais cedo possível, de preferência, junto com o modelo de características para possibilitar a criação de arquiteturas bem estruturadas com aspectos. Todavia, não existem modelos que integrem o modelo de características e aspectos, nem métodos que consideram aspectos para gerar arquiteturas de linhas produtos a partir do modelo de características. A solução proposta nesta tese envolve inicialmente um estudo comparativo para mostrar a facilidade de evolução de arquiteturas de linhas de produtos propiciada pelo uso integrado de componentes e aspectos. Em seguida, é proposta uma visão estendida do modelo de características que permite representar características transversais. Essa visão, chamada de visão de características orientada a aspectos, é usada para criar arquiteturas de linhas de produtos orientadas a aspectos. Além disso, um modelo arquitetural de componentes é estendido para integrar aspectos para modularizar a variabilidade arquitetural. Por fim, o método FArM, que provê o mapeamento de modelo de características para modelos de arquitetura de linha de produtos, é estendido para considerar características transversais. Foram conduzidos dois estudos empíricos: um para avaliar se o uso integrado de componentes e aspectos facilita ou não a evolução de arquiteturas de linhas de produtos. O outro estudo empírico avalia a modelagem de características transversais e a extensão do método FArM propostos para projetar arquiteturas de linhas de produtos que sejam fáceis de evoluir. Os dois estudos apresentaram resultados promissores indicando que a solução proposta nesta tese facilita a evolução de arquiteturas de linhas de produtosAbstract: Product line architectures are essential to facilitate the evolution of product lines, as they handle their complexity by abstracting implementation details. Architectural variability is what differs product line architectures from single system architectures. It reflects the existence of alternative design options and it is expressed by a set of architectural variation points and variants. Architectural variability can hinder product line architecture evolution because the implementation of software variability can increase architecture complexity by possibly adding extra elements and dependencies. Product line variability is usually captured in the feature model and it is implemented by product line architectures. However, the implementation of features, variation points, and variants may be scattered over architectural elements, which can hinder its evolution. In general, product line evolution scenarios involve feature addition/removal, changing a mandatory feature to an optional feature, and so forth. When evolution scenarios affect features whose implementations are scattered over architecture, they can cause a great change impact on several architectural elements. Recent studies have explored the use of aspects to modularize feature implementation in product line architectures. Aspects can modularize crosscutting concerns, which, in the context of product lines, are concerns that affect several features. Nevertheless, these studies do not consider (i) componentized architectures with explicit interfaces, and (ii) the integration of aspects and components to modularize the implementation of architectural variability. Ideally, aspects should be modeled as soon as possible, preferably, together with the feature model in order to enable the design of well structured product line architectures with aspects. However, there are neither models which integrate features and aspects, nor methods that considers aspects to design product line architectures from the feature model. The solution proposed in this thesis involves a comparative study that presents the support for product line architecture evolution provided by the integration of components and aspects. Then, it is proposed an extended view of the feature model which enables to represent crosscutting features. This view, called aspect-oriented feature view, is used to design product line architectures with aspects. Lastly, the FArM method, which provides guidelines to map from the feature model to the product line architecture model, is extended to consider crosscutting features. Two empirical studies were conducted: one to assess whether the integration of components and aspects facilitates product line architecture evolution. The other empirical study evaluates whether the crosscutting feature modeling and the FArM method extension proposed supports the design of evolvable product line architectures. Both studies presented promising results which indicate that the solution proposed in this thesis facilitates product line architecture evolutionDoutoradoCiência da ComputaçãoDoutor em Ciência da Computaçã

    FlexMonitorWS : a solution for monitoring Web services with a focus on QoS attributes

    Get PDF
    Orientador: Cecília Mary Fischer RubiraDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: Serviços Web são usados como uma das formas de se obter uma Arquitetura Orientada a Serviços (SOA). Com aspectos interoperáveis, dinâmicos e distribuídos, tais serviços agregam valores de negócio, são unidades de software com alta coesão e são utilizados para integração entre aplicações empresariais. Em um contexto de SOA, provedores de serviços devem oferecer garantias de funcionamento de seus serviços. Esta garantia é realizada através de atributos de Quality of Service (QoS) inseridos em contratos do tipo SLA (Service Level Agreement). Atributos de QoS podem ter flutuações ou mudança de estado ao longo do tempo, dado que um serviço opera em um ambiente de alta dinamicidade e alta imprevisibilidade que são propriedades inerentes ao contexto SOA. Diante deste cenário, há uma clara necessidade de se conhecer as variações que ocorrem nos atributos de QoS. Para isso, é fundamental aplicar uma monitoração que possibilite conhecer os valores de atributos de QoS para compreender o contexto geral do ambiente que opera o serviço. Uma boa solução de monitoração deve oferecer meios flexíveis de monitorar diferentes atributos de QoS (e.g. disponibilidade, desempenho e confiabilidade), de diferentes modos de operar, considerando diferentes alvos ligados ao serviço (e.g. servidor, rede e aplicação servidora). Por meio de uma Revisão Sistemática da Literatura identificamos que as soluções encontradas não apoiam a flexibilidade na monitoração. Face a este contexto, esta dissertação propôs a FlexMonitorWS uma solução de monitoração de serviços Web e de recursos de infraestrutura de TI ligada ao serviço Web. A FlexMonitorWS adota técnicas de Linhas de Produtos de Software para criar uma família de monitores a partir da variabilidade de software existente em sistemas de monitoração de serviços Web. Três estudos de caso foram executados para avaliar a viabilidade da ferramenta, obtendo-se resultados satisfatórios na entrega de valores de atributos de QoS e na compreensão do ambiente que opera o serviço Web. Ao final, apresentamos conclusões, contribuições e direções para trabalhos futurosAbstract: Web services are used as a way of obtaining a Service Oriented Architecture (SOA). With interoperable, dynamic and distributed aspects such services add business values are software units with high cohesion and are used to integrate business applications. In a SOA context, service providers must offer guarantees of the servces operations. This warranty is carried out by attributes Quality of Service (QoS) type contracts entered into SLA (Service Level Agreement). QoS attributes can have fluctuations or changes of state over time, given that a service operates in an environment of high dynamics and high unpredictability inherent in the SOA context properties. Given this scenario, there is a clear need to understand the fluctuations in the QoS attributes. Therefore, it is essential to apply a monitoring which allows to know the QoS attributes values to understand the overall context of the environment that operates the service. A good monitoring solution must offer flexible ways to monitor different QoS attributes (e.g. performance, availability and reliability) in different ways to operate, considering different targets linked to the service (e.g. server, network and server application). By analyzing existing solutions through a Systematic Literature Review identified that solutions do not support the flexibility in monitoring. Against this background, this thesis proposed a solution FlexMonitorWS monitoring of Web services and IT infrastructure resources connected to the Web services. FlexMonitorWS adopts techniques from Software Product Lines to create a monitors family from the existing variability in the Web services monitoring systems. Three case studies were performed to assess the tool feasibility, obtaining satisfactory results in delivering QoS attributes values and understanding to environment that operates the Web service. In the end, conclusions, contributions and directions for future work are presentedMestradoCiência da ComputaçãoMestre em Ciência da Computaçã

    DYNAMIC LANGUAGE UPDATING

    Get PDF
    With respect to traditional systems, language interpreters are hard to evolve and the adoption of evolved languages is slow. Language evolution is hindered by the fact that their implementations often overlook design principles, especially those related to modularity. Consequently, language implementations and their updates are monolithic. Language evolution often breaks the backward compatibility and requires developers to rewrite their applications. Furthermore, there is little or no support to evolve language interpreters at runtime. This would be useful for systems that cannot be shut down and to support context-aware interpreters. To tackle these issues, we designed the concept of open interpreters which provide support for language evolution through reflection. Open interpreters allow one to partially update a language to maintain the backward compatibility. Furthermore, they allow one to dynamically update a language without stopping the overlying application. Open interpreters can be dynamically tailored on the task to be solved. The peculiarity of this approach is that the evolution code is completely separated from the application or the original interpreter code. In this dissertation we define the concept of open interpreters, we design a possible implementation model, we describe a prototype implantation and provide the proof-of-concept examples applied to various domains

    Advances in combined architecture, plant, and control design

    Get PDF
    The advancement of many engineering systems relies on novel design methodologies, design formulations, design representations, and other advancements. In this dissertation, we consider three broad design domains: architecture, plant, and control. These domains cover most of the potential design decision elements in an actively-controlled engineering system. In this dissertation, strategic aspects of this combined problem are addressed. The task of representing and generating candidate architectures is addressed with methods developed based on colored graphs built by enumerating all perfect matchings of a specified catalog of components. The proposed approach captures all architectures under specific assumptions. General combined plant and control design (or co-design) problems are examined. Previous work in co-design theory imposed restrictions on the type of problems that could be posed. Here many of those restrictions are lifted. The problem formulations and optimality conditions for both the simultaneous and nested solution strategies are given along with a detailed discussion of the two methods. Direct transcription is also discussed as it enables the solution of general co-design problems by approximating the problem. Motivated primarily by the need for efficient methods to solve certain control problems that emerge using the nested co-design method, an automated problem generation procedure is developed to support easy specification of linear-quadratic dynamic optimization problems using direct transcription and quadratic programming. Pseudospectral and single-step methods (including the zero-order hold) are all implemented in this unified framework and comparisons are made. Three detailed engineering design case studies are presented. The results from the enumeration and evaluation of all passive analog circuits with up to a certain number of components are used to synthesize low-pass filters and circuits that match a certain magnitude response. Advantages and limitations of enumerative approaches are highlighted in this case study, along with comparisons to circuits synthesized via evolutionary computation; many similarities are found in the topologies. The second case study tackles a complex co-design problem with the design of strain-actuated solar arrays for spacecraft precision pointing and jitter reduction. Nested co-design is utilized along with a linear-quadratic inner loop problem to obtain solutions efficiently. A simpler, scaled problem is analyzed to gain general insights into these results. This is accomplished with a unified theory of scaling in dynamic optimization. The final case study involves the design of active vehicle suspensions. All three design domains are considered in this problem. A class of architecture, plant, and control design problems which utilize linear physical elements is discussed. This problem class can be solved using the methods in this dissertation
    corecore