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.
Paga fácilmente con tarjeta, Klarna, Apple Pay o Google Pay. ¿No estás contento? Siempre tienes 14 días de garantía de devolución. Lee más en nuestros términos. Si tienes preguntas, escríbenos a hello@memmo.org.
Memmo hace que estudiar sea más fácil, estés donde estés. Aquí tienes tus libros de texto y herramientas de estudio inteligentes en un solo lugar: resúmenes, quizzes, podcasts y flashcards. Y también a Ted, tu compañero de estudio que responde a todo lo que te preguntes. Más de 50 000 estudiantes ya estudian aquí. Está hecho para que aprendas más rápido y te estreses menos.