"When partitioning a domain, we divide the information model so that the clusters remain intact. [...] Each section of the information model then becomes a separate subsystem. Note that when the information model is partitioned into subsystems, each object is assigned to exactly one subsystem." (Stephen J Mellor, "Object-Oriented Systems Analysis: Modeling the World In Data", 1988)
"While a small domain (consisting of fifty or fewer objects) can generally be analyzed as a unit, large domains must be partitioned to make the analysis a manageable task. To make such a partitioning, we take advantage of the fact that objects on an information model tend to fall into clusters: groups of objects that are interconnected with one another by many relationships. By contrast, relatively few relationships connect objects in different clusters." (Stephen J Mellor, "Object-Oriented Systems Analysis: Modeling the World In Data", 1988)
"Executable UML is at the next higher layer of abstraction, abstracting
away both specific programming languages and decisions about the organization
of the software so that a specification built in Executable UML can be deployed
in various software environments without change." (Stephen J Mellor, "Executable UML: A Foundation for Model-Driven Architecture", 2002)
"Executable UML is designed to produce a comprehensive and
comprehensible model of a solution without making decisions about the
organization of the software implementation. It is a highly abstract thinking
tool to aid in the formalization of knowledge, a way of thinking about and
describing the concepts that make up an abstract solution to a client problem." (Stephen
J Mellor, "Executable UML: A Foundation for Model-Driven Architecture", 2002)
"In the bad old days before MDA, (conceptual) models served only to facilitate communication between customers and developers and act as blueprints for construction. Nowadays, MDA establishes the infrastructure for defining and executing transformations between models of various kinds." (Stephen J Mellor, "Executable UML: A Foundation for Model-Driven Architecture", 2002)
"We build models to increase productivity, under the
justified assumption that it's cheaper to manipulate the model than the real
thing. Models then enable cheaper exploration and reasoning about some universe
of discourse. One important application of models is to understand a real,
abstract, or hypothetical problem domain that a computer system will reflect.
This is done by abstraction, classification, and generalization of
subject-matter entities into an appropriate set of classes and their behavior." (Stephen J Mellor, "Executable UML: A Foundation for Model-Driven Architecture", 2002)
"What's the point of having metamodels, and why should you
care? Because models must be stated in a way that yields a common understanding
among all involved parties, we need a way to specify exactly what a model
means. Metamodels allow you to do just that: They specify the concepts of the
language you're using to specify a model." (Stephen J Mellor, "MDA Distilled.
Principles of Model-Driven Architecture", 2003)