A Component-oriented Metamodel for the Modernization of Software Applications Luciano Baresi, Matteo Miraz Politecnico di Milano

Agenda • • • •

Presentation Requirements Background (Architectural Description Languages) Proposed Contribution – Metamodel – Tooling infrastructure • Contribution to KDM

2

Project mission • Model-driven – Leverage on the state of the art for enhancing modernization activities of existing systems • Complex Systems – Our goal is to tackle with complex systems. – Our case studio: • Telecom (proposed by Telefonica) • Airport Logistic (proposed by Siemens)

3

Telefonica - TELCO Case Study T ip o d e E n tid a d O r g a n iz a c ió n A g e n te s R e c u rs o s

C o m p o n e n t e s B á s ic o s

G e n e r ic id a d G e n é r ic o s

G e n é r ic o s

E s p e c if ic o s

G e n é r ic o s

E s p e c if ic o s

G e n é r ic o s

E s p e c if ic o s

E s p e c if ic o s

S u b tip o S u b t ip o 6

D o m in io

S u b t ip o 3

S u b t ip o 5

D o m in io 1

S u b t ip o 2

S u b t ip o 4

D o m in io 1 D o m in io 6

D o m in io 1

S u b t ip o 1

D o m in io 1 D o m in io 1

C o m p o n e n te s

C o m p o n t1 0

C om pont 6 C om pon 11

C om pont 8

C om pon22

C o m p o n t4

C om pont 1 C om pont 1

C om pont 1

C om pont 1 C om pon 41

C om pon 12 C om pon 32

C om pont 7 C om pon 21

4

Telefonica - TELCO Case Study

5

JBilling • Is an open-source billing system • Is an “average” enterprise software project: – 581 classes (91 KLOC) – 227 JSPs (14 KLOC) – J2EE-enabled • Has a three-layered architecture: – Client (WEB GUI) – Server (Session Beans) – Database (Entity Beans & SQL) 6

Telefonica - TELCO Case Study cmp OrganizationOfTheServ ice0

Logistics4SMEs Serv ice

Control

Serv ice Control

Serv ice Superv ision

Serv ice Installation and Configuration

Access Controller

Organization Manager

Installation Management

AccessAgt

Organizacion

(from Agents_Controllers)

(from General)

Controller Manager

Secretary Assistant

Agentes

SecretaryAssistancy

(from Agents_Controllers)

Technician Assistant

Resource Manager

TechnicianAssistancy

Recursos

(from Agents_Controllers)

use

use

Configuration Management

(from General)

(from General)

use

use

Resources Visualization Resources AccessInterface

Access Information

UserLocationInterface

SME User Location

EnterpriseWorkForceIntf

Enterprise WorkForce Management

CostumerInterface

Visualizacion:: Visualizacion:: AccessVisualizationRes SecretaryVisualizationRes SME Customer Information Visualizacion:: TechnicianVisualizationRes

SparePartsInterface

HumanResourcesInterface

SME Human Resources Management

SME Spare Parts Management

PersistencyResourceItf

Persistency Resource Persistencia

(from Resources)

BillingInterface

SME Billing System

RegistryResourceItf

Registry Resource Registro

(from Resources)

7

Siemens Airport Center

Siemens Airport Center Plant / Logistic System

Airport Logistics Automated Baggage Handling System

Functional Areas Check-In

Manual desk

Load

Sorting Loops

Check-In terminal

Transfer

Nor-mal Speed

Early Baggage Store

HighSpeed

Normal size trays

Empty Tray Store

Oversized trays

Hold Baggage Screening

1st level

2nd level

Error Handling Areas

Unload

Reclaim

3rd level

Transfer Bag.

Arrival Baggage

Functional Sub-Areas Belt conveyors for normal size baggage

Drive

Belt conveyors for over-sized baggage

Light barrier

Roller

Scale

… Devices



Basic Components

Siemens Airport Center empty tray buffer

moving grippers stacker

empty tray

stockpiled trays

Siemens Airport Center Example of Architecture • Component CompID1: mother component • Refinement: 3 child components

C o m p ID 1

C o m p ID 1 _ 1 C o m p ID 1 _ 1

C o m p ID 1 _ 2

C o m p ID 1 _ 2

C o m p ID 1 C o m p ID 1 _ 3 C o m p ID 1 _ 3

Case study – Requirements • Support – for the identification of suitable (based on the dependencies) component types within the component type library – for component type selection from a component type library – for explicit constraints on the system – for views at different level of detail on the same system – for heterogeneous systems – for the management of multiple engineering domains – for tagging 13

Knowledge Discovery Metamodel • A common intermediate representation for existing software systems and their operating environments • Designed as the OMG's foundation for software modernization • The conceptual layer contains a package to describe the structure of the system 14

Modernization process

1. Low-level models

15

Modernization process

2 4

1. Low-level models 2. High-level models: structure view

16

Modernization process ? ? ? ?

?

1. Low-level models 2. High-level models: structure view 3. Modernization: back to low level 17

Background • Architecture Description Languages – Provides an high-level view of the system • Components, ports and connectors • Easier to identify architectural problems (e.g., bottlenecks) • Exists approaches able to recovery the architecture from the system

– No mappings between high-level views and the “real” system

component

connector

port

system 18

COMO • Enrich KDM with metamodel-elements borrowed from ADLs – Enables a Component-Oriented MOdernization • Once the components are identified and their interactions are clear, it is possible to manage better the complexity

– Extends the great work made in KDM • Allows one to group KDM elements into well-defined architectural components with precise offers and requirements

19

COMO’s process

1. Low-level models

20

COMO’s process

1. Low-level models 2. High-level models: components & services

21

COMO’s process

1. Low-level models 2. High-level models: components & services 3. Modernization: leverage on components & services 22

COMO: main elements

23

COMO: composability

24

Composability example Mother Component

Exposed

Connection Sub A

Required Sub B

25

COMO: Constraints • Constraints and additional semantics are defined using OCL – Attached to Components and Services – Enable fine-grade architecture specification • e.g. Model-View-Controller pattern

– Each constraint has a severity attribute: • All strong constraints must always hold after each transformation • Weak constraints can be broken to enable furthermore transformations

26

Preliminary Evaluation • COMO’s metamodel is implemented with EMF – It is possible to easily write tools using it, or declaring transformations using ATL • A preliminary version of COMO has been evaluated within the MOMOCS European project – Other partners built support tool – Design & Analysis Tool • Transformation tool • Knowledge Repository 28

Transformation Tool • The XSM Transformation Tool : – Aids the evolution of a To Be Modernized System’s model into a modernized one – Allows to transform a model in another model • Uses sets of rules describing mappings at metamodel level

– Based on ATL • Extended for being more user-friendly • Created a set of pre-defined transformations – substitution, merge, split

Transformation Tool in Action

Knowledge Repository • The modernization process requires: – Collaboration of several actors • different expertise • focusing of different parts of the complex system

– To follow an iterative methodology • All the intermediate artefacts should be managed properly

– To leverage on previous experiences

Knowledge Repository - Features • Manages different version of models – versioning support – graphical evolution tracking • Stores transformations • advanced keyword search • semantic search

Keyword matching query editor

Model Graphical Tracking

Model Transformation

Knowledge Repository in Action KBR content Explorer and manager

Ontology Browser for annotations

Artifact Properties

Model Graphical Tracking

Conclusions and Future work • The modernization problem should be tackled at the component level – KDM is great – COMO provides • Component and Ports (services) from Software Architectures • OCL for expressing structural constraints • EFSM for specifying the behavior

34

thank you for your attention

Self-* systems: an architectural challenge

Enables a Component-Oriented MOdernization. • Once the components are identified and their interactions are clear, it is possible to manage better the complexity. – Extends the great work made in KDM. • Allows one to group KDM elements into well-defined architectural components with precise offers and requirements.

2MB Sizes 2 Downloads 184 Views

Recommend Documents

Self-* systems: an architectural challenge - Matteo Miraz's web site
Modernization process. 1. Low-level models. 15. Page 15. Modernization process ... Explorer and manager. Ontology. Browser for annotations. Model. Graphical.

Self-* systems: an architectural challenge - Matteo Miraz's web site
Knowledge Discovery Metamodel. • A common intermediate representation for existing software systems and their operating environments. • Designed as the. OMG's foundation for software modernization. • The conceptual layer contains a package to d

An Architectural Framework for Interactive Music Systems
Software Architecture, Interactive Systems, Music soft- ... synthesis of data media of different nature. ... forms (e.g. Max/MSP [19] and Pure Data [24]), and oth-.

Self-organization of Complex Intelligent Systems - an action ontology ...
Self-organization of Complex Intelligent Systems - an action ontology or transdisciplinary integration.pdf. Self-organization of Complex Intelligent Systems - an ...

TelegraphCQ: An Architectural Status Report
Please visit http://telegraph.cs.berkeley.edu for more information. .... A Postmaster process forks new server processes in response to new client connections. ... per ClearingHouse is used to host the data ingress operators which make fresh tuples .

Stronger-With-Self-Challenge-Meal-Plan.pdf
Connect more apps... Try one of the apps below to open or edit this item. Stronger-With-Self-Challenge-Meal-Plan.pdf. Stronger-With-Self-Challenge-Meal-Plan.pdf. Open. Extract. Open with. Sign In. Details. Comments. General Info. Type. Dimensions. Si

Decoding-Theoryspeak-An-Illustrated-Guide-To-Architectural ...
Decoding-Theoryspeak-An-Illustrated-Guide-To-Architectural-Theory.pdf. Decoding-Theoryspeak-An-Illustrated-Guide-To-Architectural-Theory.pdf. Open.

Iind Grade Draftsman - Architectural - PWD - Architectural Wing.pdf ...
for rmf t.uss, bean, weathe. sbed elc : ... Thenodulu\.felrd' 'i, (Dlaid hulL moduiui(ll). 20. ... Iind Grade Draftsman - Architectural - PWD - Architectural Wing.pdf.

MAO - an Extensible Micro-Architectural Optimizer - Research at Google
a long and painful analysis using the available hardware ... Our analysis of several hardware .L3 ...... an accessible low-level optimizer designed to help software.

Multimedia Signal Processors: An Architectural Platform ...
Our scheme addresses data reusability and exploits .... to map applications efficiently on the platform (es- pecially .... Computation-intensive applications usually.

Flexibility in manufacturing: an architectural point of view
Phone +31 40 472671, Fax +31 40 436492, Email [email protected]. Abstract. The objective of this paper is ... Architectures play various roles in the re-design of manufacturing systems. Evolving technology and an ..... extensions. 5.3. Modules.

pdf-1867\campus-an-american-planning-tradition-architectural ...
... apps below to open or edit this item. pdf-1867\campus-an-american-planning-tradition-architectural-history-foundation-book-by-paul-venable-turner.pdf.