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.
Betal enkelt med kort, Klarna, Apple Pay eller Google Pay. Ikke fornøyd? Du har alltid 14 dagers angrerett. Les mer i våre vilkår. Har du spørsmål, send oss en e-post på hello@memmo.org.
Memmo gjør det enklere å studere – uansett hvor du er i verden. Hos oss samler du pensumbøker og smarte studieverktøy på ett og samme sted: sammendrag, quizer, podkaster og flashcards. Og så Ted, din studiekompis som svarer på alt du lurer på. Over 50 000 studenter studerer allerede her – bygget for at du skal lære raskere og stresse mindre.