Upload
thomasine-summers
View
215
Download
0
Embed Size (px)
Citation preview
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
Model Driven Architecture (MDA)
- Methodology
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®).
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
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;
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
8
MDA Methodology
• Use of platform independent models (PIMs) as specification
• Transformation into platform specific models (PSMs) using automated tools
9
MDA Methodology
• A PIM can be retargeted to different platforms to facilitate implementations, and ultimately interoperability
J2EE
.Net
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)
Knowledge support and Semantic
Mediation Solutions
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).
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.
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.
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
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
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
Model Morphisms (MoMo)
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
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
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
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
Framework to enable STEP-based
Interoperability
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
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
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
27
EXPRESS metamodel subset
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)
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
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
31
Example: Express2XMI Transformation
Graphical Formats
EXPRESS-G UML class Diagram
32
Example: Express2XSD Transformation
Graphical Formats
EXPRESS-G XSD Diagram
Service-oriented architectures
(SOA)
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
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
36
System A System DSystem CSystem B
Service-Oriented Systems
37
SOA with STEP