D Kucharavy
email: dmitry.kucharavy@insa-strasbourg.fr

E Schenk

R De Guio

Long-Run Forecasting of Emerging Technologies with Logistic Models and Growth of Knowledge

Keywords: component logistic model, innovation process, knowledge acquisition, OTSM-TRIZ

In this paper applications of logistic S-curve and component logistics are considered in a framework of longterm forecasting of emerging technologies. Several questions and issues are discussed in connection with the presented ways of studying the transition from invention to innovation and further evolution of technologies. First, the features of a simple logistic model are presented and diverse types of competition are discussed. Second, a component logistic model is presented. Third, a hypothesis about the usability of a knowledge growth description and simulation for reliable long-term forecasting is proposed. Some interim empirical results for applying networks of contradictions are given.

INTRODUCTION

An innovation can be seen as the result of a sequence of a production of knowledge and information along a chain that consists of a concept definition, experimentation for validation of the concept and finally exploitation on the market. The outputs of these activities are knowledge or information. But as the different activities along the chain have different time constants and are not systematically harmonized from a decision point of view, the flow of knowledge between them must be synchronised. In order to do so, the knowledge and information resulting from an activity is often stored. From a quality management point of view the trends of improvement concern the cost, delay and quality of the process leading to innovation. In order to adapt the time-toproduce and time-to-market to the context of increased competition it becomes necessary to anticipate the production of knowledge so that required knowledge is available at the right time and production resources of the innovation chain are used for producing relevant knowledge. Our research deals with forecasting problems for the exploration activities (conceptual design stage requiring inventive activities) along the innovation chain. General research in forecasting provides general methods and technologies. Our purpose is to solve the problems that prevent us from using them for forecasting the evolution of the parameters of a technological system even if this system is unknown. In this paper we review and discuss forecasting technologies based on so called logistic models.

About innovation

Sometimes long-term technological forecasting is perceived as an attempt to predict the technological future. Yet such an attempt would be condemned to failure. Why? Because technologies are embodied in innovations -i.e., products or processes which have successfully passed the barrier of user adoption. Unfortunately for the firm putting innovative products onto the market, some innovative products and processes do not pass this barrier and hence, never become innovations. It is commonly accepted that the future success of an innovative product can hardly be predicted, as it is often the outcome of complex interactions between a set of elements: the product itself, the users (their habits, competences, etc.), the economic environment of the product (competitors and complementary products) as well as its socio-political environment (laws, social concerns, etc.). These elements are continuously evolving themselves -by direct interaction or independently -so that in turn, the success of an innovative product appears to be rather unpredictable. Even though they belong to quite a general lexicon, the terms we are using should to be explained in detail. Invention Invention relates to the transposition of technical and scientific principals into an "artefact" to provide a "new way" to accomplish a (more or less generic) function. In inventions, the barrier of technical feasability has been passed. Yet uncertainties remain: will the product pass the test of standard use? Will it be possible to produce and bring the product to market in a satisfying way? Will the potential buyers eventually adopt the product? These issues are related to a series of uncertainties.

Innovative product or process

A product or a process is innovative if it is "new" for the group of people who are likely to use it. In the case of an innovative product, uncertainty concerning the industrialization and distribution is partially overcome. This simple definition seems usable but it is obviously relative: a product may be innovative for the group of users it is intended to, but not innovative for another group of users. For instance, a company implementing quality management methods could see that as an innovation, but the innovation is only internal to the firm. Innovation An innovation is an innovative product or process that has passed the barrier of user adoption. Innovative products and processes often never become an innovation because they are rejected by the "market". In case of market adoption, it might take quite a long time until the innovation is qualified: the diffusion curve can be slow.

Innovation process

This term refers to the global process going from invention to innovation, i.e., adoption of an innovative product/process by potential uses. The innovation process consists of uncertainty reduction over a given period. Time per se is not really important. What is important in our view is the sequence of activities of the actors taking part in the process. These actors are resource providers for the process: for the firm itself, but also for research laboratories providing outputs of scientific research, suppliers of needed components and networks providing useful collaborations. This means that an innovation process may take a long time if resources are not provided or provided in an unorganized way. This leads us to an important point: efficient management of the innovation process (from invention to market) requires forecasting of the resources needed and actors involved along the process. Forecasting enables us to identify key resources -i.e., resources that are likely to be unavailable and to hinder the process -and to plan and organize R&D so that key resources are available "on time". Long-term forecasting will permit us to anticipate and organize the availability of resources needed for future innovation processes.

Related work

Our research on long-term technological forecasting is inspired by the description of "the lifeline" of technological systems from Altshuller G.S. [START_REF] Altshuller | Creativity as an Exact Science[END_REF] where contradiction models, S-curves, and the limitation of resources play important roles. The distinction between short-, medium-, and long-term forecasts, based on three phases of S-curves is proposed in Figure [START_REF] Kucharavy | Problems of Forecast[END_REF]. A short-term technological forecast is about one phase of an S-curve, while a medium-term forecast considers two phases. The scope of study for a long-term forecast is usually beyond one technology, since it studies at least three phases on an S-curve and may consider several growth processes and more than one system. Our article presented at the ICED'07 conference [START_REF] Kucharavy | Problem Mapping for the Assessment of Technological Barriers in the Framework of Innovative Design[END_REF] depicts some theoretical and practical results from two forecasting projects. The concept of critical-to-X feature is proposed in order to unify qualitative and quantitative studies for longterm forecasting. How the prediction of technological barriers can be supported by mapping the contradictions in combination with the assessment of limiting resources is illustrated in this paper [START_REF] Kucharavy | Problem Mapping for the Assessment of Technological Barriers in the Framework of Innovative Design[END_REF] by case studies for energy technologies. In our paper for the TFC'07 conference [START_REF] Kucharavy | Application of S-Shaped Curves, 7th ETRIA TRIZ Future Conference[END_REF] emphasis on the definition of growing parameters for a logistic growth model is made. To deal with the issue when there is no data for emerging technologies, the naïve and causal methods for long-term forecasting are used. In order to distinguish the two principal ways of addressing the problems of long-term technological forecasting we have distinguished two complementary directions: a bypass way through substitution of technologies or a direct way through study the growth of knowledge. Our paper, developed for TFC'08 refers to a direction through substitution of technologies [START_REF] Kucharavy | Logistic Substitution Model and Technological Forecasting, 8th ETRIA TRIZ Future Conference[END_REF] and discusses some working hypotheses of using the so called naïve methods for long-term forecasting by applying logistic substitution models, proposed by Marchetti C. [START_REF] Marchetti | The Dynamics of Energy Systems and the Logistic Substitution Model[END_REF]. In the present paper we are focusing our attention on 'subsystem' direction which applies causal methods to foresee new technology diffusion in long-run prospects using knowledge growth as a cause factor of technology change. Some working definitions for the components of knowledge acquisition process are given. Lastly, it is proposed to apply the component logistic models [START_REF] Meyer | Bi-logistic growth Technological Forecasting and Social Change[END_REF][START_REF] Meyer | A Primer on Logistic Growth and Substitution: The Mathematics of the Loglet Lab Software[END_REF] for specifying exploration, experimentation and exploitation phases according to knowledge growth. In the following section a short history of logistic models, a simple logistic S-curve, the concept of competition, and a component logistic model are presented. The section Applying Component Logistic Growth for Technological Forecasting explains the idea for linking growth of knowledge with diffusion of technologies in view of long-term forecasts. The concluding remarks propose directions for future research.

LOGISTIC MODELS AND COMPETITION

The first reference to the logistic equation as a model of population growth can be found in Pierre-Francois Verhulst (1838, 1845, 1847). In 1925 and 1926, working independently Lotka Alfred J. and Volterra Vito generalized the growth equation into a model of competition among different species and coined the predator-prey equations. Early studies about technological substitution described by S-curves were done in 1957 by Griliches, Z and in 1961 by Mansfield [START_REF] Mansfield | Technical change and the rate of imitation[END_REF]. The diffusion of the innovation theory, formalized by Everett Rodgers [START_REF] Rogers | Diffusion of Innovations, 5th[END_REF] in 1962 postulated that innovations spread in society in an S-curve. A significant achievement was accomplished by Fisher, J.C. and Pry, R.H. (1970) by formulating the model for binary technological substitution as an extension of Mansfield's findings [START_REF] Fisher | A simple substitution model of technological change[END_REF]. Marchetti C. proposed the logistic substitution model to describe technology substitution in the dynamics of long-run competition (1976)(1977)(1978)(1979) by extensively using the Fisher-Pry transform [START_REF] Marchetti | The Dynamics of Energy Systems and the Logistic Substitution Model[END_REF]. In 1994 Meyer P.S. proposed the component bi-logistic growth model [START_REF] Meyer | Bi-logistic growth Technological Forecasting and Social Change[END_REF]. Later on, a component logistic model with multi-logistics generalizes the bi-logistic growth model [START_REF] Meyer | A Primer on Logistic Growth and Substitution: The Mathematics of the Loglet Lab Software[END_REF]. Logistic substitution and component logistic models provide clear and suggestive outputs for supporting medium-and long-term forecasting of technology change [START_REF] Marchetti | The Dynamics of Energy Systems and the Logistic Substitution Model[END_REF][START_REF] Meyer | Bi-logistic growth Technological Forecasting and Social Change[END_REF][START_REF] Meyer | A Primer on Logistic Growth and Substitution: The Mathematics of the Loglet Lab Software[END_REF][START_REF] Modis | Predictions -10 Years Later[END_REF][START_REF] Modis | A Scientific Approach to Managing Competition[END_REF][START_REF] Grubler | Technology and Global Change[END_REF][START_REF] Ausubel | The Evolution of Transport, The Industrial Physicist[END_REF]. Logistic models are also widely and successfully used in microeconomics and econometrics for modelling individual decisions [START_REF] Greene | Econometric Analysis. 5th[END_REF].

Simple logistic model

Natural growth of autonomous systems in competition might be described by the logistic equation and the logistic curve respectively. Natural growth is defined as the ability of a 'species' (systems) to multiply inside finite 'niche capacity' (i.e. carrying capacity [START_REF] Meyer | Bi-logistic growth Technological Forecasting and Social Change[END_REF], or physical limit of resources [START_REF] Altshuller | Creativity as an Exact Science[END_REF]) during a time period. Provided function parameters can be estimated using a partial set of data (e.g. efficiency of internal combustion engine change over last 20 years). It is possible to use the logistic equation in a predictive mode (e.g. how much efficiency will grow and when). Nevertheless, availability of a reliable dataset is a principal limiting factor for applying the S-curve model to technological forecasting [START_REF] Ayres | What have we learned?[END_REF][START_REF] Modis | Strengths and weaknesses of S-curves[END_REF]. In order to describe continuous "trajectories" of growth or decline through time in socio-technical systems, one generally applies the three-parameter logistic growth model (1):

β α κ - - + = t e t N 1 ) ( (1)
Where N(t) -the number of units in the 'species' or growing variable to study; κ -is the asymptotic limit of growth;

α -is the growth rate which specifies 1 "width" or "steepness" of the S-curve (e.g., α=0.19 means roughly 19% growth per time fraction); it is frequently replaced with a variable characteristic duration (Δt) that quantifies the time required for the trajectory to grow from 0.1κ to 0.9κ. Characteristic duration Δt is used more than α for the analysis of time-series data since the units are easier to appreciate. The decline can be described by a logistic with a negative Δt. β -specifies the time (t m ) when the curve reaches 0.5κ: the midpoint of the growth trajectory (t m implies symmetry of simple logistic S-curve). These three parameters κ, α, and β are usually calculated by fitting the data. There are diverse fitting techniques. For instance, the asymptotic limit of growth κ can be estimated by expert judgment, when α, and β are optimized to minimize residuals. In various publications it was concluded that the other models of non-symmetric growth have limited application due to their complexity and low efficiency for technology forecasting [START_REF] Ayres | What have we learned?[END_REF][START_REF] Meade | Forecasting with growth curves: An empirical comparison[END_REF][START_REF] Modis | Strengths and weaknesses of S-curves[END_REF][START_REF] Makridakis | The M3-Competition: results, conclusions and implications[END_REF]. Empirical studies have shown that the Sshaped curve is present in thousands of growth and diffusion processes [START_REF] Kucharavy | Problem Mapping for the Assessment of Technological Barriers in the Framework of Innovative Design[END_REF][START_REF] Marchetti | The Dynamics of Energy Systems and the Logistic Substitution Model[END_REF][START_REF] Modis | Predictions -10 Years Later[END_REF][START_REF] Grubler | Technology and Global Change[END_REF]. Therefore, this model can be applied to both systems where the mechanisms of growth are understood and the growing principles are hidden.

Naïve vs. Causal Methods

Naïve methods apply past data about the growing variable (Y) to specify trends and extrapolate them into the future (see Figure 2). Causal methods apply causal variables (X) to foresee future changes of the growing variable (Y). A causal variable (X) is one that is necessary or sufficient for the occurrence of an event (Y), when it is assumed that X precedes Y in time.

1 Where e -the base of the natural system of logarithms, having a numerical value of approximately 2.71828

Naïve methods:

Y t-d , …, Y t-2 , Y t-1 , Y t → Y t+h
Causal methods: When the growing mechanism is known, the causal methods can be effective for a long-term forecast. However, naïve methods can be efficient even for hidden growing mechanisms when datasets are available.

X t-d , …, X t-2 , X t-1 , X t → X t+h ↓ b ↓ b h Y t-d , …, Y t-2 , Y t-1 , Y t Y t+h

Systems in competition, or where does logistic growth come from?

In order to really understand logistic models and to apply them in the most relevant way, it is necessary to grasp the rationales of logistic growth. Logistic growth is the outcome of a particular form of interaction within a system. For instance in population dynamics, species can compete for a common resource (such as groups fighting for territory), or they can be part of a "biological chain" (as in the predatorprey model). These different interaction schemes generate specific a growth pattern for the species under consideration. One of the basic assumptions for long-term forecasts that we apply is that all systems evolve under competition according to the law of logistic growth. In techno-economic systems, the growth variable is a frequently applied number of units or marketshare ratio. However, the growth parameter should be defined in accordance with the forecasting task [START_REF] Kucharavy | Application of S-Shaped Curves, 7th ETRIA TRIZ Future Conference[END_REF]. In order to propose a relevant model of technology forecasting (i.e., a model that can be applied in a way that is reproducible), the nature of the interactions driving technology competition and diffusion must be clarified [START_REF] Mansfield | Technical change and the rate of imitation[END_REF][START_REF] Luis | Industrial Organization[END_REF].

In his paper about a scientific approach for managing competition, Modis T. describes2 six ways that two competitors, can influence each other's growth rate [START_REF] Modis | A Scientific Approach to Managing Competition[END_REF]: pure competition, predator-prey, symbiosis, parasitic (winimpervious), symbiotic (loss-indifferent), and no-competition. These concepts have also been developed -with different terms -in economic and management literatures [START_REF] Luis | Industrial Organization[END_REF]. Pure competition -a situation when both species suffer from each other's existence because they exploit the same resources to survive. In economic terms, competition takes place when technologies offer similar functionstechnologies that are highly substitutable compete for the same market. However, the literature on imperfect competition shows that pure competition is exceptional: transportation costs, search cost, switching costs or capacity constraints can relax the competition between products [START_REF] Stigler | Competition[END_REF]. Symbiosis -a situation when both species benefit from their association. For instance, mobile phone sales trigger an increase of operators and new services. Advanced services of mobile phone operators initiate sales of the latest mobile phone models. Situations of complementarity have been vastly discussed in the economics of networks literature [START_REF] Arthur | Increasing Returns and the New World of Business[END_REF].

Predator-Prey competition -a relationship in which two 'species' interact as a 'predator' and its 'prey'. These dynamics go on in cycles of growth and decline. In economic terms, the predator-prey situation is characterized by both complementarity and competition as in the "hawk-dove" model. Examples of these situations are found in trade economics [START_REF] Anderton | Conflict and Trade in a Predator/Prey Economy[END_REF]. Parasitic (win-impervious) -a relationship between two species in which one obtains some benefit while the other is unaffected. Examples include growth of digital cameras and computers sale that trigger growth of external hard discs market. However, sales of external hard disks do not influent to sales of digital cameras. This situation is characterized by one-sided complementarity (and indifference from the other side). Symbiotic (loss-indifferent) -a situation when one party suffers from the existence of the other, which remains insensible to what is happening. In economic terms, this situation refers to well known negative externalities [START_REF] Baumol | On Taxation and the Control of Externalities[END_REF] -a concept well suited for analyzing pollution issues for instance.

No-competition -a relationship between two species when there is no overlap in using resources to evolve. For instance, sales of coffee do not affect sales of tea in the same supermarket. Sales depend on seasonal variation rather than on the competition between two products. In rather simple cases, it would be justified to study the precise pattern of interaction and competition to formulate a specific model of growth useable for specific forecasting. But interaction among competitors are often complex (see the economic literature on technology competition, Arthur 1988) and addressing the issue is likely to become excessively complex, time-consuming and sensitive to arbitrary modeling strategies or even hidden errors and biases. Therefore, we prefer a second option: decomposing the competition system into sub-systems in order to obtain an accurate fit of the model on observed data.

Component logistic model

Frequently, due to the difficulties with system definitions, the time-series data cannot be refined and split properly. It leads to inaccuracy with fitting a logistic S-curve to data. Prior to discussing the component model, a problemcontradiction should be defined: system evolutions should be described by multi-parameter complex functions and curves, since the systems rarely follow a single S-curve trajectory due to endogenous and exogenous complexities. However, system evolutions should be described by a simple, three-parameter logistic function, to provide a clear physical interpretation, to be comparable with other systems' evolutions, to decrease errors during forecasting and to be applicable in practice. In response to the formulated contradiction, the component logistic model proposes a description of the complex growth processes using a combination of simple three-parameter functions by applying bi-logistics [START_REF] Meyer | Bi-logistic growth Technological Forecasting and Social Change[END_REF] or multi-logistics [START_REF] Meyer | A Primer on Logistic Growth and Substitution: The Mathematics of the Loglet Lab Software[END_REF]. The mechanism of this combination resembles the principle of the 'nested doll' [START_REF] Altshuller | Creativity as an Exact Science[END_REF] and once again confirms the fractal feature of natural growth concept [START_REF] Modis | Fractal aspects of natural growth[END_REF]. For instance 3 , to study the dynamics of US Nuclear tests (source of data [21]) a single simple logistic does not provide the adequate level of residuals (accurate fit), while a bilogistic growth curve fits data with acceptable residuals (see Figure 3). 3 This example is adopted from [START_REF] Meyer | Bi-logistic growth Technological Forecasting and Social Change[END_REF].

Such a result was interpreted the following way: "…the fastest rate of growth (midpoint) of the first pulse occurred in 1963, following the Cuban missile crisis. While the first logistic pulse was largely the race to develop bombs with higher yields, the second pulse, centered in 1983 and nearing saturation now (1994), is probably due to the research on reliability and specific weapons designed for tactical use. The Bi-logistic model predicts that we are at 90% of saturation of the latest pulse. Processes often expire around 90%, though sometimes they overshoot. The residuals show the extraordinary, deviant increase in U.S. tests after the scare of the 1957 sputnik launch…" [START_REF] Meyer | Bi-logistic growth Technological Forecasting and Social Change[END_REF] When a reasonable interpretation is made, the application of component models provides suggestive and attentiongrabbing results. However, our practical experience shows that experts might need several weeks to propose a realistic interpretation for obtained curves.

(1)

(2) Figure 3: US nuclear weapon tests with decomposed bilogistic growth curve. One of the remarkable characteristics of the component logistic model is it helps to understand the observed system through the reduction of residuals and decomposition of the initial dataset by multi-logistic ones the initial definition of the system can be corrected and refined.

APPLYING COMPONENT LOGISTIC GROWTH FOR TECHNOLOGICAL FORECASTING

The component logistic models can be used for testing and validating our view of the innovation process.

Innovation process as a learning process

The applied working definition of technology diffusion is the following: technology diffusion is the process of getting a (new) technology adapted through practice. In the context of long-term technological forecasting, technology diffusion can be presented as a process of transition from invention to innovation [START_REF] Rogers | Diffusion of Innovations, 5th[END_REF][START_REF] Mensch | Stalemate in Technology: Innovations Overcome the Depression[END_REF]. For instance, the transitional process from the first feasible prototype to the first regular production and new market creation takes time: for photography -112 years, for the steam locomotive -55 years, for rolled wires -47 years, for the lead battery -79 years; and for arc welding -49 years respectively [START_REF] Mensch | Stalemate in Technology: Innovations Overcome the Depression[END_REF].The innovation process can be seen as a sequence of activities which have their own characteristics [START_REF] Llerena | Technology Policy and A-Synchronic Technologies: The Case of German High-Speed Trains[END_REF]. In many cases, the separation between the invention, technical validation and commercial exploitation is justified as each of these phases generates an output to be used by the next phase: Invention is defined as a result of engineering activities in a technological context; resolving the contradictions between specific needs (how it was perceived) and known laws of nature. The output of the invention process is a feasible solution and working prototype, but not necessarily a patent 4 .

Validation aims at producing and testing prototypes under a set of controlled laboratory conditions to obtain a prototype that could be used as a pre-series. Production and commercialization aim at increasing the added value of the innovation for the producer and the user. This can be done by increasing the productivity itself, by developing the distribution network, or by introducing small modifications to the product to satisfy consumer requests. Each of these three phases obviously deals with "something" different and we expect that the use of the component logistic models based on this decomposition can yield the required results. But because their purposes are different, one is faced with the difficulty of measuring their "growth" with a common indicator. For instance, the number of sells is a natural growth indicator for the production and commercialization phases, but it has no meaning for the measurement of growth in the other phases. What these phases have in common is that they describe learning processes. Learning relates to the reduction of uncertainties [START_REF] Grubler | Technology and Global Change[END_REF]. When enough information and knowledge has been acquired, moving to the new phase of the innovation process is required for further knowledge and information acquisition [START_REF] Llerena | Technology Policy and A-Synchronic Technologies: The Case of German High-Speed Trains[END_REF].

What should be measured?

Information and knowledge growth is common to the different phases we have described and is a potential growth indicator in the perspective of component logistic forecasting. A preliminary step is to define these concepts in an operational way. The measurability of knowledge and information will be our most important concern. First of all, let us propose the concepts needed to understand what learning actually is about. Data Data is a description of facts from a certain viewpoint using known parameters and values (measurement). In other words, it is a description (e.g. measurement) of facts through a comparison with something known (size, color; strength). Data acquisition is limited by examples to compare and selected measurement units (e.g. how does one measure a personal value?) It is important to underline that the same facts can be described by different datasets (e.g. the performance of military aircrafts and of passenger airplanes).

Information

Information can be defined as a structured representation using data and interpretations from a certain viewpoint. It is structured, articulated, codified, and stored in certain media.

The most common forms of information are manuals, documents, and audio-visual materials. Information is not related to individuals but it has an interpretative content. By watching the daily news from different countries it is easy to witness how different information can be about the same facts and events.

Knowledge

Knowledge is a personal way of using information to manage practical or intellectual tasks. Knowledge always belongs to an individual and includes conscious, subconscious, and unconscious components. Knowledge cannot be placed on the carrying medium since it is dynamic and constantly changing. The applied working definition for "knowledge" is similar to "tacit knowledge", which was proposed by Michael Polanyi (1951).

In brief, knowledge acquisition can be presented as a result of information that has been assimilated through interpretation, validation and adaptation phases. Knowledge can also take the form of experience based on feedback from practice.

World-view

The totality of our beliefs about reality forms our world-view.

In other words, it reflects how we perceive the world. One's personal view of the world and how one interprets it relies on the dominating world-view in society on the one hand and it influences the transformation of society's world-view through communication, on the other hand (e.g. ideas of Galileo Galilei). According to our experience, simply having new information does not systematically change one's worldview. However, regular knowledge acquisition contributes a lot to the evolution of one's world-view and increased learning capacity.

Law of logistic growth and emerging technologies

The key question to be answered has been formulated the following way: How can the future of emerging technologies be forecast by using simple logistic S-curves, when there is no statistical data about it? Before the 'infant mortality threshold' there is no statistical data about growing variables like efficiency, market share or number of 'species', since the system does not exist outside of laboratories. How can the logistic S-curve be constructed before having statistical data for the growing variable? The generic question can be reformulated the following way: How can one foresee time, place and specificity of transition from invention to innovation in advance?

The application of causal methods has been suggested to answer the above question. In the first experiment (2004-2005: a forecasting project for small stationary fuel cell) the hypothesis about studying problems (contradictions) as causal variables to foresee the future evolution of technology was tested. The quantity of contradictions was applied as a unit of measurement to judge technology maturity. The assumption was that at the early stage of study the growth rate of problems is slow, later it increases, and at a certain stage the growth of contradictions slows down until no new problems are registered. This assumption has been confirmed with the first experiment in 2004-2005 at the European Institute for Energy Research (EIFER, Karlsruhe, Germany) [START_REF] Gautier | Technological forecasting of Fuel Cells for small stationary applications[END_REF]. It was also tested in a project for distributed energy technologies (2005-2006, EIFER) [START_REF] Avci | OTSM-TRIZ approach for a technological forecast of Distributed Generation (DG): Results of the 8 first working sessions[END_REF]. Several small scale tests performed afterwards showed relevant results as well.

Obtained results which demonstrate conformity with logistic growth, have been recognized as preliminary ones until a explicit measurement mechanism for knowledge acquisition can be proposed.

Networks of contradictions

For the practical forecasting projects mentioned above, the network of contradictions has been proposed [START_REF] Khomenko | A Framework for OTSM-TRIZ Based Computer Support to be used in Complex Problem Management[END_REF] as a knowledge acquisition process guideline. Among many other roles, the network of contradictions helps differentiate signal and noise information-knowledge in the early stages of emerging technologies. The application of networks of contradictions intensifies learning and research processes on the one hand, and facilitates selection of relevant information on the other hand. In addition, a number of contradictions and interlinks between contradictions and critical parameters may be applied as growing variables to depict knowledge growth.

During the practical forecasting projects [START_REF] Kucharavy | Problem Mapping for the Assessment of Technological Barriers in the Framework of Innovative Design[END_REF][START_REF] Gautier | Technological forecasting of Fuel Cells for small stationary applications[END_REF][START_REF] Avci | OTSM-TRIZ approach for a technological forecast of Distributed Generation (DG): Results of the 8 first working sessions[END_REF] a slight growth of problems-contradictions were registered at the beginning of the study, fast growing of contradiction number at certain stage of project and decreasing number of problems until stable network at the end. Networks of contradictions help discover new problems and guide the knowledge acquisition process in accordance with them. The resulting networks of problems on the one hand accumulate information and structure the knowledge of experts; while on the other hand, the construction of maps of contradictions contributes to the reduction of expert bias. It has also been observed that constructing a network of contradictions helps members of the working team develop their competence more rapidly. This effect takes place as soon as knowledge acquisition is combined with constructing the network. This process produces a system effect when experts are forced to study new limitations for existing and emerging technologies instead of being preoccupied by existing solutions.

Growth of knowledge on the way to innovation

Currently, the extension of an original concept of 'contradictions as causal variables' for logistic growth is under examination. There are two basic assumptions behind this: 1) any process (especially problem solving) can be considered as a learning process [START_REF] Ausubel | The Evolution of Transport, The Industrial Physicist[END_REF][START_REF] Marchetti | Society as a Learning System --Discovery, Invention, and Innovation Cycles Revisited[END_REF]; 2) at the outcome of any learning process, there is a knowledge growth issue. Therefore, it is proposed to measure knowledge growth during the transition from invention to innovation. In his book [START_REF] Mensch | Stalemate in Technology: Innovations Overcome the Depression[END_REF]

Invention Innovation

Knowledge acquisition, in percents of readiness to transit to the next stage Figure 4: Growth of knowledge within exploration, experimentation and exploitation phases on the way from invention to innovation. According to the results of research in organization and economic sciences, the transition period from invention to innovation can be described through three consecutive stages [START_REF] March | Exploration and Exploitation in Organizational Learning[END_REF][START_REF] Llerena | Technology Policy and A-Synchronic Technologies: The Case of German High-Speed Trains[END_REF]: exploration (laboratory research) -E1, experimentation (field tests) -E2, and exploitation (commercialization) -E3. It can be assumed that at the beginning of the exploration stage (E1), most knowledge is implicit (See Figure 4). At the end of stage E1 knowledge is represented as information mostly in scientific papers and patents. At the experimental stage (E2), the need for sharable information increases, nevertheless, it is necessary to protect intellectual property. Therefore, most of the information at the beginning of E2 can be found in internal reports about field tests, in reviews, and in local patents. At the end of the stage E2, the international patents and publications in industrial journals increase in number; conference papers, and marketing articles are also numerous.

The working assumption is: if we can measure knowledge growth during E1, E2, E3 stages, it gives an opportunity to foresee the beginning of commercialization with the use of logistic S-curves. The amount of knowledge can be applied as a growing variable on the emerging technology. As an interim solution the relative ratio 'knowledge acquisition in percent of readiness to transition to the next stage' is adopted as a temporary answer for measurement units (see Figure 4). One hundred percent represents the knowledge acquisition ceiling for a certain stage (e.g. exploration). In Figure 4 the broken line curve on the right represents knowledge growth at the exploration stage for the next generation system. It shows that knowledge is accumulated over a period of time and when there is sufficient knowledge (saturation phase) to decide about the next stage, the S-curve of the next stage (e.g. experimentation) passes through its α-point. When accumulated knowledge approaches 90% of the growth limit, it is time for transition to the next stage.

In practice, the experimentation (field test) stage can be launched before exploration stage of knowledge acquisition reaches the saturation phase. A weak point of the consecutive S-curves model for knowledge is the ambiguity about when the next growth curve will substitute the old one and how to distinguish between these two curves. In order to address this issue the component logistic model which allows decomposing a complex growth process by several simple logistic curves [START_REF] Meyer | A Primer on Logistic Growth and Substitution: The Mathematics of the Loglet Lab Software[END_REF] should be employed. One more fact should be taken into account: all technologies evolve under competition and the number of research projects and amount of funds are limited as well. Hence, it is obvious, why certain inventions have never reached the experimentation stage or some of the inventions which have passed through 70% of experimentation have not arrived at the exploitation phase [START_REF] Grubler | Technology and Global Change[END_REF]. A reliable technological forecast should provide an explicit answer to the questions regarding which technology will succeed in competition, when it will happen, and where it will take place. Taking into account described assumptions and models it seems feasible to answer these critical questions.

How to measure knowledge?

This crucial question is answered in various specific situations by different way. The detail review of existing knowledge measurement techniques is planned to be done in future publications. In scope of this paper we would like just to point out some fruitful research domains: Text and data mining [START_REF] Porter | Tech mining: exploiting new technologies for competitive advantage[END_REF]. Unfortunately, after detail consideration, it becomes evident, that most of the techniques measure not knowledge, but information (see working definition in section 3.2). Nevertheless, growth of information can be regarded, at certain extend, as indication of knowledge growth.

CONCLUSIONS

The proposed working hypothesis concerning the knowledge acquisition mechanism through problems solving is still theoretical and should be checked through practice. Allowing that knowledge belongs to individuals, measurement for knowledge growth should take into account information growth (e.g. publications) as well as the number of persons involved in the process of knowledge growth. Therefore, it is proposed to measure knowledge as the product of a number of specialists (including authors of information) by number of publications (e.g. patents, conference papers, research reports, journal articles, videotitles and other kind of information). There are three major working hypotheses to be tested in the near future: 1. To measure knowledge growth by applying a network of contradictions as a guideline to differentiate signal and noise information. 2. To employ the concept of limiting resources from a super-system for validation of the network of contradiction. 3. To adapt the knowledge growth factor as an underlying cause of the technology substitution mechanism.

1. Signal and noise information can be differentiated when one focuses their attention not on the existing technological solutions, but on the problems to be solved regardless of known answers. A network of contradictions is technology to realize the basic principles of system thinking: "First, one should examine their objectives before considering ways of solving a problem. Second, one should begin by describing a system in general terms before proceeding to the specific." [START_REF] Armstrong | From Crystal Ball to Computer[END_REF] 2. The application of simple logistic S-curves to represent growth of knowledge follows the same concept of 'limiting resources' from the nearest super-system as it was implemented to study the evolution of technical systems. For instance, there is a well known situation when, at a certain stage, new laboratory experiments do not provide additional knowledge about a research topic. A typical answer for such a situation is to redesign experiments or to conduct field tests in real conditions but not in a laboratory. An open question for us is the limiting resources in a proposed example.

Analysis of limiting resources for constructed networks of contradictions helps to review and validate an obtained map of problems through the study of how formulated problems are recognized in research and development societies. In the same time, study about limiting resources discloses future problems and technological barriers according results of two forecasting project in energy technologies.

3. According to preliminary results of our research, the knowledge growth mechanism is one of the major factors in the chain of technology substitution issues. The competition issue is the exterior side of technology substitution when knowledge acquisition is an internal force for surviving under competition.

Figure 1 :

 1 Figure 1: Growth of a bacteria colony consuming sugar and minerals in a closed Petri dish fitted to a logistic curve: limit of growth κ=50 species, characteristic duration Δt=2.2 days, midpoint tm = 2.5 days.

Figure 2 :

 2 Figure 2: Naïve and Causal methods. Adapted from [34].

  Mensch classified innovations based on the date of the first commercial sell and the inventions with the state of the first working prototype. Based on this classification he presented historical data for 113 basic innovations. The distance between invention (feasible prototype) and innovation (first production for market) for different technologies was different. For instance, for electricity production -92 years, for dynamite -23 years, for magnetic tape recording -39 years, and for fluorescent lightning -82 years (see working definitions for invention and innovation in section 3.1.)

It is referenced to a study of Kristina Smitalova and Stefan Sujan (1991).

"Patent is a government grant to an inventor assuring him the sole right to make, use, and sell his invention for a limited period." [Collins English Dictionary. 8thEdition, 2006]

ACKNOWLEDGMENTS

This research is supported by the European Institute for Energy Research (EIFER), in Karlsruhe, Germany. We would also like to thank our colleagues from the LICIA team of LGECO, at INSA Strasbourg for their constant attention. We are also grateful to all our colleagues from different countries and institutions for their curiosity, questions, discussions and helpful criticism regarding the presentation of this hypothesis. Special thanks to Sarah Sands for English corrections of the proposed article.


Karim Baïna

François Charoy

Claude Godart
email: claude.godart@loria.fr

Daniela Grigori

S El Hadri

H Skaf

S Akifuji

T Sakaguchi

Y Seki

M Yoshioka

Hala Skaf-Molli

CORVETTE: a cooperative workflow for virtual teams coordination

Keywords: workflow management systems, cooperative processes, coordination of virtual teams, cooperative transaction models workflow management systems, group negotiation and decision systems

Workflow management systems are now widely deployed for handling administrative and production applications. In order that the workflow management systems keep supporting a larger range of applications, several research works have been launched to improve the workflow technology. This paper reports on the CORVETTE [1] project, an experiment in developing a cooperative workflow management system by integrating a workflow management system commercialised by Hitachi Ltd. with a cooperation technology proposed by INRIA. A cooperative workflow management system is a system gathering workflow management functionalities and having capabilities to manage cooperative behaviours characteristics of creative application processes (e.g. in codesign and coengineering). In this kind of applications, interactions between activities are characterised by being more subtle than in traditional applications (i.e. non-scheduled, unpredictable, dynamic, etc.). More precisely, CORVETTE was targeted to support coordination workflow processes of a virtual team working over the internet.

Introduction

Workflow management systems are now widely deployed for handling administrative and production applications. To address a larger range of applications, a lot of research has been launched to surpass the limits of current workflow technology [START_REF] Agostini | Modeling the Document Flow within a Cooperative Process as a Resource for Action[END_REF][START_REF] Baker | Awareness provisioning in collaboration management[END_REF][START_REF] Schuster | The collaboration management infrastructure[END_REF][START_REF] Grigori | Flexible data management and execution to support cooperative workflow: the COO approach[END_REF][START_REF] Baïna | A process service model for dynamic enterprise process interconnection[END_REF][START_REF] Baïna | Web-services coordination models[END_REF][START_REF] Reuter | Contracts -a low-level mechanism for building general-purpose workflow management systems[END_REF][START_REF] Suchmann | Plans and Situated Action. The Problem of Human-Machine Communication[END_REF][START_REF] Nutt | The evolution toward flexible workflow systems[END_REF][START_REF] Reichert | ADEPTflex -supporting dynamic changes of workflows without losing control[END_REF][START_REF] Weske | An XML-centred system architecture for flexible electronic services[END_REF][START_REF] Ellis | Chautaqua workflow system[END_REF][START_REF] Han | A taxonomy of adaptive workflow management[END_REF][START_REF] Casati | Modeling exceptional behaviors in commercial workflow management systems[END_REF]. Among them, some researches [START_REF] Schuster | The collaboration management infrastructure[END_REF][START_REF] Grigori | Flexible data management and execution to support cooperative workflow: the COO approach[END_REF][START_REF] Joeris | Defining flexible workflow execution behaviors[END_REF] concentrate on supporting creative processes, typically codesign and coengineering processes, where interactions between activities are more subtle than in traditional applications (i.e. non-scheduled, unpredictable, dynamic, etc.). We call a system that gathers workflow management functionalities and has capabilities to manage cooperative behaviours characteristic of creative applications as a cooperative workflow management system. This paper, written on the basis of [START_REF] Baïna | CORVETTE: a cooperative workflow development experiment[END_REF], reports on the CORVETTE project. CORVETTE is an experiment in developing a cooperative workflow management system by integrating a workflow management system commercialised by Hitachi Ltd. with a cooperation technology developed by INRIA. More precisely, CORVETTE was targeted to support coordination processes of a virtual team working over the internet. It is organised as follows. Section 2 describes the motivation for cooperative workflow. Section 3 describes the CORVETTE system design. Section 4 sketches the implementation. Finally, Section 5 synthesises the experiment and discusses some conclusions.

Why cooperative workflow?

Current workflow models are mainly concerned with the automation of administrative and production processes. These processes coordinate well-defined activities which execute in isolation, i.e. synchronise only at their start/terminate states. Though these models work efficiently for a class of applications, their limitations become evident when one wants to model the subtlety of cooperative interactions as they occur in more creative processes, typically codesign and coengineering processes. Cooperative workflow (Figure 1) has been mainly introduced to overcome these limitations. A cooperative workflow is a workflow where some activities being executed in parallel can share some intermediate results during their execution [START_REF] Godart | COO: a transaction model to support cooperating software developers[END_REF][START_REF] Godart | COO: a workflow operator to improve cooperation modeling in virtual processes[END_REF]. A cooperative workflow has the capability to synchronise activities at any point of their executions and thus ensures the coordination between designers [START_REF] Godart | COO: a workflow operator to improve cooperation modeling in virtual processes[END_REF]. To illustrate this, let us consider three partners cooperating within a building trade process (an architect, a research engineer and a building contractor). The architect has the responsibility of producing plans corresponding to a set of requirements given by a customer. Based on the plans of the architect and on his own expertise, the research engineer makes the main technological choices. The building contractor has the responsibility of manufacturing wood components and finally of assembling them on building site. This process is roughly described in Figure 2(a). A traditional (i.e. sequential) execution of this process is depicted in Figure 2(b). However, real processes do not execute really in this way. Processes corresponding to the three partners are more intricate and execute in parallel rather than in isolation. Actually, they exchange documents when executing with the objective to obtain a fast feedback and to point out risks in the construction as soon as possible. In general, definition of a model as in Figure 2(b) can delay a design problem and contribute to poor acceptance of the workflow management system on working sites. A better way to do things is to allow the architect, the engineer and the contractor to cooperate by exchanging intermediate results early (e.g. draft documents) when operating. This idea is illustrated in Figure 2(c) besides the fact that this organisation can dramatically decrease the total duration of a process. Enabling interactions between parallel activities is a typical cooperation characteristic within creative applications that we are concerned with. One important question at this point is: can a traditional workflow management system (WFMS) model and enact such interactions efficiently? In more accepted definitions of a workflow management system [20-22], an activity is a black box with an input container that is filled before the activity starts its execution and an output container that is filled when the activity ends. Thus, in classical workflow management systems, visibility of intermediate results is categorically prohibited. Therefore, such a WFMS cannot easily support such cooperative interactions. One can try to model it with iterations, knowing that the limits of this solution are easily reached. Interactions are difficult to forecast and their number increases exponentially with the number of activities [START_REF] Godart | COO: a workflow operator to improve cooperation modeling in virtual processes[END_REF]. Moreover, for practical opportunity, some products allow activities to interact when executing, but in this case, semantics of parallel executions become quite unclear, or rather is delegated to the applications, under the responsibility of the programmer. As far as current systems go, they cannot easily model cooperative behaviours. There is, therefore an obvious need for improving workflow management systems with cooperative workflow technology.

CORVETTE design

The objective of the CORVETTE project is to examine the development of a cooperative workflow management system to coordinate a virtual team cooperating through a wide network, typically the internet. Cooperation has to be taken here in the sense of the ECOO team cooperation model that we will present below. The final system must be implemented by 'connecting' the Hitachi WorkCoordinator [23] workflow management system and the ECOO MOTU cooperative system [START_REF] Motu | [END_REF], which provides complementary cooperation services, and especially COO [START_REF]COO stands for COOperation transaction model 26 BSCW, Basic Support for Cooperative Work[END_REF] cooperative transactions. This achievement must consider the WorkCoordinator system as a black box and thus must not touch its source code. Thus, the implementation has to enrich the WorkCoordinator with new cooperation services that interact with workflow services only by invocating the WorkCoordinator CORBA application programmable interface or by monitoring its embedded Oracle database.

This section is organised in three steps. First, we introduce the contributing technologies, followed by presentation of the important design decisions, and finally, we illustrate the detailed architecture of CORVETTE.

Contributing technologies

We start with the ECOO cooperation technology represented by the MOTU cooperative system and then introduce the Hitachi workflow technology within the WorkCoordinator system.

ECOO cooperation technology: Motu system

The ECOO cooperation model is based on the ability for an activity to publish an intermediate result, as introduced in Section 2. More precisely, the ECOO cooperation model is characterised by four generic cooperation patterns as depicted below:

• Producer/consumer. Two activities follow a producer/consumer cooperation pattern; one has the responsibility to create/modify an object and the other reads this object to integrate it in its own work. Producers and consumers can momentarily see different versions of the same object, but the consumer must retrieve the final producer version.

• Redactor/reviewer. Two activities follow a redactor/reviewer cooperation pattern; the redactor creates/modifies an object and the reviewer reads one or several successive versions of this object with the objective of reviewing it. The corresponding review objects are also shared in their turn.

• Cooperative write. Two activities follow a cooperative write pattern; they develop a common object, work on two different versions and frequently merge their modifications. Finally, they have to agree on a common final version.

• Concurrency. Two activities follow a concurrency cooperation pattern if they must execute in isolation. In cooperative processes, some activities must be allowed to share some results, while other activities must be allowed to execute in isolation with respect to others.

Based on the ECOO cooperation model, the MOTU cooperative system [START_REF] Motu | [END_REF] is a computer supported cooperative (or CSCW) tool on the lines of BSCW [26],

TeamScope [27] or Sourceforge [28]. It proposes, among other cooperation services, workspace management, communication, coordination, group awareness [START_REF] Molli | State tree map: an awareness widget for nultisSynchronous groupware[END_REF] etc. The main Motu cooperation service components used in CORVETTE project are the workspace manager and the COO-transaction manager that have been streamlined to manage consistency of non-linear versioned document exchanges.

The COO-transaction protocol asserts concurrency atomicity of cooperative processes (i.e. correctness of interactions between processes exchanging results when executing). For this purpose, each process is encapsulated in a COO-transaction. Each COO-transaction executes in its private workspace and COO-transactions cooperate by transferring intermediate results between their workspaces. The COO-transaction protocol is a set of rules that sets constraints on these transfers. They are intuitively depicted in the following:

• A result produced before the end of a COO-transaction is always an intermediate result of this transaction. Users can produce an intermediate result (operation IR-write).

• We call as the final result, a result produced at the end of a COO-transaction. All final results are produced atomically during the execution of the terminate operation of the transaction. A COO-transaction that produces an intermediate result must produce a corresponding final result. The protocol collects all the objects that were IR-written by the activity and automatically produces a final result for each of them during the termination phase of the activity.

• If a transaction has read an intermediate result, then it must read the corresponding final result. The system maintains a dependency relationship between activities to memorise the fact that a transaction reads an intermediate result of another one. When a transaction A 1 reads the intermediate value of an object x produced by a transaction A 0 , a dependency A 1 → A 0 is created. When the transaction A 1 reads a value of x and A 0 is terminated (i.e. when it has produced its final result), the dependence is removed.

• A transaction cannot terminate if it is still dependent on another one. If a transaction tries to terminate without reading the final value of some object after a previous access to an intermediate value of this object, the terminate operation is aborted and the transaction remains active.

• Transactions involved in a cyclic dependence graph form a group of transactions.

• A group-member transaction can start a group termination by trying to terminate itself. The terminate operation in this case produces a set of potentially final results and changes the state of the transaction from active to ready to commit (RTC).

• When a group-member transaction tries to terminate and all the other group-members are in the RTC state, then all the transactions are terminated simultaneously. Potentially final results are definitely promoted to final results.

• When a group-member transaction tries to terminate and another group-member is still active, then the former produces new potentially final results and enters the RTC state.

• If a group member produces a new intermediate result during the group termination phase, then this termination tentative is aborted, and all the group-members re-enter the active state. This is the way for a transaction to clearly indicate its disagreement with the object values produced by the group, and to ask for more work on the shared object.

More formal definitions of COO-transaction model and relationships between concurrency, atomicity and consistency is given in [START_REF] Canals | Criterion to enforce correctness of indirectly cooperating applications[END_REF][START_REF] Skaf | Maintaining shared workspaces consistency during software development[END_REF].

Hitachi workflow technology: WorkCoordinator system

Based on the Workflow Management Coalition (or WfMC) workflow specifications [20], the WorkCoordinator workflow management system (or WCO) considers a workflow entity as a control flow graph with activities as nodes and inter-activities transitions as edges (i.e. and-join, and-split, or-join, or-split, sequence, etc.). An activity has a description (textual field), a deadline (in days), and a post condition (an SQL statement) which defines when the activity can be completed. An activity entity is associated to a non-empty set of work items. A work item entity is an atomic job symbolising the place where effective work is done. Contrary to activities, there is no control flow scheduling the work item execution. A work item has a description (a textual field), a casting rule (an SQL statement) that identifies the work item performer (en identifier user), a pre-condition and a post-condition (SQL statements) which define, respectively, when it can start and complete. The parallel execution of activities or work items enables data to be shared when executing (objects, rows and files) and provides flexibility and cooperation. However, parallel execution consistency control concerning data access is the responsibility of programmers. WCO workflow model emphasises control flow but does not describe data flow between either activities or work items. WCO separates the process definition model (including process control flow definition) and the process execution context (including casting rules definitions, used application information, condition definitions and rule definitions, etc.). While the former is encapsulated in the WCO framework, the latter is handled by external database management systems (Hitachi or Oracle RDBMS). Thanks to this flexibility of WCO architecture, the modification of a process execution context is possible without process definition model alteration. Moreover, WCO maintains the possibility of modifying process definitions at runtime. Thus, cohabitation of several versions of the same processes can be ensured. Besides these capabilities of definition and enacting processes, WCO offers facilities to monitor life cycles of process instances, activities and work items. Finally, it integrates a CORBA Workflow Application Programming Interface (or WAPI) which is WfMC Interface 2 compliant. This interface allows external applications to invoke some of the workflow methods and functionalities. For this purpose, the WorkCoordinator is based on a Visigenic broker Architecture for C++.

CORVETTE software design

The constraint of not modifying the WorkCoordinator system source code has seriously directed CORVETTE design choices. This accelerated our choice for cooperative process modelling and simplified discussions about architecture. However, the scope of cooperation model to be implemented in CORVETTE, has been enough limited.

Otherwise, we have clearly distinguished between what is the content of workflow services and what is the content of data flow and concurrency services, which was an important policy matter in middleware software programming. CORVETTE cooperative process modelling. The question is: how to model cooperative processes? In the ECOO project, we study two complementary approaches. The first approach consists in providing new workflow operators to explicitly point out where cooperation is possible [START_REF] Godart | COO: a transaction model to support cooperating software developers[END_REF]. These 'cooperative operators' extend the set of traditional operators [START_REF]Typically and-join, and-split, or-join, or-split, sequence as defined[END_REF]. The second consists in modelling a cooperative process in the same way as traditional production processes, using the same set of operators, but interpreted in another way (i.e. a cooperative way). In other terms, in a traditional interpretation, activities are seen as black boxes, while in a cooperative interpretation they are seen as white boxes (being allowed to share intermediate results).

In CORVETTE, we chose the second alternative, which has two qualities:

• First, it corresponds to (a) reality in process books, administration processes are described in the same way as design processes. Actually, the workflow process reader interpretation changes depending on his/her know-how of application domain (idea depicted in Figure 2).

• Second, introducing cooperation has no impact on process modelling and allows us to reuse WCO process modeller, to model CORVETTE cooperative processes, as it is. Thus, this respects the constraint of not modifying the WCO source code, but transfers the problem to process management (i.e. enactment, monitoring, etc.).

Another decision was, without losing generality, to have one work item per activity. CORVETTE cooperation patterns modelling. Based on the decision of keeping the WCO model for cooperative process modelling and the constraint of not modifying the WCO source code, a question that arises is: which cooperation, or which cooperation patterns, is still possible to model with this constraint? In fact, and fortunately, WCO is mainly concerned with control flow and is very permissive regarding data flow. In fact, it imposes no constraint on data flows and cooperation between two work items, and in our context between two parallel activities, is allowed. An important restriction came, however, from the fact that a WCO activity can execute only when its preceding activities have terminated their executions. This means that only activities in parallel branches can cooperate, which has an impact on cooperative process modelling. Moreover, cooperation patterns Producer/consumer and Redactor/reviewer, referring by nature to succeeding activities, cannot effectively be implemented. In other terms, either these patterns are not allowed, or their implementation implies some contra-nature modelling.

CORVETTE software architecture

CORVETTE software components. The WorkCoordinator workflow management system handles workflow process modelling, enactment and coordination of workflow activities delegating data management services to the programmer responsibility. The MOTU cooperative system supports COO-transactions entities and manages a versioned document workspace for each COO-transaction. The CORVETTE architecture, thus, integrates two main components: a workflow management component handling control flow between workflow activities and a data management component handling data versioning and data flow between COO-transactions.

In this architecture, it was not possible to modify the WorkCoordinator, so the decision was quickly oriented towards the definition of a mediator between WorkCoordinator, Motu and users without intervening in contributing components source code. However, this was not the single reason for choosing this architecture. We think that clearly distinguishing between a component for control flow management and another for data flow management involves considerable software architecture in middleware programming context. CORVETTE plugging rules. The main issue in defining CORVETTE Client was the ability to establish a correspondence and coherency between WorkCoordinator process definition entities (handled by WorkCoordinator Server and Oracle Server) and COO-transactions entities (handled by MOTU Server). In other terms, how does one encapsulate a WorkCoordinator unit of work in a COO-transaction entity?

As, in WorkCoordinator, real work is executed in work items, the decision was to associate each work item to a COO-transaction. As work items can run in parallel, cooperation in the sense of intermediate result sharing can occur. And encapsulating work items in COO-transaction asserts consistency of cooperation in the sense of the COO protocol. As work items are started automatically by the Work Coordinator execution engine as soon as their activation conditions are fulfilled (e.g. the preceding work item has completed), this must be detected in order to create the corresponding COO-transaction. Reciprocally, termination of a work item must be done in coordination with its corresponding COO-transaction. This means that termination condition of the work item and of the COO-transaction must be fulfilled at the same time. Another issue concerns termination of a group of COO-transactions. When several COO-transactions are grouped due to cyclic dependences between them, they must terminate simultaneously, following a kind of two phases termination protocol. That means that all corresponding work items must also terminate simultaneously. To implement this capability, one new state was introduced (WaitingCommit) in the COO-transaction model. Table 1 depicts this mapping. As in other computer supported cooperative applications, human decision is needed to help the system to solve conflicts (e.g. exception recovery, resolution of indeterminism, negotiation of needed set of values [START_REF] Munier | A negotiation model for CSCW[END_REF], etc.). WorkCoordinator experts affirm, however, that the case where a work item fails is extremely rare.

CORVETTE implementation

As depicted in Figure 4, CORVETTE is a client for, on the first hand, the WorkCoordinator Server, and on the other hand, the Motu Server. Concerning the interface between CORVETTE client and Motu server, as both are written in Java, CORVETTE client is simply a special Java RMI (Remote Method Invocation) Motu Client. While, the interface between CORVETTE Client and WorkCoordinator Server (written in C++), it is based on WorkCoordinator IDL interface and on interoperability between Visigenic ORB for C++ and Visigenic ORB for Java.

Synthesis and conclusion

Globally, this experiment is a success. We demonstrate the feasibility of defining a cooperative workflow management system by 'plugging' (in the sense of integration software component without modification) together a 'traditional' workflow management system and an advanced cooperative transaction model. The main reason for this success is the absence of data flow consideration in the WorkCoordinator. Thus, we did not have to manage the integration of WorkCoordinator data flow model with our transaction model. Another success is the demonstration of the ability to model cooperative processes as traditional processes, but to interpret them in a cooperative way corresponding to cooperative behaviours.

This success is limited in the sense that not all cooperation capabilities, initially forecasted, have been implemented in such a flexible way (due to the inability to share intermediate results between succeeding activities). To overcome this limitation, it is necessary to provide activities with the capability to anticipate: "anticipation is the weakening of strict sequential execution of activity sequences in a process by allowing intermediate results to be used as preliminary input of succeeding activities."

For more about anticipation, see [START_REF] Grigori | Anticipation to enhance flexibility of workflow execution[END_REF]. Anticipation allows the implementation of Producer/consumer and Redactor/reviewer between succeeding activities, thus providing support for the full ECOO cooperation model.

As a conclusion of this experiment, we think that, if a workflow manager component does not impose constraints on data flow, and if it provides the capabilities introduced in the previous paragraph (anticipation, events and group termination), it will be possible to completely develop a cooperative workflow management system by simply plugging together this workflow component and a cooperative transaction manager. In addition, if all the activities of the process are concurrent (i.e. execute in isolation) as the process model does not change, this workflow management system has the behaviour of a traditional (competitive) one.

The experience gained in the Corvette project deeply influences our current developments, namelythe Bonita [36] flexible workflow management system and the Toxic Farm [37] portal for virtual team hosting.

Figure 1

 1 Figure 1 From classical to cooperative workflow (a) classical work flow: activities B and C are closed and execute in isolation and (b) collaborative workflow: activities B and C are porous and can share intermediate results when executing

Figure 2

 2 Figure 2 Building trade example (a) building trade process model, (b) building trade serial execution and (c) building trade collaborative execution

Figure 3

 3 depicts the overall CORVETTE architecture. A CORVETTE Client component assumes the mediator role between one user, WorkCoordinator Server, and Motu Server (embedding COO-transactions and workspaces Managers). In other words, there is one CORVETTE Client per user. This latter can simultaneously be performer of several work items, executing in different workspaces. Concurrency management between work items that are interfaced by one or several CORVETTE Clients leads to Motu COO-transaction Manager. More information on CORVETTE implementation details are given in [33].

Figure 3

 3 Figure 3 CORVETTE general design

Figure 4

 4 Figure 4 CORVETTE implementation overview

Table 1

 1 WorkCoordinator work item/COO-transaction states mapping is dependent on another one (has read an intermediate result of another active COO-transaction), it must wait for this other transaction to terminate 1.2 if not, t w enters the waiting commit state and asks its encapsulated work item to terminate 1.2.1 if the work item terminates (all its termination conditions are fulfilled), the COO-transaction t w commits 1.2.2 if not, the COO-transaction t w returns to the executing state 2 if t w is member of a COO-transaction group: 2.1 if there are still COO-transaction(s) of the group executing, the COO-transaction t w enters the ready to commit (RTC) state 2.2 if all other grouped COO-transactions are in RTC state, the COO-transaction t w triggers the termination of all encapsulated work items of the group and enters the waiting commit state 2.2.1 if all group work items terminate, all their associated COO-transactions are committed 2.2.2 if not, as a work item cannot go back to the performing state, a human group decision session has to be launched to insure a manual recovery of the work item group.As a direct consequence of cooperation cycles detection, the problem with a 'work item group' termination is that all the group work items, associated to grouped COO-transactions, have to terminate simultaneously. A termination conflict occurs when a sub-set of such a group have terminated and that one other work item of this group cannot. As other work items are not able to return from terminated to performing state, the system is blocked. In the context of our applications, abort is not acceptable and direct human intervention for manual recovery of the work item group is necessary.

	Work item state	COO-transaction state
	Initial	Initial
	Performing	Executing
		Waiting Commit
		RTC
	Completed	Terminated
	The role of CORVETTE client is to manage this mapping. This is mainly performed in
	the create work item, perform work item, open workspace and terminate work item
	CORVETTE commands as follows:
	• CORVETTE create work item: this command overwrites the WorkCoodinator create
	work item command to create a work item, and its associated COO-transaction
	structures, including the corresponding private workspace
	• CORVETTE perform work item: this command overwrites the WorkCoordinator
	perform work item command to manage the associated COO-transaction
	(pushing it in executing state)
	• CORVETTE open workspace: this command allows to create and populate the
	private workspace associated to the COO-transaction with necessary work item
	enactment artefacts
	• CORVETTE terminate work item: this command overwrites the WorkCoordinator
	terminate work item command to manage the associated COO-transactions.
	Let us explain the algorithm of this command:

Shunsuke Akifuji received his MS (Engineering) degree from

Toshiaki Sakaguchi received his MS (Yoko Seki received her MS (Engineering) degree from Masaichiro Yoshioka received his MS (


Emmanuel Lesigne
email: emmanuel.lesigne@lmpt.univ-tours.fr

ON THE BEHAVIOR AT INFINITY OF AN INTEGRABLE FUNCTION

We denote by x a real variable and by n a positive integer variable. The reference measure on the real line R is the Lebesgue measure. In this note we will use only basic properties of the Lebesgue measure and integral on R.

It is well known that the fact that a function tends to zero at infinity is a condition neither necessary nor sufficient for this function to be integrable. However, we have the following result.

Theorem 1. Let f be an integrable function on the real line R. For almost all x ∈ R, we have [START_REF] Ya | Continued Fractions[END_REF] lim n→∞ f (nx) = 0 .

Remark 1. It is too much hope in Theorem 1 for a result for all x because we consider an integrable function f , which can take arbitrary values on a set of zero measure. Even if we consider only continuous functions, the result does not hold for all x. Indeed a classical result, using a Baire category argument, tells us that if f is a continuous function on R such that for all nonzero x, lim n→∞ f (nx) = 0, then lim x→±∞ f (x) = 0. Thus for a continuous integrable function f which does not tend to zero at infinity, property (1) is true for almost all x and not for all x.

Remark 2. Let f be an integrable and nonnegative function on R. We have f (nx) dx = 1 n f (x) dx. Hence for any nonnegative real sequence (ε n ) such that n ǫ n /n < +∞, we have

n ε n f (nx) dx < +∞ ,
and the monotone convergence theorem (or Fubini's theorem) ensures that the function x → n ε n f (nx) is integrable, hence almost everywhere finite. In particular, for almost all x, we have lim n→∞ ε n f (nx) = 0. This argument is not sufficient to prove Theorem 1. Now we will state that, in a sense, Theorem 1 gives an optimal result. The strength of the following theorem lies in the fact that the sequence (a n ) can tend to infinity arbitrarily slowly.

Theorem 2. Let (a n ) be a real sequence which tends to +∞. There exists a continuous and integrable function f on R such that, for almost all x, lim sup Question. Under the hypothesis of Theorem 2, does there exist a continuous and integrable f such that, for all x, lim sup n→∞ a n f (nx) = +∞? We do not know the answer to this question, and we propose it to the reader. However, the next remark shows that the answer is positive under a slightly more demanding hypothesis.

Remark 3. If the sequence (a n ) is nondecreasing and satisfies n 1 nan < +∞, then there exists a continuous and integrable function f on R such that for all x, lim sup n→∞ a n f (nx) = +∞.

Remark 4. In Theorem 2 we cannot replace the hypothesis lim n a n = +∞ by lim sup n a n = +∞. Indeed, by a simple change of variable we can deduce from Theorem 1 the following result: for all integrable functions f on R, lim n→∞ nf (n 2 x) = 0 for almost all x.

(Apply Theorem 1 to the function x → xf (x 2 ).) Thus the conclusion of Theorem 2 is false for the sequence (a n ) defined by

a n = √ n if n is a square of integer, 0 if not.
In the remainder of this note, we give proofs of the two theorems and of Remark 3.

Proof of Theorem 1. The function f is integrable on R. Let us fix ε > 0 and denote by E the set of points x > 0 such that |f (x)| ≥ ε. We know that E has finite measure. We are going to show that, for almost all x ∈ [0, 1], we have nx ∈ E for only finitely many n's. (If A is a measurable subset of R, we denote by |A| its Lebesgue measure.)

For each integer m ≥ 1, let E m := E ∩ (m -1, m].
Let us fix a ∈ (0, 1). For each integer n ≥ 1, we consider the set

F n := 1 n E ∩ [a, 1) =   1 n m≥1 E m   ∩ [a, 1) = 1 n m≥1 (E m ∩ [na, n)) .
We have

+∞ n=1 |F n | = +∞ n=1 +∞ m=1 1 n |E m ∩ [na, n)| .
In this doubly indexed sum of positive numbers, we can invert the order of summation. Moreover, noticing that

E m ∩ [na, n) = ∅ if n > m/a or n ≤ m -1, we obtain +∞ n=1 |F n | = +∞ m=1 [m/a] n=m 1 n |E m ∩ [na, n)| ≤ +∞ m=1 |E m | [m/a] n=m 1 n .
By comparison of the discrete sum with an integral, we see that, for all m ≥ 1,

[m/a] n=m 1 n ≤ (1 -ln a). Thus we have +∞ n=1 |F n | ≤ (1 -ln a) +∞ m=1 |E m | = (1 -ln a)|E| < +∞ .
This implies that almost every x belongs to only finitely many sets F n . (This statement is the Borel-Cantelli lemma, which has a one line proof :

½ Fn < +∞ almost everywhere since

½ Fn (x) dx = ½ Fn (x) < +∞ .)
Returning to the definition of F n , we conclude that, for almost all x ∈ [a, 1], for all large enough n , x / ∈ F n , i.e. nx / ∈ E. Since a is arbitrary, we have in fact: for almost all x ∈ [0, 1], for all large enough n, nx / ∈ E. We have proved that, for all ε > 0, for almost all x ∈ [0, 1], for all large enough n, |f (nx)| ≤ ε. Since we have to consider only countably many ε's, we can invert for all ε > 0 and for almost all x ∈ [0, 1]. We conclude that, for almost all x ∈ [0, 1], lim n→∞ f (nx) = 0. It is immediate, by a linear change of variable (for example), that this result extends to almost all x ∈ R.

Proof of Theorem 2. We will utilize the following theorem, a fundamental result in the metric theory of Diophantine approximation [START_REF] Ya | Continued Fractions[END_REF]Theorem 32].

Khinchin's Theorem. Let (b n ) be a sequence of positive real numbers such that the sequence (nb n ) is nonincreasing and the series n b n diverges. For almost all real numbers x, there are infinitely many integers n such that dist(nx, Z) < b n .

We will also make use of the following lemma, which will be proved in the sequel. Let us prove Theorem 2. Replacing if necessary a n by inf k≥n a k , we can suppose that the sequence (a n ) is nondecreasing. Applying the preceding lemma to the the sequence c n = 1/ √ a n , we obtain a sequence (b n ) such that the sequence (nb n ) is nonincreasing, n b n = +∞, and n b n / √ a n < +∞. The sequence (b n ) tends to zero, and we can impose the additional requirement that b n < 1/2 for all n.

We consider the function f 1 defined on R by

f 1 (x) = 1/ √ a n if |x -n| ≤ b n for an integer n ≥ 1, 0 if not.
This function is integrable, due to the last condition imposed on (b n ). By Khinchin's theorem, for almost all x > 0, there exist pairs of positive integers (n, k(n)), with arbitrarily large n, such that

|nx -k(n)| ≤ b n .
Let us consider one fixed such x in the interval (0, 1). We have lim n→∞ k(n) = +∞ and, since lim n→+∞ b n = 0, we have k(n) ≤ n for all large enough n. For such an n, we have

|nx -k(n)| ≤ b k(n) and hence f 1 (nx) = 1 √ a k(n) .
(We used here the fact that the sequence (b n ) is nonincreasing.) Thus, for arbitrarily large n, we have

a n f 1 (nx) = a n √ a k(n) ≥ √ a k(n) .
(We used here the fact that the sequence (a n ) is nondecreasing.) This proves that lim sup n→∞ a n f 1 (nx) = +∞. This argument applies to almost all x between 0 and 1.

For each integer m ≥ 1, let us denote by f m the function f m (x) = f 1 (x/m). This function f m is nonnegative and integrable on R. It is locally a step function.

For almost all x between 0 and m, we have

lim sup n→∞ a n f m (nx) = +∞ .
From this, it is not difficult to construct a continuous and integrable function f on R such that, for all m > 0, there exists A m > 0 with f ≥ f m on [A m , +∞). (For example, we can choose an increasing sequence of numbers (A m ) such that

+∞ Am f 1 (x) + f 2 (x) + • • • + f m (x) dx ≤ 1 m 2 ; then we define g = f 1 + f 2 + • • • + f m on the interval [A m , A m+1 ). Since m Am+1 Am f 1 (x) + f 2 (x) + • • • + f m (x) dx < ∞ ,
this function g is integrable. Then we just have to find a continuous and integrable function f which dominates g; this can be achieved since the function g is locally a step function: choose f to be zero on (-∞, 0] and continuous on R such that g ≤ f and, for all m > 0,

m m-1 f (x) -g(x) dx ≤ 1/m 2 , so that +∞ 0 f (x) -g(x) dx < +∞ .)
For almost all x ≥ 0, we have lim sup n→∞ a n f (nx) = +∞. A symmetrization procedure extends this property to almost all real numbers.

The first part of Theorem 2 is proved. The second part is a direct consequence. We consider the function f constructed above, and we denote by F the set of x such that the sequence (a n f (nx)) is bounded. The set {nx | x ∈ F, n ∈ N} has zero measure. We modify the function f on this set, choosing for example the value 1. The new function is integrable and satisfies, for all x, lim sup n→∞ a n f (nx) = +∞.

Proof of Lemma 1. The sequence (c n ) is given, and it goes to zero. We will construct by induction an increasing sequence of integers (n k ) and a nonincreasing sequence of positive numbers (d k ), and we will define b n = d k /n for n k-1 ≤ n < n k . The numbers d k will be chosen so that

n k -1 i=n k-1 b i = 1 ; thus we require that d k :=   n k -1 i=n k-1 1 i   -1 .
We start from n 0 = 1, and then we choose n 1 > n 0 such that, for all n ≥ n 1 , |c n | ≤ 1/2. In the next step, we choose n 2 > n 1 such that d 2 ≤ d 1 and, for all n ≥ n 2 , |c n | ≤ 1/4. More generally, if n 1 , n 2 , . . . , n k-1 have been constructed, we choose

n k > n k-1 such that d k ≤ d k-1 and, for all n ≥ n k , |c n | ≤ 2 -k . (Of course, this is possible because lim n→+∞ n i=n k-1 1 i -1 = 0.)
This defines the sequence (b n ) by blocks. The sequence (nb n ) is nonincreasing and, for all k ≥ 1, we have

n k -1 i=n k-1 b i = 1 and n k -1 i=n k-1 b i c i ≤ 2 1-k .
This guarantees that n b n = +∞ and n b n c n < +∞. The lemma is proved. About Remark 3. Dirichlet's lemma in Diophantine approximation (based on the pigeon-hole principle) concerns the particular case b n = 1/n in Khinchin's theorem and it gives a result for all x.

Lemma 2 (Dirichlet's Lemma). For all real numbers x, there exist infinitely many integers n such that dist(nx, Z) ≤ 1 n . Now, we justify Remark 3. We consider a nondecreasing sequence of positive real numbers (a n ) such that Here is a proof of this claim: for each k ≥ 1, there exists n(k) such that n≥n(k)

1 na n ≤ 1 k 2 .
We have This function is integrable. Using Dirichlet's lemma, we have the following: for each fixed x in (0, 1), there exist pairs of positive integers (n, k(n)), with n arbitrarily large, such that |nxk(n)| ≤ 1/n. We have lim n→∞ k(n) = +∞ and, for all large enough n, k(n) ≤ n. Hence there exist infinitely many n's such that

n card{k | n(k) ≤ n} 1 na n = k≥1 n≥n(k) 1 na n < +∞ ,
|nx -k(n)| ≤ 1 k(n)
and so f (nx) = b k(n) .

For such an n, we have

a n f (nx) = a n b k(n) ≥ a k(n) b k(n) .
(We used here the fact that the sequence (a n ) is nondecreasing.) This proves that lim sup n→∞ a n f (nx) = +∞. This result obtained for all numbers x between 0 and 1 extends to all real numbers by the same argument as the one used in the proof of Theorem 2. We can also replace the local step function by a continuous one as we did before.

Theorem 1 answers a question asked by Aris Danilidis.

  n→∞ a n f (nx) = +∞ . 1 Moreover, there exists an integrable function f on R such that, for all x, lim sup n→∞ a n f (nx) = +∞ .

Lemma 1 .

 1 Let (c n ) be a sequence of nonnegative real numbers going to zero. There exists a sequence of positive real numbers (b n ) such that the sequence (nb n ) is nonincreasing, n b n = +∞, and n b n c n < +∞.

  We claim that there exists a sequence of positive real numbers (b n ) such that b n a n → +∞ and b n n < +∞ .

  and we can define bn := card{k | n(k) ≤ n}/a n .Given this sequence (b n ), we consider the function f defined on R byf (x) = b k if |x -k| ≤ 1/k, k an integer, k ≥ 2, 0 if not.