A Dynamic component-based approach to design and implement Grid Services

Regarded as the following step of conventional distributed computing, grid computing becomes more and more popular. It puts the focus on large-scale resource sharing, including new pervasive technologies. To allow heterogeneous entity to share their resource, and more interesting their information and their knowledge, it is necessary to propose solution for integration and interoperability. Our aim is to propose an approach viewing component like an abstraction of grid services. In this paper we try to define an overview taking into account the parameters of the new context like the dynamic character of the grid. We also consider that grid approach gives new perspectives for e-learning and, particularly, for informal learning. Therefore, we introduce our research area and our orientation in the ELeGI project.


INTRODUCTION
Grid computing has emerged as an important new field, distinguished from conventional distributed computing by its focus on large-scale resource sharing, innovative applications, and, in some cases, highperformance orientation [7].Initially conceived to solve the need of supercomputing, we find on it the way to share knowledge and information.The term "the Grid" refers to a networkbased computing infrastructure providing security, resource access, and other services that enable controlled and coordinated sharing of resources among "virtual organisations" formed dynamically by individuals and institutions with common interest.[7] The grid is a support where virtual organizations or communities will evolve with the aim of sharing services.Each community will be impressed of heterogeneity by the nature of the entities which constitute it.To summarize, one will be able to say that a grid : -coordinate a whole of resources with a totally decentralized control.
-use standards and open protocols and interfaces.
-ensure a certain quality of service to its users In [13], authors raise that "perhaps the most important feature of current and future distributed software systems -in particular within the Semantic GRID context -is their foreseen ability to integrate and coordinate on the fly the available services.In fact, the open service's composition is becoming a central concern addressed by different communities such as: Semantic Web services, Multi-Agent Systems and Gridcomputing.The idea is to consider services offered on the Internet as virtual organisations and businesses engaged in long lasting transactions (interactions and movement)."It would be relevant to raise some interesting characteristics that the new context of grid offers, like peer to peer mode of interaction, use of virtual organisation (which we call "Virtual community") and the properties of agents, ontologies and components for an original vision of grid services.Finally we will show how we imagine to develop our orientation on the context of the Elegi project implementing a high level service (e-qualification) and its consequences on grid services design.The Grid community has historically focused on "brawn": infrastructure, tools, and applications for reliable and secure resource sharing within dynamic and geographically distributed virtual organizations.In contrast, the agent community has focused on "brain": autonomous problem solvers that can act flexibly in uncertain and dynamic environments [Fos04].Yet as the scale and ambition of both Grid and agents deployments increase, we see a convergence of interests, with agent systems requiring robust infrastructure and Grid systems requiring autonomous, flexible behaviors.Motivated by this convergence of interests, we review the current state of the art in both areas (part 2 and 3), review the challenges that concern the two communities.Then, in part 4, we propose our orientation based on our past works and we introduce our proposal within the ELeGI project.

Peer to Peer (P2P)
In [24] a definition of Peer to Peer(P2P) is given: "A distributed network architecture may be called a Peerto-Peer (P-to-P, P2P,.) network, if the participants share a part of their own hardware resources (processing power, storage capacity, network link capacity, printers,.).These shared resources are necessary to provide the Service and content offered by the network (e.g.file sharing or shared workspaces for collaboration).They are accessible by other peers directly, without passing intermediary entities.The participants of such a network are thus resource (Service and content) providers as well as resource (Service and content) requestors (Servent-concept)."In [8], Foster and Kesselman underline the interest of P2P and compare this mode of sharing to the behavior the members of the virtual organizations must adopt.However much of efforts still remain to make so that the P2P is really interesting, as the development of common protocols which would allow the exchange between various infrastructures.However, from the increasing complexity of the applications and the growing need for interoperability convergence between P2P and Grid will undoubtedly be inevitable.And one consequently sees significant efforts which open this way like the design of mobile agents for the deployment, the dynamic adaptation and the localization of software components for the maintenance of P2P systems suggested in [21].Moreover, tools such as platform JXTA [17] developed by Sun propose already an interesting support for the activities between peers.JXTA philosophy let the choice of implementation to the developers due to the open and flexible character of the platform [18].

From Virtual Learning Community (VLC) to Virtual Learning Groups among Community (VLGC)
In ELeGI [23], Virtual Learning communities can be conceptualized as "social aggregations that emerge from the Net when enough people carry on those public discussions long enough, with sufficient human feeling, to form webs of personal relationships in cyberspace".VLC are dynamic groupings of individuals that evolve over time to adjust in changes in requirements or to satisfy new requirements.Commonly, a virtual community is a group of grid entities having the same objectives, the same activities.Their are grouped to enrich their knowledge or to support their wellbeing on the grid.To share and improve their abilities, this entities need a flexible and secure access to the others.Grid Learning Services (GLS) support dialogue between learning activities.One of these learning activities is the informal learning aspect.(more detailed in part 4).Adapted to its kind of activity, we define working groups, based on VLC definition, which we call Virtual Learning Group among community (VLGC).A natural way to implement VLGC is the agent paradigm, more precisely the multi-agent paradigm, because of the distributed and autonomous advantages.Moreover, with the consideration of the nature of the sharing in these communities, P2P agents seems to be the right trend to a totally decentralized solution [28] [21].However, to profit from these advantages, it is necessary that each peer can understand its neighbours, the other peers of it VLGC.Consequently a certain level of interoperability is essential.In |Rom04], the concept of trust is approached and we still find there the flexible and secure need.Trust has an invisible and implicit presence in all social interactions.Social trusting decisions are based on personal observations of previous interactions and recommendation/ delegation from partly trusted third parties.Trust is inherently linked to the risk concept.A solution suggested is to refer to "reputation indicators".

Grid service
A grid service is a service that conforms to a set of conventions (expressed as WDSL interfaces, extensions, and behaviors) for the purpose of lifetime management, discovery of characteristics, notification, and so on [26].Specifications of these interactions between services are independent of their hosting environment.Use of standards and popularity of web services justify that their are the best way of thinking grid services.A grid service is no more than a web service which obey to certain specification which are produced in OGSI (Open Grid Services Infrastructure) specifications.[9][27].The Open Grid Services Architecture shows how Grid computing can take advantage of Web services and build a service-oriented architecture for the Grid model.It introduces the idea of a stateful Web services and defines approaches for creating, naming, and managing the lifetime of instances of services.In January 2004, a new standard was announced to achieve the convergence between web services and grid [4].This new step, called WSRF, was adopted to deal with OGSI's problems.WSRF partitions OGSI functionality into five distinct, composable specifications.In addition, WSRF harmonizes with web services using pure WSDL for interface description.WSRF also explicitly separates the service from the state.In [10], authors underline that "the service-oriented view partitions the interoperability problem into two subproblems : the definition of service interfaces and the identification of protocols that can invoke a particular interface".Our contribution takes into account these two points.First we introduce a high level services which we call "e-qualification" and secondly we propose the e-portfolio with the extraction of signatures (more detailed in part 4).Following the example of OGSA (Open Grid Services Architecture), software frameworks like GRASP [6] provide core services to manage grid entities in Virtual Organizations.

ON-DEMAND ONTOLOGY AND P2P AGENTS
The real and specific problem that underlies the Grid concept is coordinated resource sharing and problem solving in dynamic, multi-institutional virtual organizations.The sharing that we are concerned with is not primarily file exchange but rather direct access to computers, software, data, and other resources, as is required by a range of collaborative problem-solving and resourcebrokering strategies emerging in industry, science, and engineering.[8].A concensus is being formed around certain types of grids which seem most interesting, namely the P2P Grid and the use of the virtual organizations.It is in this context that us our work will place.Heterogeneity, the distributed character of the resources justify an effort of standardization with the use of standards.The various current efforts of standardization through the fields of the web services and the semantic web make it finally possible to give a definition of grid services.The semantic Web, suggested initially by the W3C [3], is initially a new infrastructure having to make it possible software agents more effectively to help various types of users in their access to the resources on the Web (sources of information and services).In [20], the authors underline the significant convergence of research on this field with the development of tools and languages become standard today (RDF, OWL, DAML-S).Knowledge used, for example in the form of semantic markers, must be based on ontologies in order to be able to be shared and provided with operational interpretations.The concept of metadata is in the heart of the approach with a great diversity in the interpretation and the use of this concept.Within the same framework than the semantic web, ontologies impose themselves like a paradigm of representation and treatment of knowledge.Ontologies provide a framework of representation and structuring of knowledge.The description of a grid service is meant to capture both interface syntax, as well as semantics [12].Consequently, it is clear that ontologies are a fundamental building block for a semantic grid [5].
In addition, multiagent systems research addresses a problem space which is closely aligned to that of the Semantic Grid [5].It is clear that grid services need dynamic decision making, decentralization, coordination, and autonomous behavior to realise virtual organisations [11].Agents are a service oriented model (each agent is a peer: consumer/broker) with two main skills : autonomy that give the way to the answer of the dynamicity of grid services, and negotiation abilities that will be useful to obtain a WS-Agreement [1] and certainly a good base to negotiate a trust.With the sight of these considerations, the agents sharing ontologies naturally, and evolving already under conditions close to that of entities of grid, it appears obvious to take into account their technological projections and to mix it with a service-oriented or component-oriented approach.

. A COMPONENT-BASED APPROACH
More and more of researchers recognize that agents and components have complementary advantages.On the one hand, component concepts are useful for the design and the deployment of modular and reusable multi-agent systems.And, on the other hand, as we have seen in the previous paragraph, autonomy, adaptation and coordination are relevant for the components and their composition.Agents are a promising new approach for designing and building the increasingly complex software systems that are part of the essential infrastructure of modern society.Structuring software as a collection of autonomous agents can give a number of benefits including increased flexibility, adaptability, and robustness.However, much of the research on agent-oriented software engineering is done by a research community that has strong links to agents, but weaker links to mainstream (non-agent) software engineering and to industry.In order for agent technology to make the shift from research labs to industrial practice, bridges must be built between the agent research community and the software engineering research community, and between researchers and practising software engineers.There have already been some events that have begun this process, such as the workshop on agent-oriented methodologies at OOPSLA, and SELMAS which is held in conjunction with the International Conference on Software Engineering (ICSE 2005).There has also been interest in agent technology from industry, for example, the Object Management Group (OMG) have recently issued a request for information (RFI) on modeling agent-based systems.

The Ugatze approach
Our team, ISIHM (Systems Engineering, Human-Machine Interaction) is concerned with the engineering of complex systems.Complexity is due, on the one hand, to the heterogeneity of the entities, often born of their distribution, and on the other hand to their re-use whereas they were not necessarily conceived for.This type of re-use, called "a posteriori", is relatively little studied.Strongly attached to the "industrial" circle, these emergent problems are generated by the need for making evolve the information systems (IS) to make them in conformity with the economic (fusions...) and technological (networks...) requirements.These new systems were outlined in a "white paper" published in the United States in 2001 [19].Another originality of our work holds in their "transverse" character.We tackle simultaneously the re-use and interoperability (in order to allow the heterogeneous re-used entities to interact), whereas these two fields are generally studied in a partitioned way.The selected approach falls under the "component" paradigm, characteristic of the re-use.Then, the investigation field goes from the phase of design to the phase of implementation, which constitutes one of the characteristics of works.[2] The components we consider are software components with a "high level of abstraction" (in opposition to components handled in the "technological" platforms).Such components are characterized by an autonomy in terms of design and execution (program, application...), as well as a capacity to interact with other components.Rising from these considerations, the results of the Ugatze proposal [25] can be presented according to two axes: the "development cycle" of the system, and the "implementation" of the activity of engineering.On the "development cycle" axis, the contribution goes from the specification (of the components to re-use using (meta)model proposed) to the implementation of the system (in heterogeneous distributed environments based on "middlewares" like CORBA, EJB...), including the system design (software architecture).One of specificities of our work, which dissociates them from MDA approach, is to manage the case where the system is not established on a single platform (target) but on several platforms which, consequently, must be able to interact by the means of "bridges of interoperability".In practice, this case is frequent if we consider "legacy components".The "implementation" axis is considered through the metamodel (ugatze), based on the concepts of component (specified by an interface equipped with various types of interaction points) and of interaction between components being based on these points of interaction, making it possible to manage "conceptual" interoperability.A whole of basic interactions is proposed, that it is possible to extend "on-demand".A process (models driven, in the same idea of MDA approach, considering the model as a first class entity) is associated to the exploitation of the metamodel.This process is based on a whole of operations making it possible to handle the models (transformation...) in a reference frame, until the establishment of the system and the implementation of "technical" interoperability by the means of the bridges of interoperability mentioned above.Lastly, a whole of tools makes it possible to instrument the approach.The results described above were validated within the framework of the ASIMIL (Aero user-friendly SIMulation-based Learning) European project which constituted the field of experimentation of our proposals.

The new challenge
The model suggested is tested within the framework of the European Learning Grid Infrastructure (ELeGI) started in 2004.The ELeGI project has the ambitious goal to develop software technologies for effective human learning.The engineering of (complex) systems based on "Grid Services" constitutes a new framework of work, and a new field of experimentation.This work positions perfectly in the line of research described above (re-use of existing "services", interoperability due to heterogeneity of these services).However, as regards distribution the framework is fixed by the Web, its subjacent technologies (SOAP, UDDI...), and the emergent proposals such as for example OGSA (Open Grid Services Architecture).New dimension to take into account is the dynamic aspect which we had not approached before.The software architecture of the system evolves at the execution phase.Everyone agrees to regard the dynamicity of the grid as the major challenge to raise.The dynamicity evoked illustrates the validity of information, of the services, at one moment (t), which will not be inevitably the same at another moment (t+1) (disconnection, breakdown of network, unavailability...).To compose services, like the traditional techniques (Corba, EJB, NET...) propose it, loses its direction in this new context because the result of the composition thus obtained is static.Consequently, our research task consists in rendering grid services integrable.As we suggest in the previous part, agents and ontologies will play an important place in the grid service deployment activity.The contribution of the "agent" paradigm, applied to the MAS (Multi Agents Systems), constitutes a way we start to explore, registering us in an emergent tendency aiming at combining the advantages of the "agent" and "component" paradigms.

Contribution in ELeGI
The European Learning Grid Infrastructure (ELeGI) project has the ambitious goal to develop software technologies for effective human learning.Nowadays, almost the totality of the objects designed for the e-learning are based on a formal evaluation of the trainees.That is explained naturally by the nature of these designed objects: MCQ, formal exercises… However an observation appears obvious.The social aspect present in debriefing exchanges to explain errors of learners for example, present in exchanges between learner/instructor or learner/learner, or more generally present in activities not "predicted" ("formalised"), is not or little taken into account.This type of training is called "informal learning" in opposition to the traditional "formal learning" techniques.Our contribution aims to propose a method for evaluation, of qualification of the user integrating this aspect.We contribute at the definition of Elegi software architecture providing a basic service which we call "equalification".[14][15] [16].The informal learning takes place in a social context : during conversation, interaction between learners, tutors, etc.The best environment for this kind of learning would be virtual learning communities.Moreover, the exchanges between learners and/or teachers would be more efficient if there is no centralization in the virtual community in which they belong.That is why, we must takes the advantage of the GRID architecture which allows (and is well adapted) to work in Peer-to-Peer and use this kind of communication mean in our virtual communities .The EleGI project, has already envisaged the use of Virtual Learning Communitites (VLC) [23].However, these kind of communities are running with a Client/Server system.That is why, we propose to create a specific version of virtual learning communication, adapted to the e-qualification or more generally to the informal (and formal) learning.These communities, which will run with a Peer-to-Peer communication mode, will be called : Virtual Learning Group among Communities (VLGC).
The e-qualification has two functions : -Intra-community e-qualification : this process helps the trainee to evolve inside his community : during debriefing, the « peer » associated to the user will learn from the other « peer » and then will transmit these new knowledge to the user.
-Inter-community e-qualification : this process allows the user to find the best community : with using a matchmaking process with the signature of the peer (trainee) which is searching a new community, and some other peers.When there is an overlay of two signatures, that means that the peer (who was searching) can integrate the community of the other peer.Our goal is to give to each agent a better interpretation, and to support its behavior, its integration, during interactions with its peers, particularly during debriefing phase.To make it possible, a common ontology is necessary.So, we introduce a component , rather a common interface, which we called e-portfolio.
Then, we propose to regard the E-portfolio as model of each individual, reflecting knowledge and abilities.It is on this level that we introduce the need for having a common ontology, an on-demand ontology.The match-making process presented in [28] needs this new element to share and compare common skills between two peers.
Of course, it is not conceivable to see each peer with an e-portfolio containing the same skills.What is much more realistic is to have the possibility of comparing a signature of an e-portfolio with another one.We call signature of E-portfolio a subset of the e-portfolio.Then, the question which arises is: How is defined this signature?Which keywords have to be selected?Which nodes of the ontology are relevant?Two aspects are to be taken into account: -The first use of the signatures is used for the inter-community e-qualification activity.This activity consists in defining in which environment an entity will feel to evolve best.According to the activity or "trade" that a grid entity will wish to achieve, a significant part of the e-portfolio for this activity will have to be selected and will be defined as a common signature for the activity.Two possibilities are offered then to determine this signature.The first idea is to delegate to each entity the task to propose the signature which it thinks of being adequate.The second idea consists in saying that each trade will have to define a relevant signature.This second consideration reduces work to be carried out for each peer in "a simple" extraction of the signature -the second use of the signatures deals with the activity of intra-community e-qualification activity.This time, we do not place ourselves any more in optics to direct an entity towards a community appropriate to its evolution, but the e-portfolio will play its most essential role which is to take part in the social exchanges.Each peer evolves in its community and reacts to events.When it wishes to enter in interaction with another peer, it is necessary that it can translate the object of its interaction through a signature.Then , it is seen that each peer must be able to carry out an extraction of signatures.Therefore, through these proposals for the management of learning activities, what is our approach orientation to integrate our past works ?The dynamicity is a constraint still increased in the area of learning, and especially in informal learning activity.Debriefing phases between learners, for example, add the problem of predictability for the system.Therefore, on-demand solutions have to be proposed.Proposition of our team is to implement e-qualification inside a process called Grid-e-card [28] using the eportfolios which we have describe.Our contribution for EleGI aims to propose a framework allowing the specification of e-qualification process, including interaction point of e-portfolio dynamic management.In the Elegi project we aim to encapsulate grid services with a set of components (Ugatze tools) to allow them to be able to use on-demand ontologies.To specify our orientation, we think of testing our tools, and developing news ones, with interaction points found in the signature of e-portfolio that we mentioned.In ELeGI, we propose to experiment our framework with its tools in ASIMIL [22].For us, the e-qualification as a basic service for grid systems and the e-portfolio with dynamic extraction of signatures using on-demand ontology are perfect examples to illustrate our research.And we hope that mixing the both paradigm, components with agents, is the best way to resolve this type of problem.In any case, give autonomy, negotiation abilities to components paradigm is a sure issue for the development of grid solution.

ACKNOWLEDGEMENTS
"Work partially supported by the European Community under the Innovation Society Technologies (IST) programme of the 6th Framework Programme for RTD -project ELeGI, contract IST-002205.This document does not represent the opinion of the European Community, and the European Community is not responsible for any use that might be made of data appearing therein."

CONCLUSION
This paper has the aim of positioning our research orientation by approaching the new Grid context and its consequences.We noted that the flexible character of the Grid and the heterogeneity of entities evolving there generate new stakes.One of these major stakes is to give solutions to the dynamicity for the integration and the composition of grid services.Then we have tried to give the base to design an approach defining dynamic components allowing the exchange between grid services.We suggest that the works of our team on the Ugatze methodology are an interesting starting point.We propose to use components like an abstraction of grid services.And we underlined the importance of a mixing (component/agent) approach to perform semantic grid level.Therefore we suggest to follow the current tendency of integrated components and agents.Finally, through the example of the e-portfolio presented in this article like a dynamic grid component, we will try to validate such an approach.