ers). The purpose with this type of models is primarily to explain the meaning with concepts for human readers (the model may, for example, model the statement "a car has four wheels" as the relation "has" between the concepts "car" and "wheel", also adding the attribute "four" to the relation "has"). With the advent of electronic computing, the things one needed to model was a part of the physical world (e.g., the business control system in an enterprise) that had to be supported by the computer. This part was modeled as a conceptual model (or equivalent: an entity-relation diagram). The goal with such a model was to be able to first understand the actual part of the reality, and then translate that model into a data model (i.e., a data structure) that could be stored in the computer. The things that appear in such models are now no longer any type of concept (as in a semantic diagram), but representations of entities of the physi- cal world. Some type of relations seemed to recur in models of all system domains, such as is_part_of and belongs_to_the_class, and are therefore often defined as parts of the modeling language itself. The next step in the development of modeling languages took place when peo- ple started to use modeling not just to define data structures in computers, but for modeling the computer system itself. Some early modeling languages tried to cover all aspects of a computer system in a model. With the enormous increase of software in systems in general, however, successful modeling lan- guages have focused on modeling the software part of it. During the 1980s, the first step to include behavior in models was introduced. It became popular to regard the entities in models as objects and the relations as object relations. An object is an entity that hides its design behind an interface, and 1.1 Systems Modeling in General an entity which can execute operations upon requests from other objects. The structure of the system can now be described by interfaces between objects, and the behavior as int