Dear APACHE ACE team,

Last years, our teams at TNO and Thales have been working on technologies for 
dynamic composition of software modules and adaptive deployment of software 
architectures. The functionalities we developed allow systems to  define -- at 
runtime -- which software components should be deployed and in which computing 
resources.  System design and deployment decisions are based on the current 
goal of the  system, the actual availability of resources, and the desired 
computing performance. This allows us for example, to build systems that react 
to failing machines by re-deploying  software modules in healthy resources.  It 
also allows to dynamically share, bind, and re-deploy software modules when new 
functionality is introduced in the system.  All that taking into consideration 
the computing resources available and for example, how their load will be after 
the system deployment.

We believe many of the technologies we developed could also be of value for the 
APACHE community, and in special the APACHE ACE community.  Moreover, this 
would help us to possibly get a broader user base and development incentive. 
For this reason, we get in contact with you.
We summarize our innovations in two aspects that we believe add value for the 
APACHE ACE community:

1.       We extend the requirement-capability model of OSGI (used in ACE) to go 
beyond dependencies between software modules (bundles).  In specific, we 
introduced simple but effective concepts in this model that enable software 
designers to:
a.       describe dependencies of software modules to physical computing 
resources.  For example, it is possible to explicitly describe the required 
amount of memory, or the required use of special hardware, such as GPUs and 
graphical boards.  A language model creates a standard for interoperability and 
semantic understanding.
b.      describe virtual software modules representing higher abstraction 
levels of composition.  For example, it is possible to describe a signal 
processing chain as composed by a sampler module, a filtering module, and a 
detection module.  At this level, the dependencies in the chain are resolved 
based on what they do and their performance level (accuracy, resolution, etc.), 
but not yet on implementation details, such as their interface.  High abstract 
modules are resolved hierarchically into possible concrete implementations, 
which in turn provide the more specific dependency aspects such as the 
interface and the required physical resources.

2.       We extend the functionality of the OSGi Resolver  with the following 
features :
a.       we resolve requirement-capability constraints that takes into 
consideration the physical resources available.  At our system,  software 
requirements to computing resources (memory, cpu, special hardware) are 
resolved against special bundles/models that represent the (current) 
capabilities of the available hardware;  In these cases, we not only produce a 
resolved module composition, but we guarantee that it can be deployed in the 
currently available hardware.
b.      we consider the physical allocation of software components to computing 
resources as part of the resolution process.  In other words, we extended the 
resolution role to also determine where each software component should be 
deployed.
c.       we consider many possible solutions from the resolver at the same 
time, instead of the default behavior of the OSGI resolver that returns only 
the first feasible resolved solution back (or fail).  The fittest solution is 
chosen among the several produced according to a customizable goal function -- 
for example, which system has the best response-time.
d.      the resolution step can optimize the physical deployment of software 
components based on a customizable goal function -- for example, by 
prioritizing deployments that balance the load among the available resources 
against deployments that overload a single machine.

We believe the features above are an added value in the following situations:
*         Deployments of software components in heterogeneous resource 
environments, such as the cloud, embedded or high-performance specialized 
platforms, and interoperability hardware hubs.
*         Deployments of software components in unreliable environments where 
failing resources and communication links often happen -- examples could be 
ad-hoc installations, embedded and distributed platforms (Internet-of-Things);
*         Gradual deployments of software components, where functionalities are 
included on demand, but with risk of overloading the computing resources;

We are curious to know if the APACHE ACE community would be interested in 
adopting these ideas.  We would gladly demonstrate and discuss with you future 
possibilities.  What do you guys think about the ideas above?  Would they be of 
added value to ACE?

Last, but not least, we would like to say a few words about ourselves.

Julio Oliveira, Maarten Ditzel and Bardo Bakker are specialists on distributed 
and networked embedded systems for TNO.  TNO is involved in the design and 
development of innovative software and hardware platforms, that use dynamic 
reconfiguration to improve their reliability, power consumption, or efficiency. 
 Within this work TNO co-designed and co-implemented the mechanisms for dynamic 
functional composition and resource allocation.

Pepijn Noltes, Rene van Hees, and Hans Schurer are software architects at 
Thales Nederland and have been involved in different research projects oriented 
around dynamic reconfigurable systems. The Thales team has a special interest 
in software evolution and time-critical systems. Pepijn Noltes himself is 
already a committer for the Apache Celix project.

We look forward for hearing from you how we can continue this discussion.

Sincerely,

Julio A. de Oliveira Filho




Dr.Rer.Nat. J.A. (Julio) de Oliveira Filho
Innovator
DSS/Technical Sciences

T +31 (0)88 866 31 23
M +31 (0)64 684 73 73
E julio.deoliveirafi...@tno.nl<mailto:julio.deoliveirafi...@tno.nl>

Location<http://www.tno.nl/locaties/DHW> Den Haag



[cid:image001.gif@01D19CB3.7319E150]<http://www.tno.nl/>

This message may contain information that is not intended for you. If you are 
not the addressee or if this message was sent to you by mistake, you are 
requested to inform the sender and delete the message. TNO accepts no liability 
for the content of this e-mail, for the manner in which you use it and for 
damage of any kind resulting from the risks inherent to the electronic 
transmission of messages.



Please note when visiting TNO Waalsdorperweg:
In compliance with the strict security regulations for this location, the 
security staff will ask you to leave your smartphones with camera in the 
lockers available at the reception desk.

Reply via email to