CLIF is a Load Injection Framework
(http://clif.objectweb.org/)

Architecture of version 1.0a4

1. a Component Framework

2. a Testing Platform

Introduction and graphical conventions

CLIF is based on:

Fractal component model

Julia reference implementation of Fractal in Java
(see http://fractal.objectweb.org/)

interface name

on the left:

external server interfaces

internal client interfaces

on the right:

external client interfaces

internal server interfaces

a component

a sub-component

a binding

a collection interface

on the top: a control interface

CLIF is a Load Injection Framework

1. a Component Framework

The initial "CLIF application"
(org.objectweb.clif.console.lib.ClifApp.fractal)

supervisor
(org.objectweb.clif.supervisor.api.SupervisorType.fractal)

Test control

Supervisor information

Data collector administration

Blade control

Storage administration

storage
(org.objectweb.clif.storage.api.StorageType.fractal)

Storage administration

Storage read

Storage proxy administration

Analyzer link

Storage read

analyzer
(org.objectweb.clif.analyze.api.AnalyzerType.fractal)

external control
(arbitrary user interface, batch or interactive)

CLIF application with "blades"
(probes, injectors)

Test control

Supervisor information

Data collector administration

Blade control

Storage administration

Storage administration

Storage read

Storage proxy administration

Analyzer link

Storage read

Blade control

Supervisor information

Data collector administration

blades
(org.objectweb.clif.server.api.BladeType.fractal)

Storage proxy administration

Blade control

Supervisor information

Storage write

Possible/typical blade sub-components
(org.objectweb.clif.server.lib.Blade.fractal)

blade-insert-adapter

insert

data-collector

storage-proxy

Blade insert response

Blade insert control

Data collector write

Data collector write

Blade insert control

Data collector administration

Data collector write

Blade insert response

Storage proxy administration

Storage write

Blade control

Supervisor information

Storage write

Injector implementation examples
(org.objectweb.clif.server.lib.Blade.fractal)

server.lib.BladeInsertAdapterImpl

${insert}:

IsacRunner,

scenario.util.mutithread.MTScenario sub-class...

${datacollector}: datacollector.lib.InjectorDataCollector

storage.lib.filestorage.FileStorageProxyImpl

Blade insert response

Blade insert control

Data collector write

Data collector write

Blade insert control

Data collector administration

Data collector write

Blade insert response

Storage proxy administration

Storage write

Blade control

Supervisor information

Storage write

Probe implementation examples
(see sub-packages of org.objectweb.clif.probe)

${insert}:

...cpu.Insert,

...memory.Insert,

...jvm.Insert

${datacollector}:

...cpu.DataCollector,

...memory.DataCollector,

...jvm.DataCollector

Blade insert response

Blade insert control

Data collector write

Data collector write

Blade insert control

Data collector administration

Data collector write

Blade insert response

Storage proxy administration

Storage write

storage.lib.filestorage.FileStorageProxyImpl

server.lib.BladeInsertAdapterImpl

CLIF is a Load Injection Framework

2. a Testing Platform

The CLIF "console"

Deployer
(org.objectweb.clif.deploy.Deployer.java)

GUI
(org.objectweb.clif.console.lib.gui.GuiConsoleImpl.java)

CLIF application
(org.objectweb.clif.console.lib.ClifApp.fractal)

FractalRMI registry

naming service

instantiates

lifecycle-controller

Code server
(org.objectweb.clif.deploy.CodeServer.java)

Deployment of "CLIF servers"

Clif server control

Deployer
(org.objectweb.clif.deploy.Deployer.java)

FractalRMI registry

naming service

bootstrap component

1. registers

2. lookup

3. deployment (remote creation)
of CLIF server component

Fractal seed

(JVM + Fractal runtime)

CLIF server

Deployment of blades

Clif server control

Deployer
(org.objectweb.clif.deployer.Deployer.java)

CLIF application

CLIF server

3. create and bind
(resp. unbind and
remove) blades

1. blade deployment (resp. removal) request

lifecycle-controller

2. stop CLIF application

4. start CLIF application

JVM + Fractal runtime

2005-04-21T09:52:04