Blog

Thoughts, tech notes, in-depth articles and walkthroughs.

November 01, 2016 2 mins read

Master's Thesis: Introducing Performance Awareness in an Integrated Specification Environment

Abstract

With an increase in software complexity and modularization to create large software systems and software product lines it is increasingly difficult to ensure all requirements are met by the built system. Performance requirements are an important concern to software systems and research has developed approaches being capable of predicting software performance from annotated software architecture descriptions, such as the Palladio tool suite. However, the tooling when moving between specification, implementation and verification phase has a gap as the tools are commonly not linked, leading to inconsistencies and ambiguities in the produced artifacts. This thesis introduces performance awareness into the Integrated Specification Environment for the Specification of Technical Software Systems (IETS3), which is a specification environment aiming to close the tooling gap between the different lifecycle phases. Performance awareness is introduced by integrating existing approaches for software performance prediction from the Palladio tool suite and extending them to cope with variability-aware system models for software product lines. The thesis includes an experimental evaluation showing that the developed approach is able to provide performance predictions to users of the specification environment within 2000 ms for systems of up to 20 components and within 8000 ms for systems of up to 30 components.

Read more
October 20, 2016 2 mins read
Engineering

Update CrashPlan on a QNAP NAS with Docker

Some time ago I installed Crashplan on my QNAP NAS with Docker. As in the meantime there were a lot of updates available for all moving parts, it was certainly time to update. What a scary idea!

Much to my delight, the update went very smooth and CrashPlan works properly as expected. The update involved some steps, but with the Docker setup in place, the update was really easy.

Update Procedure

The steps I took to update Crashplan are the following:

Read more
September 23, 2016 3 mins read
Engineering

Regression Testing a Sitemap

I was recently restructuring my website and was worried that my changes might break some of the links. Placing some 301 Redirects is fine as long as you track down all the links that change. And to track down which links changed is super easy: what better option would there have been than to write a regression test? In fact, thats the primary reason we write regression tests for - to make sure things don’t break upon change!

Read more
August 13, 2016 6 mins read
Architecture

Domain Driven Design with Symfony: A Folder Structure

Deciding how to setup the directory structure of a project is not easy. Often, the frameworks people are used to suggest a way to organize classes, such as Symfony does. However, when implementing domain-driven design (DDD) it is very important to NOT couple the domain code to a framework, as sooner or later sticking to a proposed directory structure renders your carefully crafted code coupled to the framework. Also, you want to make sure that your architecture remains changeable.

Read more