ASiDE - A Software Framework for Complex and Distributed Systems