You can use IBM® Rational® modeling products to create conceptual models by using full UML or a subset of it. You can also use model-based automations such as patterns and transformations to automate some aspects of model definition and refinement, and then apply additional transformations to generate code. After gaining the value from the conceptual modeling, you can discard the conceptual models and use the more agile approach of editing code by using the UML diagrams of your choice.
The protocol named conceptual models seed concrete models offers alternate approaches or views of how to create your application and gives multiple perspectives of a design problem. You typically use conceptual models at the beginning stages where much thought and design is needed initially, but as the project progresses, creative control and trust is given more to the developers. This protocol is valuable during the volatile phases of the development lifecycle. You can modify models at lower cost and with higher consistency than code or textual specification documents. Adopt this approach if you believe that early conceptual modeling can reduce project risk and add value in terms of improved development outcomes, but if you cannot justify the burden of maintaining conceptual models in an iterative development process. Adopt this approach if your development process uses a iterative method.
This approach can limit project risk by leveraging conceptual models. With conceptual models, you can create multiple types of diagrams, which help visualize the problem to provide greater insight and understanding and offer different architectural approaches to the problem domain. Conceptual models can also be a solid basis for more accurate project estimating. By using code-generating transformations, you can eliminate a significant amount of hand-coding in the first iteration of a project. With this approach, architects and senior management can convey and see the overall picture, which can help developers design the application. This approach also encourages the team to see the customers' view of the problem and propose solutions to the process.
The conceptual models seed concrete models protocols includes brainstorming at the beginning of the development process when senior management and developers can view the problem in different ways. However, the models have temporary value and are discarded after the initial process. This approach has more initial costs than the agile approach in which concrete models drive development because it requires the knowledge and use of a conceptual modeling language and also the ability to accommodate and manage change in the conceptual modeling artifacts that occur during the early phases of development. Governance is high in the initial state, but becomes very low as the developers continue the coding and are given creative freedom.
You use conceptual models in the early stages of development and you can also use them later in the iterative cycle. You can make changes to the Java code and the model. However, when the model is transformed, the body of the Java code is protected.
The following diagram shows a motorcycle class, with an operation called type.

In the Java code, you can add an attribute to the operation type called helmets of type integer that has a value of 1.

In the UML model, the architect might change the operation type to helmetsAvailable and refactor the model. The result is that the body of the Java code remains intact and only the signature changes.
