Multiple views to address multiple concerns

Our life is complicated, our systems are complex.9 They are built from many parts; often there are many systems working together to accomplish a goal. Our minds do not handle certain kinds of complexity well. In mathematics, when we deal with multi-variable equations, we isolate variables, solve for them, and substitute them back into the equation.

We must provide a mechanism for doing the same thing with systems.10 We do the same thing when we design and construct buildings. A building is a system. When we construct a building, we draw up many different plans: One for the electricity, another for the plumbing, different views of the exterior. To address the complexity of our systems, we have to create viewpoints that address multiple concerns. These can vary from system to system. Common viewpoints might include the logical viewpoint (what is the functionality), the distribution viewpoint (where does the functionality take place), the data viewpoint (what domain entities are manipulated), and the worker viewpoint (what human roles are involved). MDSD is explicitly designed to promote the creation of different viewpoints to address different concerns.

Integration of form and function

Function does not occur in a vacuum. It is hosted by physical form. Form exists to carry out function. We build systems to accomplish goals. The systems that we build do not exist in a vacuum—they are physical things. The goals that we have for a system, the functionality that we would like it to exhibit, are realized by forms or structures. The form that a system takes must support the goals that we have for it. Both the functionality of the systems and the systems themselves are constrained: we want something to occur within a specified amount of time; we do not want the system to harm its users or innocent bystanders.

Our systems generally must fit into certain spaces, weigh less than a certain amount. The goal of system design is to create a set of forms that will provide desired functionality within a set of constraints. MDSD ensures that system goals are met by distributing functionality across cooperating entities while reasoning about system performance, and other constraints.

9See the discussion on increased complexity in Cantor and Roose, Hardware/software codevelopment using a model-driven systems development (MDSD) approach, The Rational Edge, IBM developerWorks®, December 2005, http://www.ibm.com/developerworks/rational/library/dec05/cantor/index.html?S_TACT=105AG X15&S_CMP=EDU

10See the discussion of abstraction, decomposition, and other topics in Booch et al.,

Object-Oriented Analysis and Design with Applications, 3rd Edition, Addison-Wesley, 2007, chapters 1 and 2

6Model Driven Systems Development with Rational Products

Page 22
Image 22
IBM SG24-7368-00 manual Multiple views to address multiple concerns, Integration of form and function