In addition to the representation scheme, we have developed a modeling tool that could provide several levels of useful assistance--from typical clerical type of support to semantic level support such as consistency-checking and assisting in detection of semantically missing components in the model. We have also demonstrated that an appropriately represented domain model can be utilized in various types of application tasks. That is, we have shown that the same knowledge could be reusable in different tasks without any changes in the representation.