Smartware Design