=Paper= {{Paper |id=Vol-1102/amino2013_invited_talk |storemode=property |title=Goals, Domains, and Enterprise Architecture in the Model-Driven Organization |pdfUrl=https://ceur-ws.org/Vol-1102/amino2013_invited_talk.pdf |volume=Vol-1102 |dblpUrl=https://dblp.org/rec/conf/models/DSouza13 }} ==Goals, Domains, and Enterprise Architecture in the Model-Driven Organization== https://ceur-ws.org/Vol-1102/amino2013_invited_talk.pdf
Goals, Domains, and Enterprise Architecture
in the Model-Driven Organization
Desmond D’Souza

Kinetium, Inc.
desmond.dsouza@kinetium.com             www.kinetium.com
In a Model-Driven Organization (MDO), all aspects of planning, designing, implementing,
deploying, operating, and evolving the organization and its supporting infrastructure are based on
models. Goals form an anchor for other models in an MDO. This paper is a summary of my
keynote talk at AMINO 2013 in Miami, Florida, in which I covered a variety of ways to use Goal
Models as a recurrent focal point to improve model coherence in an MDO.


Goals, Domains, and Refinement

A goal is a property desired over a domain. In Figure 1(a), a goal of the Golden
Gate Bridge is shown with a green circle G1: Get vehicles from A to B i.e. given
some domain property about the inflow of vehicles at A, establish a corresponding
outflow at B. A goal is anchored to domain elements that are its subject matter,
and evaluates to true or false over any domain instance. G1 is anchored at end-
points A and B, controlling outflow based on inflow. A dashboard wired to the
anchor points can, in principle, monitor the goal.

                                                                                 Vehicle Inflow, Outflow
                                 Why?                                            A Domain Property
       Inflow
                                                   “Bridge”                                     “Ferry”
                           What?                  Refinement                                    Refinement
       A
                                        How?                                                         Ferry…
                                                                                     Bay
            Goal G1:       Vehicle                                                   currents
            Get vehicles   Inflow
            from A to B
                                        Roadway         Suspensions    Columns
                                                                                    Bedrock
                             A             B                                        Strength

              B
            Outflow




Figure 1: (a) A goal with its end-points and a monitor.           (b) Goal and domain refinement.
  A goal refinement consists of sub-goals and domain properties that, combined,
satisfy a parent goal across its end-points. The bridge refinement (small white
circle in Figure 1(b)) moves inflow from A to B via a roadway, supported by
cables suspended from columns built on bedrock, and establishes sub-goals for
each of these based on their mutual load and support properties, bedrock
properties, and inflow. Domain properties (yellow rectangles) are facts or
assumptions about the domain, also anchored on domain elements. A goal can
have alternative refinements: G1 can be met by a bridge-refinement or a ferry-
refinement. Choosing one or the other uncovers different domain properties:
bedrock strength is vital for bridge columns, and bay currents is for a ferry, while
inflow and outflow is part of the problem context of G1 itself and common to both.
When analyzing any part of a goal model, only certain refinements apply, and the
corresponding domain model is composed from the domain properties of all
applicable refinements. Goal refinement, domains, and architecture choices are
intrinsically intertwined.

  The domain model can range from a simple average vehicles-per-hour, to a
detailed “film-strip” with individual vehicles moving along the bridge. Goals are
predicates over that model, and evaluate to true or false on a domain instance. An
objective associated with a goal can quantify how well the goal is met, based on
measurable domain attributes and often in an aggregate sense.

  By making intention explicit, goals answer some key questions (Figure 1(b)):

1. What are we trying to accomplish? The goal specification, G, with end-point
   domain elements, gives a precise success criteria over any domain instance.
2. Why do we want to accomplish G? Refinement answers this in the form:
   because if we meet G, given additional domain property X and assuming we
   meet other sibling goals, then in concert we meet the higher level goal.
3. How will we accomplish G? Examine the refinement of G and follow the “line
   of reasoning” through its domain properties and sub-goals.
4. How well does refinement R1 meet G? Provided all children of R1 can be
   expressed in a sufficiently detailed form, evaluate G’s objective function
   against domain instances assuming that all the sub-goals are met.
  Monitoring a goal is clearly useful, but assumed domain properties are also
candidates for monitoring. As a secondary goal, the bridge should accommodate
shipping traffic, which introduces assumptions about ocean level and ship height,
and goals about minimum roadway height (Figure 2(a)). The assumptions can be
monitored, as changes could jeopardize a goal. In the larger feedback loop of an
extended enterprise with its environment, assumption tracking must happen in
some form, whether proactive or reactive.
                                                                                                                                     Domain Property                                  Bridge
          Get Vehicles                                                                        Allow Ship                            fact or assumption
          From A to B                                                                         Traffic

                                                                                                                                             Domain
                                                                                                              Ship                           Element
                                                                                                              Height
                    Roadway
                    Height                            Roadway                             Ocean
                                                      Height                              level                                                                          Suspension                   Columns

                         Roadway




Figure 2: (a) Monitoring assumptions.                                                                                 (b) Federated goal models and alignment.
    Goal models can be federated. Figure 2(b) shows federated goal models for the
bridge, suspension, and columns. Note that each goal “frames” a problem; goals
and end-points must align from child to parent goal model; one model’s
assumption can be (or otherwise depend on) another model’s goal; and goal
models have different projections of shared domains. Since dependencies are
between properties of domain elements and not directly between elements, value,
risk, and impact can be assessed in terms of affected properties.

    If the underlying domain fits within a governance structure, goals can be
extended with strategic dependency relations between the person desiring the
goal, the one responsible for meeting the goal, and the one with authority over any
domain element needed in refining the goal.

Goals, Architecture, and Architecture Style

    An architecture of a system is a model describing system properties to be
understood and analyzed together. Architectural components are part of the
domain model. Goals and domain properties demarcated by refinement define
“together”-ness and are part of architecture. The "ends" in “end-to-end
architecture” are precisely framed by goals.

                          2: Goal - Factories supplied just in time                         7: Multiple concerns: functionality, security,                                                     Properties of Concern can be
                                from supplier warehouses                                    performance, technology…                                                                           about functionality, security,
                                                                                                                                                                                               performance, manageability, etc.
    Functionality        Security           Performance               Technology             …

                                                                            3: Refinement to sub-goals + domain properties on sub-
 1: Problem Domain –                                                        domains
                                                                                                                                                  Goals are
  factories, supplies,
 warehouses, partners,                                                                                                                              desired
                                                                        3b: predict production load, optimize supply schedule                    properties
    existing systems                3c: deliveries made

                                                                                             3a: track inventories


                                                                                             4: Scope of sub-goals get narrower.
                                                                                             Some assigned to components.



                                                   Factory Supply Optimizer

                                                                                                          supplier
                                                                                                         inventory
                               deliveries

                                                          scheduler

                                                                              predictor                                                       Desired Properties and Given                           Span of interest: boundary
                                                 production load predictions                                                                 or Assumed Properties can be                            of a box, or its outsides, or
                                                 supply scheduling                                                                             in terms of: active structure,                        its insides:
                                                                    5: Applications, Components, Connectors
          6: Goals and Domain Model have                            – specifications for each one                                               behavior, passive structure/                         Component-Port-Connector
          parallel refinement, to granular goals                    – end-to-end satisfaction of goals
                                                                                                                                                                 information                         model
          and components




Figure 3(a) Example of fractal refinement. 3(b) Scheme for fractal goals with architecture.
  Figure 3(a) sketches an example of the approach used in a fractal manner for
factory supply optimization: the granularity of goals and domain elements,
including software components, events simple or complex, and other behaviors,
can all be refined recursively; 3(b) shows a general scheme for incorporating
goals as a fractal structure alongside other architecture descriptions.

  An architecture description can obscure, suggest, or reveal intention. In Figure
1(b), hanging cables longer than some length need to be reinforced as their own
weight adds to the cable strain at the top. Below are three architecture descriptions
of the cables, ranging from obscuring to revealing intention.

   1. Cables 1-6 are normal, and cables 7-9 are reinforced.
   2. For every cable: (weight, strength, load) must satisfy a strength rule.
   3. Cables = map cable_reinforcer basic_cables
  The first reveals no intent; it simply lists the final result of implicit reasoning.
The 2nd reveals intent as a checkable rule, without helping shape the architecture.
The 3rd provides an intention-revealing transformation that is generative.

  An architecture style defines a set of architectures, and is described like any
object type: attributes that name relevant architectural elements (cables), attributes
of those elements (weight, strength), functions that determine attributes from
others (cable_reinforcer), invariants (strength rule), desired and given domain
properties. Like the cables example, architecture styles can span a spectrum from
check-only (given an architecture, return Pass/Fail) to generative (given an
architecture, evaluate to a transformed architecture). Since architectures include
goals and domain properties, the most generative kind is an “architecture
compiler”: given goals and domain context, produce an architecture realization.

Goals and Roadmaps

  Roadmapping is a decision-making technique used to support medium to long-
term strategic planning, examining linkages between the domains of technology
and business capabilities, organizational objectives, and the customer and market
environment, considering multiple perspectives and their relationships over time.
An MDO could analyze goals, facts, assumptions, and architecture elements in
these domains on a timeline; key assumptions could bear monitoring over this
timeline. Figure 4 illustrates what such a roadmap looks like.
                                                          time
    Market               Market            Market
                         Penetration       Penetration
Competition
                         v1                v2


Technology


  Products


 Components


  Marketing


                                  Goal       Refinement

                                 Fact,
                              Assumption



Figure 4. Example of roadmap based on goal modeling.


Goals and Migration Plans

  Large-scale architecture initiatives deliver an as-is and a to-be architecture, and
an MDO could use goal models in developing these. A migration plan is a
sequence of staged architecture changes from as-is to to-be.




          As-Is                                                           To-Be

  Migration planning is a difficult problem, with its own goals and domains. The
obvious domain is a filmstrip of architectural stages, but there are peripheral
components, applications, processes, people, skills, and regulations to consider;
other roadmaps to co-ordinate, such as infrastructure upgrades. The obvious goal
is to convert as-is to to-be; but there are others, such as minimizing disruption risk
to critical business processes. Migration planning even has its own architecture
styles, such as Legacy Coexistence and High-Risk First / Fail Early.

Acknowledgements

  This paper is based on a modeling approach we have evolved over several years
(called MAp, www.kinetium.com). It uses ideas from KAOS, Problem Frames,
Catalysis, and Model Driven Engineering. I also owe thanks to past collaborators
including Tony Clark and Hans Gyllstrom. The keynote slides also discussed
goal-models and portfolio management, excluded here for lack of space.