From the developerWorks series, Good Design is Good Business: https://www.ibm.com/developerworks/mydeveloperworks/blogs/669242b1-dd91-4d63-a08f-231314c793bb/entry/model_runway_see_the_latest_design_best_practices_at_bluecross_blueshield24?lang=en
3. Agenda System Modeling with M3 - Session 1: Overview
• Basic Concepts
• UML & MDA Usage
• Modeling Context
• RSA Model Template
• Integration Model & View Aggregation
• Model Ownership & Framework Summary
• The Big Picture
3
4. What is M3 ?
• This session provides an insight into M3 (Modeling at 3 levels), a disciplined
agile system modeling framework and workflow based on Object Management
Group model driven architecture guidelines and unified modeling language
notation and utilizing IBM Rational Software Architect, IBM Rational Team
Concert, and IBM Rational Software Architect Design Manager
M3 modeling methodology has been created around three broad strategies:
Apply fundamentals of model driven service-oriented architecture and unified
modeling language to modeling enterprise software architecture
Address the increasing complexity in enterprise integration architecture and business
capabilities
Support both top-down and bottom-up approaches and manage and reuse
architectural models and assets throughout their lifecycle
4
5. M3 Methodology :: Modeling Challenge
Requirements
Effectively describe, specify, and reflect
the target Software Architecture!
Architecture
Implementation
5
6. M3 Methodology :: The Approach
Use Case Driven: Software Development Model Driven Architecture:
Methodology
• Capture functional (user Requirements Analysis • A model -based business-
perspective) and non- and Design focused software
functional product FIPER Web I/F (WebTop) architecture that calls for the
requirements as well as Service Oriented development of a number of
(HTML/XML)
Model Driven Architecture
business/process rules. architectural models in order
to effectively describe the
Use Case Driven
FIPER Events / Messages (FIPER Topics)
• A form of requirements Component Based architecture.
(JMS)
modeling that involves
defining the target system • Enables the modeling,
boundary by finding planning, and development
Object Oriented
actors and use cases and of enterprise software
their relationships. systems in a way that
conforms to the chosen
architecture.
RSA
UML/MDA Model Templates
6
7. M3 Methodology :: Modeling Concepts
• Systems Modeling
• Is the interdisciplinary study of the use of models to conceptualize and
construct physical systems in business and IT development.
• Model
• Captures a view of a physical system. It is an abstraction of the physical
system, with a certain purpose at the appropriate level of detail.
• Diagram
• Is a partial graphical representation of a system's model.
• Systems Modeling Methods
• Flow Charts ,Functional Block, and Data Flow Diagrams!
• Business Process Modeling
• Logical/Physical Data Modeling
• Domain Modeling
• Model Driven Architecture (MDA)
• Etc.
7
8. M3 Framework
• M3 framework identifies five components necessary for developing and
maintaining enterprise models
M3
Framework
Modeling Components Integration
Notation Model
3
Modeling
Workflow 3 Modeling
View
Aggregation
Environment
8
9. Framework Components
Modeling Notation Integration Model
M3
Framework
Components
3
™
3
MDA Principles and Disciplines Context for Enterprise Modeling
Modeling Workflow View Aggregation
Modeling Environment
9
10. Agenda
• Basic Concepts
• UML & MDA Usage
• Modeling Context
• RSA Model Template
• Integration Model & View Aggregation
• Model Ownership & Framework Summary
• The Big Picture
10
11. UML Usage
• UML 2.3 has 14 types of diagrams
– Seven diagram types represent structural information
– Seven diagram types represent general types of behavior
– M3 uses a subset, four structural and four behavioral diagrams
Diagram CIM PIM PSM ISM
Package
State Machine
Use Case
Activity
Class
Sequence
Component
Deployment
11
12. MDA Principles
• The models and modeling activities utilize a domain-focused multi-view
approach to architecture representation, as defined by ANSI/IEEE 1471-
2000, OMG UML 2.0 and MDA specifications
• A viewpoint on a system is an abstraction technique that focuses on a
particular concern within the system to establish a simplified model
• MDA specifies three viewpoints on a system;
– Computational independent
– Platform independent
– Platform specific
• A view or a viewpoint model is a representation of a set of system
elements, parts, connectors, and relations associated with them
conforming to the viewpoint
12
14. Agenda
• Basic Concepts
• UML & MDA Usage
• Modeling Context
• RSA Model Template
• Integration Model & View Aggregation
• Model Ownership & Framework Summary
• The Big Picture
14
15. Context for Enterprise Modeling
Business Process Model
MDA Terms and Concepts M3 Terms and Concepts
System Model
Computation Independent Business Model
(Business, IT, Integration, etc.)
Model (CIM) (The Outside)
Problem domain, business context, requirements
and concepts, business roles and collaborations
Platform Independent Logical System Model
Model (PIM) (The Edge)
Business types and objects, interfaces, components,
services, messages, and data
Platform Specific
Technology Spec. Model
Model (PSM)
(The Inside)
Data model, software platform, software
implementation and deployment specifications
Platform Specific
Implementation (PSI)
Platform Model scripts (DDL/SQL, etc.), code (java, C#, etc.),
Subsystems, technology, and configurations (XSL, WSDL, deployment files, etc.)
technical concepts
Platform Model
15
16. M3 and Generic SDLC
Business Requirements
M3 MDA Models
Requirements Analysis Computation Independent Model (CIM)
Specification
Domain Model Use Case Model Activity Model
Requirements Model
Architectural Design
Specification Platform Independent Model (PIM)
High Level Design Model Type Model Component Model Service Model
Implementation Deployment
Specification
Platform Specific Model (PSM)
Detailed Design Model
Data Model Runtime Model Deployment Model
Construction & Assembly
Platform Specific Implementation (PSI)
Implementation Artifacts
<<artifact>> <<artifact>> <<artifact>>
Script Code Configuration
Test & Deployment
16
17. CIM: Level 1 Model
• M3 CIM captures business requirements in the language that is familiar to the end
user of the solution and the business domain experts
Computation Independent Model (CIM)
Domain Model Use Case Model Activity Model
Activity Model describes
behaviors of a system in terms
Use Case Model describes
Domain Model describes the of
functionality of a system in
problem domain in terms of activities, actions, controls, and
terms of use cases/user
business concepts and reflects data flows reflecting
tasks/actions showing
a precise model of domain organizational
interactions between the users
vocabularies and terminologies structures, business
and the system
processes, work flows, and
procedures
17
18. CIM Workflow
Business Business
Architecture Model Features
Business Domain Business External
Process Model Knowledge Requirements System Model
Model Business Concepts
Model Business Scenarios Identify & Model Use Cases
Model System Boundaries
Domain Model Use Case Model
Activity Model
18
19. PIM: Level 2 Model
• M3 PIM specifies the solution that is not tied to the choice of a specific
computing platform; however it must comply with the system requirements
specified in the CIM
Platform Independent Model (PIM)
Type Model Component Model Service Model
Component Model specifies Service Model specifies
Type Model specifies domain
the scope, responsibilities, and services which provide reusable
objects in terms of types,
supported interfaces for the business functionality and
attributes, associations,
discovered components, and includes services that are
collaborations, and is used to
the way their services are affected by the components and
discover core business types
composed to support the interfaces specified in the
and business interfaces
system component model
19
20. PIM Workflow
Use Case Model Use Case Model
Domain Model Activity Model
Identify Interface
Operations
Discover Business Types Model Services
Model Components & their
Interactions
Service Model
Type Model
Component Model
20
21. PSM: Level 3 Model
• M3 PSM specifies system implementation and design in the form of
platform-dependent model that adds details to the PIM for a specific
computing platform, and specifies how that system uses the selected
platform
Platform Specific Model (PSM)
Data Model Runtime Model Deployment Model
Data Model represents the
Runtime Model illustrates the Deployment Model depicts
structure and relationship of
structure of the elements that how the system is deployed to
data in information
have runtime presence such as hardware infrastructure and how
repositories, and shows the
threads, processes, DLLs, the system artifacts are
persisted entities in their
objects, components, etc. during gathered in the file system
corresponding domains and the
their execution and their including the structure of
relationships amongst persisted
interactions directories, files, etc.
elements
21
22. PSM Workflow
Component Model Component Model
Technology
Type Model Technology Service Model
Platform
Platform
Identify Deployment
Characteristics
Construct Logical Data Instantiate Components
Model
Allocate Components to
Modules & Nodes
Runtime Model
Data Model
Deployment Model
22
23. Agenda
• Basic Concepts
• UML & MDA Usage
• Modeling Context
• RSA Model Template
• Integration Model & View Aggregation
• Model Ownership & Framework Summary
• The Big Picture
23
24. Modeling Environment
• Each M3 model is a distinct model (emx file) in RSA
• M3 models are published from RSA to RTC
24
28. Agenda
• Basic Concepts
• UML & MDA Usage
• Modeling Context
• RSA Model Template
• Integration Model & View Aggregation
• Model Ownership & Method Summary
• The Big Picture
28
29. Integration Model
• M3 extends MDA viewpoints and defines an independent model, Integration
Specific Model (ISM), that has no dependencies with other three models
– ISM reflects the Enterprise Integration viewpoint of the system
– Models are extracted from the three M3 Models (CIM, PIM, and PSM)
• Three supported models/levels of integration are specified in ISM
– Business, Interface, and Platform integration models
Subset of the CIM, includes
M3 Integration
business, process, and workflow
Model integration models
Integration Specific
Model (ISM)
Subset of the PIM, includes
<<Integration Level>>
technology independent
Business component and service
interfaces integration models
<<Integration Level>>
Interface Subset of the PSM, includes
services, distributed objects and
components, data exchange
<<Integration Level>> formats, application
Platform
programming interfaces, and
data access integration models
29
30. View Aggregation
• The model structures and cross-model interrelationships form the basis of
M3 view aggregation
• View aggregation is achieved by assembling M3 UML packages
• The aggregated views present the information in other meaningful ways to
different stakeholders reflecting four key scopes of Enterprise Architecture
Enterprise
Architecture
Business Information Application Technical
Architecture Architecture Architecture Architecture
30
31. View Aggregation
• Enterprise Architecture M3 UML Package Composition
Enterprise
Architecture
Business Information Application Technical
Architecture Architecture Architecture Architecture
<<CIM>> <<CIM>> <<PIM>> <<PSM>>
Domain Model Domain Model Component Model Data Model
<<CIM>> <<PIM>> <<PSM>> <<PSM>>
Use Case Model Type Model Data Model Deployment Model
<<CIM>> <<PSM>> <<PSM>>
Activity Model Data Model Runtime Model
<<PIM>> <<PSM>>
Service Model Deployment Model
31
32. Agenda
• Basic Concepts
• UML & MDA Usage
• Modeling Context
• RSA Model Template
• Integration Model & View Aggregation
• Model Ownership & Framework Summary
• The Big Picture
32
33. Model Ownership and Collaboration
M3 Model RSA Model Package Owner Role Collaborator Role
CIM – The Outside Activity Model Application System Analyst Business Analyst
Use case Model Project Lead Architect
Domain Model
PIM – The Edge Component Model Project Lead Architect Domain Architect
Type Model
Service Model
PSM – The Inside Runtime Model Application System Designer Project Lead Architect
Deployment Model Data Modeler
Data Model
ISM – The Extension Business Project Lead Architect Domain Architect
Interface
Platform
33
34. Methodology Summary
Modeling Workflow Roles & Responsibilities RSA Model Project Templates UML Diagrams Used in Models
Collaborator Owner
Requirements Analysis M3 Models
CIM The Outside
Specification Class
CIM
Level 1
Models describe the problem
domain and business
Domain Model
requirements
Focus is UML behavioral Use Case Sequence
modeling Use Case Model
Activity Model
Architectural Design Activity
PIM The Edge
Specification PIM
Level 2
Models specify supported
and Type Model
required, interfaces, compon Class
ents, and services Service Model
Focus is UML structural and
interaction modeling
Component Model
PSM The Inside
Implementation Component Class Sequence
Deployment Specification PSM
Level 3
Models describe software Runtime Model
implementation and Package
Deployment
deployment for the selected
Deployment Model
computing platform
Focus is UML structural
modeling Data Model State Machine
ISM The Extension
Class Package & State Machine
Integration Levels
ISM diagrams may be used in
Enterprise Integration all models
Specification Business CIM
Diagrams
Models are subsets of CIM,
PIM
PIM, PSM, and describe Interface Diagrams
supported levels of
integration PSM
Platform Diagrams
34
35. Agenda
• Basic Concepts
• UML & MDA Usage
• Modeling Context
• RSA Model Template
• Model Ownership & Method Summary
• View Integration & Integration Model
• The Big Picture
35
36. A complete framework for enterprise modeling, integration,
and architecture representation
M3 MDA Models
Enterprise Computation Independent Model (CIM) M3 Integration
Architecture Model
Domain Model Use Case Model Activity Model
Integration Specific
<<EA>> Model (ISM)
Business
Platform Independent Model (PIM) <<Integration Level>>
<<EA>> Business
Information
Type Model Component Model Service Model
<<Integration Level>>
<<EA>> Interface
Application
Platform Specific Model (PSM) <<Integration Level>>
<<EA>> Platform
Technical
Data Model Runtime Model Deployment Model
3
™
3
Modeling
Methodology
36