The design and development of ubiquitous and pervasive applications require new operational models that can permit an efficient use of  resources and services and a reduction of the need for the administration effort typical in client-to-server networks.Gaber in [Gab00] and [Gab06] has proposed two alternative paradigms to the traditional client/server paradigm (CSP) to design and implement Ubiquitous and Pervasive applications : the Adaptive Services/Client Paradigm (SCP) and the Spontaneous Service Emergence Paradigm (SEP). These paradigms involve the self-organization and the self-adaptation principles.  For example, as pointed by Gaber in [Gab00, Gab06], these paradigms could be implemented via a self-adaptive and reactive intelligent network (or middleware) inspired by natural and biological systems like the natural immune system that exhibits self-organizing and emergence capabilities. More precisely, unlike the classical Client/Server approach, each user request is considered as an attack launched against the global network. An immune networking middleware reacts like the natural immune system against pathogens that have entered the body. It detects the infection (i.e., user request) and delivers a response to eliminate it (i.e., satisfy the user request). Recall that in ubiquitous computing, the main objective is to provide users the ability to access services and resources all the time and irrespective to their location, while in pervasive computing, the main objective is to provide spontaneous emergent services created on the fly by mobiles that interact by ad hoc connections[Gab00, Gab06].
Recently, agent-based approaches, with self-adapting and self-organizing capabilities , have been proposed to implement SCP and SEP respectively. More precisely, these approaches, inspired by the human immune system, provide scalable and adaptive service discovery and composition systems for ubiquitous and pervasive environments .

[Gab00]  J. Gaber, New paradigms for ubiquitous and pervasive computing, Research Report RR-09, Universite de Technologies de Belfort-Montbeliard (UTBM), France, 2000.
[Gab06] J. Gaber, New paradigms for ubiquitous and pervasive applications, Proceeding of First Workshop on Software Engineering Challenges for Ubiquitous Computing, Lancaster, UK, 2006.

Mobile Agent based approach has received great attention in the last years as a promising alternative to the traditional client-server paradigm. A mobile agent is a software entity which may move with its own code and execution context from location to location to meet other agents or to access resources provided at each location. Mobile agents are mainly intended to be used for applications distributed over large scale networks because they allow saving communication costs by moving computation to the host on which the target data or resources resides.

Mobile agent can clone itselfin order to increase system robustness and performances. The clone operation creates multiple instances of agent that execute on different machines. This would allow agents to cover a much wide area of machines space in a reasonable amount of time. However, it should be noted that increasing agent population, with cloning operation, will increase resource demands in the network, which would indirectly affect network performance. Since mobile agents operate in a dynamic and distributed environment, it is difficult even  impossible to estimate a priori an appropriate number of agents in the network. Also, changing the population dynamically in response to its environment is a complex issue in the absence of central controller.

In this work, a self-adaptive distributed algorithm inspired by the human immune system and proposed recently in could be used to regulate the agents’ population size in large scale networks. The immune system presents emergent properties to make self-regulating and self-adapting in dynamically changing environment. In this algorithm, each mobile agent selects locally an appropriate behavior to its environment state from the following ones: death, moving or cloning without using any global or constant threshold parameters.

In parallel, a mobile agent with cloning capability is used for the resource dissemination and resource discovery in large scale network. The resource discovery is a basic functionality that enhances the accessibility of resources in the distributed context: Recently, an approach  proposed in uses both random walks and a cloning mobile agent-based technique for resource discovery in peer-to-peer networks. This cloning mobile agent-based technique allows mobiles agents to cover a much wide area of network peers in a reasonable amount of time compared to a single mobile agent technique and multiple mobile agents' technique. To decrease delay of request resolution proposed in, a reinforcement learning mechanism for resource discovery in peer-to-peer networks is proposed to allows peers to learn from their satisfaction, and how coordinate to select and forward requests to the required peers in the most efficient ways. Unlike a random walk technique that allows peers to forward incoming queries to randomly chosen neighbors, in learning mechanism each peer selects a neighbor that has the highest probability of having query results. 

Self-organization of a collection of agents is a crucial issue in multi-agent systems that operate in open and dynamic environments. Most self-organizing mechanisms proposed in the literature tackle with organization structure issues at design time. However, in open environments, agents must be able to adapt towards the most appropriate organizations according to the environment conditions and their unpredictable changes.

In this work, a Propitient Multiagent System (PMAS) is proposed. More precisely, a multi-agent system that has self-organizing principles and that can exhibit emergent behaviors presents what we can call a propitience functionality. The word propitience comes from the Latin terms "propitius" with the suffix "-ence" from the term emergence. In other words, a propitient system is a system with the ability to self-organize in order to adapt towards the most appropriate agent organization structures according to unpredictable changes in the environment. An emergent behavior is delivered as result of agents-to-agents and agent-to-environment interactions that adapt until the system hits a most suitable self-organizing structure.

In this work, the input output automata, originally designed for formal specification of distributed systems , is used to specify autonomous agents. More precisely, the I/O automata model proposed  consider the multi-agent system as a set of independent and communicating autonomous agents. An individual agent is considered also as a set of components that can be composed in their turn in smaller entities. This methodology permits to specify complex and large-scale multi-agent systems through aggregation of entities . This model allows designer to define an autonomous agent as an automaton composed of a set of simple or composed automata, which need to communicate with each other. Therefore, the designer can separately models the components of an agent or multi-agent and specify the communication between them.
 

Approaches proposed in the literature to solve combinatorial optimization problems have been divided into two classes: exact approaches and heuristic approaches. Both approaches have their specific properties, advantages, and disadvantages. Exact approaches give exact solution to the studied problem, but they work reasonably fast only for relatively small problem. Heuristic approaches deliver either apparently or probably a good solution, but which could not be proved to be optimal. One of the main challenges today in optimization is to derive inherently parallel, dynamic and adaptive search algorithms.

In this work, an approach based on the clonal selection with a negative/positive selection mechanism is proposed. The clonal selection mechanism is used by the natural immune system to define the basic features of an immune response to an antigenic stimulus. In this approach, by cloning action, an agent do not need to choose between two or more paths, but it clones itself and its clone moves to neighboring node selected at random. Moreover, the number of search agents is not constant and changes during the course of the algorithm due to cloning/suppression operations. The well known Traveling Salesman Problem (TSP) that exemplifies a prominent class of problems in combinatorial optimization is used to illustrate the approach with experimental comparison with the ant approach. The proposed optimization approach is inherently parallel and the cloning strategy according to greedy criteria lends to an adaptive algorithm to environment changes.

The term "Configurable Hardware" generally implies a device in which the user specifies an initial and a fixed configuration of the device. Modern configurable hardware devices, named reconfigurable hardware, have focused on FPGAs that allows multiple configuration steps. Because these devices are generally controlled by an external controller, such as a PC, they suffer from some fundamental limitations like fault sensitivity, a non-scalability, and slow configuration time. More precisely, the configuration information is generated and transmitted to the device by something outside the device itself. In large scale devices, this creates a configuration bottleneck, leading to an increase in configuration time. In this purpose, a new type of self-reconfigurable and evolvable hardware inspired by biological principles such as self-assembling, self-replication, self-diagnostic and self-repair were introduced recently in the design of evolvable hardware. The aim of this work is to extend and adapt these models in order to develop bio-inspired computing machines together with new computational methodologies based on ideas inspired by natural systems.   

There has been a great deal of interests in the development of performance models for parallel computation. The most popular is the PRAM (Parallel Random Access Machine) model and is used for shared memory and network-based systems. Since the PRAM model do not consider communication cost, it is considered by many studies to be high level and fails to accurately model parallel machines. New alternatives such as BSP, LogP and its variants, and QSM have been proposed to capture the communication parameters. These parameters are not program-dependent and considering them in the design phase complicates the designer analysis . In other words, having platform-dependent parameters in the model makes it quit difficult to obtain a concise analyze and performance prediction of algorithms.

The main objective of this work focuses on developing a performance model to help the program designer to select the most suitable program without referring to the target platform. More precisely, a simple performance model, using complexity analysis and the relative costs of private, local shared and remote shared accesses costs is developed to characterize the performance of algorithms for parallel languages based particularly on the PGAS (Partitioned Global Address Space) programming model. The performance model allows programmers to predict and analyze the performance of their algorithms independent of target platforms. Therefore, it can allow application developers to minimize the communication overhead and design better programs before compiling and running. The experimental results of this study will confirm the accuracy of the analytical model as a useful tool for the design and analysis of PGAS algorithms. The model sheds further light on the impact of data distributions on locality and performance in UPC (Unified Parallel C).