Manuele Kirsch-Pinheiro

Manuele Kirsch

Marlène Villanova-Oliver

Jérôme Gensel
email: jerome.gensel@imag.fr

Hervé Martin
email: herve.martin@imag.fr

Context-Aware Filtering for Collaborative Web Systems: Adapting the Awareness Information to the User's Context

Keywords: H.4.1 [Information System Application]: Office Automationgropware H.5.3 [Information Interface and Presentation]: Group and Organization Interface -computer-supported cooperative work, collaborative computing Algorithms, Management, Design User adaptation, context-aware computing, collaborative web systems, awareness support

We propose a context-based filtering process which aims at adapting the awareness information delivered to mobile users by collaborative web systems. This filtering process relies on a model of context which integrates both a physical and an organizational dimensions and allows to represent the user's current context as well as general profiles. These profiles are descriptions of user's potential contexts and express the awareness information filtering rules to apply when the user's current context matches one of them. These rules reflect the user's preferences given a context. We describe how the filtering process performs in two steps, one for identifying the general profiles that apply, and a second for selecting the awareness information. We also discuss the patterns matching algorithms used in the filtering process to compare the contexts descriptions.

INTRODUCTION

The introduction of new web-enabled mobile devices, such as laptops, PDAs and cellular phones, entails more flexibility for mobile users who may easily access collaborative web systems from any place using these devices. Nevertheless, these mobile devices, despite their evolution, still have some limitations. We may cite, for instance, their reduced display and memory capacities or their limited wireless bandwidth and battery life [START_REF] Jing | Client-server computing in mobile environments[END_REF]. In addition, the circumstances under which users access those systems are constantly changing: users move, changing their physical location, they use different devices and they are involved in various collaborative processes. For these reasons these systems should now be able to adapt the delivered information (and the services they offer) to the users according to their context of work.

Recently, some works have been proposed in this direction (e.g. [START_REF] Lemlouma | Context-aware adaptation for mobile devices[END_REF] [START_REF] Muñoz | Context-aware mobile communication in hospitals[END_REF]). However, these works try to adapt the information delivered to the user by selecting or transforming its content, according the user's physical context (i.e. her/his current location, device, etc.). They give a limited importance to the user's preferences and to the collaborative processes in which she/he participates.

In this paper we propose a new approach relying on a contextbased filtering process which is based on general profiles which describe both the user's current context and her/his preferences. We adopt an object-oriented modeling of the user's context [START_REF] Kirsch-Pinheiro | Representing Context for an Adaptative Awareness Mechanism[END_REF], which takes into account both the user's physical and organizational contexts. The latter refers to the knowledge about the collaborative process in which the user is involved, including concepts like groups, roles, activities, etc. We consider that this knowledge should be part of a mobile user's context since this user, when accessing collaborative web systems, is also concerned by some collaborative process. In our approach, we specially focus on collaborative web systems which support asynchronous work, such as BSCW [START_REF] Appelt | What groupware functionality do users really use? Analysis of the usage of the BSCW system[END_REF] and Toxic Farm [START_REF] Skaf-Molli | Toxic farm: a cooperative management platform for virtual teams and enterprises[END_REF]. These systems are more and more accessed through mobile devices, and we believe that delivering an informational content adapted to the user's context and to her/his preferences may help her/him to optimize her/his work, and consequently, the entire group's work.

We propose here a context-based filtering process, which first selects, according to the current user's context, the predefined user's preferences for this context, and then filters the available information according to these preferences. We show how this process can be used by the awareness support component of collaborative web systems 1 . This component handles the awareness information, which stands for the knowledge a user has about the group itself and her/his colleagues' activities, providing this way a context for individual activities. This context is used to ensure that individual contributions are relevant to the group's activity as a whole and to evaluate individual actions with respect to the group's goals and progress [START_REF] Dourish | Awareness and Coordination in Shared Workspaces[END_REF]. We assume that our contextbased filtering process is embedded in such a component for performing the filtering of the awareness information before sending it to the user. This paper is organized as follows: in Section 2 we introduce the context-based filtering process. We present the model of context we adopt and describe in details the two steps that compose the process. In Section 3, we show some preliminary results. We compare our proposition with other related works, in Section 4, before we conclude.

CONTEXT-BASED FILTERING

The context-based filtering process we propose is based on an object-oriented model of context (cf. Section 2.1). This model is used to represent, on the one hand, the real current user's context and, on the other hand, general profiles. A general profile is the description of a potential context that might characterize the user's real situation and expresses filtering rules that should apply when this happens (i.e. when the user's current context matches the general profile context description (see Section 2.2)). The filtering rules reflect the user's preferences considering the context associated with the general profile (for instance, what is the awareness information she/he wants to be informed of). Please note that we assume that awareness information is represented by events following the model proposed by [START_REF] Kirsch-Pinheiro | Framework for Awareness Support in Groupware Systems[END_REF]. Basically, an event describes some information related to a given process which can be useful for the collaborative process. The filtering consists in selecting relevant event instances from the available set of events generated by the system (see Section 2.3).

Representing the User's Context

A collaborative web system, in order to exploit the user's context, has obviously to represent somehow this notion of context. In this work, we adopt an object-oriented model [START_REF] Kirsch-Pinheiro | Representing Context for an Adaptative Awareness Mechanism[END_REF] using a UML schema in which classes represent both the user's physical context (location, device, application) and the user's organizational context (group, role, member, calendar, activity, shared object and process). The Figure 1 shows how the concept of context we use is represented by a class context description which is a composition of both physical and organizational concepts mentioned above. These concepts are represented through a common superclass, called context element.

The Figure 2 focuses on the classes related to the user's organizational context (group, role, member, calendar, activity, shared object and process) and their relationships. This view allows us to show that each element of context is not an isolated information but does belong to a more complex representation of the user's situation. We claim that these concepts and their relations bring some knowledge that can help to determine the relevance of an event for a mobile user. For instance a user may be interested in some awareness information about an activity only if it is performed by a given colleague of her/his before a certain date. We have implemented the context model using the java API of the AROM system [START_REF] Page | A New Approach in Object-Based Knowledge Representation: the AROM System[END_REF]. AROM is an object-based knowledge representation system, which adopts classes/objects and associations/tuples as main representation entities. Using AROM, we created a knowledge base (KB) whose content are the classes and the instances of this UML schema. This KB is populated by three kind of knowledge. First, the classes and associations related to the system and the working environment are defined and instantiated. For instance, the process is defined as well as its component activities, the group's members (i.e. users), the application (services) the system offers, etc. This knowledge constitutes the awareness information basis. Second, the KB also stores the descriptions of potential contexts associated with general profiles established for the different users. These descriptions represent the situations in which a general profile is valid (i.e. should be used to filter the available events if the user's current context description matches). Third, the KB also keeps the instances of context description which represent the current context of the active users. These instances represent a knowledge dynamically updated by the system according to each user's behavior, and which can be discarded once the user is no longer active.

It is worth noting that the AROM system gives us some interesting advantages: its Java API allows an application to handle and to modify a KB during the execution time. Thus, a collaborative system may adjust the KB by creating new instances, by modifying existing ones, or even by introducing new classes, associations or attributes. This allows the system, for instance, to dynamically register the battery level of a device.

Step 1: Profile Selection

The proposed filtering process is based on the concept of general profiles. We have previously explained that a description of some potential context is associated with such a general profile in order to represent a situation which can be encountered by the user and thus to apply adequately a filtering process. Please note that general profile do not only concern users, but aim at representing the preferences and the constraints the system should satisfy for any given context element (user, group, role, device…).

For mobile users and group roles, this concept specializes in preferences (see Figure 3), describing the preferences of the user or her/his role concerning the informational content that should be delivered by the system. For devices, it specializes in characteristics, describing the capabilities of the referred device (similar to the profile schemas defined by [START_REF] Lemlouma | Context-aware adaptation for mobile devices[END_REF]).

We assume that each user (or the system designer) may define several profiles and the situations in which they are valid (i.e. the description of the potential context, called the application context). This means that each user may define what information is relevant to her/him and under which circumstances. Hence, we define the general profiles as a set of the components (see Figure 3): an owner (for who/what the profile is defined), the application context to be considered, a set of event types to be selected, and a set of conditions to be checked. General profiles are also classes of the knowledge base (see Section 2.1), and they are associated with the context description class (as the application context is an instance of context description). In addition, it is worth noting that each general profile may have multiple application contexts, i.e. multiple situations in which the profile is valid. The set of event types that composes each profile is used to indicate what informational content is considered as relevant, that is, what types of events should be delivered to the owner (see association sign up in Figure 3). General profile may also indicate a priority order for these event types, as well as a time interval in which their instances are suitable for the owner. Finally, a set of conditions related to the context in which an event takes place (for instance, if the event has been produced in a given location, or if it has handled a given shared object) is represented as an attribute of the class GeneralProfile.

These elements (i.e. the set of event types with the associated priority order, time interval and conditions) constitute the 'rules' of each general profile. These rules are the ones applied in the second step of the filtering process (cf. Section 2.3).

The first step of the proposed filtering process consists in selecting the general profiles which are valid with regard to the user's current context. This selection is performed by comparing the application context related to the available user's general profiles with the user's current context. Please note that these two kind of context are both instances of the class context description in our model. For each general profile, we test if one of its application contexts has the same content or is a subset of the user's current context description. If the test is positive, then the profile is selected to be applied. In order to perform this subset relationship, we consider that each context description instance together with its components context elements instances define a graph, where the nodes represent the instances and the edges between them represent the tuples of associations involving these instances. Thus, a context C is a sub-context of a context C' whenever the graph corresponding to C is a subgraph of the graph corresponding to C'.

The subgraph relationship is established using a quite simple pattern matching algorithm. This algorithm is based on the operations equals and contains: i) A node N is considered as equal to a node N' if the instances that define them have the same values for the same variables. ii) An edge E is equal to an edge E' if they connect nodes that are equal. And iii) a node N contains a node N' if, for each edge E' connecting N' to a node N", there is an edge E connecting N that is equal to E'. Then, a graph C is a subgraph of C' if the latter contains the former.

As an illustration, let us consider a team coordinator ("Alice") that is accessing a web-based system which supports shared repository, collaborative editing and asynchronous communication. She is accessing the system from the company central office using her pocket PC, in order to consult the latest notes about a report that her group is writing. When she asks for these notes, the context description instance that represents her current context is the one represented in Figure 4.

Considering that Alice has two available profiles, one related to the report activity and another related to her personal office, these profiles are associated to the context description instances represented in the Figure 5, which contain, for the first profile, context elements referring to Alice's role and to the 'report' activity (instances of role and activity classes, respectively), and for second profile, context elements related to Alice's office and desktop PC (instances of location and device classes).

The selection process will compare these instances of context description with the one currently related to Alice. It will select only the first profile, because its context description is a subset of Alice's current context, as we can see in Figure 6. In fact, all instances belonging to the context description of the first profile have equal instances into Alice's current context. In the other hand, there are instances in the context description related to the second profile that are not present in Alice's context: the instances representing Alice's office and her desktop PC have no equal instances in the Alice's current context (the location instance 'central office' differs from 'Alice's office', and the device instance 'pocketPC' differs from 'desktopPC'). That is why the second profile is not selected in this first phase of the proposed filtering process.

Phase 2: Filtering Events

Once all the applicable profiles have been selected, the second step of the filtering process compares the criteria defined in these profiles (event type, time interval and context conditions) to the information carried by the available events. Thus, among all events, the process selects only those which correspond to these criteria. In other words, this step applies the 'rules' defined in each selected general profile to the set of available events.

As we stated before, events carry the awareness information that can be delivered to any user. Each event represents a set of useful information about a topic, which can be statically defined by the system when generating the event instance, or dynamically defined through queries in the knowledge base. We have defined a basic Event class which contains some attributes that we consider as primordial (see Figure 7): an event name, a description, some details about it, a time interval in which it occurs (or has occurred), some media describing its content, and two query string, which can be used to dynamically capture content for the 'description' and 'details' attributes. We also consider the event as referring to one or more elements of the knowledge base, since it carries on some information about a topic. In addition, each event instance is associated with a context description instance, representing the context in which the event has been (or should be) produced.

Therefore, the event filtering is achieved as follows: for each selected profile, the algorithm selects from the set of available events all the events whose type corresponds to a type signed up by the profile. Then, it restricts the selected events to those which have occurred (or should occur) in the interval indicated by the profile. Next, the algorithm applies the set of conditions related to the context of the event expressed in the profile. It checks, for each selected event, whether its context description satisfies these conditions (for instance, if the event was produced in a given location or handles a shared object). Finally, the algorithm orders all the events that satisfy all these criteria according to the priority order defined in the profile.

To illustrate, considering the user Alice, we assume that her selected profile (the one related to the 'report' activity) includes the event types "new comments" and "modified document", with a time interval corresponding to the last week and, as condition, the fact of handling the shared object "report04.html". In this case, after the execution of this filtering second step, Alice will receive all events that have occurred last week and that describe new comments about or modifications of the document "report04.html" (i.e., events whose context descriptions include the instance of shared object representing this document). At the end of the proposed filtering process, an ordered (by priority) set of selected events will be available for delivering to the mobile user. This set will probably better suit the current mobile user's context since it accords the user's profiles defined for this context. Additionally, this set will have fewer elements than the available set of events, reducing the risk of an information overload to the user. However, before delivering the set of selected events, we strongly suggest to apply over this resulting set, other adaptation algorithms, such as those proposed by [START_REF] Lemlouma | Context-aware adaptation for mobile devices[END_REF], [START_REF] Schilit | Web interaction using very small Internet devices[END_REF] or by [START_REF] Villanova | A progressive access approach for web based information systems[END_REF], mainly in order to adapt the presentation of the selected events to the mobile device.

PRELIMINARY RESULTS

We have implemented the proposed filtering process using the AROM system and the awareness model proposed by the BW framework [START_REF] Kirsch-Pinheiro | Framework for Awareness Support in Groupware Systems[END_REF]. We have built a knowledge base in which we keep the instances of the context model as well as the profiles and the events. We have performed some tests simulating some situations encountered when using a collaborative web system which proposes shared repository and synchronous/asynchronous communication features. The simulation uses five users and fifteen profiles definitions, and we have evaluated different types of pattern matching algorithm acting on the equals and contains operations. We have employed two versions of the equals operator (one that considers only perfect match -objects must be exactly equal -and another which allows to define a minimum percentage of similar attributes in the objects), and two versions of the contains operator (one that compares only equal instances, and another that compares the graph from two instances, even if they are not equal).

These tests have showed the validity of our filtering process with regard to a user's current context. They have also demonstrated some critical points. First, using distinct versions of the equals and contains operators presents different results: the most satisfactory came from the most flexible versions (equals with predefined limit, and contains with the comparison of different instances). Then, the definition of the application context related to the general profile is more or less critical given the version of the operator. In fact, defining a detailed application context causes the non selection of the profile in most cases when using the first version of the operators. On the other hand, defining a too reduced application context causes its selection in almost all cases, especially when using the second version of the operators. As a result, in the former case, we have fewer selected events than expected, since we have fewer selected profiles to filter the events. In the latter case, mobile users will risk to be overloaded by the events, since we will probably select more events by applying more profiles.

RELATED WORKS

Regarding the context-aware computing literature, many works propose to adapt the information presented to a mobile user according to her/his context. We may enlighten the propositions made by [START_REF] Lemlouma | Context-aware adaptation for mobile devices[END_REF], [START_REF] Schilit | Web interaction using very small Internet devices[END_REF] and [START_REF] Burrell | Context-aware computing: a text case[END_REF]. The first two works propose to adapt the presentation of the delivered content according to the physical capabilities of the client device, whereas the latter proposes to adapt it by selecting the information according to the user's location. These works, as the majority of context-aware systems, adopt a representation of context which is limited to the user's physical context. Our proposition differs from these works by adopting a more complete representation of context, which takes also into account the user's organizational context. This is interesting for users of collaborative web systems, who are involved in some collaborative process. We are not concerned about the adaptation of the presentation, which is the case of [START_REF] Lemlouma | Context-aware adaptation for mobile devices[END_REF] and [START_REF] Schilit | Web interaction using very small Internet devices[END_REF].

Further, [START_REF] Muñoz | Context-aware mobile communication in hospitals[END_REF] presents a notion of context which includes some concepts related to the user's organizational context, particularly the role played by the user inside the collaborative environment. The authors propose a contextual instant messaging system, which allows users to specify a set of circumstances for a message to be delivered. Unfortunately, concepts like the activities and the collaborative process are not considered, and no formal model of the adopted notion of context is given. Additionally, authors do not propose any mechanism to allow a user to define what kind of messages she/he wants to receive, which is the case of the general profiles described here.

Finally, considering works which deal with awareness support in mobile devices, we may enlighten the system proposed by [START_REF] Hibino | handiMessenger: awarenessenhanced universal communication for mobile users[END_REF]. This system intends to provide means for opportunistic communication by integrating awareness information into mobile user's messages. This work differs from our by its notion of awareness, which is limited to the information about colleagues and their availability (corresponding to the notion of "group awareness" given by [START_REF] Liechti | Awareness and the WWW: an overview[END_REF]). We do not have this limitation, adopting a larger notion of awareness, defined by [START_REF] Dourish | Awareness and Coordination in Shared Workspaces[END_REF], near to the notion of "contextual awareness" given by [START_REF] Liechti | Awareness and the WWW: an overview[END_REF]. Moreover, this system does not have any filtering feature, even if these authors highlight its need [START_REF] Hibino | handiMessenger: awarenessenhanced universal communication for mobile users[END_REF]. We consider it then as an example of system which may benefit from the proposed filtering process.

CONCLUSIONS

In this paper, we have presented a context-based filtering process which proposes to adapt the information delivered to mobile user by filtering it according to the current user's context. This process adopts an object-oriented representation of context, which has been implemented using the AROM system [START_REF] Kirsch-Pinheiro | Representing Context for an Adaptative Awareness Mechanism[END_REF]. We have performed some preliminary tests using this knowledge base and the awareness model proposed by the BW framework [START_REF] Kirsch-Pinheiro | Framework for Awareness Support in Groupware Systems[END_REF]. These tests have showed the validity of this filtering process and how it can be adapted to different situations, and consequently, to different collaborative web systems.

We expect to extend the proposed filtering process by refining the pattern matching algorithm used to compare instances of the context description class. We are interested in defining different similarity measures, calculating more precisely the semantic distance between two instances, according to the system needs (e.g. what is considered by the system as an acceptable distance for a given class). In addition, we are also interested in refining the general profile definition, looking for a definition that allows a more powerful selection of the events, as well as mechanisms to define these profiles automatically, maybe through the analysis of the (evolution of) the user's context.

Figure 1 .Figure 2 .

 12 Figure 1. The composition of the context description

Figure 3 .

 3 Figure 3. UML schema describing the General Profiles.

Figure 4 .

 4 Figure 4. The context description related to the user Alice's current context (b) and the associations among the elements of this description (a).

Figure 5 .

 5 Figure 5. The context descriptions related to two different instances of General Profile.

Figure 6 .

 6 Figure 6. Graphs generated by the context description instances associated to Alice's current context (a) and her profiles (b) (c) .

Figure 7 .

 7 Figure 7. UML schema describing the Event class.

We consider systems which are architecturally made of components, such as communication or concurrency control, as proposed by the ANTS framework[START_REF] Lopez | ANTS Framework for cooperative work environments[END_REF]. The awareness support is one component of this architecture.


Line Jakubiec-Jamet
email: line.jakubiec@lif.univ-mrs.fr

A Case-study based on French Resources for the Semantic Analysis of Sentences in Coq

This paper presents an approach devoted to the formalization of sentence frames in the Coq system. Then, we instanciate these frames for performing a semantic analysis of simple sentences. We rely on a hierarchy of types for type-checking the conceptual well-formedness of sentences. To do so, we investigate how to exploit the particular features of the Coq type system for encoding the syntax-semantics interface and then we show how to combine it with large resources for french language : our hierarchy of type is based on the freely available french wordnet named WOLF; our lexicon can be easily extended using the dictionary of french verbs developed by Dubois and Dubois-Charlier.

Introduction

During the last fifteen years, the use of type theoretic methods for describing natural langage syntax and semantics has gained more and more popularity [START_REF] Christian | Systèmes déductifs et traitement des langues, un panorama des grammaires catégorielles[END_REF] [START_REF] Alain | Grammaire et théorie de la preuve : une introduction[END_REF] [START_REF] Philippe | Semantic Readings of Proof Nets[END_REF], resulting in the development of software relying on these methods. First, these type theoretic methods can be constantly improved with advances in the field of logic. Secondly, it is important to evaluate them on real linguistic resources. This paper relies on WOLF [START_REF] Valérie | Wordnet Creation and Extension make Simple : A Multilingual Lexicon-based Approach using Wiki Resources[END_REF], a french wordnet [START_REF] Fellbaum | Wordnet : An Electronic Lexical Database[END_REF] that is used to represent our hierarchy of types and on the LVF dictionary [START_REF] Dubois | Les verbes franc ¸ais[END_REF] that is used as the lexicon of verbs. This work focusses on a Coq formalization (Coq, 2014) of the syntax-semantics interface and it proposes an integration of lexical resources into the Coq logicbased system.

Related work

Among the theoretical achievements, let us mention the works on categorial grammars which provide the integration of syntax and semantics in the same framework as it is described in [START_REF] Michael | Categorial Type Logics[END_REF]. Categorial grammars are lexicalized that means that all items in the lexicon are typed. Although they describe syntactical rules, they also preserve the compositional aspect of Montague semantics. Experiences have been performed in [START_REF] Michael | Using the Spoken Dutch Corpus for type-logical grammar induction[END_REF]; it shows computational facilities of a logic tool based on categorial grammars using a Dutch lexicon. The most well-known categorial grammars are those based on Lambek-Calculus. Although many studies have already showed that it is natural to associate a syntactic term to a semantic type and the reverse (RANTA, 2009) (MOOT and R ÉTOR É, 2011) (MUSKENS, 2011), our approach implemented in Coq focusses on the generality of definitions leading to reusable specifications. In Coq, few investigations have been performed for natural language processing. An algorithm is developed in [START_REF] Yann | Explication textuelles de preuves pour le calcul des constructions inductives[END_REF] ; it produces natural language sentences from proofs described in a mathematical language. Later, for the case of categorial grammars, (ANOUN, 2005) gave a Coq formalization of the Lambek-Calculus and of an extension as multimodal grammars. In (LUO, 2010) and (LUO, 2012), the author studies specific features of type theories to obtain more expressivity in formal semantics.

The Approach using Lexical Ressources

Ontology as Concept Hierarchy, based on WOLF

For the paper, the verification of the sentence's conceptual well-formedness will be illustrated by a small part of a conceptual tree built from WOLF.

The path of the tree will be the following:

transport -> vehicule -> vehiculeAmoteur -> voiture
It describes a world from which it is possible to make sentences. This world is organized from transport. For example, a vehicule is classified into the transport category. In this path, each node is labelled by a conceptual information that can be specified as a type. Thus, for organizing this information, it is natural to consider the subtyping principle. In typed definitions, a subtype may appear wherever an element of the super type is expected. More generally, in our verb's semantic representation, a type t 1 is compatible with a type t, if t 1 is a subtype of t. Consequently, a semantic representation parameterized with t will be valid for parameters of type t 1 and for all those of the lower part.

In Coq, we declare the conceptual types (transport, vehicule...) as logical propositions. Then, we use the coercion mechanism for describing the relations between types, as follows :

Coercion vehicule_is_transport : vehicule >-> transport.
Coercion vehiculeAmoteur_is_vehicule : vehiculeAmoteur >-> vehicule.

Coercion voiture_is_vehiculeAmoteur : voiture >-> vehiculeAmoteur.

Each coercion creates a path between two nodes of the tree. The whole list of coercions is ordered and it defines a conceptual hierarchy. Coq detects ambiguous paths during the creation of the whole tree (for example a tree that describes all the means of transport) and, it verifies the uniform inheritance condition where at most one path must be declared between two nodes.

Coq Semantic Representation of Sentences

Lexicon of Verbs, based on the LVF dictionary

For typing the verb's representation, we just use the conceptual types described in the section 3.1.

For each verb, we have to choose the best label which must correspond to the smaller type in the hierarchy. The LVF dictionary contains an exhaustive description of verbs with their formal properties and their semantic classification. Moreover, their scope is defined by syntax. This allows to describe the use cases of verbs (a verb can be used only with a subject or with a subject and a complement and so on). For our study, we rely on a class dedicated to the movement verbs.

For example, the verb to move (rouler in LVF that is defined on the domain V EH) can be used for all the vehicules. So, it is declared in Coq as a logical proposition by the unary predicate move as follows :

Parameter move : vehicule -> Prop.

Sentences as logical expressions

Let us consider the sentence A car is moving. It can be represented by the logical expression : ∃x, move(x) ∧ is car(x) where is car is a unary predicate of type vehiculeAmoteur → P rop. Finally, the sentence can be represented in Coq as follows :

Definition a_car_is_moving := exists x, move(x) /\ is_car(x).

But this specification is clumsy because it does not use the expressiveness of the Coq language.

Towards Generic Models

The category of sentences that we study is composed of a verb and a subject. Due to the expressiveness of the Coq language, we can generalize the representation given in the previous paragraph (in order to reuse it later), by specifying a general frame that states : ∃x, verb0(x) ∧ is something(x), where verb0 and is something are polymorphic predicates respectively parameterized on A1 and A, with A1 subtype of A. The complete specification in Coq is given below, inside a section : Technically, in the definition, the variable c is of type A1 (A1 is an implicit type). Outside the section, the local context of the definition is discharged. This means that A, A1, A1A, verb0 and is something will appear as parameters of the definition f rame verb0. So, f rame verb0 depends on two types, on a coercion which states a subtyping relation and on two predicates. It is a generic representation thanks to polymorphism (from the parameters A and A1) and higher-order (from the verb0 and is something predicates). This general definition is reusable for all sentences consisting of a verb and a subject.

Type-checking is Well-formedness Checking

This part shows how to use the general definition of the section 3.2.3. By instanciation of the generic model f rame verb0, we define the representation of the sentence A car is moving as :

Definition a_car_is_moving_gen := (frame_verb0 car_is_vehiculeAmoteur move is_car).

or, as well, the sentence A Rolls Royce is moving as :

Definition a_RollsRoyce_is_moving := (frame_verb0 RollsRoyce_is_car move is_RollsRoyce).

The Coq system performs the type-checking of these instanciations and so, it establishes the sentence's well-formedness. Other generic models based on verb's use have been implemented in Coq. For example, we describe several categories of sentences which are composed of a verb, a subject and a complement. But this is yet a case study and we plan to develop others models of sentences.

Conclusion and Perspectives

The work presented in this paper aims at studying the capabilities of the Coq system, in the field of semantic representation and conceptual analysis for natural language processing. The relevance of our encoding has been motivated by the particular features of the Coq system. It provides an unifying framework with a rich type system that allows to straightforwardly specify the underlying conceptual tree as well as to analyse semantic representations. The paper makes a connection with the use of resources, namely French Wordnet (WOLF) and a French lexicon of verbs (LVF). The approach can be summarized as follows :

1. definition of formal models for representing sentences by taking advantage of the Coq type system and its particularly rich language (polymorphism, higher-order logic, coercion mechanism, module system), 2. implementation of general specifications of sentences that can be checked for a conceptual analysis based on types, 3. use of type-checking algorithms involved into the Coq system, 4. combination of our formal development with WOLF for describing the hierarchy of concepts (encoded in Coq with types) and with LVF for taking into account the verb's lexicon and their semantic features.

We plan to improve current results by automating the importation of WOLF and LVF into the Coq system in order to work on complete resources of french language.

  of the generic model ** ) Definition frame_verb0 := exists c, verb0(c) /\ is_something(c).End General_frame_v0.


Manuele Kirsch-Pinheiro

Marlène Villanova-Oliver

Jérôme Gensel
email: gensel@imag.fr

Hervé Martin
email: martin@imag.fr

BW-M: A Framework for Awareness Support in Web-Based Groupware Systems

In this paper, we present a framework for contextbased awareness support designed for web-based groupware systems. Nowadays, such systems can be accessed through web-enabled mobile devices, such as PDAs and cellular phones, which allow their users to perform simple tasks, such as contacting colleagues or reading messages. However, these devices present some constraints related to their intrinsic characteristics (reduced display size, limited memory capacity...). These constraints make more acute the need for information filtering. We present a framework for awareness support which is able to adapt the awareness information to the user's context, in order to reduce the risk of information overload. This framework, called BW-M, selects among the available awareness information that which matches the user's, represented through pre-defined profiles, according her/his current context.

Introduction

Web-based mobile devices, such as PDAs, cellular phones and even laptops, bring new opportunities for collaborative work, and consequently, for web-based groupware systems. These opportunities come from the fact that users involved in a collaborative task can actually use such devices to work.

Perry et al. [START_REF] Perry | Dealing with mobility: understanding access anytime, anywhere[END_REF] have studied the behavior of mobile workers. These authors have notice that such workers need to keep contact with their office when they are involved in some collaborative process (such as, for example, to develop a product or to coordinate a project). They need to be kept aware of any relevant information related to this process (concerning their colleagues activities, the process deadlines, etc.), in order to improve it. In other words, they need some awareness support. Awareness in groupware systems refers to cooperating actors taking heed of the context of their joint effort [START_REF] Schmidt | The problem with 'awareness': introductory remarks on 'Awareness in CSCW[END_REF]. It refers to the knowledge and the understanding a user has about the group itself and her/his colleagues activities, providing a shared context for individual activities in the group [START_REF] Dourish | Awareness and Coordination in Shared Workspaces[END_REF].

Many works in the CSCW (Computer Supported Cooperative Work) community have stressed the importance of the awareness support for collaborative work, underlining the problems an inappropriate awareness support may cause (see [START_REF] Espinosa | Coming to the wrong decision quickly: why awareness tools must be matched with appropriate tasks[END_REF], [START_REF] Kirsch-Pinheiro | Framework for Awareness Support in Groupware Systems[END_REF] and [START_REF] Schmidt | The problem with 'awareness': introductory remarks on 'Awareness in CSCW[END_REF], as an illustration). One of these problems is referred as the information overload, which arises when users are confronted to a too massive and difficult to understand amount of information [START_REF] Villanova | A progressive access approach for web based information systems[END_REF].

In this paper, we present a framework for awareness support, called BW-M, which is designed to help developers to build web-based groupware systems, particularly those which support asynchronous work and which can be accessed through web-enabled mobile devices. These systems are naturally exposed to the problems these devices may cause (see [START_REF] Jing | Client-server computing in mobile environment[END_REF], [START_REF] Schilit | Web interaction using very small Internet devices[END_REF]). When regarding the intrinsic physical constraints of these mobile devices (their reduced display size, limited memory and battery capacities, frequent network disconnection, and so on), we observe that mobile users are more vulnerable to the information overload problem than users in a fixed device (e.g. a desktop PC), which do not have to face the same constraints.

We consider a mobile user as someone who disposes of multiple devices, among them mobile devices, and thus is able to alternate between different places and devices. The situation in which the user is currently accessing the system, including the device she/he is using, her/his location, the activities she/he is performing, and many other aspects, can be seen as the context of this user. If information presented to such a user is not related to her/his current context, it can be considered as noisy (inappropriate or disturbing). In fact, users generally use mobile devices to consult some available information which is needed in the current context (e.g. when away from her/his office, a user may use her/his PDA to consult only high priority messages related to her/his work group). They typically use these mobile devices in brief time intervals, in order to perform urgent tasks or to consult small, but relevant, amount of information.

All these considerations highlight the necessity of designing new web-based groupware system, which are able to adapt the information delivered to user, in order to match this information to the user's context and to reduce the risk of the information overload problem. One way to perform this adaptation is to select only information which can be considered as relevant for the current user's context (see [1] [10]). We focus on this approach by proposing a context-based filtering process inside the BW-M framework. This filtering process intends to select relevant awareness information, with regard to the user's context.

We have proposed in [START_REF] Kirsch-Pinheiro | Awareness on Mobile Groupware Systems[END_REF] a representation of context, described in UML, which differs from those traditionally encountered in context-aware systems (concerned only by the user's physical context -device, location, etc. [1] [8]) by taking into account aspects related to the collaborative process (group, roles, activities…). These aspects are very important for mobile users who are involved in such a process.

The filtering process uses this representation, in the one hand, to represent the current user's context, and, on the other hand, to associate an application context to predefined profiles. These profiles represent the preferences of the user when in a given context. The filtering process selects among the pre-defined profiles those which match the current user's context, and then, it filters the available awareness information according the selected profiles.

By using this filtering process, the BW-M framework proposes a context-based awareness support, which is an evolution of our previous works [6] [7]. It can be exploited in order to develop new groupware systems, which are concerned with mobile users. We consider that these systems respect a component-based architecture, such as the one proposed by ANTS [START_REF] Lopez | ANTS Framework for cooperative work environments[END_REF], in which the BW-M represent a component. We propose here this framework by emphasizing its context-aware features.

The paper is organized as follows: first, we present the overall structure of the BW-M framework (Section 2). Then, we present the adopted representation of context (Section 3) and, next, the proposed context-based filtering process (Section 4). Finally, we present how to exploit this framework (Section 5) and present our conclusions.

The BW-M framework: overall structure

The BW-M framework adopts an event-based model. In this model, all the awareness information delivered to the user is supported by events, which are defined by the system developer. These events may contain any useful information (for the group's members) about a specific topic related to the collaborative process. As a result, we are able to describe events that are interesting for users in a nomadic situation, such as the presence of a member of the group in a given location.

The BW-M framework has four main packages: Interface, Storage, Control and Kernel (see Figure 1, more details about these packages can be found in [START_REF] Kirsch-Pinheiro | Framework for Awareness Support in Groupware Systems[END_REF]). Each package manages specific and relevant aspects of the awareness support: the Interface package delivers the awareness information to the final user; the Storage package handles the storage of the awareness information; the Control package manages this support by processing the requests performed by the groupware; and the Kernel package represents the data model, defining the awareness information manipulated by the other packages. We have introduced in [START_REF] Kirsch-Pinheiro | Providing a progressive access to awareness information[END_REF] a fifth package, called PAM, for adaptation purposes. This package acts in collaboration with the Interface package supplying users with a progressive access to awareness information, based on the definition of a personalized organization of the data model into successive levels of details The BW-M framework works in three phases (see Figure 1): Registering, Monitoring and Notifying. Firstly, the groupware registers all the event types that will be monitored (the Registering phase). Then, it detects the event occurrence and generates the corresponding objects. Once the events have been produced, the groupware inform the framework, by sending to it these event objects (the Monitoring phase). The framework then saves these events, if they correspond to registered event types. At any moment, when a user requests (or the system decides to supply him/her with) awareness information, the groupware can transfer this request to the Control package, which receives and handles it (the Notifying phase). This package filters the available events according to the user's preferences, expressed by Profiles (cf. Section 4), delivering the selected events to the user through the Interface package (see also [6] [7]).

In order to perform this selection, we propose a new filtering process, which handles the user's context (see Section 4). This filtering process exploits a representation of context in order to define the relevance of a set of events, and consequently, to determine which events should be delivered to the user at a given moment. The next section presents this representation.

A notion of context in an object-oriented view

We have proposed in [START_REF] Kirsch-Pinheiro | Awareness on Mobile Groupware Systems[END_REF] an object-oriented representation for the notion of context, which focus on the awareness support for mobile users in a Web-based groupware system. This representation differs from other context representations adopted by context-aware systems, which hold only elements related to the user's physical context: her/his location, the characteristics of her/his devices, etc. (see [START_REF] Burrell | Context-aware computing: a text case[END_REF] [START_REF] Lemlouma | Context-Aware Adaptation for Mobile Devices[END_REF]). These elements are very important in order to determine the relevance of a piece of information for a mobile user. Beside, we claim that other elements are also taken into account. When mobile users are involved in a collaborative process, some information to the group, such as its composition, its activities, its goals, etc., can be considered as relevant for such users, and consequently should be included into the user context description. These elements form what we call the organizational context, which refers to the knowledge about the collaborative process in which the user takes part [START_REF] Kirsch-Pinheiro | Awareness on Mobile Groupware Systems[END_REF].

This knowledge is strongly related to the notion of awareness support, which is intrinsic to the collaborative process. We believe that this knowledge can be very useful in order to determine whenever an information is relevant or not to a specific user. The BW-M framework exploits this knowledge, during the filtering process. In this representation (see Figure 2), the concept of context is represented by a class Context Description, which is a composition of both the physical and the organizational elements (Location, Device, Space and Application, for the former; Group, Role, Activity, Shared Objects, etc., for the latter). They are represented by a common superclass, called Context Element.

Furthermore, these context elements are related to each other, defining associations between the corresponding concepts (a complete description is given in [START_REF] Kirsch-Pinheiro | Awareness on Mobile Groupware Systems[END_REF]). Thus, referring only to elements related to the notion of organizational context (see Figure 3), we consider, for instance, that a member belongs to the group through the roles she/he plays in this group, and that each group defines a process, which is composed of a set of activities (or tasks, also composed by subtasks), and so on.

These classes form the schema of a knowledge base (KB), which allows to describe the context of a user accessing the groupware system. The context of a user (Member of a group) is represented by an instance of the class Context Description, which is linked by composition to instances of the class Context Element (see Figure 2). Additionally, we propose to associate those Context Description instances to profiles (see Section 4) and to events. This last reflects the fact that events should occur in a certain context.

We have implemented this representation using the AROM system [START_REF] Page | A New Approach in Object-Based Knowledge Representation: the AROM System[END_REF]. AROM is an object-based knowledge representation system which adopts classes/objects and associations/tuples as main representation entities. We used the Java API supplied by the AROM system, which allows also the manipulation of these objects from any Java application, such as the BW-M framework. This allows the designer of a groupware system to easily adjust this representation to the groupware and its purposes.

The underlying assumption of this representation is that the groupware system detects dynamically the elements of the user's context. For mobile users, it means that the system has to identify the user and the activities she/he is performing, her/his physical location, her/his client device, etc. Sometimes, the system cannot determine each of these context elements. For instance, a system that uses the GPS technology for location detection is unable to determine the context element Location for a mobile user who is not equipped with a GPS receiver. The adopted representation (and its implementation with AROM) allows the groupware system to handle these situations by omitting elements from the user's context description (or by leaving attributes unvalued in these elements), representing the fact that the system does not have any or enough knowledge to represent the element (or parts of it).

This ability to omit partially or entirely a context element gives to the groupware system more flexibility when describing the user's context. We are able, for instance, to build a partial Context Description instance composed only by instances referring to the organizational context, or/and referring to elements of the physical context (location, device, and application), or/and referring to activities performed by the user without defining their details (an attribute of the Activity class).

Filtering the awareness information

In order to reduce the risk of information overload for mobile users, the BW-M framework filters the events (which encapsulate the awareness information), according to the user's context. This filtering process is performed by the Control package, during the Notifying phase (see Figure 1), and it intends to determine, using the context representation previously presented, which events the user considers as relevant in her/his current context. This filtering process uses the concept of general profiles. General profiles represent the preferences and the constraints the system should satisfy for any given element (a group member, a role, a device…). They can be seen as a set composed by (Figure 4): an owner (for who/what the profile is defined), the application context to be considered, a set of event types to be selected, and a set of conditions to be checked. The application context represents the context in which this profile can be applied, i.e. the situations in which the profile is valid (association applies in Figure 4). The set of event types is used to indicate which awareness information is considered as relevant, that is, which types of events should be delivered to the owner. A general profile may also indicate a priority order for these event types, as well as a time interval during which their instances are suitable for the owner (see association sign up in Figure 4). Finally, a set of conditions, represented by an attribute of the class GeneralProfile, refers to the context in which an event takes place (for instance, if the event has been produced in a given location, or if it has handled a shared object).

We assume that each group member should be able to define for herself/himself a set of profiles and circumstances (represented by the application context) in which each profile is valid. In other words, through the profile definition, we allow the user (or the system designer or its administrator) to identify common situations in which she/he access the system, and then to describe which event types (and under which conditions) she/he considers relevant for her/him when she/he finds herself/himself in these situations. In fact, one can observe that mobile users generally access web-based groupware systems in well defined situations: when traveling (in the airport or in the train), at home (or at the hotel), using his/her laptop, or domestic PC, etc. They rarely access the system from completely different situations. Thus, by defining profiles for these common situations, the users (and the designer) are able to cover most of the use cases and to adapt the system behavior to them.

Using the current user's context, the BW-M framework performs the filtering process in two main steps: firstly, it selects all the applicable profiles, and secondly, it combines and applies all these profiles. The first step selects the profiles the framework should apply in order to filter the awareness information. It identifies the event types the user considers as relevant in her/his current situation. The second step consists of the application of the selected profiles, actually filtering the available set of events.

The first step, the profile selection, is performed by comparing the content of the Context Description instances of both the active user and the profile. The filtering process compares the application context (a Context Description instance) of the profile with the current user's Context Description instance, by looking for a subset relationship between these instances. As a matter of fact, each Context Description instance forms a graph with the other instances of the KB which are connected to it by the existence of tuples binding them. In this graph, the nodes represent the instances, and the edges, the tuples connecting these instances. The filtering process searches then for a subgraph relationship between these graphs. If the graph representing the application context of the profile is a subgraph of the user's context description, then this profile will be select to be applied in the second step.

Let us consider for instance a team coordinator (named "Alice") who is accessing the groupware from the company central office using her PDA, in order to consult the last information about a report that her group is writing. When Alice logs in the system, it detects her current context, creating then the Context Description instance represented in Figure 5a. Considering that Alice has a profile related to the report activity, this profile will be associated to a context description which contains context elements referring to the coordinator role and to this activity (Figure 5b). As a result, this profile will be selected as applicable because its application context is a subset of the Alice's current context (see Figure 5).

In the second step, once all the applicable profiles have been selected, the BW-M framework compares the conditions associated with these profiles to the information carried by the set of available events. Thus, among all events, the framework selects only those which match these conditions. This matching is achieved using a simple algorithm which processes one profile at a time.

For each selected profile, this algorithm executes the following steps: first, it selects from the available events all events whose type corresponds to a type represented in the profile by tuples of the association sign up (Figure 4). If these tuples are also labeled by a time interval, the algorithm restricts the selected events to those which have occurred (or should occur) during this interval. Then, the algorithm applies the conditions, expressed in the profile, related to the context of the event. This means that it checks, for each selected event, whether its context description satisfies these conditions (for instance, if the event was produced in a given location or refers to an activity). If the event satisfies these conditions, it will be delivered to the user. Otherwise, the filtering process will discard it. Using this algorithm, the filtering guarantees that the conditions expressed in each profile will be applied to the corresponding events.

Back to our example, let us consider that Alice has two applicable profiles: one (profile1) defining that she is interested in events related to comments about the report made last week (i.e. a profile signing up the event type "new comments" with the time interval corresponding to the last week and the condition "related to 'report' activity"), and another one (profile2) describing that she wants to know the availability of her colleagues in her current location (i.e. a profile which signs up the event type "user availability" and the condition "event location is equal to the current location"). The application of these profiles will cause the selection of all events concerning new comments about the report made last week, and all information about the colleagues which are also located in the central office. Any event concerning her colleagues located in other locations, neither comments about other documents (or documents concerning other activities than the report) will be discarded by the filtering process.

At the end of this filtering process, the Control package will retain a reduced set of events, which is delivered to the Interface package. At its turn, this package may apply other adaptation methods, particularly the one defined in [START_REF] Kirsch-Pinheiro | Providing a progressive access to awareness information[END_REF].

Exploiting the BW-M framework

The BW-M framework, like any framework, must be connected to a system to be functional. In order to use the BW-M framework, a designer, when developing a webbased groupware system, must implement some "entry points", which should be connected to the groupware system and cope with its purposes. There are three main entry points: the events, the interface and the storage.

First of all, the system designer has to establish the set of possible events. This entry point consists in determining which information could be (or is important to be) delivered to the users of the groupware system, i.e. the information about the collaborative process should compose each event type. For instance, let us consider the design of a web-based groupware system which supports collaborative editing and asynchronous communication. Such a system may represent as events situations like the modifications of a document, comments about it, or the availability of the users, by defining (and registering) three types of events.

In addition, the system designer should determine whether and how the users will be able to define their own profiles. We strongly suggest to the system designer to propose a set of default profiles which could be modified by the users, according to their needs and interests. For example, the system previously mentioned may allow the users to define their own profiles, allowing then someone to create a profile which signs up the first event type (related to the modification of the document), ignoring other event types, and also restricting these events to those performed by a given user and during a given period.

The second entry point is the interface. In fact, the system designer should connect the Interface package of the BW-M framework to the groupware interface. She/he should do so by implementing the abstract classes that compose the Interface package, probably connecting this package to other components of the groupware system, particularly those for adaptation purposes.

Finally, the third entry point refers to the storage medium used by the BW-M framework to store the awareness information. The Storage package contains an abstract class which should be implemented in order to determine the storage medium really used by the groupware system. This way, the designer is free to choose how and where the awareness information will be stored. An option is to use the AROM system for this purpose, since the adopted context representation (cf. Section 3) has many common elements with the Kernel package, which describes the data model used by the BW-M framework (see [START_REF] Kirsch-Pinheiro | Awareness on Mobile Groupware Systems[END_REF] and [START_REF] Kirsch-Pinheiro | Framework for Awareness Support in Groupware Systems[END_REF]). These common elements (Member, Group, Role and Activity) refer to elements also represented in the organizational context. Thus, the system designer may use the same KB which contains the context representation to keep also the elements of the Kernel package, which includes events and profiles.

Conclusions

In this paper, we have presented a framework for context-based awareness support which uses an object oriented representation of context in order to perform a filtering process, which takes into account the user's context in order to better filter the available awareness information. This framework was designed for Webbased groupware systems with the main objective of reducing the risk of information overload for mobile users by delivering them only most relevant information for their current context.

We have implemented this framework using Java, which facilitates the integration of the adopted context representation (cf. Section 3). We are now studying, based on some previous experiences [START_REF] Kirsch-Pinheiro | Framework for Awareness Support in Groupware Systems[END_REF], how to encapsulate this framework in a web service, in order to facilitate its use on web based groupware systems. In fact, even if there are only a few entry points to be checked by the designer, she/he still has to learn how to use the framework. By proposing a web service with its functionalities, we expect to reduce this learning phase.

We also intend to extend the filtering process by refining its first step (cf. Section 4). We are interested in defining a method which calculates an acceptable semantic distance between the objects, in order to check if they are sufficiently similar (and not necessarily equal) in order to establish a subgraph. We are also interested in improving the profile structure in order to reduce the problems caused by an incorrect profile definition (for instance, the definition of too strict profiles, whose context description includes many different elements, may lead to the selection of none, but also the selection of too many profiles may lead to a similar situation). We intend to improve particularly the conditions expressed in the profile, given to the user and to the system designer more flexibility. Finally, we are studying the possibility to include in the profiles elements related to a user model, such as the proposed in [START_REF] Villanova | A progressive access approach for web based information systems[END_REF].

Figure 1 .

 1 Figure 1. The structure and the work phases of the BW-M framework.

Figure 2 .

 2 Figure 2. Context description composed by context elements.

Figure 3 .

 3 Figure 3. Context elements forming the organizational context.

Figure 4 .

 4 Figure 4. UML schema describing the General Profiles.

Figure 5 .

 5 Figure 5. Alice's current context description (a), with the context elements which compose it (on the left side) and the relationships between them (on the right side). In (b), the application context of an Alice's profile and its context elements.


Makis Solomos
email: makis.solomos@univ-paris8.fr

Xenakis's Philosophy of Technology Through Some Interviews

Iannis Xenakis's pioneering role in new music technologies is well known. He contributed to their development through his electroacoustic works (Diamorphoses, Concret PH, Légende d'Eer, etc.), his theories (stochastics, granular paradigm, etc.), his machines (UPIC), and his multimedia realizations (polytopes, etc.). His first studies as a civil engineer sharpened his efficiency. But his practical mind was coupled with a speculative mind, oriented toward philosophical interrogations. In this paper, we will quote some historical interviews in which Xenakis develops his views on technology: technology and progress; technique as a tool; the dangers of technology; art for everybody thanks to technology; forward-looking view about the computer; the role of intuition; and, finally, computer and manual actions (bricolage). In his writings, Xenakis tends to present applications of technology, but in his interviews, he is more eloquent on his philosophy of technology.

INTRODUCTION

In his pioneering role, Iannis Xenakis succeeded in putting music in a direct relationship with sciences and technologies. Going farther than his spiritual father, Edgar Varèse, Xenakis materialized the idea of an artistsearcher-an "artist-conceptor," in his own words [1: p. 3]-that today is becoming more and more a reality. Regarding the relationship between music and sciences, he developed the idea of an "alloy arts/sciences" [START_REF] Xenakis | English version: Arts/Sciences. Alloys[END_REF]. He explained in his interviews with Bálint A. Varga that his interest in sciences corresponded to a quest for universality: "I became convinced-and I remain so even todaythat one can achieve universality, not through religion, not through emotions or tradition, but through the sciences. Through a scientific way of thinking" [2: p. 47]. 1 1 The beginning of this part of the interview is in fact biographical and is important to repeat: "I have to tell you something. For years, I was tormented by guilt at having left the country for which I'd fought. I left my friends-some were in prison, others were dead, some had managed to escape. I felt I was in debt to them and that I had to repay that debt.

As for technology, it is important to know that Xenakis studied civil engineering; thus, for him, technology was a natural way to extend traditional musical means. Finally, the relationship between music and sciences-technology on one hand, and between sciences and technology on the other, was realized, in Xenakis's mind, through conceptual thought-philosophical or more empirical-and more generally through the world of ideas. The same interview continues: "But even with that [the scientific way of thinking], one can get nowhere without general ideas, points of departure. Scientific thought is only a means with which to realize my ideas, which are not of scientific origin. These ideas are born of intuition, some kind of vision. None of this was clear for me then but I worked instinctively in this direction" [2: p. 47].

On the question of technology and music, Xenakis's contribution to its development has a long and rich history. To summarize it: -Early electroacoustic music (musique concrète). Xenakis composed five musical works, each with decisive developments. Diamorphoses (1957, GRM studio) explores various kinds of noise and, through the technique of mixage, it studies the logarithmic perception of density. Concret PH (1958, Philips and GRM studios), composed for the famous Philips Pavilion of the Brussels World Exhibition, introduces the idea of granular sounds, which are developed in the instrumental and electroacoustic work Analogique A and B (1958-59, Gravesano and GRM studios). Orient-Occident (1960, GRM studio) works the relationship of sound and image. Finally, Bohor (1962, GRM studio) is recognized as one of the first eight-track compositions (the first GRM eight-track), and is oriented toward the idea of sound immersion. Of course, during that period, Xenakis's contribution to the entire history of GRM is extremely important: use of special devices (phonogène and maybe morphophone in Diamorphoses, for instance [START_REF] Solomos | Xenakis first composition in musique concrète: Diamorphoses[END_REF]), technical and aesthetical discussions, with Pierre Schaeffer and other composers, contribution to the project of Concert collectif, and so on.

And I felt I had a mission. I had to do something important to regain the right to live. It wasn't a question of music-it was something much more significant. So my thoughts were also moving around more general, universal problems. I became convinced-and I remain so even today-that one can achieve universality, not through religion, not through emotions or tradition, but through the sciences. Through a scientific way of thinking" [2: p. 47]. (The guilt and the fight are about the terrible events of December 1944 and the Greek Civil War that followed; sentenced to death, Xenakis managed to escape and went to France in 1947.)

Copyright: © 2014 Solomos. This is an open-access article distributed under the terms of the Creative Commons Attribution License 3.0 Unported, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.

-Early work with computers. In 1961, Xenakis established contact with François Genuys, an engineer who worked for IBM. The next year, he gained access to an IBM computer, and he realized an ambitious program, the well-known ST-program that is given in the 1981 edition of Musiques formelles [START_REF] Xenakis | Musiques formelles[END_REF]. With this program, he composed ST/48, ST/10, ST/4, Atrées, and Morsima-Amorsima (and also Amorsima-Morsima, which was withdrawn from the catalogue), which, in In this article, I discuss some important issues related to Xenakis' philosophy of technology 2 : What is technology for him? How should we use it for musical purposes? And so on. To do so, I present as main material some Xenakis interviews. Benoît Gibson and I are preparing an edition with a selection of Xenakis's interviews. Many of them address the question of technology 2 Some commentators already have raised important questions related to this topic: see [START_REF] Hoffmann | Music Out of Nothing? A Rigorous Approach to Algorithmic Composition by Iannis Xenakis[END_REF][START_REF] Scipio | Formalisation and intuition in Analogique A/B (1958-59)[END_REF][START_REF] Scipio | The notion of synthesis in Xenakis's music[END_REF][START_REF] Grintsch | Random Control. Xenakis and early mainframe computers[END_REF][START_REF] Hamman | On technology and Art: Xenakis at Work[END_REF][START_REF] Harley | Computationnal Approaches to Composition of Notated Instrumental Music: Xenakis and the Other Pioneers[END_REF][START_REF] Roads | [END_REF]. and, in his responses here, Xenakis develops his views on the philosophy of technology. In his main writings (articles and books), he deals more with pure applications. Some of the interviews that will be used are not easy to find, while others are more known. In chronological order, they are: Mario Bois, Xenakis. Musicien d'avantgarde (1966) [START_REF] Bois | Musicien d'avant-garde[END_REF]; Jacques Bourgeois, Entretiens avec Iannis Xenakis (1969) [START_REF] Bourgeois | Entretiens avec Iannis Xenakis[END_REF]; Giorgos Pilichos, "Ιάννης Ξενάκης" (1973) [START_REF] Pilichos | Ιάννης Ξενάκης", Τά Νέα[END_REF]; "Témoignage d'un créateur" (1968) [START_REF]Témoignage d'un créateur[END_REF]; Pierre Darras, "Musique et programmation" (1970) [START_REF] Darras | Musique & programmation[END_REF]; Jean-Marc Leclerc, Yves Bertrand, "L'ordinateur, instrument du XXème siècle" (1977) [START_REF] Leclerc | L'ordinateur, instrument du XXème siècle[END_REF]; "Science et société. L'informatique musicale" (1982) [START_REF]Science et société. L'informatique musicale[END_REF]; François Delalande, "Il faut être constamment un immigré," Entretiens avec Xenakis (realized in 1981, published in 1997) [START_REF] Delalande | Il faut être constamment un immigré[END_REF]; Ira Feloucatzi, "Iannis Xenakis. Un compositeur grec au rayonnement international" [START_REF] Feloucatzi | Iannis Xenakis. Un compositeur grec au rayonnement international[END_REF].

TECHNIQUE AND TECHNOLOGY

Let's first read some interviews to understand what technology-and more generally, technique-means for Xenakis.

Technology and progress

As was said, it was natural for Xenakis the civil engineer to believe strongly in the utility of technology. For him, there was no split between traditional musical techniques and all types of technologies, even if they are not intended at first for music making, including of course the so-called "new technologies" (tape techniques, computer, etc.). To use whatever technology for composing music is enough to make it musical. It is also why Xenakis strongly believed in the idea of progress through technology:

"La musique électronique connaîtra un développement et un succès énorme auprès des jeunes générations, cela va de soi. Elle sera bien sûr dépendante de l'équipement et des professeurs. À mon avis, les progrès techniques exercent une pression telle que je vois dans la musique électronique un débouché inévitable." [20: p. 275] This view about technology is of course related to the fact that Xenakis was deeply a modernist. This is why technology is always related to the idea that we can transform humanity for the better: "Aujourd'hui, il est possible que la société puisse accéder à une transformation de son esprit même, avec le remplacement des vieilles catégories du raisonnement par d'autres selon lesquelles beaucoup de notions traditionnelles apparaîtraient caduques. Ainsi celles de l'espace et du temps.

[…] La musique de demain, en procédant par une structuration inédite, particulière de l'espace et du temps, pourrait devenir un outil de transformation de l'homme, en influant sur sa structure mentale." [13: p. 39]

Technique as a tool

But what is technology and, more generally, technique? After World War II, many European philosophers and artists criticized technique in itself-and not only the use that someone can make of it-as a source for alienation: Theodor W. Adorno and Max Horkheimer [START_REF] Horkheimer | Dialektik der Aufklärung[END_REF], Martin Heidegger [START_REF] Heidegger | Die Frage Nach der Technik[END_REF], Jacques Ellul [START_REF] Ellul | La technique ou lenjeu du siècle[END_REF], Kostas Axelos [START_REF] Axelos | penseur de la technique[END_REF] (another Greek political refugee in France), etc. But Xenakis saw technique as a tool. That does not mean that it is neutral but that it is from the same essence as the human being: it is the extension of his hands, of his legs, of his mind: "Il y a trois attitudes devant la technique aujourd'hui : -L'attitude de l'artiste en général qui veut l'ignorer.

-De la part des intellectuels, il y a des attitudes négatives qui veulent que la technique soit asservie aux industries, à l'État et à la société de consommation ; par conséquent, c'est une chose à détruire ou à ignorer.

Elles veulent que la technique soit une espèce de dieu actuel, une espèce de Moloch auquel on se soumet parce que l'on ne peut faire autrement.

-La troisième position, qui est la mienne, consiste à penser que la technique est un outil de travail, un outil de réalisation, un outil d'expansion de l'homme et, par conséquent, utile en art." [START_REF]Témoignage d'un créateur[END_REF] (This is why the argument of Olivier Revault d'Allonnes [START_REF] Revault D'allonnes | La création artistique et les promesses de la liberté[END_REF]-a philosopher of arts and friend of the composerthat Xenakis "subverts" technology by using it for making music was not important for him.)

Now, if technique is (merely) a tool, it has to be mastered:

" [START_REF] Feloucatzi | Iannis Xenakis. Un compositeur grec au rayonnement international[END_REF] In ancient Greek, the quotation of Sophocles is: Polla ta dhina, which is the title of a Xenakis composition of 1962. In fact, Xenakis's position could be the same as that of Sophocles: a belief that human beings can make great things but that they also are a great danger to the earth.

Art for everybody

For Xenakis, technology as progress means the possibility of real democracy-something that we tend to forget today because technology is increasingly related to the economic interests of the very few. Speaking about art means the possibility of making it easier to learn how to create and, therefore, putting music making in the hands of everybody. This was of course one of the basic credos of classical modernism, especially the one that the idea of (technological) progress was related to social progress and to democratization, which flourished during the beginnings of the Soviet revolution or with the Weimar Republic. In the frame of contemporary music during the 1970s-after the 1968 revolts-this credo returned, but softer, more reformist than revolutionary. It was materialized by the idea that we do not need only new works of art but also new ways of thinking about art and of learning it. Then, the focus was on the pedagogy of music. Xenakis explored this possibility in relationship to the UPIC, which seemed to be an easy tool to make music:

"

PHILOSOPHY OF COMPUTER

Let's focus now on Xenakis' philosophy regarding the computer and its use for making music. There are not many words on that subject in his main writings (books and articles), but it is just the opposite in his interviews, especially in the 1960s and 1970s. Because he was one of the first musicians to use the computer, he was often asked about it.

Forward-looking

First, it is important to notice that, even while using a computer, which was new at that time, Xenakis remain oriented toward the future. In the following important interview about the computer and music (which also will be quoted later), he is speaking about how to exceed the current theory of knowledge and to introduce the human body on it again, Then, he predicts the appearance of the new field of sonification, and finally, he envisages the possibility of exceeding the binary logic and even today's notion of the computer: "À votre avis, l'ordinateur permet-il de dépasser la théorie de la connaissance que nous avons actuellement ? Je ne sais pas si on peut la « dépasser », mais on va certainement plus loin dans les applications.

The role of intuition

A second important element of Xenakis's philosophy about the computer is the idea that, behind the use of computer, there must be something called "intuition"; otherwise, the results will not be interesting: "Vous avez fait allusion à la « justesse » de l'intuition. L'utilisation rationnelle de l'ordinateur est-elle nécessairement basée sur des intuitions ? Oui. L'ordinateur ne peut donner que des résultats, calculer selon vos instructions. Et si vos instructions ne sont basées sur aucune intuition, vous suivez au petit bonheur une combinaison de formules, de systèmes ou de chaînes -ce qui d'ailleurs ne fait pas une idée.

Mais si vous avez une direction, une intuition, une « idée », comme on dit, et que vous êtes têtu, et que vous essayez, vous pouvez avoir des surprises, évidemment, comme vous pouvez, au bout d'un certain temps, en cherchant fort, tomber juste. Il se peut aussi qu'ayant une intuition, vos méthodes ne soient pas bonnes. À supposer alors que vous changiez de méthode et que vous trouviez la bonne, c'est votre intuition initiale qui vous fera reconnaître la vraie direction. L'intuition est un guide fondamental, aussi bien de recherche que de connaissance -et de pratique, naturellement. On ne peut séparer intuition et raisonnement. Cette dichotomie est complètement farfelue et stupide. Malheureusement, c'est un cliché qu'on a enseigné dans les écoles et qui se continue dans la vie politique et ailleurs." [START_REF] Leclerc | L'ordinateur, instrument du XXème siècle[END_REF]

Bricolage

Finally, recognizing the important role of intuition, Xenakis argues for the necessity of introducing what we could call "manual actions" on the results given by the computer. This is well-known among all musicologists; the actions compared the calculations (made by computer or by hand, as is the case in many pieces) and the scores. There are many differences-for instance, a precise analysis of Nomos alpha, which is one of the most calculated compositions, shows about 14% of differences [26: p. 521]. In my studies on Xenakis, I often wrote about this question [START_REF] Solomos | Iannis Xenakis[END_REF][START_REF] Solomos | Esquisses pré-compositionnelles et oeuvre : les cribles de Nomos alpha (Xenakis)[END_REF][START_REF] Solomos | Analyse et idéologie[END_REF][START_REF] Solomos | Cellular automata in Xenakis' music. Theory and practice[END_REF][START_REF] Solomos | Ιαννης Ξενακης. Το συµπαν ενος ιδιοτυπου δηµιουργου[END_REF], using the French word bricolage to characterize these manual actions. I take it in the sense of Claude Lévi-Strauss's La pensée sauvage [START_REF] Lévi-Strauss | La pensée sauvage[END_REF]. He writes that bricolage is a kind of intermediate phase between the mythical (or magical) thought and the rational (scientific) one (the adjective "intermediate" must not be understood in an evolutionary sense: we can replace it with the word "mediation.

CONCLUSIONS

In this article, we have quoted some historical interviews in which Xenakis develops his views on technology: technology and progress; technique as a tool; the dangers of technology; art for everybody thanks to technology; forward-looking views on the computer; the role of intuition; and, finally, computer and manual actions (bricolage). As noted earlier, in his writings, Xenakis tends to present applications of technology, but in his interviews, he is more eloquent about his philosophy of technology.

  the work catalogue established by the composer are dated 1956-62 to show that he thought to use a computer since Achorripsis (1956-57). -During the late 1960s and early 1970s, Xenakis had the opportunity to develop his own research center in Bloomington (Indiana University), the Center for Musical Mathematics and Automation, where he tried stochastic synthesis for the first time. Also during the 1960s, he founded his own center in France, the EMAMu, which in 1972 became the CEMAMu (Centre d'Études de Mathématiques et Automatique Musicales). The CE-MAMu was an important center for developing technologies such as the UPIC or the GENDYN program. Many composers visited and composed for the UPIC (François-Bernard Mâche, Jean-Claude Eloy, Wilfried Jentzsch, Candido Lima, Frédéric Nyst, Julio Estrada, Peter Nelson, Richard Barrett, etc.). -Polytopes. During the late 1960s and 1970s, Xenakis realized his well-known multimedia works (Polytope de Montréal, 1967, Hibiki Hana Ma, 1969-70, Persepolis, 1971, Polytope de Cluny, 1972-74, Diatope, 1977-78, and Polytope deMycènes, 1978), which combine music, visual spectacle, spatial distribution and, for the Diatope, even architectural creation and programmatic texts. As has often been said, the xenakian polytopes realize the classical idea of art synthesis through technology.

	-UPIC. In 1975, Xenakis realized his own synthesizer,
	the UPIC (Unité Polyagogique Informatique du CE-
	MAMu), which is based on drawing and thus is in har-
	mony with the fact that he very often used drawing to
	compose (instrumental) music. With UPIC, we can draw
	into two levels: in the microtime level, we draw sound
	curves, envelopes, and so on; in the macrotime level, we
	draw the whole composition. With UPIC, Xenakis com-
	posed Mycènes alpha (1978), Taurhiphanie (1987), Voy-
	age absolu des Unari vers Andromède (1989), and the
	piece also using narrators and choirs, Pour la Paix
	(1981).
	-GENDYN. In the late 1980s, Xenakis realized the pro-
	gram GENDYN (for dynamic generation of sound),
	which generalizes the Bloomington experiments with
	stochastic synthesis. With that program, he composed
	Gendy3 (1991) and S.709 (1994).

  Ce n'est pas possible. Parce que soidisant la machine ne se trompe pas. Elle ne se trompe pas, mais son programme, ce n'est pas la machine qui l'a donné, c'est le compositeur. Et c'est là où il se trompe quand il pense que c'est absolu. Non. Et la preuve, c'est que le résultat la plupart du temps, lorsque c'est fait comme ça, est sans intérêt parce que… par la nature même de la machine, cela ne peut pas être intéressant. Il faut un effort colossal d'imagination et d'inventivité pour pouvoir donner à la machine la vie qui lui manque."[19: 25-32] Here is an important interview of the 1960s in which he explains clearly that he is changing the results of the ma-arbitrairede départ, mais la structure, elle, ne change pas, la structure abstraite. Donc, de ce point de vue là, il y a un mélange d'apriorisme, et de choix arbitraire : les apriorismes correspondent au programme et le choix arbitraire correspond au choix particulier des données d'entrée. Cette machinerie, cette horlogerie stochastique probabiliste que j'ai faite, par exemple pour cette famille d'oeuvres, c'est vraiment une espèce d'horlogerie mentale imaginaire qui peut donner soit des oeuvres pour un instrument soliste, soit des oeuvres pour le chant, soit des oeuvres pour tout un orchestre, ou, comme je l'ai fait pour Stratégie, pour deux orchestres. Vous avez une grande latitude de choix. Vous pouvez utiliser n'importe quel instrument dans un intervalle très réduit ou au contraire dans toute sa richesse. Vous pouvez aussi agir sur la structure de l'oeuvre par exemple en imaginant de lui donner une densité plus ou moins grande, une densité physique (beaucoup de notes ou peu de notes), en décidant de la répartition de ces notes, de leur teinte, leurs couleurs dans telle classe de sensibilité, ensuite dans l'évolution globale, dans la forme. Il y a toutes sortes d'actions, mais il faut bien sûr entrer alors dans l'horlogerie même pour comprendre quelles sont toutes les latitudes données : ce langage des machines est universel, mais j'avoue qu'il nécessite un savoir que les musiciens ne possèdent généralement pas. Si le résultat final était intéressant, je conserverais le tout ; mais il faut avoir un résultat intéressant, c'est-àdire obtenir une espèce de kaléidoscope mental, stochastique si vous voulez, qui soit partout valable et dans tous les cas ; alors, avoir un tel objet devient merveilleux du point de vue abstrait, spéculation tout à fait abstraite comparable au pouvoir de fabriquer un être vivant tout à fait original, mais vivable et vivant dans toutes les circonstances de la vie." [12] With the following third and last interview, Xenakis also is answering the question of how he can imagine the calculation's results. Ah ! c'est une question complexe. En principe, le programme qui représente une composition musicale formalisée doit être suffisamment bien fait et intéressant pour que le résultat soit valable ; parfois si, dans des détails, il n'est pas valable, on peut le corriger, le rectifier à la main ; mais si, en général, il donne des résultats vraiment sans intérêt, eh bien il faut le balancer par la fenêtre : c'est qu'il y a une erreur, non pas dans l'écriture du programme puisqu'il donne un résultat, mais dans la conception même du programme. Cela pose un problème : pourquoi ce vice de composition, et comment ? C'est là que le compositeur actuel est obligé de pouvoir prédire ce qui va se produire dans tous les cas et de former une chose abstraite, même s'il n'a pas la possibilité d'intervenir, parce que ça coûte trop cher, et puis parce que c'est ça le jeu, c'est de pouvoir créer une chose qui soit sans retour, c'est-à-dire qui soit bonne. Les corrections doivent être faites avant de lancer le programme ; toutes les corrections sont décidées par l'imagination. Mais vous avez une représentation sonore de l'oeuvre qui va sortir du traitement machine ? Ce n'est pas une représentation sonore d'une composition particulière, mais c'est une représentation sonore de beaucoup de compositions qui devra exister, puisqu'un programme, s'il ne fait qu'une seule composition, ne vaut pas la peine d'être écrit ! Ce qu'il est intéressant de faire, c'est un programme qui, en changeant des données d'entrée, vous produise une famille d'oeuvres. Il faut prévoir dans ce cas-là non pas une seule oeuvre mais toute une famille." [16]

	") Let's first read the interview with François Delalande (conducted in 1981), where Xenakis assumes that he is making manual actions: "[Prenez-vous de la distance par rapport aux pro-grammes informatiques ?] Absolument. C'est nécessaire, ça. Il faut une certaine distance. Il y a des gens qui disent : « Voilà, j'ai fait un programme et tout ce que me donne la machine, je boîte principale. J'ai environ 10% des décisions qui m'appartiennent encore à la sortie, sauf pour Atrée où, voulant marier les deux modes de composition, je me suis permis une intervention beaucoup plus grande à la sortie. Il n'y a pas d'oeuvres que vous donnez brutes à leur sortie de la machine IBM ? Non, car il faut quand même passer par le décodage, la transcription en notation traditionnelle pour l'orchestre. De plus, la machine donne souvent des solutions injouables sur le plan pratique. Si vous disposiez d'une machine imaginaire idéale et merveilleuse, prendriez-vous brut tout le travail le prends ». chine at least for 10%, so as to adapt them: "Pourquoi utiliser une machine à calculer ? En 56-57, j'ai écrit Achorripsis pour orchestre : cette oeuvre est une sorte de réponse à une question fonda-mentale que je me posais depuis longtemps, aussi bien esthétique que philosophique, à savoir : peut-on fabri-quer, et y a-t-il un sens à fabriquer une oeuvre contrô-lée sur un plan général pas un minimum de règles de composition ? J'avais répondu à l'époque après beau-coup de temps et de recherches, d'une manière théori-que, par le calcul des probabilités que j'employai donc pour une oeuvre que j'intitulai Achorripsis. Tout de suite, il m'est apparu, puisque cette chose était to-talement résolue par le calcul, qu'il serait possible de faire tourner une machine qui calculerait à ma place. Quel est l'intérêt de la machine ? C'est d'abord d'objectiver la thèse. Puis c'est d'explorer facilement des parties qui seraient difficiles ou impossibles à la main pour ce qui est du temps des calculs ; c'est éga-lement de tester si une pensée philosophique peut avoir un répondant sonore et être, devenir un objet in-téressant du point de vue sonore. Enfin, l'intérêt est de créer une forme de composition qui n'est plus l'objet en soi mais une idée en soi, c'est-à-dire une famille d'oeuvres possible. Voilà donc, grâce à un complexe de formules et de raisonnements logiques, les données et les nécessités qui m'ont obligé à utiliser la machine à calculer IBM 7090. J'ai entendu un de vos collègues expliquer votre pro-cessus de composition. D'après lui, vous donnez à la machine des éléments (ce que vous appelez un pro-gramme), la machine vous donne toutes les possibili-tés de combinaisons et vous choisissez, parmi elles, pour écrire définitivement votre oeuvre. Ce n'est pas ça, car alors, cela n'aurait aucun sens. Non, il faut (l'intérêt étant d'atteindre un but en as-treignant la pensée à la rigueur du problème) pouvoir formules et de raisonnements qui, habillée en musique par les sons, soit intéressante jusqu'au bout. Voilà le pari. Que cette « chose » soit d'abord une chose origi-nale, c'est-à-dire sans précédent, et qu'elle soit inté-ressante. Une chose nouvelle est toujours intéressante puisqu'elle est nouvelle, mais elle peut être profon-dément ou superficiellement originale. À la machine, je fournis donc un réseau très précis, très serré de formules et de raisonnements, toute une chaîne, c'est ce qui constitue en effet le programme. Puis, on lui produire l'édifice, produire une structure abstraite de qu'elle ferait ?

fixe les données d'entrée, que vous fournissez à une sorte de « boîte noire ». Elle fonctionne et vous sort des résultats. Vous changez les données d'entrée, vous faites fonctionner : les résultats sont différents. La latitude de ces données d'entrée peut être très grande ou très faible, cela dépend de vous. Il y a donc un choix À la sortie de la boîte noire ? Je fignole à la main le matériau reçu en suivant exactement le même principe théorique qui règne dans la boîte noire ; c'est-à-dire que je fais une boîte vivante, qui est en quelque sorte collée à la sortie de la "Est-ce que pour vous, ce qui sort d'un traitement en machine est un produit achevé ?