Listing 1 - 10 of 13 | << page >> |
Sort by
|
Choose an application
Embedded software demands intensive testing of functional and non-functional requirements. Automation of such tests is performed with different technologies. Source-code level tests require specialized unit-testing tools. Tests of the high-level behavior of control systems follow the model-, software- and hardware-in-the-loop approach. This work studies the integration of such system-level and source-code level tests. The focus lies on a new programming language to implement test cases.
Test automation --- Testautomatisierung --- Eingebettete Software --- Domänenspezifische Sprachen --- Domain specific languages --- Embedded software
Choose an application
This work introduces the FURCAS approach, a framework for view-based textual modelling. FURCAS includes means that allow software language engineers to define partial and overlapping textual modelling languages. Furthermore, FURCAS provides an incremental update approach that enables modellers to work with multiple views on the same underlying model. The approach is validated against a set of formal requirements, as well as several industrial case studies showing its practical applicability.
Textual Modelling --- Model-Driven Engineering --- View-Based Modelling --- Domain Specific Languages
Choose an application
Master the fundamentals of Gradle using real-world projects with this quick and easy-to-read guide About This Book Write beautiful build scripts for various types of projects effortlessly Become more productive by harnessing the power and elegance of the Gradle DSL Learn how to use Gradle quickly and effectively with this step-by-step guide Who This Book Is For This book is for Java and other JVM-based language developers who want to use Gradle or are already using Gradle on their projects. No prior knowledge of Gradle is required, but some familiarity with build-related terminologies and an understanding of the Java language would help. What You Will Learn Master the Gradle DSL by identifying the building blocks Learn just enough Groovy for Gradle Set up tests and reports for your projects to make them CI ready Create library, stand-alone, and web projects Craft multi-module projects quickly and efficiently Migrate existing projects to a modern Gradle build Extract common build logic into plugins Write builds for languages like Java, Groovy, and Scala In Detail Gradle is an advanced and modern build automation tool. It inherits the best elements of the past generation of build tools, but it also differs and innovates to bring terseness, elegance, simplicity, and the flexibility to build. Right from installing Gradle and writing your first build file to creating a fully-fledged multi-module project build, this book will guide you through its topics in a step-by-step fashion. You will get your hands dirty with a simple Java project built with Gradle and go on to build web applications that are run with Jetty or Tomcat. We take a unique approach towards explaining the DSL using the Gradle API, which makes the DSL more accessible and intuitive. All in all, this book is a concise guide to help you decipher the Gradle build files, covering the essential topics that are most useful in real-world projects. With every chapter, you will learn a new topic and be able to readily implement your build files. Style and approach This step-by-step guide focuses on being productive with every chapter. When required, topics are explained in-depth to give you a good foundation of the Gradle fundamentals. The book covers most aspects of builds required for conventional JVM-based projects, and when necessary, points you towards the right resources.
Domain-specific programming languages. --- Application languages (Computer science) --- Domain-specific languages (Computer science) --- DSLs (Domain-specific programming languages) --- Little languages (Computer science) --- Macros (Domain-specific programming languages) --- Problem-oriented languages (Computer science) --- Programming languages (Electronic computers) --- Gradle (Computer file)
Choose an application
Domain-specific programming languages. --- Application languages (Computer science) --- Domain-specific languages (Computer science) --- DSLs (Domain-specific programming languages) --- Little languages (Computer science) --- Macros (Domain-specific programming languages) --- Problem-oriented languages (Computer science) --- Programming languages (Electronic computers)
Choose an application
This textbook describes the theory and the pragmatics of using and engineering high-level software languages – also known as modeling or domain-specific languages (DSLs) – for creating quality software. This includes methods, design patterns, guidelines, and testing practices for defining the syntax and the semantics of languages. While remaining close to technology, the book covers multiple paradigms and solutions, avoiding a particular technological silo. It unifies the modeling, the object-oriented, and the functional-programming perspectives on DSLs. The book has 13 chapters. Chapters 1 and 2 introduce and motivate DSLs. Chapter 3 kicks off the DSL engineering lifecycle, describing how to systematically develop abstract syntax by analyzing a domain. Chapter 4 addresses the concrete syntax, including the systematic engineering of context-free grammars. Chapters 5 and 6 cover the static semantics – with basic constraints as a starting point and type systems for advanced DSLs. Chapters 7 (Transformation), 8 (Interpretation), and 9 (Generation) describe different paradigms for designing and implementing the dynamic semantics, while covering testing and other kinds of quality assurance. Chapter 10 is devoted to internal DSLs. Chapters 11 to 13 show the application of DSLs and engage with simpler alternatives to DSLs in a highly distinguished domain: software variability. These chapters introduce the underlying notions of software product lines and feature modeling. The book has been developed based on courses on model-driven software engineering (MDSE) and DSLs held by the authors. It aims at senior undergraduate and junior graduate students in computer science or software engineering. Since it includes examples and lessons from industrial and open-source projects, as well as from industrial research, practitioners will also find it a useful reference. The numerous examples include code in Scala 3, ATL, Alloy, C#, F#, Groovy, Java, JavaScript, Kotlin, OCL, Python, QVT, Ruby, and Xtend. The book contains as many as 277 exercises. The associated code repository facilitates learning and using the examples in a course.
Domain-specific programming languages. --- Application languages (Computer science) --- Domain-specific languages (Computer science) --- DSLs (Domain-specific programming languages) --- Little languages (Computer science) --- Macros (Domain-specific programming languages) --- Problem-oriented languages (Computer science) --- Programming languages (Electronic computers)
Choose an application
Map concepts and ideas in domain-driven design (DDD) and transpose them into clean, testable, and quality code that is effective alongside the Laravel framework. This book teaches you how to implement the concepts and patterns present in DDD in the real world as a complete web application. With these tactics and concepts in place, you'll engage in a variety of example applications, built from the ground up, and taken directly from real-world domains. Begin by reviewing foundational stepping stones (with small, manageable examples to show proof of concepts as well as illustrations to conceptualize the more complex topics) of both DDD and Laravel. Specifically, such topics as entities, value objects, developing an ubiquitous language, DTOs, and knowledge discovery. Next, you will dive into some more advanced topics of DDD and use these concepts as a guide to make customizations to the default Laravel installation, giving you an understanding of why these alterations are vital to the DDD and Laravel platform. Finally, you will cover the very powerful Eloquent ORM that comes stock with Laravel and understand how it can be utilized to represent entities, handle repositories, and support domain events. Although there is a basic coverage chapter and a setup tutorial for Laravel (along with a high level intro about the components used within it), Domain-Driven Laravel is best suited to readers who have been at least exposed to the framework and have had the opportunity to tinker around with it. You will: Utilize a blazing-fast rapid development pipeline built from DDD building blocks and facilitated with Laravel Implement value objects, repositories, entities, anti-corruption layers and others using Laravel as a web framework Apply enhanced techniques for quick prototyping of complex requirements and quality results using an iterative and focused approach Create a base framework (Laravel) that can serve as a template to start off any project Gain insight on which details are important to a project’s success and how to acquire the necessary knowledge .
Computer programming. --- Web Development. --- Computers --- Electronic computer programming --- Electronic data processing --- Electronic digital computers --- Programming (Electronic computers) --- Coding theory --- Programming --- Domain-specific programming languages. --- Application languages (Computer science) --- Domain-specific languages (Computer science) --- DSLs (Domain-specific programming languages) --- Little languages (Computer science) --- Macros (Domain-specific programming languages) --- Problem-oriented languages (Computer science) --- Programming languages (Electronic computers)
Choose an application
Learn how to implement a DSL with Xtext and Xtend using easy-to-understand examples and best practices About This Book Leverage the latest features of Xtext and Xtend to develop a domain-specific language. Integrate Xtext with popular third party IDEs and get the best out of both worlds. Discover how to test a DSL implementation and how to customize runtime and IDE aspects of the DSL Who This Book Is For This book is targeted at programmers and developers who want to create a domain-specific language with Xtext. They should have a basic familiarity with Eclipse and its functionality. Previous experience with compiler implementation can be helpful but is not necessary since this book will explain all the development stages of a DSL. What You Will Learn Write Xtext grammar for a DSL; Use Xtend as an alternative to Java to write cleaner, easier-to-read, and more maintainable code; Build your Xtext DSLs easily with Maven/Tycho and Gradle; Write a code generator and an interpreter for a DSL; Explore the Xtext scoping mechanism for symbol resolution; Test most aspects of the DSL implementation with JUnit; Understand best practices in DSL implementations with Xtext and Xtend; Develop your Xtext DSLs using Continuous Integration mechanisms; Use an Xtext editor in a web application In Detail Xtext is an open source Eclipse framework for implementing domain-specific languages together with IDE functionalities. It lets you implement languages really quickly; most of all, it covers all aspects of a complete language infrastructure, including the parser, code generator, interpreter, and more. This book will enable you to implement Domain Specific Languages (DSL) efficiently, together with their IDE tooling, with Xtext and Xtend. Opening with brief coverage of Xtext features involved in DSL implementation, including integration in an IDE, the book will then introduce you to Xtend as this language will be used in all the examples throughout the book. You will then explore the typical programming development workflow with Xtext when we modify the grammar of the DSL. Further, the Xtend programming language (a fully-featured Java-like language tightly integrated with Java) will be introduced. We then explain the main concepts of Xtext, such as validation, code generation, and customizations of runtime and UI aspects. You will have learned how to test a DSL implemented in Xtext with JUnit and will progress to advanced concepts such as type checking and scoping. ...
Software engineering. --- Domain-specific programming languages. --- Application languages (Computer science) --- Domain-specific languages (Computer science) --- DSLs (Domain-specific programming languages) --- Little languages (Computer science) --- Macros (Domain-specific programming languages) --- Problem-oriented languages (Computer science) --- Programming languages (Electronic computers) --- Computer software engineering --- Engineering
Choose an application
This book details the conceptual foundations, design and implementation of the domain-specific language (DSL) development system DjDSL. DjDSL facilitates design-decision-making on and implementation of reusable DSL and DSL-product lines, and represents the state-of-the-art in language-based and composition-based DSL development. As such, it unites elements at the crossroads between software-language engineering, model-driven software engineering, and feature-oriented software engineering. The book is divided into six chapters. Chapter 1 (“DSL as Variable Software”) explains the notion of DSL as variable software in greater detail and introduces readers to the idea of software-product line engineering for DSL-based software systems. Chapter 2 (“Variability Support in DSL Development”) sheds light on a number of interrelated dimensions of DSL variability: variable development processes, variable design-decisions, and variability-implementation techniques for DSL. The three subsequent chapters are devoted to the key conceptual and technical contributions of DjDSL: Chapter 3 (“Variable Language Models”) explains how to design and implement the abstract syntax of a DSL in a variable manner. Chapter 4 (“Variable Context Conditions”) then provides the means to refine an abstract syntax (language model) by using composable context conditions (invariants). Next, Chapter 5 (“Variable Textual Syntaxes”) details solutions to implementing variable textual syntaxes for different types of DSL. In closing, Chapter 6 (“A Story of a DSL Family”) shows how to develop a mixed DSL in a step-by-step manner, demonstrating how the previously introduced techniques can be employed in an advanced example of developing a DSL family. The book is intended for readers interested in language-oriented as well as model-driven software development, including software-engineering researchers and advanced software developers alike. An understanding of software-engineering basics (architecture, design, implementation, testing) and software patterns is essential. Readers should especially be familiar with the basics of object-oriented modelling (UML, MOF, Ecore) and programming (e.g., Java). .
Software engineering. --- Computers. --- Software Engineering. --- Theory of Computation. --- Automatic computers --- Automatic data processors --- Computer hardware --- Computing machines (Computers) --- Electronic brains --- Electronic calculating-machines --- Electronic computers --- Hardware, Computer --- Computer systems --- Cybernetics --- Machine theory --- Calculators --- Cyberspace --- Computer software engineering --- Engineering --- Domain-specific programming languages. --- Computer software --- Development. --- Development of computer software --- Software development --- Application languages (Computer science) --- Domain-specific languages (Computer science) --- DSLs (Domain-specific programming languages) --- Little languages (Computer science) --- Macros (Domain-specific programming languages) --- Problem-oriented languages (Computer science) --- Programming languages (Electronic computers)
Choose an application
This SpringerBrief introduces the development and practical application of a module-oriented development framework for domain specific system-dynamic libraries (SDL approach), which can be used in the simulation of multi-causal and dynamic relationships on different levels of an industry, as an example the construction industry. Multidisciplinary research and development teams, scientists from different domains as well as practitioners can develop SDL units from varying perspectives based on this approach. For example, the explanation of the risk situation of a company, the identification and evaluation of project risks, endangered operational procedures on various functional levels, or to improve the understanding of the decision making process in detail. This book is an excellent source for researchers, programmers and practitioners. It enables the development of suitable simulation systems from the beginning and demonstrates that it is possible to connect the development of simulation models and daily work. It provides advanced-level students from different domains with a comprehensive overview and clear understanding of a new and valuable modeling technique.
Computer science. --- Computers. --- Civil engineering. --- Computer Science. --- Information Systems and Communication Service. --- Civil Engineering. --- Domain-specific programming languages. --- Computer simulation. --- Computer modeling --- Computer models --- Modeling, Computer --- Models, Computer --- Simulation, Computer --- Application languages (Computer science) --- Domain-specific languages (Computer science) --- DSLs (Domain-specific programming languages) --- Little languages (Computer science) --- Macros (Domain-specific programming languages) --- Problem-oriented languages (Computer science) --- Electromechanical analogies --- Mathematical models --- Simulation methods --- Model-integrated computing --- Programming languages (Electronic computers) --- Information systems. --- Engineering --- Public works --- Automatic computers --- Automatic data processors --- Computer hardware --- Computing machines (Computers) --- Electronic brains --- Electronic calculating-machines --- Electronic computers --- Hardware, Computer --- Computer systems --- Cybernetics --- Machine theory --- Calculators --- Cyberspace
Choose an application
The development of modern complex software-intensive systems often involves the use of multiple DSMLs that capture different system aspects. Supporting coordinated use of DSMLs leads to what we call the globalization of modeling languages, that is, the use of multiple modeling languages to support coordinated development of diverse aspects of a system. In this book, a number of articles describe the vision and the way globalized DSMLs currently assist integrated DSML support teams working on systems that span many domains and concerns to determine how their work on a particular aspect influences work on other aspects. Globalized DSMLs offer support for communicating relevant information, and for coordinating development activities and associated technologies within and across teams, in addition to providing support for imposing control over development artifacts produced by multiple teams. DSMLs can be used to support socio-technical coordination by providing the means for stakeholders to bridge the gap between how they perceive a problem and its solution, and the programming technologies used to implement a solution. They also support coordination of work across multiple teams. DSMLs developed in an independent manner to meet the specific needs of domain experts have an associated framework that regulates interactions needed to support collaboration and work coordination across different system domains. The articles in the book describe how multiple heterogeneous modeling languages (or DSMLs) can be related to determine how different aspects of a system influence each other. The book includes a research roadmap that broadens the current DSML research focus beyond the development of independent DSMLs to one that provides support for globalized DSMLs.
Computer Science --- Engineering & Applied Sciences --- Computer science. --- Computer communication systems. --- Computer programming. --- Software engineering. --- Programming languages (Electronic computers). --- Computer logic. --- Management information systems. --- Computer Science. --- Software Engineering. --- Programming Techniques. --- Programming Languages, Compilers, Interpreters. --- Computer Communication Networks. --- Logics and Meanings of Programs. --- Management of Computing and Information Systems. --- Computer-based information systems --- EIS (Information systems) --- Executive information systems --- MIS (Information systems) --- Sociotechnical systems --- Information resources management --- Management --- Computer science logic --- Logic, Symbolic and mathematical --- Computer languages --- Computer program languages --- Computer programming languages --- Machine language --- Electronic data processing --- Languages, Artificial --- Computer software engineering --- Engineering --- Computers --- Electronic computer programming --- Electronic digital computers --- Programming (Electronic computers) --- Coding theory --- Communication systems, Computer --- Computer communication systems --- Data networks, Computer --- ECNs (Electronic communication networks) --- Electronic communication networks --- Networks, Computer --- Teleprocessing networks --- Data transmission systems --- Digital communications --- Electronic systems --- Information networks --- Telecommunication --- Cyberinfrastructure --- Network computers --- Informatics --- Science --- Communication systems --- Programming --- Distributed processing --- Logic design. --- Information Systems. --- Design, Logic --- Design of logic systems --- Digital electronics --- Electronic circuit design --- Logic circuits --- Machine theory --- Switching theory --- Domain-specific programming languages. --- Application languages (Computer science) --- Domain-specific languages (Computer science) --- DSLs (Domain-specific programming languages) --- Little languages (Computer science) --- Macros (Domain-specific programming languages) --- Problem-oriented languages (Computer science) --- Programming languages (Electronic computers)
Listing 1 - 10 of 13 | << page >> |
Sort by
|