This text is about compositional programming, where programs are constructed by composing prewritten software building blocks. Three modern compositional paradigms are covered, listed in order of decreasing emphasis:
A Software Product Line is a design for a family of programs. Each program is composed from predefined increments of program functionality. The Linux Kernel is the largest known product line whose family size exceeds 102000 distinct programs.
Model Driven Engineering is a general-purpose engineering methodology to support system design, analysis, construction, and evolution. Software designs are expressed as models. Transformations are composed to convert models into other models for analysis, to produce documentation and/or source.
Streaming Applications are dataflow graphs whose nodes (called boxes) are computations with input and output data streams; boxes are wired/composed together to produce a custom program (aka software circuit). Examples are Unix pipe-and-filters and distributed stream processing.
The book is aimed at both practitioners and advanced students, assuming some familiarity with programming in Java. It draws on the author’s unique personal insights from over four decades of experience as an academic at a leading research university as well as a hands-on developer of software tools. Written in an engaging style, the text highlights important contributions toward principled software engineering and composable designs made by researchers in diverse areas such as formal methods, programming languages, software system development, testing and deployment, databases, and networks. Parts of the book can be read and enjoyed as a historical narrative, while others can be studied more deeply to reflect on open research challenges and opportunities. In a world where AI and machine learning offer seductive yet untapped opportunities to generate software automatically, this book is a reminder of how and why the mathematical foundations of software construction still matter.
Zahle einfach mit Karte, Klarna, Apple Pay oder Google Pay. Nicht zufrieden? Du hast immer ein 14-tägiges Widerrufsrecht. Lies mehr in unseren AGB. Hast du Fragen, schreib uns eine E-Mail an hello@memmo.org.
Memmo macht das Lernen einfacher – wo auch immer du bist. Bei uns findest du deine Kursbücher und smarte Lerntools an einem Ort: Zusammenfassungen, Quizzes, Podcasts und Lernkarten. Und Ted, dein Lernbuddy, beantwortet alles, was du wissen möchtest. Über 50.000 Studierende lernen bereits hier – gemacht, damit du schneller lernst und weniger Stress hast.