Ocean

18
Towards a Portable Networking Library N. Bouraqadi and L. Fabresse ESUG 13 sept 2010

description

Ocean: Towards a Portable Networking Library. N. Bouraqadi and L. Fabresse. ESUG 2010, Barcelona, Spain

Transcript of Ocean

Page 1: Ocean

Towards a Portable Networking Library

N. Bouraqadi and L. Fabresse ESUG 13 sept 2010

Page 2: Ocean

Pharo/Squeak Networking Support

VM

Image

OS Network API

Network Library

Socket plugin

Page 3: Ocean

VM

Socket plugin

TCP+ UDP+…

IPv4 +IPv6

Page 4: Ocean

VM

Socket plugin

TCP+ UDP+…

IPv4 +IPv6

Hard to port

Page 5: Ocean

Socket

HTTPSocket SocksSocket

SocketAdress

ByteArray

Imag

e

TCP+ UDP+…

IPv4 +IPv6 IPv4

+IPv6

Page 6: Ocean

Socket

HTTPSocket SocksSocket

SocketAdress

ByteArray

Imag

e

TCP+ UDP+…

IPv4 +IPv6 IPv4

+IPv6

Dirty!

Page 7: Ocean

Network Kernel Test Coverage

Imag

e

0%

Page 8: Ocean

100% tested

OOP

Let's redo it!

0% tested

Dirty!

Hard to port

Wrap OS Lib.

Page 9: Ocean

VM

Image

OS

OCEAN idea

Network API

Ocean Library

Alien plugin

Alien Library

Wrap OS Lib.

Page 10: Ocean

OCEAN Library Im

age

OOP

100% tested

Page 11: Ocean

OOP

OCEAN Library Latest

version

Imag

e

100% tested

Page 12: Ocean

Hard time writing tests!

Socket connected?

Data received?

Data sent?

Socket closed?

Concurrency!!!

Page 13: Ocean

VM

Image

OS

OSProcess for tests

Network API

Ocean Library

Alien plugin

Alien Library

OSProcess Library

OSProcess plugin

SystemAPI?

Page 14: Ocean

OCEAN early evaluation

0

50

100

150

200

250

300

350

Receive 10MB Send 10MB

ms Ocean

OldSocket

Page 15: Ocean

100% tested

OOP Portab

le

Page 16: Ocean

100% tested

OOP Portab

le

To do

Smaller VM

Ocean-based OO Middleware

Clean up Pharo

Page 17: Ocean

100% tested

OOP Portab

le

To do

Smaller VM

Ocean-based OO Middleware

Clean up Pharo

Page 18: Ocean

100% tested

OOP Portab

le

To do

Smaller VM

Ocean-based OO Middleware

Clean up Pharo