37
LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

Embed Size (px)

Citation preview

Page 1: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

LO-4: Implementation Techniques and

Frameworks

Lecturer: Ricardo Gonçalves

Page 2: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

2

• MDA Methodology – Mission and Goals– Methodology

• Knowledge support and Semantic Mediation Solutions– Vision and Streamlines– Annotation– Reconciliation

• Model Morphisms (MoMo)– What is it?– MoMo Ontology and MRS– STEP examples

• Framework to enable STEP-based Interoperability– Concept– MDA inspired Architecture– Transformations

• SoA Architectures– Definition– Service Oriented Model– Service Oriented Systems– SoA with STEP

Contents

Page 3: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

Model Driven Architecture (MDA)

- Methodology

Page 4: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

4

OMG MDA

• MDA is a framework which defines a model-driven approach to software systems development.

• MDA encapsulates many important ideas - most notably the notion that real benefits can be obtained by using visual modelling languages to integrate the huge diversity of technologies used in the development of software systems.

.

The current state of the art in Model-Driven Engineering (MDE) is much influenced by the ongoing standardisation activities around the OMG Model Driven Architecture® (MDA®).

Page 5: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

5

Automation in software development

Requirements Requirements Requirements

Implementation

Source in ageneral-purposelanguage, e.g.,

Java or C++

Implementation

(may generatecode in

Java or C++)

Source indomain-specificlanguage (DSL)

Implementation

(may generatecode in

Java or C++)

Source indomain-specificlanguage (DSL)

High-level spec(functional andnonfunctional)

Manuallyimplement

Manuallyimplement

Manuallyimplement

Compile Compile Compile

Compile Compile

Implement withInteractive,automatedsupport

Page 6: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

6

Goals

• The three primary goals of MDA are portability, interoperability and reusability.

• The MDA starts with the well-known and long established idea of separating the specification of the operation of the system from the details of the way the system uses the capabilities of its software execution platform (e.g. J2EE, CORBA, Microsoft .NET and Web services).

• MDA provides an approach for:– specifying a system independently of the software execution

platform that supports it;– specifying software execution platforms;– choosing a particular software execution platform for the system;– transforming the system specification into one for a particular

software execution platform;

Page 7: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

7

Model-driven Concept

• A system development process is model-driven if– the development is mainly carried out using conceptual

models at different levels of abstraction and using various viewpoints

– it distinguishes clearly between platform independent and platform specific models

– models play a fundamental role, not only in the initial development phase, but also in maintenance, reuse and further development

– models document the relations between various models, thereby providing a precise foundation for refinement as well as transformation

Page 8: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

8

MDA Methodology

• Use of platform independent models (PIMs) as specification

• Transformation into platform specific models (PSMs) using automated tools

Page 9: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

9

MDA Methodology

• A PIM can be retargeted to different platforms to facilitate implementations, and ultimately interoperability

J2EE

.Net

Page 10: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

10

CIMCIMBusinessContextModels

PIMPIM

Modeltrans-

formation

SoftwareSpecification

Models

PSMPSMSoftware

RealisationModels

Modeltrans-

formation

• Model-driven approach to system engineering where models are used in

– understanding– design– construction– deployment– operation– maintenance– modification

Model transformation tools and services are used to align the different models.

• Business-driven approach to system engineering where models are refined from business needs to software solutions

– Computation independent model (CIM) • capturing business context and business requirements

– Platform independent model (PIM) • focusing on software services • independent of IT technology

– Platform specific model (PSM) focusing on • the IT technology realisation of the software services

Model-driven development (MDD)

Page 11: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

Knowledge support and Semantic

Mediation Solutions

Page 12: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

12

Vision

10

100

1000Cost

Peers10 100

O(n2)

EAI solution

The semanticsolution

L

L

H

H

Coop level

Diversity

Fax/Phone

Custom

EAI

Solution • Intends to provide Semantics-based solutions for solving interoperability problems driven by Semantic Annotation and Semantic Reconciliation.

• Such solutions do not intend to completely substitute existing approaches, but they should be used where they really can bring additional advantages, e.g. in respect to the setup costs.

• Existing approaches work well in certain cases, but sometimes they need a strong human intervention (Fax/Telephone), they solve ad-hoc problems (Custom solutions), they are not easily scalable (EAI).

Page 13: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

13

Semantic Annotation: a Reference Architecture

Athos

A*

Ontology Management System

Semantic Annotation System

Semantic Annotation Expressions(SAX)

Conceptual Model (e.g., BP)

Semantic AnnotationRepository

Semantic Annotation• Semantic Ontology-based

annotation is to give meaning to any kind of resources (i.e., BPs), in terms of the shared Reference Ontology.

• Such an activity is a pre-requisite for Semantic search and Reconciliation Rules generation.

Page 14: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

14

Reconciliation Rules Generation

• Starting from Annotation Expressions, Reconciliation Rules (RR) are specified

• RR represent a procedural way of transforming ground resources (i.e., data) into ontology instances (forward transf.) and vice versa (backward transf.)

• Complexity of the rules syntax is shielded by the tools (e.g. ARGOS) which are based on a set of rules templates.

Page 15: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

15

Reconciliation Phase

SW Appl ASW Appl B

SW Appl C

Semantic ReconciliationEngine (ARES)

Forward Rec Rules

Backward Rec Rules

Sem Rec Rules Repos

MSG B

MSG C

From C to B

Page 16: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

16

ARGOS

ReconciliationRules

Generator

ReconcRules

ARES

Enterpr B

ReconciliationEngine

MSGA

(SOAP)

MSGB

(SOAP)

Enterpr A

Sem. Reconciliation

Athos ReferenceOntology

OntologyManagement

System

A*

SemanticAnnotation

tool

AnnotationRepository

Design Time Run Time

BPModels Docs WS

ASSERT

Sem. Search

Themis

ReconciliationRules

Generator

ModelsRepository

SemanticSearchEngine

Semantic Search and Reconciliation streamlines

Page 17: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

17

Possible Applications of Semantic services (Expectations)

• Business Message Reconciliation• Business Protocol Mediation• Models Transformation and Mapping• Semantic Searching and Retrieval • Web Services Composition and Execution

Useful Semantic Services• Consistency checking (absence of contradictions)• Semantic matchmaking• Semantic query and retrieval• Semantic compatibility among resources (models, web-

services, etc.)• Transformation and Mappings, among conceptual models• Semantic reconciliation of information structures (and

messages)• Semantic mediation of behaviours

Page 18: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

Model Morphisms (MoMo)

Page 19: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

19

What is it?

A problem is striking the communities working on interoperability solutions : – the proliferation of terminology. – occurs when there are many different communities active on

similar problems, but addressing them from different angles, with different backgrounds.

• MoMo proposes a terminology independent from specific proposals, drawing the terminology from consolidated mathematical areas, such as set theory, theory of functions and relations, and adapting it to the modelling context

• In ICT, particularly in modelling, morphism specifies the relationship (i.e. mapping, merging, transformation, composition, or abstraction) between two or more model specifications that may be described in diferent languages

Page 20: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

20

• Relationships between two or more model specifications that can be represented in different technologies and languages

• Unary and binary operations that can be applied to models

Model BModel A1 1

1n

Non-Altering

Function

Model A Model B

Model-Altering

Transformationshaving A MOD, and a function t:MOD → MOD,if t(A) = B, then B MOD

Classes of Morphisms

Page 21: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

21

MoMo Ontology

The MoMo ontology is especially oriented to describing manipulation of “models”

A model is a set of statements about some system under study

Represents the concrete syntax in which the models are stored and exchanged

The model operation concept is defined by every kind of manipulation that can be performed on one or more models

steps undertaken during the process of model buildings

operations that can be performed on models once they are created

take as input one or more models and return as output, a single model

ModelMorphismDiscovery is a particular kind of processing, taking as input at least two models and returning a ModelMorphism

A model operation can have 0 or n technologies realizing it, referred to as

EnablingTechnology

languages for expressing models

applications realizing some kind of modelling creation or manipulation task

the sets of principles, practices,

and procedures to be applied to solve

a given problem

Page 22: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

22

MoMo Recommendation System

• Using the ontology, is possible to describe interoperability solutions related to model processing operations. – valuable knowledge-base.

• The MoMo Recommendation System reasons on the ontology instances: – select the most appropriate computational method(s)

or tool(s) suitable for the specific Model Morphism task required by a user

Page 23: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

Framework to enable STEP-based

Interoperability

Page 24: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

24

The Route for Interoperability

ISO10303 STEP (Strengths)

• More than forty APs focused on Product Data Modelling

• Large body of standardized, rigorously defined (by industry people) technical concepts

• Includes all PLC in a single standard• Powerful modeling language

(EXPRESS)• savings of about $1 bilion per year in the

US automotive, aerospace, and ship building industries *

Using Information and Communications Technology (ICT) in conjunction with conceptual standards of reference has proven to be an effective mechanism to increase efficiency, efficacy, and innovation in organizations.

Usa

ge

Time

International StandardsProprietary

standards

National Standards

Year 2000*source: PDES Inc.

ISO10303 STEP (weaknesses)

• Part 21 is an ASCII character based syntax, which lacks extensibility and is hard for humans to read

– Based in ASCII– Interpretable only by STEP systems– Difficult for humans to read

• EXPRESS is unknown to most application developers

• Lack of software support

Interoperability

Page 25: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

25

Concept: “enable STEP to low-budget organizations, i.e. SMEs”

ObjectsJAVA

C#

Services ModellingMeta

Information

Mod

el

(Str

uctu

re)

Impl

emen

tatio

n (S

oftw

are)

UML

XMI

Relational

SQL

Dat

a

Ontologies

OWL

STEPEXPRESS

Part 28

Part 25

Standardized binding ISO/STEPNon-standardized

XMLXSD

Schematron

Page 26: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

26

Framework to enable STEP to low-budget organizations (architecture)

XML DATA BINDING Tool

RDB MODEL (SQL)

XML MODEL(XSD)

OO MODEL (JAVA ou C#)

UML MODEL (XMI)

OWL MODEL

Input

Metamodel Instantiation

Model Morphisms (Model-altering) Output

Instantiation

STEP Model (EXPRESS)

Semantics Structure

Application Protocol

STEP to UML transformation

EXP2XMI

P#25P#25

Transformation

XSD to Objects transformation

XML DATA BINDING Tool

EXPRESS Parser

EXPRESS Metamodel

(XSD) STEP to XSD transformation

EXP2XSD

P#28P#28

XSD to RDB transformation

XSD2RDB

EXPRESS Metamodel (JAVA)

STEP to OWL transformation

EXP2OWL

STEP to Schematron transformation

EXP2SCH

Schematron MODEL

1. Design

1. Design

2. Design

3. Design

3. Design

3. Design

3. Design

3. Design

3. Design

Page 27: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

27

EXPRESS metamodel subset

Page 28: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

28

Applying MDA

XML DATA BINDING Tool

RDB MODEL (SQL)

XML MODEL(XSD)

OO MODEL (JAVA ou C#)

UML MODEL (XMI)

OWL MODEL

Input

Metamodel Instantiation

Model Morphisms (Model-altering) Output

Instantiation

STEP Model (EXPRESS)

Semantics Structure

Application Protocol

STEP to UML transformation

EXP2XMI

P#25P#25

Transformation

XSD to Objects transformation

XML DATA BINDING Tool

EXPRESS Parser

EXPRESS Metamodel

(XSD) STEP to XSD transformation

EXP2XSD

P#28P#28

XSD to RDB transformation

XSD2RDB

EXPRESS Metamodel (JAVA)

STEP to OWL transformation

EXP2OWL

STEP to Schematron transformation

EXP2SCH

Schematron MODEL

MDA Abstraction level 2

(Metamodel)

MDA Abstraction level 2

(Metamodel)

MDA Abstraction level 1

(Model)

MDA – Abstraction level 3 (Set of object used to define a Metamodel)M

DA

– Abstraction level 1 (m

odel)

Page 29: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

29

Execution Time

XML DATA BINDING Tool

RDB MODEL (SQL)

XML MODEL(XSD)

OO MODEL (JAVA ou C#)

UML MODEL (XMI)

OWL MODEL

Input

Metamodel Instantiation

Model Morphisms (Model-altering) Output

Instantiation

STEP Model (EXPRESS)

Semantics Structure

Application Protocol

STEP to UML transformation

EXP2XMI

P#25P#25

Transformation

XSD to Objects transformation

XML DATA BINDING Tool

EXPRESS Parser

EXPRESS Metamodel

(XSD) STEP to XSD transformation

EXP2XSD

P#28P#28

XSD to RDB transformation

XSD2RDB

EXPRESS Metamodel (JAVA)

STEP to OWL transformation

EXP2OWL

STEP to Schematron transformation

EXP2SCH

Schematron MODEL

1

2

3

4

Page 30: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

30

• Relational database management system software today incorporates high-level programming facilities that do not require one to specify in detail how the data should be processed

• RDBMS systems are very powerful for massive data storing and retrieving, thus being adequate to be used in parallel with STEP.

• Through STEP Part 22, specifications for SDAI (Step Data Access Interface), it is possible to access to a STEP-based database from user-developed applications

• XSD is broadly used on definition of technology architectures and structures, specially over the internet and on internet based application systems

• Nowadays, XML is the language of choice bussiness interoperability, and forms the basis for application integration

• XML is simultaneously human and machine readable• Easily extensible and is supported by numerous software tools

• UML is very acquainted by application developers, and has become “de facto standard” for software engineering.

• Multi-purpose language: can be used for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems

• UML related tools abound, which facilitates the task of many organizations that want to use it

• The Semantic Web is an emerging field, with the aim of extending the current Web infrastructure in a way that the information is given a well defined meaning

• Enables software agents and people to work in cooperation by sharing knowledge

• EXPRESS information models also contain rules and constraints which can directly be integrated with OWL rules mechanisms

• Some initiatives are being carried in order to standardize the mapping

UML Class Diagram

Transformation behaviour

XML Model (XSD)

Transformation Function

Part 25 Rules

XMI Model

EXP2XSD

Part 28 Rules

EXP2XMIEXP2OWL

EXPRESS2

OWLRules

OWL ModelExpress

ModelEXP2RDB

EXPRESS2

RDBRules

RDB Model

Page 31: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

31

Example: Express2XMI Transformation

Graphical Formats

EXPRESS-G UML class Diagram

Page 32: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

32

Example: Express2XSD Transformation

Graphical Formats

EXPRESS-G XSD Diagram

Page 33: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

Service-oriented architectures

(SOA)

Page 34: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

34

SOA definition

• Service-oriented architecture (SOA)– “A set of components which can be invoked, and whose interface descriptions can

be published, discovered and invoked over a network.” (W3C)• http://www.w3.org/

• “A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.”

- W3C Web Services Glossary, http://www.w3.org/TR/ws-gloss/

• Evolution of architectural styles to designing software systems– Data-orientation– Procedure-orientation– Object-orientation– Component- and message-orientation– Service-orientation

Page 35: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

35

Service-oriented model

• Service provider– Provides software applications for specific needs as services.

• Service requester– A requester could be a human user/application program/another service accessing

the service through a desktop or a wireless browser; it could be an application program.

• Service broker:– A service broker provides a searchable repository of service descriptions.– Examples of service brokers are UDDI (Universal Description, Discovery, and

Integration).

1

2

3

Page 36: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

36

System A System DSystem CSystem B

Service-Oriented Systems

Page 37: LO-4: Implementation Techniques and Frameworks Lecturer: Ricardo Gonçalves

37

SOA with STEP