
Definitions
The following definitions are important to an understanding of MDSD. We provide them here for clarity in the discussions in the rest of the chapters of this book.
System
A system is a set of resources that is organized to provide services. The services enable the system to fulfill its role in collaboration with other systems to meet some useful purpose. Systems can consist of combinations of hardware, software (including firmware), workers, and data. This definition of systems is extremely general: a product, such as an automobile or a computer, is a system; a business or its components are also systems. Businesses can be organized into larger enterprises that are also systems, for example, the
Service
At a high level, a service is a mechanism by which the needs or wants of the
requestor are satisfied. In a given context, the term service represents either a service specification or a service implementation, or both. A service specification
is the definition of a set of capabilities that fulfill a defined purpose. A service implementation realizes the behavior described in the service specification and
fulfills the service contract.
In MDSD, the service specification can be a UML or SysML interface. The service implementation is represented by the logical and distribution projections or viewpoints of the model.2
Requirement
A requirement is a condition or capability to which the system must conform.
Model
A model is defined as a collection of all the artifacts that describe the system.
2Wikipedia’s article on Service (System Architecture) defines service as follows: In the context of enterprise architecture,
18Model Driven Systems Development with Rational Products