a journey through the secret life of models

40
A Journey through the Secret Life of Models (A Play in Three Acts)

Upload: others

Post on 11-Feb-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Journey through the Secret Life of Models

A Journey through the Secret Life of Models

(A Play in Three Acts)

Page 2: A Journey through the Secret Life of Models

Act I – The Problems

Page 3: A Journey through the Secret Life of Models

Complexity (i)

[Borrowed

from

Dov

Dori’s

Tutorial

on

SysML Modeling

at

TOOLS 2008]

Page 4: A Journey through the Secret Life of Models

E01-EDI

Data Warehouse(Interfaces to and from the

Data Warehouse are notdisplayed on this diagram)

G02 -

GeneralLedger

A05 -

AP

S01 -

SalesCorrections

I01 POReceiving

I03 Return toVendor

I06 WarehouseManagement

MaininframePC/NT apps Unix apps3rd Party Interface

S06 -

Credit App

P15 EES EmployeeChange Notice

OTHER APPS -

PCAP -

Collections/CreditTM -

Credit Card DB

ACCTS REC APPS -

PC990CORBad Debt

Beneficial FeesBeneficial Reconcile

JEAXFJEBFAJEBKAJEDVAJESOAJEVSAJEVSF

NSFTeleCredit Fees

INVENTORY CONTROL APPS -

PCCode Alarm

Debit ReceivingsDevo Sales

Display InventoryIn Home

JunkoutsMerchandise Withdrawal

Promo CreditsRTV Accrual

ShrinkAP Research -

Inv CntrlAP Research-Addl Rpts

Book to Perpetual InventoryClose Out Reporting

Computer Intelligence DataCount Corrections

Cross Ref for VCB DnldsDamage Write OffDebit Receivings

DFI Vendor DatabaseDisplay Inventory ReconcileDisplay Inventory Reporting

INVENTORY CONTROL APPS -

PCDPI/CPI

IC BatchingInventory Adj/Count CorrectInventory Control Reports

Inventory LevelsInventory Roll

Merchandise WithdrawalOpen ReceivingsPI Count Results

PI Time Results from InvPrice Protection

Sales Flash ReportingShrink Reporting

SKU Gross MarginSKU Shrink Level Detail

USMVCB Downloads

Journal Entry Tool Kit

Scorecard -

HR

L02-ResourceScheduling

P09 -

P17Cyborg

M02 -

Millennium

M03 -

Millennium 3.0

Banks -

ACH and Pos toPay

Cobra

B01 -

StockStatus

S03-Polling

P14 On-line NewHire Entry

CTS

Plan Administrators(401K, PCS, Life,

Unicare, SolomonSmith Barney)

D01 Post LoadBilling

I04 HomeDeliveries

I02 -Transfers

Arthur Planning

I07 PurchaseOrder

I12 EntertainmentSoftware

I05Inventory Info

E13E3 Interface

S04 -

Sales Posting

V01-Price ManagementSystem

I10 Cycle PhysicalInventory

I55 SKUInformation

K02Customer Repair

Tracking I35 Early WarningSystem

B02 MerchandiseAnalysis

I13-

AutoReplenishment

U18 -

CTO

Intercept

I09 Cycle Counts

E02-EmployeePurchase

Texlon 3.5

ACH

Stock Options

I17 Customer PerceivedIn-Stock

U16-Texlon

SiteSeer

C02 -

CapitalProjects

F06 -

FixedAssets

US Bank ReconFile

Star Repair

EDICoordinator

Mesa Data

NEW SoundscanNPD Group

AIG Warranty Guard

Resumix

Optika

Store BudgetReporting

P16 -

Tally Sheet

Cash Receipts/Credit

S05 -

HouseCharges

Ad Expense

L01-PromoAnalysis

V02-PriceMarketingSupport

BMP -

Busperformance Mngt

StoreScorecard

I11 PriceTesting

Valley Media

P09Bonus/HR

I15 Hand ScanApps

Roadshow

POS

S08 -

VertexSalesTax

A04 -

CustRefund Chks

Equifax

ICMS Credit

CellularRollover

S09 -

DigitalSatelliteSystem

NPD,SoundScan

Sterling VANMailbox (Value)

I18SKU Rep

X92-X96Host to AS400

Communication

S02 -Layaways

Washington,RGIS,

Ntl Bus Systems

V04-SignSystem

I14 Count CorrectionsNARM

P01-EmployeeMasterfile

I06 -

CustomerOrder

FrickCo

UAR -

Universal AccountReconciliation

DepositoryBanks

S07 -

CellPhones

S11 -

ISPTracking

AAS

Fringe PO

Cash Over/Short

L60 MDFCoop SKU Selection

Tool

SKUPerformance

SupplierCompliance

1

I35 -

CEIASIS

Misc Accounting/Finance Apps -

PC/NTCOBA (Corp office Budget Assistant)

PCBS(Profit Center Budget System)Merchandising Budget

AIMSMerch Mngr Approval

Batch ForecastingAd Measurement

AIMS Admin

AIMSReportingAd

Launcher

V03-

MktReactions

SpecSource

CTO2

RebateTransfer

SignSystem

CopyWriter'sWorkspace

ELTPowerSuite

StoreMonitor

AIS Calendar

Stores & Mrkts

Due Dates

Smart Plus

InsertionsOrders

BudgetAnalysis Tool

Print CostingInvoice App

AIS Reports

BroadcastFilter

Smart PlusLauncher

GeneralMaintenance

Printer PO

PrinterMaintenance

VendorMaintenance

Vendor Setup

Connect 3

Connect 3Reports

Connect 3PDF Transfer

Spec SourceSKU Tracking

S20-SalesPolling

Prodigy

PSP

In-HomeRepair

WarrantyBillingSystem

Process Servers(Imaging)

Design of a real Retail application

Complexity (ii)

Page 5: A Journey through the Secret Life of Models

Different stakeholders’

viewpoints (SoC)

SystemSystem

OwnerOwner

ProgrammerProgrammer

EndEnd--useruser

MaintainerMaintainer

TesterTester

Page 6: A Journey through the Secret Life of Models

Multiple aspects of a system. Consistency

[Borrowed

from

Dov

Dori’s

Tutorial

on

SysML Modeling

at

TOOLS 2008]

Page 7: A Journey through the Secret Life of Models

Lack of (integrated) analysis tools

Material Model ABB:

Continuum ABBs:

E

α

One D LinearElastic Model

ΔT

σ

τ

ν

γ

G

ε

εe

εt

material model

polar moment of inertia, Jradius, r

undeformed length, Lo

twist, ϕ

theta start, ϕ1

theta end, ϕ2

r1

12 ϕϕϕ −=

r3

0Lrϕγ =

JrTr

torque, Tr

xTT

G, r, γ, τ, φ, φ1, φ2 ,J

Lo

y

material model

temperature, T

reference temperature, To

force, F

area, A

undeformed length, Lo

total elongation, ΔL

length, Lstart, x1

end, x2

E

α

One D LinearElastic Model

(no shear)

ΔT

εσ

εe

εt

r1

12 xxL −=

r2

oLLL −=Δ

r4

AF

edb.r1

oTTT −=Δ

r3

LLΔ

xFF

E, A, α

ΔLLo

ΔT, ε , σ

yL

Torsional Rod

Extensional Rod

temperature change, ΔT

cte, α

youngs modulus, E

stress, σ

shear modulus, G

poissons ratio, ν

shear stress, τ shear strain, γ

thermal strain, εt

elastic strain, εe

strain, ε

r2

r1)1(2 ν+= EG

r3

r4Tt Δ= αε

Eeσε =

r5

Gτγ =

te εεε +=

σ

ε

1D Linear Elastic Model

material

effective length, Leff

linear elastic model

Lo

Extensional Rod(isothermal)

F

ΔL

σ

A

L

ε

E

x2

x1

youngs modulus, E

cross section area, A

al1

al3

al2

linkage

mode: shaft tension

condition reaction

allowable stress

stress mos model

Margin of Safety(> case)

allowableactual

MS

Analysis Templatesof Diverse Behavior & Fidelity

(CBAMs)MCAD Tools

Materials LibrariesIn-House, ...

FEAAnsys

Abaqus*

CATIA Elfini*MSC Nastran*

MSC Patran*

NX Nastran*

...

General MathMathematica

Matlab*

MathCAD*

...

Analyzable Product Model(APM)

Extension

Torsion

1D

1D

Analysis Building Blocks(ABBs)

CATIA, NX,Pro/E*, ...

Analysis Solvers(via SMMs)

Design Tools

2D

flap_link

critical_section

critical_simple

t2f

wf

tw

hw

t1f

area

effective_length

critical_detailed

stress_strain_model linear_elastic

E

ν

cte area

wf

tw

hw

tf

sleeve_1

b

h

t

b

h

t

sleeve_2

shaft

rib_1

material

rib_2

w

t

r

x

name

t2f

wf

tw

t1f

cross_section

w

t

r

x

R3

R2

R1

R8

R9

R10

6R

R7

R12

11R

1R

2

3

4

5

R

R

R

R

name

linear_elastic_model ν

wf

tw

tf

inter_axis_length

sleeve_2

shaft

material

linkage

sleeve_1

w

t

r

E

cross_section:basic

w

t

rLws1

ts1

rs2

ws2

ts2

rs2

wf

tw

tf

E

ν

deformation model

σx,max

ParameterizedFEA Model

stress mos model

Margin of Safety(> case)

allowableactual

MS

ux mos model

Margin of Safety(> case)

allowableactual

MS

mode: tensionux,max

Fcondition reaction

allowable inter axis length change

allowable stress

ts1

B

sleeve1

B ts2

ds2

ds1

sleeve2

L

shaft

Leff

θs

rib1 rib2

material

effective length, Leff

deformation model

linear elastic model

Lo

Torsional Rod

G

ϕ

τ

J

γ

r

θ2

θ1

shear modulus, G

cross section:effective ring polar moment of inertia, J

al1

al3

al2a

linkage

mode: shaft torsion

condition reactionT

outer radius, ro al2b

stress mos model

allowable stress

twist mos model

Margin of Safety(> case)

allowableactual

MS

Margin of Safety(> case)

allowableactual

MS

allowabletwist

Linkage Extensional Model

Linkage Plane Stress Model

Linkage Torsional Model* = Item not yet available in toolkit—all others have working examples 2007-04

Parts LibrariesIn-House*, ...

LegendTool AssociativityObject Re-use

[Borrowed

from

Russell

Peak

presentation

at

OMG, 2007]

Page 8: A Journey through the Secret Life of Models

Current DSLs

Toy-ishUnanimated (mostly static)Limited analysis capabilities

Page 9: A Journey through the Secret Life of Models

Act II – The Answers

Page 10: A Journey through the Secret Life of Models

We need to be able (at least) to:

Deal with both the accidental

and the essential complexity of large-scale software systems

Use separate viewpoints

to specify systems (each viewpoint

uses its corresponding DSL)Check the consistency

of multi-viewpont

specifications

Animate

models Explicitly define behavioral semantics

of DSLs

so that models

can be understood, manipulated and maintained by both users and machinesDefine different

semantics (separate concerns)

Analyse

modelsAdd Non-Functional Properties

(Time, Probabilities,…) to DSLs

Connect DSLs

to Analysis tools

Page 11: A Journey through the Secret Life of Models

An example of a (more useful) DSL

http://www.youtube.com/watch?v=NZNTgglPbUA

Page 12: A Journey through the Secret Life of Models

Use of models to connect the tools

Simulation Templatesof Diverse Behavior & Fidelity

ECAD & MCAD Tools

Libraries & DatabasesClassification Codes, Materials,

Personnel, Procedures, …

CFDFlotherm, Fluent, …

General MathMathematica,

Maple, Matlab,…

Augmented Descriptive Models

EvacuationMgt.

DamagedStability

2D

Simulation Building Blocks

Tribon, CATIA, NX, Cadence, ...

Simulation Solvers

System DescriptionTools & Resources

3D

FEAAbaqus, Ansys,

Nastran, …

Operation Mgt. Systems …Propeller

Hydro-dynamics

Evacuation CodesEgress, Exodus, …

NavigationAccuracy

Systems & Software ToolsDOORS, Studio,

MagicDraw,Eclipse, …

Optimization Templates

Discrete EventArena, Quest, …

Tool AssociativityObject Re-useLegend Tool AssociativityObject Re-useLegend

[Borrowed

from

Russell

Peak

presentation

at

OMG, 2007]

Page 13: A Journey through the Secret Life of Models

Act III – The Questions

Page 14: A Journey through the Secret Life of Models

Q1. What is (in) a DSL?

Page 15: A Journey through the Secret Life of Models

Anatomy of a DSL

Page 16: A Journey through the Secret Life of Models

Abstract and concrete syntax

Page 17: A Journey through the Secret Life of Models

Q2. How do we add behavior?

…to animate models (i.e., execute them)

…to be able to conduct simulations

…to be able to perform different kinds of (automated) analysis

Page 18: A Journey through the Secret Life of Models

Anatomy of a DSL (II)

Page 19: A Journey through the Secret Life of Models

Semantic bridges between Semantic Domains

Precise semanticsA set of (equivalent) notationsA set of Analysis ToolsUnderlying logic

Page 20: A Journey through the Secret Life of Models

Bridges between Semantic Domains

Page 21: A Journey through the Secret Life of Models

Bridges between Semantic Domains

Page 22: A Journey through the Secret Life of Models

Q3. How to implement Semantic Mappings?

As Model Transformations!!!

TypesDomesticHorizontalVerticalAbstractingRefiningPruningForgetful…

Page 23: A Journey through the Secret Life of Models

Behavioral semantics

Using in-place model transformations

l:[NAC] x LHS → RHS

Page 24: A Journey through the Secret Life of Models

Q4. How do we analyse

models?

Crossing the bridges!!!

Page 25: A Journey through the Secret Life of Models

Q5. How to add time

Using in-place model transformationsBut adding the duration of the action

l:[NAC] x LHS → RHSt

Page 26: A Journey through the Secret Life of Models

Precise Semantics of Timed Rules

Defined by a Semantic Mapping to Real-Time Maude

This makes models amenable to formal analysis using the Real-Time toolkit!

Page 27: A Journey through the Secret Life of Models

More NFP required

In addition to time…

ProbabilitiesResource consumptionSLAs…

How to add them to our behavioral specifications?How to connect them to existing analysis tools?

Page 28: A Journey through the Secret Life of Models

Model-driven Run-time monitoring

[MDD-MERTS Spanish

project

TIN2008-03107, 2009-2011]

Page 29: A Journey through the Secret Life of Models

Q6.What is a Multiviewpoint

Specification

This is the approach used by most EAFs

No correspondences between the viewpoint elements… …

or trivially based on name matching

Others assume the existence of a global metamodel

Page 30: A Journey through the Secret Life of Models

A global metamodel

Easier to manipulate from a theoretical point Simplifies reasoning about consistency

BUT…

The granularity and level of abstraction of the viewpoints can be arbitrarily different The viewpoints may have very different formal semanticsShould it consist of the intersection or of the union of all viewpoints elements?

Both approaches have serious problems with extensibility and expressiveness (not to mention complexity of the second approach –

think in the UML 2.0 metamodel).

Page 31: A Journey through the Secret Life of Models

A global metamodel (i.e., Sauron’s

approach to UML)

The lord of the Metamodels(obviously, adapted)

Three notations for the Structure modelers under the sky,

Seven for the Behavior modelers in their halls of stone,

Tree for Mortal Men doomed to die,

One for the Designer of the Whole system on his dark throne

In the Land of Mordor

where the Shadows lie.

One Metamodel to rule them all, One Metamodel to find them,

One Metamodel to bring them all and in the darkness bind them

In the Land of Mordor

where the Shadows lie.

Page 32: A Journey through the Secret Life of Models

Correspondences: Orthographic projections

Page 33: A Journey through the Secret Life of Models

Multiviewpoint

Specification

Page 34: A Journey through the Secret Life of Models

Expressing correspondences

As Model Transformations

Possible if correspondences can be expressed as functionsPairwise

consistency can be formally studied

One form of consistency involves a set of correspondence rules to steer a transformation from one language to another. Thus given a specification S1

in viewpoint language L1

and specification S2

in viewpoint language L2

, a transformation T

can be applied to S1

resulting in a new specification T(S1

) in viewpoint language L2

which can be compared directly to S2

to check, for example, for behavioral compatibility between allegedly equivalent objects or configurations of objects [RM-ODP, Part 3]

As Weaving ModelsPossible if correspondences are just mappings

Page 35: A Journey through the Secret Life of Models

ODP Correspondence metamodel

Page 36: A Journey through the Secret Life of Models

Correspondences are not enough

Page 37: A Journey through the Secret Life of Models

Epilogue

Page 38: A Journey through the Secret Life of Models

A Hitchhiker’s Guide to Metamodels

Use multiview

specifications of systemsComposed by a set of ViewsEach view focuses on one concernEach view is expressed using a Viewpoint Language (DSL)

Views are related using correspondences for consistency checking

Correspondences

can be defined either as model

transformations or as model weavingsWell-formed rules should be defined for the set of Correspondences, too

Viewpoint DSLsDefined by an abstract syntax, a concrete syntax, and a set of semantic specificationsBridges

provide mappings to different semantic domains where

models can be analyzed (using the logics and tools available at the target semantic domains)

Page 39: A Journey through the Secret Life of Models

Some more challenges

Addition of more Non-Functional Properties for enhanced analysis capabilities

Specification and development of more Semantic Bridges

Specially to semantic domains with powerful analysis tool support

Modularity and composition mechanismsRule-based specifications become unmanageable very soon

Global consistency checking of specificationsPairwise

viewpoint consistency is not enough...

Page 40: A Journey through the Secret Life of Models

Acknowledgements

And, especially, to many colleagues…