Monthly Archives: February 2017

The critical role of changes

Grady Booch defined software architecture as everything costly to change. This implies that the software includes some parts that are not so costly to change. However, if the project doesn’t have any buffer for changes, or when a “first-time right” culture is adopted, everything becomes costly to change, as every change will need escalation and approval, thus everything will become “architectural”. Continue reading The critical role of changes

HW-in-the-Loop with SystemC

Last week, I was at a multicore event, and some presentations reminded me of my MS thesis work back in 2008-2010. In this post, I’d like to provide material produced during my MS thesis work with my professors Arda Yurdakul and Alper Sen with a short introduction.

The work was about introducing the HW-in-the-Loop (HiL) method to the HW-SW co-design domain. HiL is about integrating virtual (simulated) environments with real environments to enable useful scenarios such as testing virtual models under development on real test beds, testing real devices with virtual test beds etc. Continue reading HW-in-the-Loop with SystemC

The moment of the architect

A beginning is the time for taking the most delicate care that the balances are correct.
— Frank Herbert, Dune

Towards the end of the implementation phase of the software, the moment of truth for the architecture arrives. All weak parts of the architecture start showing themselves: the integrated components do not play together, NFRs are not satisfied, maintenance costs explode, tests are hard to execute and bring limited meaningful results and so on. Continue reading The moment of the architect