The Architect´s Napkin

Software Architecture on the Back of a Napkin
posts - 69 , comments - 227 , trackbacks - 0

My Links



Post Categories

Software modelling

In need of more abstraction
The ultimate product of software development is this: CPU executable binary code. Decades ago we used to “write” this more or less directly into memory. But that was very tedious and error prone. Code was hard to reason about, hard to change. Abstractions in code So we looked for ways to make coding easier. Enter a higher level of abstraction: Assembler. By representing machine code instructions as text and throwing in macros productivity increased. It was easier to read programs, easier to think ......

Posted On Wednesday, December 31, 2014 12:39 PM | Comments (1) | Filed Under [ Thinking outside of the box Software modelling ]

Catch Exceptions in Concurrent Flows Using Causalities
The previous article showed you how to easily parallelize flow operation execution with NPantaRhei (download the sources from github). Once operations run concurrently, though, you´ve to pay your dues. Benefits or concurrent execution like higher performance, lower latency, or increased throughput come at a price. What that means conceptually e.g. for access to shared data, I leave to you to research. Here I want to show you how to practically handle errors in such flows. Because error handling cannot ......

Posted On Saturday, May 5, 2012 2:19 PM | Comments (0) | Filed Under [ Software modelling ]

Flow-Design Cheat Sheet – Part II, Translation
In my previous post I summarized the notation for Flow-Design (FD) diagrams. Now is the time to show you how to translate those diagrams into code. Hopefully you feel how different this is from UML. UML leaves you alone with your sequence diagram or component diagram or activity diagram. They leave it to you how to translate your elaborate design into code. Or maybe UML thinks it´s so easy no further explanations are needed? I don´t know. I just know that, as soon as people stop designing with UML ......

Posted On Sunday, March 20, 2011 6:02 PM | Comments (10) | Filed Under [ Event-Based Components Software modelling ]

Flow-Design Cheat Sheet – Part I, Notation
You want to avoid the pitfalls of object oriented design? Then this is the right place to start. Use Flow-Oriented Analysis (FOA) and –Design (FOD or just FD for Flow-Design) to understand a problem domain and design a software solution. Flow-Orientation as described here is related to Flow-Based Programming, Event-Based Programming, Business Process Modelling, and even Event-Driven Architectures. But even though “thinking in flows” is not new, I found it helpful to deviate from those precursors ......

Posted On Saturday, March 19, 2011 6:10 PM | Comments (4) | Filed Under [ Event-Based Components Software design Software modelling ]

Powered by: