consists of building an abstraction of reality
model
models must be falsifiable
we use it to produce software because
key technique: abstraction
supports the 3 ways to deal with complexity
nonproprietary standard for modeling software systems
you can solve 80% of the modeling problems by using 20 % UML
80-20 rule: Pareto principle
is specified in a more rigorous manner by means of concrete syntax, abstract syntax and semantics
abstract syntax is described by means of the UML metamodel and WFRs (invariants on metamodel classes)
language describing the UML metamodel, MOF is a subset of the UML language
beginning with the first version, UML included the OCL
UML is a language supporting model specification