137 research outputs found

    Contraction of Unconnected Diagrams using Least Cost Parsing

    Get PDF
    A free-hand diagram editor allows the user to place diagram components on the pane without any restrictions. This increase in flexibility often comes at the cost of editing performance, though. In particular it is tedious to manually establish the spatial relations between diagram components that are required by the visual language. Even worse are certain graph-like languages where it is a quite annoying task to explicitly link the node components. In this paper diagram contraction is proposed for solving these issues. The editor user can just roughly arrange a set of diagram components. On request the editor automatically creates a correct diagram from these components while preserving their layout as far as possible. Moreover, for several languages diagram contraction corresponds to linking node components appropriately. Such auto-linking is considered useful. It even has been integrated into first commercial modeling tools. The proposed approach can be applied to visual languages that are specified by means of hypergraph grammars. For syntax analysis an error-tolerant hypergraph parser is used, which computes a cost function by attribute evaluation. That way, unfavorable derivation (sub-)trees can be excluded at an early stage, and combinatorial explosion is mostly prevented

    Software design explorer's crystal ball

    Get PDF
    Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2003.Includes bibliographical references (p. 149-154).Most of software design is redesign. Redesign in the normal course of design happens when the software becomes difficult to maintain and the problem it is intended to solve has changed. Although software redesign is necessary, frequent, and pervasive, there is a dearth of tools that help programmers do it. Instead, programmers primarily use pen and paper, away from the computer where tools could help the most. To address this shortcoming, I have developed DR. JONES, a redesign assistant for Java programs. DR. JONES diagrams the class structure of a Java program and allows the programmer to modify that design by applying refactorings. Refactorings are localized patterns of structural change intended to improve a program's design, without changing its observable behavior. With DR. JONES, the programmer can explore the design space of the program, inspect future designs as visual diagrams, and get design assistance to guide his refactoring choices. As the programmer explores designs, DR. JONES explicitly maps the design space he traverses. This map lets him revisit any prior design and branch to explore an alternative design path, without having to explicitly manage versions of the program. DR. JONES is distinguished from other refactoring tools by separating the tasks of developing an improved design through design exploration from transforming the source code to execute design changes. It does so by deriving and using an abstract representation of the program that captures the essential information needed for design exploration, while omitting its source-level details.(cont.) DR. JONES also characterizes refactorings in a novel manner suitable for interactive design exploration. Twenty-two such refactorings are incorporated into the DR. JONES prototype. This research also contributes user interface techniques for software design exploration, including multiple-level-of detail rendering for software design diagrams, and a dialogue management interface for DR. JONES' design assistance.by Mark A. Foltz.Ph.D

    Metabolic pathway engineering of actinomycetes for novel antibiotics discovery

    Get PDF
    Microbes harbouring a profound wealth of chemical space have instigated tremendous attention for developing crucial therapeutic drugs. The genes encoding the enzymes responsible for synthesizing these specialized metabolites are often organized in so-called biosynthetic gene clusters (BGCs). While these clusters are potentially capable of producing novel drug candidate, most of them remain dormant in natural environmental conditions (or settings). Microorganisms seldom synthesize substantial quantities of the desired molecules in natural settings. Harnessing the dormant compound production requires careful optimization of the host cellular machinery, which can be accomplished by thorough engineering of silent biosynthetic pathways. My target, the genus Streptomyces is endowed with tremendous abilities to secrete a diverse array of metabolites. Besides, insilico analysis of their genomic sequences reveals enormous potential to generate novel metabolites not biosynthesized in natural environmental settings. Realizing such bountiful resources, I attempt to unveil Streptomyces’ true potential to generate novel metabolites by using various approaches. In the present dissertation, various novel approaches have allowed me to unveil novel specialized metabolites encoded by otherwise silent biosynthetic clusters. For this, (i) I developed single cell mutant selection (SCMS) platform, where mutants harboring a silent promoter are probed with a double reporter system using classical mutagenesis techniques. Mutants were sorted using FACS based on expression of reporter genes and mutants generated a novel metabolite with a distinct chemical scaffold, referred to as mutaxanthene. (ii) Next approach involved binary physical interaction studies between dead yeast and Streptomyces where the contact induced production of prodigiosin. My studies identified a master-regulator, namely mbkZ, for its regulatory roles in prodigiosin production in different hosts (S. coelicolor and Streptomyces sp. MBK6). (iii) Third approach exploited CRISPR/Cas9 system to unveil the functional role of sdmA within the showdomycin biosynthetic pathway. (iv) Final approach revealed the characterization of new bacterial lineage (Streptomonospora sp. PA3) isolated from the high-salt environment, which helped me to isolate and identify a novel polyketide persiamycin A. Using these different approaches allowed me to unveil the secret knowledge sealed within biosynthetic pathways of the studied organisms. In a nutshell, adopting these techniques has helped me discover and characterize novel metabolites. I believe these strategies may aid in the fight against antimicrobial resistance and speed up the drug discovery process. Furthermore, this dissertation has not only implications for future engineering of Streptomyces to increase metabolites production, but it also illustrates a SCMS state-of-art approach for generating novel therapeutic leads.Aktinomykeettien aineenvaihduntareittien muokkaus uusien antibioottien löytämiseksi Mikrobien tuottamat monimuotoiset luonnonyhdisteet ovat herättäneet suurta kiinnostusta lääkekehityksessä. Näiden erikoistuneiden metaboliittien tuotannosta vastaavia entsyymejä koodaavat geenit ovat yleensä järjestyneet niin sanottuiksi biosynteettisiksi geeniryppäiksi (BGC, engl. biosynthetic gene cluster). Nämä geeniryppäät saattavat tuottaa vielä tuntemattomia metaboliitteja, mutta yleensä ne ovat hiljaisia luonnollisessa ympäristössä. Yleensä mikro-organismit eivät tuota haluttua yhdistettä merkittäviä määriä luonnollisissa olosuhteissa. Näiden hiljaisten yhdisteiden hyödyntäminen lääkeaineiden kehityksessä vaatii solukoneiston huolellista optimointia, mikä voidaan saavuttaa muokkaamalla hiljaisia biosynteesireittejä. Kohdeorganismimme Streptomyces -bakteerit kykenevät tuottamaan lukuisia erilaisia sekundäärimetaboliitteja, jotka ovat kemialliselta rakenteeltaan erittäin vaihtelevia. Tämän lisäksi genomisekvenssien analyysi on paljastanut lukuisia lupaavia hiljaisia geeniklustereita, jotka saattaisivat aktivoituina tuottaa aikaisemmin tuntemattomia yhdisteitä. Tämän työn tarkoitus on käyttää useita erilaisia tekniikoita tämän hiljaisen biosynteettisen potentiaalin valjastamiseen. Väitöskirjatyössä käytin useita uusia menetelmiä hiljaisten geeniryppäiden koodaamien uusien yhdisteiden tuottamiseksi. Tätä tarkoitusta varten (i) kehitin yksisolujen mutanttivalinta (SCMS, engl. single cell mutant selection) alusta – menetelmän, missä hiljaisen geeniryppään aktiivisuutta seurataan tuplareportterisysteemillä. Seuloin menetelmällä mutanttikirjastoja reportterigeenien ilmenemisen perusteella FACS –laitteistoilla ja tuotin erityisen kemiallisen rakenteen omaavia mutaxanthene -yhdisteitä. (ii) Seuraavaksi tutkin hiivojen ja streptomykeettien fyysisen vuorovaikutuksen vaikutusta prodigiosiini –yhdisteen tuottoon. Tutkimukseni paljasti säätelygeeni mbkZ:n roolin prodigiosiinien tuotossa kahdessa eri isäntäkannassa (S. coelicolor ja Streptomyces sp. MBK6). iii) Kolmannessa menetelmässä käytin CRISPR/Cas9-menetelmää selvittääkseni sdmA geenin roolin showdomysiinin biosynteesireitillä. iv) Viimeisenä menetelmänä eristin uuden halofiilisen bakteerikannan (Streptomonospora sp. PA3) korkean suolapitoisuuden kasvuympäristöstä meren pohjasta. Kannasta eristettiin uusi persiamysiini A polyketidi. Näiden erilaisten lähestymistapojen avulla pystyin paljastamaan tutkittujen organismien biosynteettisten reittien sisälle suljetut salaisuudet. Lyhyesti, olemme pystyneet löytämään ja karakterisoimaan uusia metaboliitteja käyttämiemme tekniikoiden avulla. Uskomme, että käyttämämme strategiat auttavat kamppailuissa antibioottiresistenssiä vastaan ja nopeuttamaan uusien lääkkeiden löytämistä. Tämän lisäksi tutkielman tulokset sekä auttavat sekundaarimetabolliittien tuotannon tehostamista tulevaisuudessa streptomykeettejä muokkaamalla, että havainnollistaa SCMS –menetelmän käyttökelpoisuuden uusien terapeuttisten yhdisteiden tuotossa

    Fundamental Approaches to Software Engineering

    Get PDF
    This open access book constitutes the proceedings of the 23rd International Conference on Fundamental Approaches to Software Engineering, FASE 2020, which took place in Dublin, Ireland, in April 2020, and was held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020. The 23 full papers, 1 tool paper and 6 testing competition papers presented in this volume were carefully reviewed and selected from 81 submissions. The papers cover topics such as requirements engineering, software architectures, specification, software quality, validation, verification of functional and non-functional properties, model-driven development and model transformation, software processes, security and software evolution

    Contributions à l'optimisation de programmes et à la synthèse de circuits haut-niveau

    Get PDF
    Since the end of Dennard scaling, power efficiency is the limiting factor for large-scale computing. Hardware accelerators such as reconfigurable circuits (FPGA, CGRA) or Graphics Processing Units (GPUs) were introduced to improve the performance under a limited energy budget, resulting into complex heterogeneous platforms. This document presents a synthetic description of my research activities over the last decade on compilers for high-performance computing and high-level synthesis of circuits (HLS) for FPGA accelerators. Specifically, my contributions covers both theoretical and practical aspects of automatic parallelization and HLS in a general theoretical framework called the polyhedral model.A first chapter describes our contributions to loop tiling, a key program transformation for automatic parallelization which splits the computation atomic blocks called tiles.We rephrase loop tiling in the polyhedral model to enable any polyhedral tile shape whose size depends on a single parameter (monoparametric tiling), and we present a tiling transformation for programs with reductions – accumulations w.r.t. an associative/commutative operator. Our results open the way for semantic program transformations ; program transformations which does not preserve the computation but still lead to an equivalent program.A second chapter describes our contributions to algorithm recognition. A compiler optimization will never replace a good algorithm, hence the idea to recognize algorithm instances in a program and to substitute them by a call to a performance library. In our PhD thesis, we have addressed the recognition of templates – functionswith first-order variables – into programs and its application to program optimization. We propose a complementary algorithm recognition framework which leverages our monoparametric tiling and our reduction tiling transformations. This automates semantic tiling, a new semantic program transformation which increases the grain of operators (scalar → matrix).A third chapter presents our contributions to the synthesis of communications with an off-chip memory in the context of high-level circuit synthesis (HLS). We propose an execution model based on loop tiling, a pipelined architecture and a source-level compilation algorithm which, connected to the C2H HLS tool from Altera, ends up to a FPGA configuration with minimized data transfers. Our compilation algorithm is optimal – the data are loaded as late as possible and stored as soon as possible with a maximal reuse.A fourth chapter presents our contributions to design a unified polyhedral compilation model for high-level circuit synthesis.We present the Data-aware Process Networks (DPN), a dataflow intermediate representation which leverages the ideas developed in chapter 3 to explicit the data transfers with an off-chip memory. We propose an algorithm to compile a DPN from a sequential program, and we present our contribution to the synthesis of DPN to a circuit. In particular, we present our algorithms to compile the control, the channels and the synchronizations of a DPN. These results are used in the production compiler of the Xtremlogic start-up.Depuis la fin du Dennard scaling, l’efficacité énergétique est le facteur limitant pour le calcul haute performance. Les accélérateurs matériels comme les circuits reconfigurables (FPGA, CGRA) ou les accélérateurs graphiques (GPUs) ont été introduits pour améliorer les performances sous un budget énergétique limité, menant à des plateformes hétérogènes complexes.Mes travaux de recherche portent sur les compilateurs et la synthèse de circuits haut-niveau (High-Level Synthesis, HLS) pour le calcul haute-performance. Specifiquement, mes contributions couvrent les aspects théoriques etpratiques de la parallélisation automatique et la HLS dans le cadre général du modèle polyédrique.Un premier chapitre décrit mes contributions au tuilage de boucles, une transformation fondamentale pour la parallélisation automatique, qui découpe le calcul en sous-calculs atomiques appelés tuiles. Nous reformulons le tuilage de boucles dans le modèle polyédrique pour permettre n’importe tuile polytopique dont la taille dépend d’un facteur homothétique (tuilage monoparamétrique), et nous décrivons une transformation de tuilage pour des programmes avec des réductions – une accumulation selon un opérateur associative et commutatif. Nos résultats ouvrent la voie à des transformations de programme sémantiques ; qui ne préservent pas le calcul, mais produisent un programme équivalent.Un second chapitre décrit mes contributions à la reconnaissance d’algorithmes. Une optimisation de compilateur ne remplacera jamais un bon algorithme, d’où l’idée de reconnaître les instances d’un algorithme dans un programme et de les substituer par un appel vers une bibliothèque hauteperformance, chaque fois que c’est possible et utile.Dans notre thèse, nous avons traité la reconnaissance de templates – des fonctions avec des variables d’ordre 1 – dans un programme et son application à l’optimisation de programes. Nous proposons une approche complémentaire qui s’appuie sur notre tuilage monoparamétrique complété par une transformation pour tuiler les réductions. Ceci automatise le tuilage sémantique, une nouvelle transformation sémantique qui augmente le grain des opérateurs (scalaire → matrice).Un troisième chapitre présente mes contributions à la synthèse des communications avec une mémoire off-chip dans le contexte de la synthèse de circuits haut-niveau. Nous proposons un modèle d’exécution basé sur le tuilage de boucles, une architecture pipelinée et un algorithme de compilation source-à-source qui, connecté à l’outil de HLS C2H d’Altera, produit une configuration de circuit FPGA qui réalise un volume minimal de transferts de données. Notre algorithme est optimal – les données sont chargées le plus tard possible et stockées le plus tôt possible, avec une réutilisation maximale et sans redondances.Enfin, un quatrième chapitre présente mes contributions pour construire un modèle de compilation polyédrique unifié pour la synthèse de circuits haut-niveau.Nous présentons les réseaux de processus DPN (Data-aware Process Networks), une représentation intermédiaire dataflow qui s’appuie sur les idées développées au chapitre 3 pour expliciter les transferts de données entre le circuit et la mémoire off-chip. Nous proposons une suite d’algorithmes pour compiler un DPN à partir d’un programme séquentiel et nous présentons nos contributions à la synthèse d’un DPN en circuit. En particulier, nous présentons nos algorithmes pour compiler le contrôle, les canaux et les synchronisations d’un DPN. Ces résultats sont utilisés dans le compilateur de production de la start-up XtremLogic

    Solving PDEs in Python

    Get PDF
    This book offers a concise and gentle introduction to finite element programming in Python based on the popular FEniCS software library. Using a series of examples, including the Poisson equation, the equations of linear elasticity, the incompressible Navier–Stokes equations, and systems of nonlinear advection–diffusion–reaction equations, it guides readers through the essential steps to quickly solving a PDE in FEniCS, such as how to define a finite variational problem, how to set boundary conditions, how to solve linear and nonlinear systems, and how to visualize solutions and structure finite element Python programs. This book is open access under a CC BY license

    Exploring novel designs of NLP solvers: Architecture and Implementation of WORHP

    Get PDF
    Mathematical Optimization in general and Nonlinear Programming in particular, are applied by many scientific disciplines, such as the automotive sector, the aerospace industry, or the space agencies. With some established NLP solvers having been available for decades, and with the mathematical community being rather conservative in this respect, many of their programming standards are severely outdated. It is safe to assume that such usability shortcomings impede the wider use of NLP methods; a representative example is the use of static workspaces by legacy FORTRAN codes. This dissertation gives an account of the construction of the European NLP solver WORHP by using and combining software standards and techniques that have not previously been applied to mathematical software to this extent. Examples include automatic code generation, a consistent reverse communication architecture and the elimination of static workspaces. The result is a novel, industrial-grade NLP solver that overcomes many technical weaknesses of established NLP solvers and other mathematical software
    • …
    corecore