Executable UML tools (xml schema, java model compiler, java +  javascript model viewer) based on miUML metamodels