Chuanyu Zhang

Xiaofeng Guo
email: xiaofeng.guo@esiee.fr

Philippe Brunet

Laurent Royon

The effect of sharp-edge acoustic streaming on mixing in a microchannel

Keywords: Acoustic Streaming, Micromixer, Process Intensification, Macro-mixing, Micro-mixing. Nomenclature

Strong Acoustic Streaming (AS) in a liquid can be generated near sharp-edge structures inside a microchannel. In this study, an experimental setup containing a Y-mixer and a sharp-edge patterned microchannel excited by a piezo-transducer is built. Based on visualisation and Iodide-Iodate Reactions, both macro-and micro-mixing performance are investigated. Results show that acoustic streaming allows a decrease of micromixing time from 0.3 s to 0.04 s. Meanwhile, the mixing enhancement by AS is very sensitive to the channel throughput, as the residence time becomes shorter at higher flowrates.

Introduction

Acoustic streaming (AS), which is the steady time-averaged flow generated by acoustic fields, was first observed more than a century ago. From the perspective of energy conversion, the streaming phenomenon originates from the dissipation of the acoustic energy due to the viscosity of the fluid. Recently, strong streaming flow around sharp structures actuated by kHz level acoustic vibration has been observed [START_REF] Chuanyu | Acoustic streaming near a sharp structure and its mixing performance characterization[END_REF][START_REF] Mikhail | Acoustic streaming of a sharp edge[END_REF][START_REF] Huang Po Hsun | Tony Jun An acoustofluidic micromixer based on oscillating sidewall sharp-edges[END_REF]. Thanks to its non-invasive nature, powerful disturbances within a laminar flow together with low-cost equipment requirement, such a sound-driven steady flow has promising potential applications in Process Intensification (PI), for example the mixing of two or several fluids in continuous mode, or heat convection enhancement.

The principal advantage of low-frequency sharp-edge AS is its low power input, avoiding local heating effect from piezoelectric actuators. Comparatively, common acoustic streaming is less efficient, for example those generated in Kundt's tubes using kHz-range acoustic forcing [START_REF] Said | Acoustic Streaming: From Rayleigh to Today[END_REF], or in microfluidic channels using transducers in pairs or with reflectors in order to realize a condition of resonance. In the latter situation, the acoustic wavelength has to be of the same order as the channel width, which imposes a frequency in the MHz range. Conversely, strong streaming around a sharp edge can be easily induced by low-cost piezo-transducers with frequencies of a few kHz or lower. Contrary to MHz-range transducers, in this situation the wavelength of the audible acoustic wave at several kHz (λ ≈ 0.5 m) is much larger than the characteristic dimensions of microfluidic devices (typically lower than 1 mm), which means the acoustic vibration within the fluid is homogeneous in amplitude and has the same phase everywhere. Moreover, the phenomena of acoustic and fluid mechanics are highly coupled, making studies of sharp-edge AS challenging.

Theoretical background

Origin of Acoustic Streaming around sharp edge

The sharp-edge AS in this study uses acoustic wavelength λ c = c/f , of the order of one or a few meters, hence much larger than the characteristic flow dimensions, as the height of the sharp edge or width of the channel is typically smaller than 1 mm). Both acoustic and streaming velocities being much lower than the sound speed (c=1430 m/s in water), the flow in the present study can thus be treated as incompressible. In the classical analytical treatment of streaming, the time-averaged Navier-Stokes and the mass conservation equations in Eq.1 and Eq.2 [START_REF] Chuanyu | Acoustic streaming near a sharp structure and its mixing performance characterization[END_REF], include a first-order, time-dependent acoustic velocity v ω and a second-order mean flow (streaming velocity) v s :

(v s • ∇)v s = - 1 ρ ∇p s -F s + ν∇ 2 v s (1)
∇ • v s = 0 (2)
Here,

F s = 1 2 Re[(v ω • ∇)v T ω ]
is the time averaged inertia term due to the first-order acoustic field, and is treated as a steady force term that can induce the second-order steady streaming flow.

From the form of F s , it is clear that a homogeneous acoustic field cannot generate any streaming flow, as the effective force would be null. However, the sharp tip structures (Fig. 1 (a)) with strong local curvature on the channel walls induce strong heterogeneity in the acoustic oscillating flow in the fluid. As sketched in Fig. 1 (b), at a given time, the vibration of the fluid is uniformly distributed except for the local zone close to the sharp edge. More specifically, close to the tip, both the orientation of the acoustic field and the vibration amplitude provide favorable conditions to induce an intense F s very near the tip, via a centrifugal acceleration [START_REF] Mikhail | Acoustic streaming of a sharp edge[END_REF]. Far from the tip, the force is null or negligible. Therefore, the sharp edge induced non-uniformity of the acoustic field makes acoustic streaming at relatively low frequency (several kHz) possible (see Fig. 1 (c) with acoustic OFF and Fig. 1 (d) acoustic ON).

Iodide-Iodate reaction and Segregation Index

Competitive Iodide-Iodate reaction, also named the Villermaux-Dushman method [START_REF] Fournier | A new parallel competing reaction system for assessing micromixing efficiency -Experimental approach[END_REF][START_REF] Jean-Marc | Villermaux-Dushman protocol for experimental characterization of micromixers[END_REF], is employed to evaluate the micromixing performance of the microchannel with acoustic streaming. This reaction scheme is sensitive to mixing at the molecular scale and the detection of iodine (I 2 ) yield can allow a quantitative micromixing evaluation. This method is based on parallel reactions involving (a) neutralization of dihydroborate ions (R1, Eq.3):

H 2 BO 3 -+ H + -→ 3BO 3 (3)
and (b) a redox reaction (R2, Eq.4): Once iodine is produced due to bad mixing, a equilibrium is established between the iodine the iodide ion that results in the formation of the tri-iodide ion, I 3 -, through R3 (Eq.5):

5 I -+ IO 3 -+ 6 H 3 -→ 3I 2 + 3 H 2 O (4)
I 2 + I --→ I 3 - (5)
Reactions R1 and R3 are quasi-instantaneous; while R2 is very fast but slower by several orders of magnitude than R1 and R3. The production of tri-iodide ion, which is detectable by spectrophotometry, is thus considered as a chemical probe to assess the micromixing rapidness. Fig. 2(c) describes the competing reaction mechanism in the case of a Y-mixer with two inlets (solution 1 and solution 2, with the same volumic flow rate). The concentration of H + in solution 1 being equivalent or lower than that of H 2 BO 3 -, all H + is consumed by H 2 BO 3 by the rapid reaction R1 as long as the micromixing process is fast. This results in no iodine formation. On the other hand, iodine formation occurs under a bad mixing conditions, which can be attributed to a local excess of H + , not only being consumed by reaction R1, but also taking part in the reaction R2, followed by R3. The amount (concentration in the product) of I 3 -is thus positively related to the micromixing time.

As a quantitative indicator in the Iodide-Iodate reactions scheme, Segregation Index X S is usually employed to characterize the mixing effectiveness through a microchannel. It is defined by:

X S = Y Y ST (6)
which means the X S is the ratio of iodine yield (Y ) in a test by the maximum yield of iodine (Y ST ) in the case of worst mixing performance, namely total segregation. In the latter case, the reactions R1 and R2 appear as quasi-instantaneous compared to mixing time (supposed to be infinitely long). Thus, for perfect micromixing, X S = 0 and for total segregation X S = 1. Partial segregation follows the definition X S = Y /Y ST and it results in a value between 0 and 1. Calculation of Y and Y ST from the concentration of reactants as well as that of the tri-iodide yield is described in detail in [START_REF] Xiaofeng | Mixing performance assessment of a multi-channel mini heat exchanger reactor with arborescent distributor and collector[END_REF].

Interaction by Exchange with the Mean

Interaction by Exchange with the Mean (IEM) model is usually used to build up the relation between Segregation Index and micromixing time. The IEM allows the estimation of the micromixing time [START_REF] Xiaofeng | Mixing performance assessment of a multi-channel mini heat exchanger reactor with arborescent distributor and collector[END_REF][START_REF] Jacques | A generalized mixing model for initial contacting of reactive fluids[END_REF], and makes them independent of the concentration choice of reactants. The comparison of mixing evaluation results is thus possible. One pre-requisite of using IEM model is that the residence time of the two solutions from the initial contact and along flow direction being the same. Our sharp edge Y-mixer satisfies this requirement. Besides, another assumption in this model is that exchange of ions between two solutions occurs at a same constant in term of micromixing time t m , which is generally true for microchannel continuous mixers.

At every time step, IEM considers concentration of each solution evolves separately and is governed by the following equations:

dC k,1 dt = C -C K,1 t m + R k,1 (7)
dC k,2 dt = C -C K,2 t m + R k,2 (8)
C = α v C k,1 + (1 -α v )C k,2 , (9)
where C k,1,2 represents the concentration for species k in solution 1 and 2, mol/L; t m is the exchange time constant, considered as the micromixing time, s; R k,1,2 denotes the change rate of the concentration for species k in solution 1 and 2, mol/(L•s); α v the volume flow proportion of solution 1, in our case α v = 0.5.

With a presumed t m and known initial concentrations of ions, the differential equations can be numerically integrated based on methods such as the second order Runge-Kutta method, to resolve the final concentration C I - 3 thus the X S . For each step, concentrations and their corresponding mean values, kinetic data are updated by the results from the previous step. The iteration process moves forward step by step until the concentration of H + in the solution decrease under a critically low value (10 -9 mol/L in this study). After, the H + is considered to approach zero and the reactions terminates. With C I - 3 , X S can be calculated accordingly. An algorithm has been built in Matlab to link the segregation index with micromixing time in a large range. Its procedure and the resulting relation between X S and t m under the concentration condition are shown in Fig. 3. As a result, for each micromixing tests, the segregation index and the corresponding micromixing time can be quantified.

Y-type micromixer with piezoelectric transducer

A Y-shape mixer made of (Polydimethylsiloxane, PDMS) contains a Y-mixer and a channel with sharp-edge patterns.The preparation process using 2D photo-lithography on a wafer has been documented in our previous study, see Zhang et al. [START_REF] Chuanyu | Acoustic streaming near a sharp structure and its mixing performance characterization[END_REF]. The PDMS microchannel is then sealed and stuck on a glass slide by oxygen plasma treatment. Three models (S1, S2, S3) are fabricated and their main geometrical dimensions are detailed in Fig. 2 (b-c). Only the channel section with sharp edge patterns is shown, the Y-mixer being identical for all three models. To provide an acoustic field at a frequency range between 2 and 3 kHz, a piezoelectric transducer is stuck next to the channel on the glass slide. Streaming is then generated and characterized under various acoustic/flow conditions. The experimental setup is shown in Fig. 2 (a). The platform is composed of a syringe pump (Newtown Company & Co) allowing the injection of fluid from two syringes, under wellcontrolled flow-rate through the channel and via the two inlets. A function generator (Model 33220A Arbitrary waveform generator, Agilent) with a home-made adjustable power amplifier provides signal supply to the piezoelectric transducer (Model ABT-455-RC, RS Components). The transducer is glued on the glass microscope slide through which visualization is achieved by a binocular microscope together with a fast camera (MotionBLITZ Cube4, Mikrotron). The piezoelectric transducer (diameter 35 mm and height 0.51 mm) delivers acoustic vibrations to the glass slide and to the whole channel stuck onto it, at various resonance frequencies from about 1 kHz up to 40 kHz. We chose to operate at one of these resonance peaks f , namely that at f =2.5 kHz. It turns out that the best operating conditions in terms of streaming flow were obtained at this frequency.

Experimental procedure

For the Iodide-Iodate reaction protocol, a spectrophotometer (Jenway 7310) is used to measure the concentration of the I - 3 in the final solution. To adapt to the small throughput of the microchannel (Q c = 0 to 24 µL/min), we use a high-precision ultra micro-cuvette (Hellma, QS105 model, 50 µL, light path 10 mm) to collect the solution after the reaction in the microchannel. During the experiments, the cuvette is directly connected to the pipe out from the microchannel. And the measurement of the concentration is conducted as soon as the z-height is fully immersed by the effluents. To quantitatively analyze the micromixing process, Segregation Index and Micromixing time are determined through the IEM model. For each test, the concentration of I - 3 , measured by spectrophotometry, allows to determine Segregation Index and Micromixing time. The relation between X S and t m at given reactant concentrations is shown later.

Besides the micromixing evaluation, visualisation of the macromixing between two fluids of different colors also helps tracing the mixing process. One fluid is formed by adding the blue dye into deionized water, while another one is pure colorless deionized water. The mixing processes of such two fluids in microchannel S2 are observed with the voltages from 10V to 40V.

Reactants and IEM modelling

The concentration of reactants are shown in Tab.1. It is obtained by trial and error since the appropriate concentration should give a concentration of I - 3 which drops in the range of the spectrophotometry (i.e., OD should fall between 0.1 and 3). Micromixing time t m estimation characterizes the quality of micromixing process, which can be compared even if the test is done with different initial concentration conditions. Repeating the code described in Section 2.3. Interaction by Exchange with the Mean with different presumed t m , the corresponding X S can be obtained. Figure 3 shows the relation between X S and t m under the concentration conditions in this study.

[H + ] [KI] [KIO 3 ] [N aOH] [H 3 BO 3 ] C [mol/L] 0

Results and discussions

Acoustic streaming assisted macromixing

Streaming flow appears near multiple sharp edges once the piezoelectric transducer is activated, as shown in the Fig. 4(a), which confirms our previous visualization results performed Figure 3 : Step of algorithm for IEM and relation between X S and t m to one single sharp edge (Fig. 1(c)). These streamline are obtained by the tack of images taken at zero flowrate condition. It shows that fluid near the wall is jetted to the middle area of the microchannel while the previous fluid there is pushed back to the area between two edge structures. Exchange between different areas is achieved by such acoustic streaming flow, which becomes a potential to reshape the interface line between two miscible flow and accelerate the mixing process between them. Figures 4 (b-f) illustrate the fluid mixing enhancement by acoustic streaming at different intensities. The two fluids, discerned by dark and transparent colors, are fed through the two inlets through the Y-mixer. Inside the sharp-edge microchannel, as the voltages increase from the 10V to 40V, the interface turns from an approximately horizontal line (totally separated) to be irregular and blurred. When we focus on the first sharp edge (at the downside of the channel) encountered by incoming fluid, it is clear that at 30V or 40V, the dark fluid from the upside is sucked to the area near the tip and then jetted back to the middle area. In such situations, the contact between the two fluids strongly increases as soon as entering the sharp-edges area. Meanwhile, with higher voltages, the interface quickly blurs and disappears after several sharp edges. From the macroscopic perspective, the two fluids rapidly mix into each other while passing through the sharp-edges AS area. 4.2. X S and t m with different Q c and structures Figure 5 and Figure 6 show values of X S (left axis) and t m (right axis) according to input voltages (thus magnitude of acoustic vibration), respectively from the three sharp-edge structures (S1/S2/S3) and flow-rate Q c . Firstly, as input voltage increase, X S and t m decrease quickly, which means much better performance of mixing process is achieved. Taking S2 as an example, under acoustic streaming excitation, the segregation index decreases sharply from 0.06 (10 V) to 0.01 (40 V, good mixing). Micromixing time based on IEM decreases by a factor of 10: from 0.3s (10 V) to 0.04s with strong acoustic vibration (40 V). This trend corresponds to the macromixing images shown in Fig. 4, namely with higher input voltage, interface between two different fluids is extended and mixing process at microscopic level is shortened. In terms of different sharp-edge structure S1/S2/S3, their influences on mixing have no obvious difference Another influential factor is the flowrate Q c . As shown in Fig. 6, lower Q c through the microchannel corresponds to smaller X S and t m . This results are in accordance with our previous study, namely the vortex formed by acoustic streaming near the sharp edge structure is sensitive to the throughput. This means, as throughput enlarges, the disturbance by streaming flow into the main flow decays quickly and results in worse mixing performance. Similarly, the differences of values of X S and t m with different throughput are significant. Under weak acoustic field and high throughput, the mixing improvement becomes weak or even negligible.

Conclusion

Acoustic streaming appears near multiple sharp-edges under low-frequency acoustic wave excitation. The disturbance by the streaming flow can accelerate the mixing process between two miscible flows. With a given microchannel, mixing performance depends on the input voltage V i , geometrical density of the sharp edge structures and throughput Q c . With V i increasing from 10V to 40V, X S and t m decrease from 0.06 to 0.01 and 0.3 s to 0.04 s respectively, achieving much better micromixing performance. In addition, the acoustic intensity (represented by input voltage V i ) seems to be the most significant influential parameter. At low acoustic in- tensity V i (10V), more sharp edges and lower throughput Q c are required to achieve low X S and short t m . At higher acoustic intensities (V i at 40V)), however, all three micromixers give satisfactory micromixing effect.

Figure 1 :

 1 Figure 1 : Origin of the acoustic streaming around the sharp edge. (a) Sharp edge of angle α and curvature diameter 2r c inside a channel, δ shows the boundary layer thickness; (b) Schematic explanation of the deformation of an acoustic field around the sharp edge; (c-d) Fluorescence visualisation of sharp-edge acoustic streaming (c) without and (d) with acoustic forcing. (Adapted from Zhang et al., 2019 [1])

Figure 2 :

 2 Figure 2 : Schematic of the experiment in this study: (a) experimental setup; (b) 3 different geometry structures tested, n s number of sharp edges on each side (c) Iodide-Iodate reaction within the microchannel

Figure 4 :

 4 Figure 4 : Mixing process intensified by different voltages between two miscible fluids (water, water with blue dye) using micromixer S2. (a): Acoustic streaming tracing from fluorescence particles tracking, at zero flowrate; (b): Static mixing effect without acoustic streaming, (0 V) and (c-f) Active mixing enhancement with acoustic streaming of different intensities (10-40 V). Flow from left to right, Q s = 4 µL/min.

Figure 5 :

 5 Figure 5 : Segregation Index X S and micromixing time t m with different structures

Figure 6 :

 6 Figure 6: Improvement of X S and t m depends on the channel throughputs Q s

Table 1 :

 1 Concentration set to be used to characterize the mixing process

	.03 0.016 0.003	0.045	0.045

Acknowledgements

We would like to acknowledge the funding support from the CSC (China Scholarship Council).


Arthur Casals
email: arthur.casals@lip6.fr

Amal El

Fallah Seghrouchni

Orso Negroni
email: orso.negroni@etu.upmc.fr

Anthony Othmani
email: anthony.othmani@gmail.com

Exposing agents as web services in JADE

Keywords: Multi-Agents Systems, Web Service Agents, JADE/WSIG

The objective of this chapter is to revisit and explore how intelligent agents can be used in conjunction with modern Web technologies. We use JADE and BDI4JADE to expose cognitive agents using a BDI architecture as web services that can be integrated with different modern cloud-based services, such as Amazon AWS services and Google Home.

Introduction

Agents can be described as relatively independent and autonomous entities that can be used to solve problems of different complexity degrees [START_REF] Ferber | Multi-agent systems: an introduction to distributed artificial intelligence[END_REF]. These entities can be organized in communities and work together using different interaction mechanisms in order to solve complex problems. Such communities are also known as multiagent system (MAS): a system composed of multiple agents that interact among themselves in a single environment [START_REF] Russell | Artificial Intelligence: A Modern Approach[END_REF].

Due to their autonomous and interactive capabilities, agents can be seen as a paradigm for software engineering. In fact, since software architectures may contain many different components, each one with its own thread of control and attributions, agents can be used as a paradigm when designing such systems [START_REF] Wooldridge | An introduction to multiagent systems[END_REF]. Moreover, such paradigm can be adopted within complex systems, since interaction is one of the most important characteristics of complexity in software Using agents and MAS in conjunction with web services has been explored for a long time, from simple interactions between web services and agents [START_REF] Ardissono | An agent architecture for personalized web stores[END_REF][START_REF] Etzioni | Moving up the information food chain: Deploying softbots on the world wide web[END_REF][START_REF] Greenwood | Engineering web service-agent integration[END_REF][START_REF] Jennings | A roadmap of agent research and development[END_REF][START_REF] Lieberman | Letizia: An agent that assists web browsing[END_REF] to using existing software engineering methodologies such as modeldriven development (MDD) [START_REF] Bresciani | Tropos: An agent-oriented software development methodology[END_REF][START_REF] Padgham | Prometheus: A methodology for developing intelligent agents[END_REF][START_REF] Wooldridge | The gaia methodology for agentoriented analysis and design[END_REF] to support the development of web-based MAS [START_REF] Muldoon | An agent framework for ubiquitous services[END_REF][START_REF] Tapia | Fusion@, a soa-based multiagent architecture[END_REF][START_REF] Thiele | Mams service framework[END_REF].

Using agents exposed as web services to design systems for the Semantic Web [START_REF] Berners-Lee | The semantic web[END_REF] was also studied [START_REF] Dickinson | Agents are not (just) web services: considering bdi agents and web services[END_REF][START_REF] Ricci | A platform for developing soa/ws applications as open and heterogeneous multi-agent systems[END_REF]. Designing such systems involves not only creating systems with distributed capabilities, but also systems capable of using existing communication protocols and mechanisms in order to share and reuse knowledge. This is so because the Semantic Web is an extension of the web by adding semantics to the current data format representation in order to turn web information understandable not only for humans but also for software entities [START_REF] Berners-Lee | The semantic web[END_REF].

However, despite the extensive research already done in this field, the advent of new paradigms such as the Web of Things (WoT) [START_REF] Guinard | A resource oriented architecture for the web of things[END_REF] has encouraged a revisitation on the use of agents in the Web as a viable approach for deploying autonomous systems [START_REF] Ciortea | Beyond physical mashups: Autonomous systems for the web of things[END_REF]. This idea revolves around the fact that in the WoT, it is possible for web services to perceive the real world and act on it though the use of physical devices (sensors).

In this context, our research interests reside in the Agent-Oriented Software Engineering (AOSE) [START_REF] Jennings | Agent-oriented software engineering[END_REF] domain, focused on agents capable of interacting with the Web and its services. We refer to such agents as web-based agents. Our objectives are (i) to review the existing software engineering techniques used in conjunction with web agents and (ii) to explore how web agents and MAS can be extensively used with different new Web-related paradigms. In particular, we would like to understand the difficulties involved in the use of multiagent technologies in real-world situations. This also involves studying the use of wellestablished multiagent platforms and concepts by developers and development teams already employed in the industry, which are not necessarily familiar with agents. Before exploring these topics, however, it is necessary to better understand the current state-of-the-practice on web-based agents and related frameworks. For that reason we established a process composed of three different steps: (i) reviewing existing work relating agents and the Web; (ii) evaluating existing multiagent frameworks and Web-related capabilities; and (iii) implementing web-capable agents (exposed as web services) to serve as an evolving proof-ofconcept, to be used during the course of our work. This process is fundamental to our subsequent research, and it constitutes the basis of the present chapter.

With that in mind, we implemented a Smart Agenda MAS using one of the multiagent platforms of our interest (JADE). At the same time that we understand this platform is fairly mature, we would like to understand how difficult it would be for students recently introduced to multiagent theory to use and apply this platform in the process of solving a problem based in a real-world scenario. For this reason, an agent-based personal assistant was proposed as the evolving proof-of-concept.

This chapter is organized as follows: in Section 2, we provide some background on intelligent agents. Section 3 contains some of the existing work related to using agents in conjunction with Web-related technologies. In Section 4, we illustrate the implementation of the Smart Agenda system, using agents deployed as a web services. Finally, Section 5 presents some discussion and concludes this chapter with some perspectives for future work.

Background

In this section we present some concepts that will be used along this chapter. First we provide a brief description of web services, followed by an overview on intelligent agents (with emphasis on one particular architecture). After that we provide an overview on languages used by the agents to interact between themselves, referred to as agent communication languages.

Web services

Web services can be generically described as "a software system designed to support inter-operable machine-to-machine interaction over a network, providing a standard means of inter-operating between different software applications, running on a variety of platforms and/or frameworks"1 . It possesses an interface that allows other systems (or web services) to interact with it using structured messages [START_REF] Alonso | Web services. In: Web Services: Concepts, Architectures and Applications[END_REF].

In practical terms, a web service can be described as a mean to interact with existing applications using Web-related technologies. A web service can be discoverable if it is published in a registration or directory service, which acts as an yellow-pages equivalent. Its specification also includes a Web Service description defining all message formats, protocols, and data types used by the web service. From this description, valid messages can be formed and used to communicate with the web service in question. When a web service is published in a directory service, its description is also included.

From a distributed systems perspective, web services enable multiple applications to interact between themselves using Web technologies and protocols [START_REF] Alonso | Distributed information systems[END_REF]. A web service can be used to remotely access a database, or to execute specific processes in a remote machine with a certain set of parameters. They embody the concepts of a service-oriented architecture (SOA)2 [START_REF] Erl | Service-Oriented Architecture -Concepts, Technology, and Design[END_REF]. This allows for different web services to be used together in order to obtain the functionalities of an equivalent larger system.

Intelligent agents

An agent is a computer system with autonomous capabilities, which are able to take decisions on what is needed to do in order to satisfy their objectives [START_REF] Wooldridge | An introduction to multiagent systems[END_REF]. While this definition is not consensual, it revolves around the concept of autonomy.

Agents are also capable of interacting with other agents, exchanging data and engaging in complex interactions such as cooperation, coordination, and negotiation. A multiagent system is a system composed of multiple agents that interact among themselves in a single environment [START_REF] Russell | Artificial Intelligence: A Modern Approach[END_REF]. The main purpose of a MAS is to autonomously solve complex problems that would otherwise be impossible (or very difficult) to solve by using a monolithic system.

Intelligent agents are capable of reason and decide which action to perform according to available information. This information usually is related to the conditions or consequences of the actions to be executed [START_REF] Wooldridge | An introduction to multiagent systems[END_REF]. Taking advantage of the agents' inherent capabilities allow MAS to adapt to changes in the environment. Also, the use of multiple agents allow for cooperation mechanisms to take place in situations where solving the problem at hand is beyond the capabilities of any single agent. Applications of MAS include manufacturing control, production planning, logistics, transportation, among others [START_REF] Pěchouček | Industrial deployment of multi-agent technologies: review and selected case studies[END_REF].

BDI is one of the software architectures used to model and implement intelligent agents. It is based on the human practical reasoning model [START_REF] Bratman | Intention, plans, and practical reason[END_REF] and any BDI agent uses the concepts of belief, desire, and intention in its reasoning process. These concepts are used by agents in a means-ends reasoning process. In this sense, the agent's actions are organized in an execution plan built on top of what it believes to be true, and what it desires to achieve as a goal. This reasoning process is usually referred to as "planning" [START_REF] Konolige | Multiple-agent planning systems[END_REF]. By using this separation between information, planning, and execution, the agent is capable of adapting to different conditions presented by the environment it is situated in.

Related work

The idea of integrating agents and the web services has been proposed (and experimented on) since the late 1990s [START_REF] Ardissono | An agent architecture for personalized web stores[END_REF][START_REF] Etzioni | Moving up the information food chain: Deploying softbots on the world wide web[END_REF][START_REF] Greenwood | Engineering web service-agent integration[END_REF][START_REF] Jennings | A roadmap of agent research and development[END_REF][START_REF] Lieberman | Letizia: An agent that assists web browsing[END_REF]. The main idea at that time was to use agents as assistants for web-based services, such as web stores [START_REF] Ardissono | An agent architecture for personalized web stores[END_REF], or even for web browsing [START_REF] Lieberman | Letizia: An agent that assists web browsing[END_REF].

In particular, the idea of using agents as web services and using the Semantic Web appeared in early 2000s [START_REF] Hendler | Agents and the semantic web[END_REF][START_REF] Huhns | Agents as web services[END_REF]. Specifically, the use of BDI agents as web services was also proposed around that time by Dickinson and Wooldridge [START_REF] Dickinson | Agents are not (just) web services: considering bdi agents and web services[END_REF]. Their work was later referenced in different works using agent as web services, including collaborative testing [START_REF] Bai | A multi-agent based framework for collaborative testing on web services[END_REF] and e-learning [START_REF] Hirsch | Education beyond the cloud: anytime-anywhere learning in a smart campus environment[END_REF].

Part of the subsequent work on agents as web services, however, was also related to web-based MAS [START_REF] Muldoon | An agent framework for ubiquitous services[END_REF][START_REF] Tapia | Fusion@, a soa-based multiagent architecture[END_REF][START_REF] Thiele | Mams service framework[END_REF] and agent architectures [START_REF] Paletta | A scouting-based multi-agent system model to deal with service collaboration in cloud computing[END_REF][START_REF] Tolk | Agents: Agenthood, agent architectures, and agent taxonomies. Agent-directed simulation and systems engineering[END_REF]. Software engineering methodologies related to this topic were also being developed and studied [START_REF] Hahn | Enhancing the interoperability between multiagent systems and service-oriented architectures through a model-driven approach[END_REF][START_REF] Kardas | Model driven development of semantic web enabled multi-agent systems[END_REF][START_REF] Zinnikus | A model-driven, agent-based approach for the integration of services into a collaborative business process[END_REF]. In 2007, a survey on existing agent methodologies based on the agent-oriented paradigm was published [START_REF] Cabri | Service-oriented agent methodologies[END_REF] with the aim of evaluating in what extent existing agent-oriented methodologies were also oriented to the development of services. From the AOSE perspective, the study served to demonstrate that all evaluated methodologies could be used to model service-oriented agents. At this point, the focus was on modeling agents as services, or generally using the concepts around services in order to facilitate the interaction between agents.

In 2010, however, Ricci et al introduced a platform called CArtAgO-WS [START_REF] Ricci | A platform for developing soa/ws applications as open and heterogeneous multi-agent systems[END_REF], intended to allow the development of service-oriented applications (SOA) populated by agents. This was a more embracing approach from the MAS perspective, since it took into account both the concepts of artifacts -"objects" or services that could be used by the agents -and the use of heterogeneous agent architectures (including BDI). This idea was further explored and used in conjunction with other agent frameworks, such as JaCaMo 1 (we will briefly introduce this framework later in the text). More recently, another step in the same direction was proposed by Ciortea et al [START_REF] Ciortea | Give agents some rest: A resource-oriented abstraction layer for internet-scale agent environments[END_REF]: they proposed that the World Wide Web (WWW), in its current state, could be suitable as a middleware for Internetscale multiagent systems. This would be achieved through the use of a resourceoriented layer that would allow the application environment to be decoupled from its deployment context. In order to demonstrate this proposal, an agent environment was developed using JaCaMo. This environment was specifically aimed at the Internet of Things (IoT), emphasizing the separation between the application environment and the deployment context.

It is interesting to notice, however, that while different research has been performed in web-based MAS, most of this work perceives the Internet environment as a means of communication. Even larger proposals such as Agentcities [START_REF] Willmott | Agentcities: a worldwide open agent network[END_REF] and distributed platforms for data processing [START_REF] O'reilly | A distributed architecture for the monitoring and analysis of time series data[END_REF] rely on web protocols and agent communication standards to establish and coordinate the communication processes, while the agents -although exposed as services and sharing resourcesare reasoning blocks taking advantage of such structure. In addition, the lowerlevel communication mechanisms are still based in procedure calls, not taking advantage of newer mechanisms. There is very recent work on this field that aims at addressing such issues [START_REF] Ciortea | Beyond physical mashups: Autonomous systems for the web of things[END_REF][START_REF] Ciortea | Give agents some rest: A resource-oriented abstraction layer for internet-scale agent environments[END_REF].

In the current state of the Web, using it as a middleware for MAS is certainly appealing. At the same time, modeling MAS while taking full advantage of the web environment (not only as a communication-enabled environment) is partially subject to the constant evolution of the Internet itself. From a higher-level perspective, it is possible to model web-based agents and MAS using existing AOSE methodologies (such as GAIA [START_REF] Zambonelli | Developing multiagent systems: The gaia methodology[END_REF] and O-MASE [START_REF] Deloach | The mase methodology[END_REF][START_REF] Deloach | The o-mase methodology[END_REF]) while abstracting the Internet environment. From a lower-level perspective, however, different communication protocols, web-specific components and technologies can influence the way web-based agents and MAS can be build and deployed into the Internet environment.

Our motivation comes from this context. From the modeling perspective, we would like to explore how we could structure web-based agents that could take full advantage from the Internet environment. Also, from the implementation perspective, we would like to explore how the newest mechanisms and protocols could be used by agents and MAS when deployed into the Internet.

Smart Agenda

As part of our study process, we modeled a simple MAS that used agents deployed as web services. The objective of this step was to verify how this could be built and deployed using the current technologies and tools. As mentioned before, we chose JADE as the target framework. Part of the reason behind this choice was related to the framework's web-related functionalities previously described. While the modeled MAS is not complex, we intend to explore and evolve this implementation as our research advances.

Integrating Web Services and JADE agents has already been done in the past [START_REF] Liu | Agent-based web service composition with jade and jxta[END_REF][START_REF] Nguyen | Ws2jade: Integrating web service with jade agents[END_REF][START_REF] Nguyen | Ws2jade: Integrating web service with jade agents[END_REF]. Nevertheless, we decided to design a simple MAS completely based in agents deployed as web services. For that purpose, we adopted a JADE add-on aimed at providing support for exposing agents as web services called WSIG 1 . This add-on acts as a relaying gateway, handling all requests coming from the Web and sending them to the MAS.

In order to be exposed as a web service, a JADE agent must possess an Ontology and a set of Actions. Ontologies are structures used to define the vocabulary and semantics used in the communication between JADE agents. The WSIG add-on also uses the ontologies to define which agent operations will be exposed as web services. Moreover, an action is an object corresponding to a request. Once a request is made from the Web, the resulting action object containing the request elements is sent to the JADE agent.

In this first phase of our project, our objective was to implement an MAS that would be able to handle all the tasks associated with an specific event. For this purpose, we modeled a Smart Agenda MAS, which is built to function as an agent-based personal assistant. For example, if the user updates his agenda with a meeting in Brussels and he is in Paris, the Smart Agenda system is supposed to detect that the user needs a train to go from Paris to Brussels, and use a text-to-speech service in order to ask Google Home to book a train ticket. The text-to-speech service is named AWS Polly2 .

Requirements and Architecture

The Smart Agenda possesses a web page used as an interface between the user and the MAS. After creating an account, the user can set personal preferences regarding transportation, hotel stars, and hours. The web page is used to schedule new events and to modify or view existing events. The system also allows the user to create events involving other users, or to join existing events created by other users. Events are classified either as "individual events" or "group events".

Individual events are scheduled solely according to the user's preferences. They possess two distinct properties, named "Automatic" and "Movable". An automatic event can be scheduled by the agent arbitrarily along the day, according to the preset user preferences. A movable event can be rescheduled without the user's confirmation if it's necessary. Thus, if an automatic event is created, the agent will try to find an available time slot in the agenda according to the user's preferences. If there is not a free slot long enough to accommodate it, the agent will try to reorganize other movable events to optimize the day.

Group events are events shared by two or more users. They are non-movable by default. When a user creates an event, he can assign it to an existing users group. Group events can be marked as "Optional", meaning that the attendance for all users is not mandatory. If at least two users within the group are available at the scheduled time, the event will be created and added to these users' agenda.

In the case the event is not marked as "Optional", the attendance is considered mandatory for all participants -meaning that if at least one user is not available at the scheduled time the event will not be created.

The Smart Agenda MAS is composed by four different agents: Coordinator, Manager, Agenda, and Assistant. The Coordinator is responsible for handling all requests from the Web. When a new user account is created, the request is forwarded to an available Manager agent, which creates two new agents linked to this user: the Agenda agent, and the Assistant agent. In order to provide scalability to the system each Manager agent is responsible for a limited number of users. The Agenda agent is responsible for processing all future event operations for the new user, and the Assistant is the BDI agent responsible for processing complementary actions related to an event (such as booking a ticket) and generating the final sentence with the help of AWS Polly. Consequently, there are two agents (Assistant and Agenda) for each user registered in the system.

When a new event is created in the user's calendar, the Coordinator forwards it to the corresponding Manager, which then sends it to user's Agenda agent. This event is added to the agenda and, if this is an individual event, the Assistant agent creates its related Goals. A plan will be selected from an existing plan library according to the user's preferences and context-dependent feasibility. If it fails, the next one will be tried. If the event contains the keywords "rdv", "rendez vous" or "meeting", and "@SomeTown", the resulting plan will be a sentence containing all the event's elements: the date, the time, the starting and arrival towns. This sentence is then translated into audio (speech) through the use of the AWS Polly service, and finally played to Google Home with the help of speakers. This architecture is shown in Figure 1, and its demonstration can be found at: http://bit.ly/Emas18Demo

Discussion

In this chapter, we revisited some of the existing work on web-based agents and MAS. We also implemented a simple MAS using JADE and agents deployed as web services. Although not being complex, the idea behind the implementation was to create an MAS that could be further evolved and explored during the course of our research. Thus, the implemented system is meant to be an evolving proof-of-concept. We found a few difficulties related to the implementation (mostly related to WSIG), but the MAS architecture was simple enough to be modeled using a traditional BDI architecture. At the moment, the BDI model is limited to individual events and sequential goals (context dependency and AWS integration).

From the development process perspective, we found a few difficulties related to using the JADE platform. Most of these difficulties were related to the WSIG plugin, used to expose JADE agents as web services. Despite being a mature platform, we identified a few discrepancies in the framework documentation, and apparently the platform itself possesses some outdated dependencies (considering the state-of-the-art of web-related technologies and base frameworks, such as the http server and the graphical user interface). Also, the initial use of the platform raised questions related to its scalability, and how it could be used by a truly distributed system. Applying multiagent concepts to the proposed problem, however, was not difficult -most of the development effort was concentrated on learning and running the JADE platform according to the desired conditions. This work is meant to be a stepping stone to our research interests in the AOSE domain. Our long-term objective is to study and explore web-based agents and MAS from both the modeling and the implementation perspective, considering AOSE methodologies and new Web-related paradigms. The next steps in this research topic involve (i ) studying architectural patterns for web-based agents and related interaction protocols, as well as their relationship with existing agent modeling methods; and (ii ) exploring new Web-related paradigms and studying how web-based agents could be used in conjunction with such paradigms. From the development perspective, we intend not only to evaluate existing multiagent frameworks and Web-related capabilities, but also to explore the existing platforms considering the current state-of-the-art scenario in terms of technologies and tools. In particular, we intend to address the problem of implementing distributed MAS using the available platforms, and which are the current limitations in this sense.

As for our initial proof-of-concept, we intend to evolve it by (i ) implementing the same MAS in different frameworks, in order to establish a common baseline for future performance and scalability comparisons; and (ii ) expanding the BDI model used in the implementation, increasing the complexity of the agents and their associated reasoning processes. The next steps reside in (i ) expanding the BDI model (taking geographical constraints and group preferences into consideration), (ii ) the original related research (architectural patterns for web-capable agents and related interaction protocols, as well as their relationship with existing agent modelling methods) and (ii ) the implementation itself (comparing non-agent and agent-based approaches, automating the ticket booking process, improve shared events).

Fig. 1 .

 1 Fig. 1. Implementation architecture for the Smart Agenda agents

https://www.w3.org/TR/ws-arch/

http://www.opengroup.org/subjectareas/soa

http://jacamo.sourceforge.net/

http://jade.tilab.com/doc/tutorials/WSIG Guide.pdf

https://aws.amazon.com/polly/