COSEML (Pronounced: Cozumel) is supported with graphical tools to define a system as components and their connections.  This approach is an effort to develop software by integration, rather than code writing.