• No results found

RoSI Kickoff Meeting. Beyond Simple Objects

N/A
N/A
Protected

Academic year: 2021

Share "RoSI Kickoff Meeting. Beyond Simple Objects"

Copied!
22
0
0

Loading.... (view fulltext now)

Full text

(1)

Fakultät für Informatik Institut für Software- und Multimediatechnik

RoSI Kickoff Meeting

Beyond Simple Objects

Prof. Dr. Uwe Aßmann

Institut für Software- und Multimediatechnik (SMT)

Fakultät für Informatik, TU Dresden

(2)

Fakultät für Informatik Institut für Software- und Multimediatechnik

What is RoSI?

(3)

Role-based Software-Infrastructures (RoSI)

The Simple Answer..

(4)

Fakultät für Informatik Institut für Software- und Multimediatechnik

Partitioning Objects and Types for

Separation of Concerns

(5)

Role-based Software-Infrastructures (RoSI)

Different Attributes

name = “Peter”

taxId = 0493027940

marriedTo = “Silvie”

fatherTo = “Vanessa”

employeeOf = “Folgswagen”

heart = “heart12303”

knee = “knee23”

foodInStomach = “apple”

age = “grown-up”

:Person

(6)

Role-based Software-Infrastructures (RoSI)

Different Attributes

name = “Peter”

taxId = 0493027940

marriedTo = “Silvie”

fatherTo = “Vanessa”

employeeOf = “Folgswagen”

heart = “heart12303”

knee = “knee23”

foodInStomach = “apple”

age = “grown-up”

:Person

<<core>>

<<roles>>

<<intrinsic parts>>

<<transient parts>>

<<phases>>

(7)

Role-based Software-Infrastructures (RoSI)

Cores and Mixins

(“Subobjects”, “Satellites”)

<<core>>

name = “Peter”

taxId = 0493027940

:Person

<<role>>

marriedTo = “Silvie”

fatherTo = “Vanessa”

employeeOf = “Folgswagen”

<<intrinsic part>>

heart = “heart12303”

knee = “knee23”

<<transient part>>

foodInStomach = “apple”

<<phase>>

age = “grown-up”

(8)

Role-based Software-Infrastructures (RoSI)

Separation of Concerns with Roles:

Distinguishing Life-Times

Roles are contextually dependent (founded)

Different life-time to the core

Memory allocation must be different

Roles can improve knowledge about life-time and co-life-time of

memory

Roles can improve knowledge about life-time and co-life-time of

memory

(9)

Role-based Software-Infrastructures (RoSI)

Role Modelling

Separate the

functional core

of an object of its

context-based

a

nd

fluid

features

Restrictions so far:

only used in singular fields of Computer Science

no cross-layer correspondance

no formalization

9

plays-a

Person

Employee

Employer

Company

(10)

Role-based Software-Infrastructures (RoSI)

Example: Business Objects

Extend behavior dynamically by

roles (context-based and fluid

Typen)

10

plays-a

(11)

Role-based Software-Infrastructures (RoSI)

Example: Business Objects

Extend behavior dynamically by

roles (context-based and fluid

types)

• Refinement by role inheritance

11

is-a

plays-a

Person

Customer

Vendor

plays-a

Company

Long - Term

Customer

Premium

Customer

(12)

Role-based Software-Infrastructures (RoSI)

Separation of Concerns with Roles:

Alias Freedom and Data Independence

Distinguish

natural memory

(core-local memory)

founded memory

(context-dependent memory)

role-shared memory

Core and role-local memory are alias free

Shared memory is still problematic (competitive writes)

Roles can improve knowledge about life-time and independence of

objects

Roles can improve knowledge about life-time and independence of

objects

(13)

Role-based Software-Infrastructures (RoSI)

Separation of Concerns with Roles:

Role-Based Contracts are Context-Based

Contracts describe conditions for

substitutability

Life-time and Alias Independence enable

Encapsulation

Less dependence between parallel processes

Roles can improve contract theory for sequential and parallel classes

(14)

Role-based Software-Infrastructures (RoSI)

RoSI Architectural Style for Parallel

Programming

How to find parallelism many-cores?

Execute all role models and all objects in parallel

Collaborations are natural parallel units with “local” memory

(15)

Role-based Software-Infrastructures (RoSI)

Role Types are Mixin Types;

Mixin Types are Metatypes

A metatype describes a type (is a type of a type)

Natural Type

Part Type

Role Type

Hypothesis:

The distinction of metatypes promotes

Separations of Concerns.

Hypothesis:

The distinction of metatypes promotes

Separations of Concerns.

(16)

Role-based Software-Infrastructures (RoSI)

Distinguishing Mixin Types (“Colors”,

“Metatypes”, “Satellite Types”)

<<natural type>>

<<sortal>>

name: String

taxId: int

Person

<<role type>>

marriedTo: Person

fatherTo: Person

employeeOf: Company

<<intrinsic part type>>

heart: Heart

knee: Knee

<<transient part type>>

foodInStomach:Food

(17)

Role-based Software-Infrastructures (RoSI)

Separation of Concerns Helps in

Parallelism

The distinction of mixin types (and metatypes) enables us to

identify more natural parallelism

because of SoC

And bring it to run-time: Life-time, independence, ….

Cross-cutting: traceability, certification,...

Roles can improve parallel programming.

(18)

Role-based Software-Infrastructures (RoSI)

The Next Steps of OO:

Three RoSI Object Models

Amoeba Objects (memory roles)

Memory-tuned Distributed Objects

Memory-autotuned Distributed Objects

2010

1990

2000

2013

Enterprise Objects

Role-based Objects

1980

Metatype-based Objects (with mixins)

of other metatypes (parts..)

2014

Cyber-Physical Objects (role contracts)

with contracts on all qualitites and metatypes

2015

2016

(19)

Role-based Software-Infrastructures (RoSI)

Separation

of Concerns

RoSI

Life times of complex

objects with OntoClean

metatypes

Orchestration Path

Distribution Tuning

Layout Tuning

Resilience Path

Imprecision contracts

for Resilience

SMAGs ADL and

infrastructure

HAEC

Quality Contracts

Energy Contracts

MQuAT

Quality predicate

dispatching

A Common Vision of the cfAED and

RoSI

(20)

Role-based Software-Infrastructures (RoSI)

Dijkstra on Separation of Concerns

Roles and mixins introduce separations of concerns.

Roles and mixins introduce separations of concerns.

E. W. Dijkstra “On the Role of Scientific Thought”, EWD 447 Selected Writings

on Computing: A Personal Perspective, pages 60–66, 1982.

"Let me try to explain to you, what to my taste is

characteristic for all intelligent thinking.

It is, that one is willing to study in depth an

aspect of one's

subject matter in isolation

for the sake of its own

consistency, all the time knowing that one is occupying

oneself only with one of the aspects.

(21)

Role-based Software-Infrastructures (RoSI)

Hope...

(22)

Fakultät für Informatik Institut für Software- und Multimediatechnik

References

Related documents

Addiction; Addiction, Research and Theory; Aggressive Behavior; American Journal of Community Psychology; Annals of Behavioral Medicine; American Journal of Preventive

On the other hand, the high rate of cognitive impair- ment among late-life immigrant Mexican-American women underscores the need for researchers and policy- makers to consider

You’ll receive strategic career development training, develop outstanding communication skills, and build an extensive professional network of business leaders and a portfolio

Regional transport partnerships and local authorities will have a particularly important role to play, ensuring that regional transport strategies are in line with and support

Abstract — New applications for Radio Frequency Identifi- cation (RFID) technology include embedding transponders in everyday things used by individuals, such as library books,

Through the fidelity of the people of God, and through God’s fidelity to them, all people shall be- come God’s children and rejoice in the fulfillment of God’s promise to

Our demonstration that PI 3-kinase activity is required for the survival of adult rat sympathetic neurons in the ab- sence of neurotrophic factors differs from the findings of