Towards a framework for supporting software modeling activities through novel interaction and visualization techniques