hmws – at your service josé luiz fiadeiro professor of software science and engineering

24
HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

Upload: jeffry-woods

Post on 15-Jan-2016

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

José Luiz FiadeiroProfessor of Software Science and Engineering

Page 2: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

2A case of “complexity”

in-the-headmnemonics

result-driven

symbolic information

elementary control flow

“One man and his problem…”(and his program, and his machine)The Science of Algorithms and Complexitynot so much Engineering but more of Craftsmanship (one of a kind)a case for virtuosi

Page 3: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

3A case of “complexity”

in-the-head in-the-small

mnemonics I/O specs

result-driven algorithms

symbolic information

data structures and types

elementary control flow

execute once termination

The need for commercialisation…“One man and his problem…”(and his program, but their machine)The Science of Program Analysis and ConstructionCommerce, but not yet Engineering

Page 4: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

410 years ago, the “software crisis”

The challenge of complexity is not only large but also growing. […]. To keep up with such demand, programmers will have to change the way that they work. "You can't build skyscrapers using carpenters," Curtis quips.

[…] Musket makers did not get more productive until Eli Whitney figured out how to manufacture interchangeable parts that could be assembled by any skilled workman. In like manner, software parts can, if properly standardized, be reused at many different scales.

[…]In April, NIST announced that it was creating an Advanced Technology Program to help engender a market for component-based software.

Page 5: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

5A case of “complexity”

in-the-head in-the-small in-the-large

mnemonics I/O specs complex specs

result-driven algorithms system modules

symbolic information

data structures and types

databases, persistence

elementary control flow

execute once termination

continuous execution

“One man and his problem…”(but their programs)The Science of Software Specification and DesignEngineering

Page 6: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

6The case for new mathematics

Algebraic techniques for structuring specifications“Putting Theories together to Make Specifications”The theory of InstitutionsThe role of Category Theory

Temporal logics for continuous/reactive execution

My first years in Computing Science…

Page 7: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

7The case for objects/components

Builds on a powerful methodological metaphor – clientship

Inheritance hierarchies for reuse

Software construction becomes like child’s play

Page 8: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

8Yet, in 2003 the crisis was going on

Computing has certainly got faster, smarter and cheaper, but it has also become much more complex.

Ever since the orderly days of the mainframe, which allowed tight control of IT, computer systems have become ever more distributed, more heterogeneous and harder to manage. […]

In the late 1990s, the internet and the emergence of e-commerce “broke IT’s back”. Integrating incompatible systems, in particular, has become a big headache. A measure of this increasing complexity is the rapid growth in the IT services industry. […]

Page 9: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

9and the “silver bullet” became…

Computing is becoming a utility and software a service. This will profoundly change the economics of the IT industry. […]

For software truly to become a service, something else has to happen: there has to be a wide deployment of web services. […]

applications will no longer be a big chunk of software that runs on a computer but a combination of web services

The Economist, May 10, 2003

Page 10: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

10But…

Is it Science?

Is it Engineering?

Or is it just “hype”?

Society is clearly concerned…

So is the economy…

What is it about?

Page 11: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

11Web services are…

“self-contained, modular applications that can be described, published, located, and invoked over a network, generally the Web”

Web Services architecture overview

– the next stage of evolution for e-business

IBM www-developerswork

“Sexed-up” components?

Page 12: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

12What is it about?

A personal experience…

Page 13: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

13Too many products

How to choose a mortgage?

The mortgage is just a component of a larger “system”: what about the insurance policies that protect the lender? what about complementing repayment with a savings scheme? what about…

How to choose the right mortgage?How to choose the mortgage that is right for me?

This system is dynamic: interest rates will change; my status will change; will I have to go all over the search process again? How many times?

Is this what I want?

Page 14: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

14From products to services

Abstracts away the identity of the component(s) out of which the service is provided;

Provides an explicit representation of the role under which the service was procured, and which led to the choice of specific components;

The choice of the configuration of components that provides the required service is performed by experts in a more restricted domain;

Service providers have to abide to rules that ensure certain levels of quality

Page 15: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

15Yet a case of “complexity”?

in-the-head in-the-small in-the-large

mnemonics I/O specs complex specs

result-driven algorithms system modules

symbolic information

data structures and types

databases, persistence

elementary control flow

execute once termination

continuous execution

“One man and his problem…”(but their programs)The Science of Software Specification and DesignEngineering

“One man and his problem…”(but their programs)“One man and everybody’s problems…”

Page 16: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

16A case of “complexity”

in-the-head in-the-small in-the-large in-the-world

mnemonics I/O specs complex specs evolving

result-driven algorithms system modules sub-systems & interactions

symbolic information

data structures and types

databases, persistence

separation data computation

elementary control flow

execute once termination

continuous execution

distribution & coordination

Page 17: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

17Same complexity?

“Physiological” complexityderives from the need to account for problems/situations that are “complicated” in the sense that they offer great difficulty in understanding, solving, or explainingthere is nothing necessarily wrong or faulty in them; they are just the unavoidable result of a necessary combination of parts or factors

“Social” complexityderives from the number and “open” nature of interactions that involve “autonomic” parts of a system;it is almost impossible to predict what properties can emerge and how they will evolve as a result of the interactions in place or the dynamics of the population itself.

Page 18: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

18Same Science & Engineering?

“Physiological” complexityserver-to-server, static, linear interaction based on identitiescompile or design time integrationcontracts of usage

“Social” complexitydynamic, mobile and unpredictable interactions based on properties“late” or “just-in-time” integrationquality and trust

Page 19: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

19The age of “interactions”

A truly great challenge!

Requires “new” Engineering methods and techniques

Interactions as first-class entities

Interaction-centric architectures

Requires “new” Scientific basisGeneral Systems Theory

one more chance for Category Theory…

Page 20: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

20What we propose

A confluence of contributions from

Coordination Languages and ModelsSeparation between “computation” and “coordination”

Software ArchitecturesConnectors as first-class citizens

Parallel Program DesignSuperposition

Reconfigurable Distributed SystemsDynamic (run-time) reconfiguration

Page 21: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

21Categorical semantics of superposition

progprog Regulator Regulatorinin    r1r1:: intint

    r2r2:: intintdodo regreg:: r1≥r2r1≥r2

progprog Account Accountoutout num, num, balbal:: intintinin nn:: intintdodo dep: dep: bal:=bal+n bal:=bal+n[][] witwit:: bal:=bal–n bal:=bal–n

progprog Channel Channelinin    aa,,bb:: intintdodo    cc

progprog Simple-account Simple-accountoutout num, num, balbal:: intint inin nn:: intintdodo dep: dep:bal:=bal+n bal:=bal+n [] [] witwit::bal≥nbal≥nbal:=bal–nbal:=bal–n

Page 22: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

22Architecture-centric approach

A Y Y AB

B

C

Computation

Coordination

A

Y

X

Compositionality wrt refinement

Y’

Y’

⊆ B’

B’

XC

C

wrt evolution

Distribution

G

F

F

G

F

Page 23: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

23Interactions@

IST-2001-32747Architectures for

Mobility

        

Coordination and Architectures in Category Theory

Evolving Embedded Systems

Services, Policies, Resources and Interactions for Domain and Platform Co-evolution

SPRINTERRELEASE

Scientific Network on Software Evolution

COTS € thefor

Making Component-based Development cost-effective for SMEs

Page 24: HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering

HMWS – At your Service

José Luiz FiadeiroProfessor of Software Science and Engineering

and Sociology?