Different types of models
Models can roughly be placed into two categories
Structural models
Structural models capture the static features of a system by describing how these features are related to each other.
The most common form of structural models are UML Class diagrams, which is the primary model supported by TRIMM
Examples of the structural models
Domain Models
Domain models capture the data/information of your domain.
Domain Models are perfect candidates for being used in a Model Driven Development (MDD) approach to software development.
Domain models typically end up in some kind of datastore, e.g. a relational database, which is used to store the information of the given system/application. MDD can automate the translation proces of going from the Domain model (e.g. in the form of a UML class diagram as shown in the example below) to the final database design. The result of code generating from a Domain model could be the database schema (DDL script) and code necessary for working with the data in the database (Hibernate, JPA, PL/SQL, JDBC, etc.).
TRIMM supports code generation from UML Class diagram based Domain models through the TRIMMJava, TRIMMJpa and TRIMMGroovy modules.
Example domain model from Veterinary Booking application
Integration models
Integration models captures the interfaces and data that can be exchanged in e.g. a WebService/SOA integration scenario.
Integration models are perfect candidates for being used in a Model Driven Development (MDD) approach to software development.
Integration models typically end up as WebService contracts such as WSDL documents and XML Schemas. MDD can automate the translation proces of going from the Integration model (e.g. in the form of a UML class diagram as shown in the example below) to the WSDL documents and XML Schemas.
TRIMM supports code generation from UML Class diagram based Integration models through the TRIMM-WS module.
Example WebService integration model from a CustomerService application
Behavioral models
Behavioral models describe the dynamic features of the system, by representing the interactions among the features described in the structural models.
Examples of Behavioral models: