Yoshihide Nagase yoshi@tech-arts.co.jp Applying Model Driven Development to Business Systems using RM-ODP and EDOC Daisuke Hashimoto hashimoto@tech-arts.co.jp.

Slides:



Advertisements
Similar presentations
Overview: Guide for applying RM-ODP with UML Profile for EDOC
Advertisements

1 Aspects of IEEE P1471 Viewpoints in Unified Modeling Language (UML) Manzur Ashraf, BRAC University Humayra Binte Ali, Dhaka University Md.Mahfuz Ashraf,
2/11/2014 8:44 AM The CDA Release 3 Specification Stack September 2009 HL7 Services-Aware Enterprise Architecture Framework (SAEAF)
Copyright © 2006 Data Access Technologies, Inc. Open Source eGovernment Reference Architecture Approach to Semantic Interoperability Cory Casanave, President.
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
Database Systems: Design, Implementation, and Management Tenth Edition
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Introduction To System Analysis and Design
Secure Middleware (?) Patrick Morrison 3/1/2006 Secure Systems Group.
Using Architecture Frameworks
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
Applying the ISO RM-ODP Standard in e-Government B. Meneklis 1, A. Kaliontzoglou 2,3, D. Polemi 1, C. Douligeris 1 1 University of Piraeus, Department.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Object Oriented Analysis and Design Using the UML
International Telecommunication Union ITU-T Study Group 17, Moscow, 30 March – 8 April 2005 New Recommendations on ODP Arve Meisingset Rapporteur Q15.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
Chapter 10 Architectural Design
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
An Introduction to Software Architecture
Integrating Security Design Into The Software Development Process For E-Commerce Systems By: M.T. Chan, L.F. Kwok (City University of Hong Kong)
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Generic model for services: health domain study Zoran Milosevic Deontik, Australia
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Information System Development Courses Figure: ISD Course Structure.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
5 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
UML 2 Models for ODP Engineering/Technology Viewpoints – An Experiment - Daisuke Hashimoto Hiroshi.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
School of Health Sciences Week 8! AHIMA Practice Briefs Healthcare Delivery & Information Management HI 125 Instructor: Alisa Hayes, MSA, RHIA, CCRC.
1 ECCF Training 2.0 Introduction ECCF Training Working Group January 2011.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies.
Workforce Scheduling Release 5.0 for Windows Implementation Overview OWS Development Team.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Modeling the ODP Computational Viewpoint with UML 2.0: The Templeman Library Example José Raúl Romero, Antonio Vallecillo Universidad de Málaga, Spain.
MDA & RM-ODP. Why? Warehouses, factories, and supply chains are examples of distributed systems that can be thought of in terms of objects They are all.
Foundations of Information Systems in Business. System ® System  A system is an interrelated set of business procedures used within one business unit.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
1 ECCF Training Computationally Independent Model (CIM) ECCF Training Working Group January 2011.
Basic Concepts and Definitions
UML (Unified Modeling Language)
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
Building Enterprise Applications Using Visual Studio®
Unified Modeling Language
Web Application Modeling
Chapter 2 Database Environment.
Evaluating Compuware OptimalJ as an MDA tool
UML profiles.
Analysis models and design models
Constructing MDA-based Application Using Rational XDE for .NET
An Introduction to Software Architecture
Presentation transcript:

Yoshihide Nagase yoshi@tech-arts.co.jp Applying Model Driven Development to Business Systems using RM-ODP and EDOC Daisuke Hashimoto hashimoto@tech-arts.co.jp Miwa Sato msatoh@tech-arts.co.jp Yoshihide Nagase yoshi@tech-arts.co.jp

Agenda Model Driven Development Our MDD Process Case Study Discussion on possible RM-ODP revisions

Model Driven Development

Objective Improving development efficiency and maintainability for business systems requires a seamless development process, and MDD (Model Driven Development) plays a key role.

Fundamental System development based on MDA (Model Driven Architecture). MDA has 3 viewpoints of model. CIM (Computation Independent Model) PIM (Platform Independent Model) PSM (Platform Specific Model) Each model of viewpoint is defined using model language based on MOF (Meta Object Facility). Model transformation based on MOF enable seamless and traceable development. We applied MDD to business systems using RM-ODP (reference model) and EDOC (modeling language).

MDA and RM-ODP viewpoints RM-ODP viewpoints correspond with MDA viewpoints. Enterprise Viewpoint Information Viewpoint Computational Viewpoint Engineering Viewpoint Technology Viewpoint PIM PSM CIM

UML Profile for EDOC Enables to develop models compatible with three viewpoints (CIM and PIM part): Enterprise, Information, and Computational viewpoints. Enables viewpoint correspondence. Contained Profiles in UML profile for EDOC CCA (Component Collaboration Architecture) Profile Entity Profile Relationship Profile Event Profile Business Process Profile Pattern Profile

Our MDD Process

Our MDD Process Enterprise Viewpoint Information Viewpoint Capture, model, and analyze business requirements Enterprise Viewpoint Analyze Information of ODP system Analyze Function of ODP system Information Viewpoint Computational Viewpoint Engineering Viewpoint design system architecture Apply technology and transform model Technology Viewpoint

Enterprise Viewpoint Objective Items of work EDOC profiles Capture, model, and analyze business requirements. Items of work Define Objectives for the system. Define Communities that are decomposition objective. Define Business Processes that are process for accomplishing Objective of each Communities. Define Policies that are constraints and requirements on Communities and Processes. EDOC profiles Business Process Profile represent business processes. represent information used and functions used in the business Process. Event Profile represent event-driven business processes.

Information Viewpoint Objective Analyze Information of ODP system. Items of work Derive information model based on Business Processes. Define Entity Components that are components of information. Define Invariant Schemas that are constraints of information. Define Static Schemas that are snapshot (e.g. initial values) initial values of information. Define Dynamic Schemas that are state machine of Entity. EDOC profiles Entity Profile represent Information Objects by Entity Data. represent Entity Components. Relationship Profile represent detail relationship between information objects.

Computational Viewpoint Objective Analyze Function of ODP system. Items of work Define functional model based on Business Processes. Define Process Components that are functionality components. Connect Process Components to Entity components. Define interactions between components. Define interfaces of components. EDOC profiles CCA (Component Collaboration Architecture) Profile represent Computational Objects by Process Component. represent interfaces of Process Component. represent interactions between Process Components Entity Profile represent Entity Components.

Engineering Viewpoint Objective Design system architecture. Items of work Define physical component. Design system environment and deployment model. Design transaction models. Design security domains.

Technology Viewpoint Objective Items of work Apply technology. Transform to PSM (Platform Specific Model). Items of work Apply technologies. OS : Windows?, Linux?, Mac OSX? Language : Java?, C#?, C++? Application Server : Web Logic?, Web Sphere?, Sun ONE? Database : Oracle?, DB2?, SQL Server? Design mapping rule between PIM and PSM. Transform to PSM based on the mapping rule.

Case Study

Electronic Health Record System EHRS = Electronic Health Record System Electronic Health Record System Target Establish standard development approach for EHRS specification and EHRS with components. Organizations JAHIS (Japanese Association of Healthcare Information Systems Industry) INTAP (Interoperability Technology Association for Information Processing) CBOP (Consortium For Business Object Promotion) Achievement in 2002 (This project is still active ongoing) EHRS models (Enterprise model, Information model, Computational model) Pilot system developed The Enterprise Viewpoint part of these models are an accomplishment of “The Development of Electronic Health Record System through Standardizing Components” as a special science research theme awarded by the Ministry of Health, Labor and Welfare in the fiscal year 2002.

EHRS = Electronic Health Record System What is EHR System ? EHRS is to integrate information systems in a hospital. …Enterprise System ! Radiological department system Consultation results, Examination reservation, Prescription order… EHRS Accounting for Medical department system EHRS of Other hospital Examination results, Pharmaceutical history, Patient state…

Enterprise Model Business Process Zoom in.. Input the consultation results Business Process Input Consultation Results Physician in Charge of Outpatient Consultation Information Zoom in..

Information Model Information structure Entity Component Entity Data Consultation Date Contents <<Entity Data>> Chief Complaint Treatment Policy <<Entity Data>> Treatment Plan <<Entity>> Consultation Store Consultation Information Decision Date Target Contents <<Entity Data>> Observation Decision Date Target Contents <<Entity Data>> Findings Diagnosis Date Illness Name Reasons for Diagnosis <<Entity Data>> Diagnosis

Computational Model Component structure Choreography (behavior) Process Component Choreography (behavior) <<Process Component>> Input Consultation results Input Consultation Store Consultation results Information <<responds>> Input Consultation result <<Entity>> Consultation <<initiates>> Store Consultation Information Store Consultation Information Entity Component

Engineering Model Deployment model Component Node Node Client Business Logic  Common Service Application Facade Data Access Component Node Database Server Database Node

Technology Model P P O F E

Viewpoint Correspondence Enable seamless development and to ensure the traceability. In EDOC, Business Process Profile (used in EV), Entity Profile (used in IV) are defined as specializations of CCA Profile (used in CV), and thus there exists stronger correspondence between those and CCA Profile. Once the mapping is done, and the final model is represented in CCA Profile, the resulting model will be considered as a Computational Viewpoint Model. Enterprise Viewpoint BP Entity CCA Next phase.. Information Viewpoint Computational Viewpoint

Discussion on possible RM-ODP revisions Communication between coarse-grained computational objects Dynamic evolutions of models Human-System Interaction Policy Language

Communication between coarse-grained computational objects When we extend “object interactions” to cover communication between coarse-grained objects such as objects representing enterprise systems, there is a need to consider whether: current object interactions still meet the needs, current object interfaces still meet the needs, and current behavior definition capability still works.

Composite interaction Issue To describe coarse-grained computational viewpoint specification, a means is needed to represent composite interaction, which may be a composition of: Signals, Operations, and Flows (Stream) Example: buy-sell interactions Composite interaction Interface for composite interaction Order Company A Company B Shipping payment As computational object X As computational object Y The introduction of “composite interaction” and “composite interface” will provide modelers with more flexibility.

Composite interface Issue Current interface definition is very fine-grained. termination Client side Operation interface I Interrogation signature S1 Announcement signature S2 Interrogation signature S3 Announcement signature S4 invocation Action templates Computational Object Composite interface definition including activity definition at the interface will enable high level and simpler modeling.

Asynchronous communication Issue Communication or interaction between objects in Computational Viewpoint is basically synchronous, but asynchronous communication, or message-based interaction, is in fact used widely. Client side activity description depends on the interaction style. business-to-business transaction example: asynchronous communication Company A OrderRequest Other Order Company B communication Response Needs elaboration on interfaces for asynchronous communication, e.g. message queue management.

Components (summing up) Issue Computational Object is rather fine-grained. According to “Objects, Components, and Frameworks with UML (The Catalysis Approach),” Component is a coherent package of software implementation that 1) has explicit and well-specified interfaces for the services it provides. 2) has explicit and well-specified interfaces for services it expects from others. 3) can be composed with other components, perhaps customizing some of their properties, without modifying the components themselves. If composite interactions and interfaces are acceptable, it would be natural to introduce those concepts with “component” concept.

Dynamic evolutions of models Issue Dynamic evolutions of models are not describable consistently. The dynamic evolutions of models means: model elements may be added or changed or deleted at some point to evolve into the model in the next phase. (e.g. community creation) Guideline is needed regarding: how these evolutions or changes (transition) should be described in each viewpoint, and what concepts in which viewpoint is required to achieve this. NOTE: The results may be applicable to “as-is model” to “to-be model” evolution in Enterprise Architecture. as-is model evolution to-be model

Human-System interactions Issue In the Viewpoint Languages today, there is no place for describing Human-System Interaction. If we could have concept(s) for this purpose in viewpoint languages, the following may be an example of applicable specification area: Specification of Human-System interactions for the system providing similar services through multi-channels (Web, telephone, fax, e-mail, and letter) Screen/Screen flow design Voice navigation design Email and back-end system integration design Easy to use menu design etc.

Policy language Issue The current policy concepts are meta-model level concepts, may be used as policy categories, but not concrete enough to apply in the real world specifications. The policy will initially be described in natural languages. Therefore, the following elements may be required, as a minimum, to create a complete policy statement. If we tried to associate those with Enterprise Viewpoint Language concepts, the following may apply to some cases. PolicySubject <- Enterprise Object | Role | Community PolicyVerb <- Action including Obligation etc. | Process PolicyObject <- Enterprise Object | Role | Community PolicyCondition <- Predicate | Guard Condition Example: If an emergency patient come to the hospital (Condition), a doctor (subject) has an obligation (Obligation) to see the patient (verb, object) or find a suitable doctor to request to see the patient (verb, object).

Summary RM-ODP and EDOC enables seamless development process from business models to program codes. The EDOC provides means to describe various aspects of business systems in detail Since EDOC has great affinity for RM-ODP, it is the most appropriate modeling language in building CIMs and PIMs. Our next goal is to apply this MDD process, 1) to implement an EHRS of practical scale, and 2) to other domains for its refinement. We have identified several candidate revision items for RM-ODP standards: Communication between coarse-grained computational objects Dynamic evolutions of models Human-System Interaction Policy Language

Thank you very much for your attention! RM-ODP version 2! We are here!