Dirk Koch · Frank Hannig Daniel Ziener Editors Fpgas for Software Programmers Fpgas for Software Programmers
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Advances in Modeling Language Engineering
Advances in Modeling Language Engineering Katrin Hölldobler, Alexander Roth, Bernhard Rumpe, Andreas Wortmann Software Engineering, RWTH Aachen University, www:se-rwth:de Abstract. The increasing complexity of modern systems development demands for specific modeling languages capturing the various aspects to be tackled. However, engineering of comfortable modeling languages as well as their tooling is a challenging endeavor. Far too often, new lan- guages are built from scratch. We shed light into the advances of model- ing language engineering that facilitates reuse, modularity, composition- ality and derivation of new languages based on language components. We discuss ways to design, combine, and derive modeling languages in all their relevant aspects. For each of these activities, we illustrate their application for the model-driven development of a data exploration tool. The tool itself uses a set of meta-information, namely the structural model to derive all necessary software components that help to gather, store, visualize and navigate the data. The limits of my language mean the limits of my world – Ludwig Wittgenstein 1 Motivation The use of models to understand and shape the world is a very foundational technique that has already been used in ancient Greece and Egypt. Scientists model to understand the world and engineers model to design (parts of) the world. Although modeling has been employed for ages in virtually all disciplines it is fairly new that the form of models is made explicit in so-called modeling languages. Computer science has invented this approach to provide formality and a precise understanding of what is a well-formed model to the communication between humans and machines. -
Reusable Textual Styles for Domain-Specific Modeling Languages⋆
Reusable Textual Styles for Domain-Specific Modeling Languages⋆ 1[0000 0002 9811 4772] 2[0000 0001 9914 3287] Patrick Neubauer − − − , Robert Bill − − − , Dimitris 1[0000 0002 1724 6563] 3[0000 0002 1978 9852] Kolovos − − − , Richard Paige − − − , and Manuel 4[0000 0002 1124 7098] Wimmer − − − 1 University of York, Deramore Lane, York YO10 5GH, UK {forename.lastname}@york.ac.uk 2 CDP, Technische Universität Wien, Karlsplatz 13, 1040 Vienna, Austria [email protected] 3 McMaster University, 1280 Main Street West, Hamilton, Ontario L8S 4L8, Canada [email protected] 4 CDL-MINT, Johannes Kepler Universität, Altenberger Straße 69, 4040 Linz, Austria [email protected] Abstract. Domain-specific languages enable concise and precise formalization of domain concepts and promote direct employment by domain experts. There- fore, syntactic constructs are introduced to empower users to associate concepts and relationships with visual textual symbols. Model-based language engineer- ing facilitates the description of concepts and relationships in an abstract man- ner. However, concrete representations are commonly attached to abstract do- main representations, such as annotations in metamodels, or directly encoded into language grammar and thus introduce redundancy between metamodel ele- ments and grammar elements. In this work we propose an approach that enables autonomous development and maintenance of domain concepts and textual lan- guage notations in a distinctive and metamodel-agnostic manner by employing style models containing grammar rule templates and injection-based property selection. We provide an implementation and showcase the proposed notation- specification language in a comparison with state of the art practices during the creation of notations for an executable domain-specific modeling language based on the Eclipse Modeling Framework and Xtext. -
Domain-Specific Languages
Domain-Specific Languages Vassilios Karakoidas Department of Management Science and Technology, Athens University of Economics and Business, Athens, Greece Abstract Domain-specific languages (DSLs) are programming languages that are by design focused to one domain. The specificity of their syntax and features permits efficient representation of domain concepts expressed within a program, thus enabling the involvement of experts in the software development process. In addition, DSL usage in software development leads to increased productivity for the programmers. This entry provides an overview on DSLs, their design, implementation, and usage. INTRODUCTION declared directly as a type. In addition, it also contains the method multiply, which is closer to the reality of the Domain-specific languages (DSLs), also known as micro- mathematical domain. languages or little languages, are programming languages With modern programming languages, it is easy to create designed to focus on a particular domain.[1] Well-known complex libraries that declare and implement the abstrac- DSLs include regular expressions, markdown, extensible tions of specific domains, but there is a barrier; the syntax markup language (XML), and structured query language of the language must always be used. (SQL). General-purpose languages (GPLs) have a wider Consider now octave or mathematica, a language cre- scope. They provide a set of processing capabilities appli- ated specifically to deal with this algorithm implemen- cable to different problem domains. Mainstream GPLs are tation. These DSLs are used massively for simulations Java, C/C++, Python, and Scala. and mathematical modeling. Does anyone consider mathe- To better understand the differences between DSLs and matica’s language to develop a web server or a database GPLs, consider the following example. -
Software Language Engineering in the Large: Towards Composing and Deriving Languages
Software Language Engineering in the Large: Towards Composing and Deriving Languages Katrin Hölldobler, Bernhard Rumpe, Andreas Wortmann Software Engineering, RWTH Aachen University, Aachen, Germany www.se-rwth.de Abstract Suitable software languages are crucial to tackling the ever-increasing complexity of software engineering processes and software products. They model, specify, and test products, describe processes and interactions with services and serve many other purposes. Meanwhile, engineering suitable modeling languages with useful tooling also has become a challenging en- deavor - and far too often, new languages are developed from scratch. We shed light on the advances of modeling language engineering that facilitate reuse, modularity, compositionality, and derivation of new languages based on language components. To this end, we discuss ways to design, combine, and derive modeling languages in all their relevant aspects. We illustrate the application of advanced language engineering throughout the paper, which culminates in the example of deriving complete domain-specific transforma- tions language from existing language components. Keywords: Software Language Engineering, Language Composition, Language Derivation The limits of my language mean the limits of my world – Ludwig Wittgenstein 1. Motivation Using models to understand and shape the world is a very foundational technique that has already been used in ancient Greece and Egypt. Scientists model to comprehend while engineers model to design (parts of) the world. Although modeling has been employed for ages in virtually all disciplines it is fairly recent that the form of models is made explicit in modeling languages. Preprint submitted to Computer Languages, Systems and Structures October 15, 2018 [HRW18] K. Hölldobler, B. Rumpe, A. -
An Extensible Component & Connector
An Extensible Component & Connector Architecture Description Infrastructure for Multi-Platform Modeling Von der Fakult¨at fur¨ Mathematik, Informatik und Naturwissenschaften der RWTH Aachen University zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften genehmigte Dissertation vorgelegt von Diplom Informatiker Diplom-Wirtschaftsinformatiker Andreas Wortmann aus Joinville, Brasilien Berichter: Universit¨atsprofessor Dr. Bernhard Rumpe Professor Benoit Combemale, Ph. D. Tag der mundlichen¨ Prufung:¨ 12. Juli 2016 Diese Dissertation ist auf den Internetseiten der Universit¨atsbibliothek online verfugbar.¨ WICHTIG: D 82 überprüfen !!! Aachener Informatik-Berichte, Software Engineering herausgegeben von Prof. Dr. rer. nat. Bernhard Rumpe Software Engineering RWTH Aachen University Band 25 Andreas Wortmann An Extensible Component & Connector Architecture Description Infrastructure for Multi-Platform Modeling Shaker Verlag Aachen 2016 Bibliographic information published by the Deutsche Nationalbibliothek The Deutsche Nationalbibliothek lists this publication in the Deutsche Nationalbibliografie; detailed bibliographic data are available in the Internet at http://dnb.d-nb.de. Zugl.: D 82 (Diss. RWTH Aachen University, 2016) Copyright Shaker Verlag 2016 All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the prior permission of the publishers. Printed in Germany. ISBN 978-3-8440-4724-0 ISSN 1869-9170 Shaker Verlag GmbH • P.O. BOX 101818 • D-52018 Aachen Phone: 0049/2407/9596-0 • Telefax: 0049/2407/9596-9 Internet: www.shaker.de • e-mail: [email protected] I was born not knowing and have had only a little time to change that here and there. Richard P. Feynman Abstract Efficient software engineering for complex systems requires abstraction, expertise from multiple domains, separation of concerns, and reuse. -
A Guide to Understanding Emerging Interoperability Technologies
M P 0 0 W 0 0 0 0 0 8 8 M I T R E P R O D U C T A Guide to Understanding Emerging Interoperability Technologies July 2000 Terry Bollinger Sponsor: ONR Contract No.: DAAB07-99-C-C201 Dept. No.: W09T Project No.: 0700V13A-AA The views, opinions and/or findings contained in this report Approved for public release; distribution unlimited. are those of The MITRE Corporation and should not be construed as an official Government position, policy, or decision, unless designated by other documentation. 2000 The MITRE Corporation Washington C3 Center McLean, Virginia ii MITRE Department Approval: Gary R. Brisbois MITRE Project Approval: Daniel J. Lowen iii iv Abstract Interoperability is the ability to use resources from diverse origins as if they had been designed as parts of a single system. Over time, individual interoperability problems tend to disappear as the resources involved literally become part of one system through integration and standardization, but the overall problem of interoperability itself never disappears. Instead, it simply moves up to a new level of complexity that accepts earlier integrations as a given. Interoperability is especially critical for military systems, where international politics can lead to abrupt realignments where yesterday’s foe becomes today’s coalition partner. This report on interoperability has five sections. The first section is an introduction to the interoperability problem, and the second section describes fundamental interoperability concepts and develops a terminology for describing interoperability issues and needs. The second section also addresses the vital issue of interoperability security. The third section is about the processes by which interoperability technologies are standardized, including comparisons of the interoperability benefits of different processes.