Dual-Resource TCP/AQM for Processing-Constrained Networks Abstract-This paper examines congestion control issues for TCP flows that require in-network processing on the fly in network elements such as gateways, proxies, firewalls and even routers. Applications of these flows are increasingly abundant in the future as the Internet evolves. Since these flows require use of CPUs in network elements, both bandwidth and CPU resources can be a bottleneck and thus congestion control must deal with "congestion" on both of these resources. In this paper, we show that conventional TCP/AQM schemes can significantly lose throughput and suffer harmful unfairness in this environment, particularly when CPU cycles become more scarce (which is likely the trend given the recent explosive growth rate of bandwidth). As a solution to this problem, we establish a notion of dual-resource proportional fairness and propose an AQM scheme, called Dual-Resource Queue (DRQ), that can closely approximate proportional fairness for TCP Reno sources with in-network processing requirements. DRQ is scalable because it does not maintain per-flow states while minimizing communication among different resource queues, and is also incrementally deployable because of no required change in TCP stacks. The simulation study shows that DRQ approximates proportional fairness without much implementation cost and even an incremental deployment of DRQ at the edge of the Internet improves the fairness and throughput of these TCP flows. Our work is at its early stage and might lead to an interesting development in congestion control research. A DVANCES in optical network technology enable fast pace increase in physical bandwidth whose growth rate has far surpassed that of other resources such as CPU and memory bus. This phenomenon causes network bottlenecks to shift from bandwidth to other resources. The rise of new applications that require in-network processing hastens this shift, too. For instance, a voice-over-IP call made from a cell phone to a PSTN phone must go through a media gateway that performs audio transcoding "on the fly" as the two end points often use different audio compression standards. Examples of in-network processing services are increasingly abundant from security, performance-enhancing proxies (PEP), to media translation [1] , [2] . These services add additional loads to processing capacity in the network components. New router technologies such as extensible routers [3] or programmable routers [4] also need to deal with scheduling of CPU usage per packet as well as bandwidth usage per packet. Moreover, the standardization activities to embrace various network applications especially at network edges are found in [5] and [6] as the name of Open Pluggable Edge Services.. In this paper, we examine congestion control issues for an environment where both bandwidth and CPU resources can be a bottleneck. We call this environment dual-resource environment. In the dual-resource environment, different flows could have different processing demands per byte.. Traditionally, congestion control research has focused on managing only bandwidth. However, we envision (also it is indeed happening now to some degree) that diverse network services reside somewhere inside the network, most likely at the edge of the Internet, processing, storing or forwarding data packets on the fly. As the in-network processing is likely to be popular in the future, our work that examines whether the current congestion control theory can be applied without modification, or if not, then what scalable solutions can be applied to fix the problem, is highly timely.. In our earlier work [7] , we extended proportional fairness to the dual-resource environment and proposed a distributed congestion control protocol for the same environment where end-hosts are cooperative and explicit signaling is available for congestion control. In this paper, we propose a scalable active queue management (AQM) strategy, called Dual-Resource Queue (DRQ), that can be used by network routers to approximate proportional fairness, without requiring any change in endhost TCP stacks. Since it does notrequire any change in TCP stacks, our solution is incrementally deployable in the current Internet. Furthermore, DRQ is highly scalable in the number of flows it can handle because it does not maintain per-flow states or queues. DRQ maintains only one queue per resource and works with classes of application flows whose processing requirements are a priori known or measurable.. Resource scheduling and management of one resource type in network environments where different flows could have different demands are a well-studied area of research. Weightedfair queuing (WFQ) [8] and its variants such as deficit round robin (DRR) [9] are well known techniques to achieve fair and efficient resource allocation. However, the solutions are not scalable and implementing them in a high-speed router with many flows is difficult since they need to maintain per-flow queues and states. Another extreme is to have routers maintain simpler queue management schemes such as RED [10] , REM [11] or PI [12] . Our study finds that these solutions may yield extremely unfair allocation of CPU and bandwidth and sometimes lead to very inefficient resource usages.. Some fair queueing algorithms such as Core-Stateless Fair Queueing (CSFQ) [13] and Rainbow Fair Queueing (RFQ) [14] have been proposed to eliminate the problem of maintaining per-flow queues and states in routers. However, those schemes are concerned about bandwidth sharing only and do not consider joint allocation of bandwidth and CPU cycles. Estimation-based Fair Queueing (EFQ) [15] and Prediction Based Fair Queueing (PBFQ) [16] have been also proposed for fair CPU sharing but they require per-flow queues and do not consider joint allocation of bandwidth and CPU cycles either.. Our study, to the best of our knowledge, is the first in examining the issues of TCP and AQM under the dual-resource environment and we show that by simulation DRQ achieves fair and efficient resource allocation without imposing much implementation cost. The remainder of this paper is organized as follows. In Section II, we define the problem and fairness in the dual-resource environment, in Sections III and IV, we present DRQ and its simulation study, and in Section V, we conclude our paper. We have shown that under DRQ the average equilibrium throughput for TCP Reno sources becomes proportionally fair in the dual-resource environment. Moreover, such an equilibrium is unique and almost always exists, more specifically, as long as the per-flow steady-state average TCP window size (or per-flow bandwidth-delay product) is sustainable at a value greater than or equal to 2 packets.. DRQ significantly outperforms RED-RED scheme while maintaining a certain level of fairness. DRQ is scalable to a large number of flows and incrementally deployable since it does not require any change in end-host TCP stacks and builds on an ordinary RED queue.. The throughput gain achieved by DRQ over RED-RED comes mostly from two features of its marking scheme. The weighted marking at a CPU queue (in proportion to processing densities of flows) yields fair sharing of CPU cycles whenever this resource is scarce, which consequently, results in overall throughput increase. Second, the inter-resource marking, which is a unique feature of DRQ, gives extra penalty to flows that traverses more number of resources, which also results in overall throughput increase.. We show by simulation that even a partial deployment of DRQ is beneficial to increasing performance when it is implemented on a few selected locations where special in-network processing services (e.g., media translation, protocol conversion, security and PEP) are enabled. (11) and (14), there exist , , and , , whose specific values can be obtained from (10) and (13) for and since and . Finally, for , (9) and (15) yield , which also holds for by the Lagrangian optimality of in (6) with . Next we prove the converse that if the average Reno/DRQ network has an equilibrium point , then is the primal-dual optimal solution of the corresponding Problem with and, moreover, no other equilibrium points can exist in the network. By the duality theory [22] , the necessary and sufficient condition for to be the primal-dual optimal solution of Problem is that is primal feasible, is dual feasible, and satisfies Lagrangian optimality and complementary slackness. First, (7) and (8) . Therefore, we conclude that is the primal-dual optimal solution of Problem . Moreover, is unique since the optimal solution of Problem is unique. From (10), it is obvious that if and otherwise. The same argument can be applied to CPU queues from (13) .. Proof of Proposition 2: First, we derive a linearized model of Reno/DRQ network at the equilibrium point. In the DRQ network described by (15) , the congestion window for the th TCP source, , can be modelled by the nonlinear differential equation (34) where (35) and is the th element of unified pre-marking probability set as if indicates CPU if indicates link.. Using (7), (8), we model the th congested resource queue by (36) where is the th element of the resource queue length set in bits (

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


PFClust: an optimised implementation of a parameter-free clustering algorithm Background: A well-known problem in cluster analysis is finding an optimal number of clusters reflecting the inherent structure of the data. PFClust is a partitioning-based clustering algorithm capable, unlike many widely-used clustering algorithms, of automatically proposing an optimal number of clusters for the data. Results: The results of tests on various types of data showed that PFClust can discover clusters of arbitrary shapes, sizes and densities. The previous implementation of the algorithm had already been successfully used to cluster large macromolecular structures and small druglike compounds. We have greatly improved the algorithm by a more efficient implementation, which enables PFClust to process large data sets acceptably fast. Conclusions: In this paper we present a new optimized implementation of the PFClust algorithm that runs considerably faster than the original. Cluster analysis [1] comprises methods designed to find structure in a dataset. Data can be divided into clusters that help us understand the problem domain, inform ongoing investigation, or form input for other data analysis techniques. Clustering methods [2] [3] [4] [5] [6] [7] attempt to find such clusters based only on the known relationships between the data objects. This distinguishes them from supervised data analysis approaches, such as classification methods [8] that are provided with right and wrong answers to guide their data analysis. One of the main challenges introduced by the lack of class labels is determining an optimal number of clusters that reflect the inherent structure present in the data. Exhaustive cluster enumeration becomes impractical as the size and dimensionality of the data grow. We have developed a novel clustering technique called PFClust [9] that automatically discovers an optimum partitioning of the data without requiring prior knowledge of the number of clusters. PFClust is also immune to the enumeration problem introduced by highdimensional data, since it relies on a similarity matrix.. Here we give a brief overview of the algorithm and its applications, and present a new efficient implementation. An efficient implementation of PFClust enabled us to run the program on all our synthetic datasets [9] acceptably fast. It processes the largest data set (5000 2D Vectors) in minutes, while the original implementation took several days. This new implementation can be now used effectively, not only for small datasets (≤ 1500) as previously shown, but also for larger ones (≥ 5000). PFClust consists of two steps: threshold estimation and clustering. The threshold estimation procedure randomly splits the given dataset into clusters 1000 times and records the expectation value of the intra-cluster similarities between members of the same cluster. Twenty threshold values from the top 5% of the distribution of mean intracluster similarities are selected as a representative range of possible thresholds, and are fed into the subsequent clustering procedure. The clustering step of the algorithm is computationally more intensive than the threshold estimation step, and its complexity is O(kn 2 ), where k is the number of clusters and n is the number of elements in the dataset. This is also the overall complexity of the PFClust algorithm.. Without changing the computational complexity of the algorithm we have re-implemented it in the same programming language as the original (Java) with a careful selection of data types and appropriate bookkeeping, as the majority of operations are performed inside loops and involve intensive data structure manipulation. We have also taken advantage of the independence of the 20 iterations of the clustering procedure and executed them in parallel.

O O O O O O O B O O O O O O B I O O O O B I I O O O O O O O O O O O B O O O O O B O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O


Augmented vessels for quantitative analysis of vascular abnormalities and endovascular treatment planning Abstract-Endovascular treatment plays an important role in the minimally invasive treatment of patients with vascular diseases, a major cause of morbidity and mortality worldwide. Given a segmentation of an angiography, quantitative analysis of abnormal structures can aid radiologists in choosing appropriate treatments and apparatuses. However, effective quantitation is only attainable if the abnormalities are identified from the vasculature. To achieve this, a novel method is developed, which works on the simpler shape of normal vessels to identify different vascular abnormalities (viz. stenotic atherosclerotic plaque, and saccular and fusiform aneurysmal lumens) in an indirect fashion, instead of directly manipulating the complex-shaped abnormalities. The proposed method has been tested on three synthetic and 17 clinical data sets. Comparisons with two related works are also conducted. Experimental results show that our method can produce satisfactory identification of the abnormalities and approximations of the ideal post-treatment vessel lumens. In addition, it can help increase the repeatability of the measurement of clinical parameters significantly. Identification of abnormal vascular structures from a vasculature is beneficial to quantitative analysis of abnormalities, endovascular treatment planning and simulation. It helps 1) to make measurements of clinical parameters more repeatable and effective to take, 2) to allow exclusive quantitative analysis on the lesions, 3) the angle selection for optimal working projections, 4) to enable a variety of studies on the normal and abnormal vascular structures, including hemodynamical study and visualization, shape analysis, growth simulation, 5) to synthesize more realistic pathologies for treatment simulation, and 6) to assist/simulate endovascular stent grafting/deployment. Hence, in this paper, we develop a novel unified approach to identifying different vascular abnormalities, for instance, fusiform, narrow-and wide-neck saccular aneurysmal lumens, and stenotic atherosclerotic plaque.. Our method, in contrast to the other algorithms, models the opposite of the abnormalities (i.e., normal vessels) to identify the lesion lumens in an indirect fashion. The normal vessel models, namely augmented vessels, are much easier to manipulate as compared with the model of complex shaped diseased lumens. The abnormal lumens, therefore, can be obtained using a simple set operation. We have tested the method on several synthetic and clinical data sets, and illustrated that it is capable of identifying different kinds of abnormalities as opposed to the two related works, which are restricted to the demarcation of narrow-neck saccular aneurysms only. Furthermore, in an in vivo study with 17 3-D RA cases, we show that our method can help increase the measurement repeatability of clinical parameters by 10 times.. A possible improvement to the proposed method is to make it directly applicable to gray-scale images instead of topologically and morphologically correct vascular segmentations. Finally, intensive tests of the method on a clinical environment and studies of its impact on the planning of endovascular treatment, for instance, coil embolization of intracranial aneurysms and recanalization of cerebral arteries, are of interest for future research.

O O O B I O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B I I O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Wind parameters extraction from aircraft trajectories When supervising aircraft, air traffic controllers need to know the current wind magnitude and direction since they impact every flying vessel. The wind may accelerate or slow down an aircraft, depending on its relative direction to the wind. Considering several aircraft flying in the same geographical area, one can observe how the ground speed depends on the direction followed by the aircraft. If a sufficient amount of trajectory data is available, approximately sinusoidal shapes emerge when plotting the ground speeds. These patterns characterize the wind in the observed area. After visualizing this phenomenon on recorded radar data, we propose an analytical method based on a least squares approximation to retrieve the wind direction and magnitude from the trajectories of several aircraft flying in different directions. After some preliminary tests for which the use of the algorigthm is discussed, we propose an interactive procedure to extract the wind from trajectory data. In this procedure, a human operator selects appropriate subsets of radar data, performs automatic and/or manual curve fitting to extract the wind, and validates the resulting wind estimates. The operators can also assess the wind stability in time, and validate or invalidate their previous choices concerning the time interval used to filter the input data.The wind resulting from the least squares approximation is compared with two other sources -the wind data provided by Météo-France and the wind computed from on-board aircraft parameters -showing the good performance of our algorithm. The interactive procedure received positive feedback from air traffic controllers, which is reported in this paper. Aircraft fly through the air, and the air flows over the Earth's surface. This simple statement highlights the crucial need to know the winds aloft when one wants to navigate over the Earth's surface in a flying machine. Alternatively, one can also guess how the wind flows simply by observing the trajectories of aircraft relative to the ground. Interestingly enough, air traffic controllers already apply this idea in their everyday work. Experienced controllers can roughly estimate the wind force and direction by observing the aircraft trajectories, and comparing the ground speeds of aircraft flying in different directions: aircraft facing the wind have a lower ground speed than aircraft flying in the opposite direction. This basic idea is at the core of the interactive process proposed in this paper, which allows users to extract the wind direction and magnitude from aircraft radar tracks.. Air Traffic Controllers need accurate wind parameters to perform their activity efficiently. For instance, one can reduce the converging speed of two conflicting aircraft by turning one aircraft so that it will face the wind. The wind impact on aircraft ground speed is also used to slow down or speed up aircraft in order to respect a paced landing sequence, optimizing runway usage (i.e. one landing every 3 minutes). The wind parameters are also necessary to make reliable short/medium term trajectory predictions, so as to avoid trajectory conflicts. With the emergence of new operational concepts [1, 2] and automated tools for air traffic management, predicting aircraft trajectories with great accuracy has become more and more critical in recent years. For example, medium-term conflict detection and resolution is very sensitive to trajectory prediction uncertainties [3] . In this context, it is crucial to forecast the wind with accuracy within a prediction window of 15 to 30 minutes, at any point in the airspace. The current meteorological forecasting models do not operate within such timeframes and the best alternative is most probably to use the current wind, assuming that it will remain constant during the time interval of the prediction.. Estimating the current wind numerically still remains a difficult problem, as wind measurements through sensors such as meteorological balloons or radar wind profilers are sparse in both space and time. These wind measurements must be processed by a numerical model and the meteorological wind, pressure, and temperature data is updated every N hours (3 hours, usually) .. In this paper, flying aircraft are used as passive wind sensors, with their positions and velocities measured through radar detection. These radar measurements are currently used for air traffic management purposes and are easily available to ground systems, in great quantities. When plotting the ground speed magnitude as a function of ground speed direction, for a number of aircraft, some roughly sinusoidal patterns emerge. These visual patterns are a straightforward result of the wind influence on aircraft trajectories (Figure 1) .. In the following, we propose an analytical method to extract the wind from these patterns, using a least squares regression. Instead of focusing on one or two aircraft as in [4] , the idea is to take advantage of the amount of data, and consider categories of aircraft with the same speed characteristics. The wind magnitude and direction is then approximated by applying a least squares method to selected radar tracks, considering all flights in the vicinity of the points where the wind is estimated. A simplified ground speed and wind model is used, neglecting the influence of lateral drift (the drift angle is the angle between the longitudinal axis of an aircraft and its path relative to the ground) on the along-track ground speed. With this approximation, which is justified for aircraft flying at high speeds, the number of unknown variables can be considerably reduced and the model can be linearized.. We also propose an interactive semi-automatic process, where the least squares computation is driven by the user who selects the input data and validates the results through a visual interface.. The remainder of the paper is organized as follows: section 2 details the related works on trajectory exploration and wind extraction, while section 3 introduces the principles of wind extraction from a dataset of aircraft trajectories. The dataset itself is described in section 4. The issues that were raised during some preliminary tests of the automatic extraction method are detailed in section 5. The interactive extraction procedure mixing the least squares algorithm and user filtering and adjustments is presented in section 6. Section 7 shows how the wind dynamics can be extracted and displayed in order to help the user to select time windows when filtering the data. Finally, in section 8, we visually compare our results with Météo-France data. We also discuss the confidence intervals of the least squares method and give some numerical results on the comparison with the Météo-France wind data and the wind computed from downlinked aircraft data. Section 9 concludes the paper and gives some perspectives about further improvements and possible applications of our method. In this paper, after visualizing the sinusoidal patterns resulting from the wind influence on aircraft ground speeds, we have proposed an analytical method to extract the wind magnitude and direction from the radar tracks of aircraft belonging to various speed categories. A simplified model has been introduced, allowing us to drastically reduce the number of unknown variables and to apply the ordinary least squares method to a linearized problem. The proposed simplification consists in neglecting the effects of lateral drift on the along-track speed for aircraft flying at high speeds. As the performance disparities among flying aircraft (even within a same speed category) are of a greater order of magnitude than the effects of the lateral drift, this approach is justified.. An interactive Visual Analytics system has been developed to demonstrate the results of our automatic approach on recorded radar tracks. Users can explore, validate, or adjust the extracted wind parameters. The wind dynamics can also be extracted from the radar tracks and displayed as time series: Knowing the trends in wind evolution can help the operator in the choice of a time window, when filtering the data before extracting the wind. Filtering the data is a compromise between the quantity of data required to perform the extraction, and its temporal and spatial proximity to the point where the wind is approximated.. The extracted wind has been compared with the Météo-France wind grid, and with the wind computed from Mode-S data (ground speed and true airspeed) downlinked from the aircraft. For this purpose, we used a dataset of radar reports from the experimental Mode-S radar in Toulouse (France). As a result, we have shown that the approximated wind is very close to the wind obtained from the other two sources, at least in airspace volumes where sufficient data is available. We have also discussed the limitations of our method: it requires enough input data, with several aircraft flying in various directions. In addition these aircraft should fly at similar constant airspeeds. In practice, we have shown that this occurs in the upper airspace, where commercial aircraft with similar performances fly at similar cruising flight levels. A good compromise for the time window used to filter the input data seems to be between 1 and 2 hours.. To summarize, our wind extraction method is most efficient when applied to the en-route airspace, at altitudes ranging from flight level 310 to 390, where the cruising commercial traffic is of highest density. Conveniently, such airspace volumes of high traffic density are the ones where air traffic controllers most need accurate wind estimations for their trajectory prediction purposes. Some interviews with air traffic controllers confirmed the interest of our approach, from an operational point of view.. Concerning the perspectives of operational use, one could think of feeding the existing meteorological models with the wind approximated from radar data. In our opinion though, this seems a less promising approach than using the aircraft on-board measurement of the true airspeed and ground speed, downlinked to ground systems via Mode-S. However, collecting and using such data does require fully deployed Mode-S datalink capabilities, and also some additional data processing in order to remove some equipment biases (see [17] ). There are good hopes that such wind predictions with enhanced accuracy will be made available in the future, at least in the core traffic areas where Mode-S radars are being deployed. In the meantime, our method could be used as an inexpensive alternative to this approach. It could provide up-to-date wind estimations in dense en-route airspace areas, as a complement to the meteorological wind grid which is currently refreshed every hour at best 3 . It could also be useful in geographic areas not covered by accurate meteorological models, or where Mode-S capabilities will not be deployed.. As future work, we plan to try robust estimation methods instead of the ordinary least squares approximation. More extensive numerical experiments could also help to tune our data quality criteria. Another promising path could be to take into account some constraints on the wind field (minimum L 2 norm of the Laplacian), so as to improve our wind estimation. Concerning the interactive procedure, further investigations are in progress, to validate the user performance when adjusting the sinus shape. Finally, we plan to design a specific system to emphasize wind dynamic perception for the air traffic controller.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Extending knowledge-driven activity models through data-driven learning techniques Knowledge-driven activity recognition is an emerging and promising research area which has already shown very interesting features and advantages. However, there are also some drawbacks, such as the usage of generic and static activity models. This paper presents an approach to using data-driven techniques to evolve knowledge-driven activity models with a user's behavioral data. The approach includes a novel clustering process where initial incomplete models developed through knowledge engineering are used to detect action clusters which represent activities and aggregate new actions. Based on those action clusters, a learning process is then designed to learn and model varying ways of performing activities in order to acquire complete and specialized activity models. The approach has been tested with real users' inputs, noisy sensors and demanding activity sequences. Initial results have shown that complete and specialized activity models are properly learned with success rates of 100% at the expense of learning some false positive models. Human activity recognition has become an important research topic in areas such as pervasive and mobile computing (Choudhury & Consolvo, 2008) , ambient assisted living (Philipose & Fishkin, 2004) , social robotics (Fong et al., 2003) , surveillance-based security (Fernández-Caballero, 2012 ) and context-aware computing (Laerhoven & Aidoo, 2001) . To perform activity recognition, different kinds of sensors have to be deployed in human-populated environments to monitor inhabitants' behaviors and capture environmental changes generated by human actions. The information provided by those sensors has to be processed through data analysis techniques and/or knowledge representation formalisms to create appropriate activity models and subsequently use them for activity recognition.. The scientific community has developed two main approaches to solve activity recognition, namely the data-driven and knowledge-driven approaches. Data-driven approaches make use of large-scale datasets of sensors to learn activity models using data mining and machine learning techniques. On the other hand, knowledge-driven approaches exploit rich prior knowledge in the domain of interest to build activity models using knowledge engineering and management technologies.. For knowledge-driven activity recognition systems, a widely recognized drawback is that activity models are usually static, i.e. once they have been defined, they cannot be automatically adapted to users' specificities . This is a very restrictive limitation, because it is not generally possible to define complete activity models for every user. Domain experts have the necessary knowledge about activities, but this knowledge may not be enough to generate complete models in all the cases. To make knowledge-driven activity recognition systems work in real world applications, activity models have to evolve automatically to adapt to users' varying behaviors. It turns out that model adaptability and evolution are aspects that can be properly addressed by data-driven approaches.. Hence, the objective of this paper is to use data-driven techniques to make knowledge-driven activity models evolve automatically based on sensor data generated by specific users.. Let us illustrate our hybrid approach with an example. Figure 1 shows an initial activity model for the MakeCoffee activity, which is composed by the actions hasCoffee and hasContainer. These are the necessary actions for every person to perform a MakeCoffee activity, which highlight the indispensable actions of making a coffee, i.e. the use of coffee and a container to place the coffee in. Nevertheless, some users might add some milk and sugar, others cream etc. The idea of our approach is to create high-level activity models with only these indispensable actions, and then use the data generated by a specific user performing the activity to learn those new actions which also configure the personal way of making coffee. In the case of Figure 1 , where the initial activity model will only include coffee and container, the system would learn that MakeCoffee is performed in two ways by the user: in the first one, the user adds milk (hasMilk) and sugar (hasFlavor), while in the second one only sugar is added (hasFlavor). Hence two specialized and complete activity models of MakeCoffee can be learned. This way, experts, initially, only have to provide incomplete activity models with necessary actions. Afterwards the learning system can analyze a user's behavioral data and learn the specialized and complete models to enrich the knowledge-base, thus improving initial activity models.. Running the proposed learning process periodically with new data generated by a concrete user, a dynamic activity modeling system is achieved. As a user evolves regarding the way (s)he performs certain activities, the learning approach learns new versions of the initial activity models. Hence, activity models can be adapted to users' varying behaviors.. Figure 1: Illustrative example of the objective of the paper: using the initial incomplete model for MakeCoffee and user generated data, the learning algorithm learns 2 specialized and complete models.. The scientific contributions presented in this paper are:. 1. A two-step activity clustering algorithm which uses initial incomplete activity models and context knowledge to recognize action clusters that form an activity and aggregate new actions. 2. A learning algorithm that uses action clusters to learn specialized and complete activity models for every defined activity.. The paper is structured as follows: Section 2 presents the related work. Section 3 introduces the basic theory of ontology-based activity modeling, which is the base of the work presented in this paper. Section 4 describes in detail the proposed approach to learn specialized and complete activity models, followed by the evaluation and results obtained in Section 5. Section 6 discusses the results and the paper concludes in Section 7 with conclusions and future work. This paper has introduced a novel approach to acquire complete and specialized knowledge-driven activity models through data-driven learning techniques. The approach makes possible using incomplete activity models in a knowledge-driven activity recognition system to learn specialized and complete activity models. Central to the approach is the two-step clustering process, which has the singularity of using previous knowledge in order to find action clusters and label them with the appropriate activity label. Those clusters are then treated by the learning algorithm in order to acquire extended activity models for different users.. Initial results as shown in Section 5.2 indicate that the approach works well in realistic experimental set-ups, with real users' inputs, realistic time intervals for activity sequences and sensor noise. It has to be stressed that all the varying ways of performing an activity by a user are correctly captured by the approach with a success rate of 100% for all users and scenarios. Specialized and complete models for initial incomplete activity models can be properly learned automatically with minimum previous context knowledge. In consequence, the presented approach can be used to make knowledge-driven activity models evolve with user behavioral data, offering the tools to solve two of the problems of knowledge-driven approaches: the generic and static nature of activity models.. The evaluation methodology used relies on simulation tools and user surveys. There are some limitations, since users might omit some details in their answers and the synthetic dataset generator cannot accurately simulate all the possible situations. For example, simulating user erratic behavior is a challenge. That is why the level of noise introduced in the experiments is so high (45% in average). The idea is to introduce high levels of positive sensor noise, much higher than those seen in real pervasive environments (see (Chen et al., 2012a) ). Combining real users' inputs regarding activities, objects, time lapses and locations, realistic sensor error models obtained from real environments and high levels of positive sensor noise to properly cover the effects of user erratic behavior, the results obtained using this evaluation methodology can be deemed as relevant. The most important thing is to be able to capture what users describe in their surveys, showing that new actions can be learned and different ways of performing the same activity can be identified and properly modeled. The evaluation methodology designed in (Azkune et al., 2014a) and described in Section 5.1 guarantees this. Nevertheless, we are working to apply the learning process to real data.. During experiments, it has been noticed that positive sensor noise has more pernicious effects on learned patterns than missing sensor noise. The latter makes clustering process true positive rates decrease, but it does not affect the learned activity patterns, whereas the former generates spurious activity patterns which cannot always be discarded by the learner. As positive noise is usually due to user erratic behavior, future research will try to address sensor processing steps to distinguish between real object usage and meaningless object interactions. A possible approach could be to add a sensor-action mapping step, where only those sensor activations that last for a concrete amount of time are mapped to actions. This implies considering sensor state changes from interaction state to no-interaction state and monitor time lapses. Another criterion which can be used for sensor-action mapping step is to monitor how many times a user interacts with an object in a time interval, even though those interactions are short. Combining both criteria, only meaningful object interactions could be identified. Such an approach would allow applying the same learning algorithm to probably obtain better results.. Another promising future research direction is to extend the learning approach to single-user concurrent-activities scenario. People do not usually perform activities sequentially, but they tend to interleave activities, such as washing dishes while preparing pasta. This will have an impact in the clustering process, demanding more complex pattern recognition and time management. For instance, S A 3 uses the single-user single-activity constraint for its pattern recognition algorithm, and AA defines insider and outsider actions based on the same constraint. If concurrent activities are considered, the clustering process should be changed. However, some key ideas could be maintained. We are currently working in this direction to tackle the concurrent activities scenario. The first discussion point is the difference in performance of the three time metrics for the clustering process. Table 7 shows a clear comparative in the complete scenario. It can be seen that the difference between simple time distance and normalized time distance is not significant. But using dynamic center normalized time distance for previous Table 9 : Average results for 8 users of the EAM learning process for the ideal scenario. Comparing correct models with the average number of patterns the performance of the learning system can be assessed in terms of correctly learned activity models. Comparing spurious models with the average number of patterns, the proportion of learned spurious activity models can be seen. Table 10 : Average results for 8 users of the EAM learning process for the complete scenario. Comparing correct models with the average number of patterns the performance of the learning system can be assessed in terms of correctly learned activity models. Comparing spurious models with the average number of patterns, the proportion of learned spurious activity models can be seen. Table 11 : Average number of learned actions compared to the number of actions in the IAMs of defined activities. Results are obtained for 8 users in the complete scenario, using dynamic center normalized distance for the previous activity and normalized time distance for the next activity.. activity and normalized time distance for next activity, yields better results. Notice that even though differences are not very big, the higher precision of the third approach is due to lower false positive rates. For some activities, the first two approaches produce even higher true positives, but at the expense of generating much more false positives. For the global EAM learning process, a low number of false positives is better, so it can be claimed that the third approach for time distances in the clustering process is the best solution to learn specialized and complete activity models. The small differences between three time approaches shown in Table 7 means that for outsider actions, the candidate function solves the vast majority of the cases (equation 5). For those outsiders that cannot be classified by the candidate function, the three time metrics play a role. But their effect is minimized because of the low number of such outsiders.. For the rest of the discussion, the third time approach will be considered, since it is the best approach. Tables 5 and 6 show the good performance of the activity clustering process using context knowledge. True positive rate is very high for all activities. The lowest rate is found for activity ReadBook in the complete scenario: 94.6%. This is due to two factors: (i) the missing sensor probability for pressure sensors is around 10% and (ii) the IAM for ReadBook has the action useFurniture (IAM(ReadBook) = {hasBook, useFurniture}); all the objects that are mapped to action useFurniture are monitored by pressure sensors, for example, sofa, chair or bed. When pressure sensors fail, S A 3 cannot detect the activity and hence, true positive rate decreases. Notice that this happens only because the missing action is part of the IAM of the activity. All other activities, even in the complete scenario, show true positive rates higher than 97%, reaching in some cases 100% rates. Those high rates are accompanied with very low rates of false positives and negatives. For example, the highest false positive rate has been found for activity MakePasta in the complete scenario with 5.6%.. It is worth to point out the behavior of the clustering process, divided into two steps. Tables 5 and 6 show how S A 3 labels correctly varying number of sensor activations. This number depends on the relation between the number of sensor activations performed by a user and the number of actions in the IAMs. For instance, if the IAM of activity A has two actions and a concrete user performs in average 9 actions for that activity, S A 3 will only label correctly those actions that lie inside the two actions of the IAM. It can be seen that for low action number activities like BrushTeeth and ReadBook, S A 3 shows quite a high true positive rate and low false negative rate. However, activities like MakeChocolate or MakePasta have a true positive rate below 60% and high false negative rates. In any case, in the second step run by AA, true positives rise, false negatives get very low and false positives slightly increase, giving similar results for all activities. This means that S A 3 discovers activities' time locations very accurately and AA treats insider and outsider actions properly to achieve very good rates building on the results of S A 3 . As far as learning EAMs concerns, which is the objective of this paper, the first fact shown by Tables 9 and 10 is that the number of correctly learned activity models is equal to the average number of patterns for all activities in both scenarios. This means that the learning algorithm learns properly all the activity patterns performed by any user even in noisy scenarios. However, specially for the complete scenario, this result comes with some spurious activity models. Learning some spurious models was expected, since the objective of the learning algorithm is to avoid removing any activity pattern that has been actually performed by the user. It is preferable to get spurious or false patterns than removing any activity pattern that has been really performed. For that purpose, the learning process is conservative when removing and fusing activity patterns. Even with this conservative approach, it has been observed during experiments that the learning process can reduce clusters provided by AA from 17 to 3 in some cases, thus removing many false action sequences and keeping the 100% of correct action patterns.. In addition to the low number of spurious activity models learned -the highest number is obtained for MakeCoffee with 1.71 average spurious models -, it has to be said that those false models are usually easy to discard for an expert for two reasons: (i) they have very low occurrence frequencies and (ii) they usually contain actions that are not generally executed for those activities. For example, for activity MakeChocolate, actions like hasBacon have been seen. Notice that those actions cannot be discarded by AA, since they are type and location compatible with MakeChocolate. Such an action is produced by sensor positive noise, which can be observed in the slight false positive increments from ideal scenario to complete scenario in Tables 5 and 6 . Either those actions are insiders that are not properly aggregated by the compatibility function (equation 4), or outsiders that fulfill the candidate function (equation 5).. Adding more knowledge to the context knowledge would allow discarding such actions in AA. For example, if object types state that meat (bacon or sausages) is only used to prepare meals, the algorithm could infer that bacon cannot be used for activity MakeChocolate, which is a sub-class of activity MakeDrink and disjunct of activity MakeMeal. But this brings the initial knowledge balance problem: how much knowledge should be initially provided to such a learning system? The answer depends a lot on the domain. If obtaining and modeling knowledge for a concrete domain is easy, adding knowledge is a good idea. However, obtaining and modeling knowledge can be very expensive in certain domains. The approach presented in this paper follows the philosophy of minimizing initial knowledge as much as possible, presenting the worst case scenario. We believe that the results shown in Section 5.2 support this decision.. The good results shown in Section 5.2, even having high levels of sensor noise, come from the fact that the clustering algorithm effectively captures all the action sequences which have been executed by a user for a concrete activity. First of all, the pattern recognition algorithm implemented in S A 3 (Section 4.2) provides a very good initialization for the clustering algorithm. Activities are properly detected in the time axis using the completion, duration and location compatibility criteria. This initialization, which is specially robust to sensor positive noise, is the key step to make sure that all action sequences will be properly captured in the end of the clustering. This can be seen in Table 8 , where the high precision and low recall of S A 3 mean that the actions labeled by S A 3 are generally correct -high precision -, but there are many actions that S A 3 cannot label due to the incomplete knowledge of IAMs -low recall -. Afterwards, the AA algorithm (Section 4.3) uses context knowledge properly in order to analyze each action and aggregate it to the suitable activity. Even though false positives can be generated at this step, the vast majority of actions are properly tagged, taking advantage of action type, location and the defined three time metrics. This can be seen again in Table 8 , where the precision of the complete clustering algorithm is lower than the precision of S A 3 . Notice that even though true positives are much higher, false positives also raise a little bit. As a result clusters contain all real action sequences with spurious variations of those real sequences due to sensor noise and clustering errors. Based on those action clusters AML implements a similarity-based outlier detection algorithm. Such algorithm encodes action sequence information using the Jaccard coefficient and limits the problem of finding spurious models to detect outliers in the similarity space. Using conservative approaches to avoid removing any real action sequence, a statistical outlier detection approach is run. The approach works well because spurious action sequences are very similar to real action sequences. More concretely, as spurious action sequences are slight variations of real action sequences, their similarity values are higher than expected for the similarity distribution of a given activity. AML establishes a threshold using statistics that are robust to outliers. This threshold separates those similarity values that can be considered normal from anomalous or outlier similarity values. The result is that all real activity models are correctly learned, while the number of spurious or false models is assumable. All the experiments run produced datasets of 60 days per user, both for the ideal scenario and the complete scenario. A typical user dataset for the ideal scenario contains around 2400 sensor activations, while the complete scenario has around 3500, which gives a clear idea of the positive sensor noise level in the complete scenario (around 45% in average). Datasets used for the experiments are available in the web 7 . The same context knowledge file is used for all users and experiments, hence IAMs are identical. This is important, since IAMs are supposed to be incomplete but generic activity models for every user. It is also worth to highlight that actions in IAMs were defined before getting the answers of users to the surveys.. First of all, the results of the clustering process for the defined three time metrics are depicted, comparing the labels assigned by S A 3 and posteriorly AA with the ground truth (Tables 1, 2 , 3, 4, 5 and 6). The average results for all users are shown in each table. Standard deviation is quite significant for S A 3 , but it is very small for AA. That is why it is not shown in the tables. Tables 1 and 2 show the results obtained with simple time distance (equation 7), in the ideal scenario (Table 1 ) and the complete scenario (Table 2) . Similarly, Tables 3 and 4 show the results for normalized time distance (equation 8). Finally, Tables 5 and 6 show the results of using dynamic normalized time distance for previous activity (equation 8) and normalized time distance for next activity (equation 7).. To have a clearer vision of the performance of the three time metrics, Table 7 shows the average precision and recall for all activities using each of the defined time metrics. The table only shows the results for the complete scenario, where the biggest differences can be seen and the best reference for the performance is obtained.. Additionally, in order to have a clear idea of the benefit of learning extended activity models from initial incomplete models, Table 8 provides a comparison between the performance of S A 3 , which uses IAMs, with the complete clustering process, which gives an idea of the performance with EAMs. The comparison is done in terms of precision and recall for the complete scenario, using the third time approach. Table 5 : Average results for 8 users of the clustering process for the ideal scenario using dynamic normalized time distance for previous and normalized time distance for next activity. Table 7 : Comparative between the usage of the three time metrics for the clustering process in the complete scenario. t1 refers to simple time distance, t2 to normalized time distance and t3 to using dynamic center normalized time distance for previous activity and normalized time distance for next activity.. On the other hand, Tables 9 and 10 show the results of the complete learning process for EAMs. The output of the clustering process for the previous experiments are used to run the AML as explained in Section 4.4. As Table 7 shows that the combination of dynamic normalized and normalized time distance is the best approach for clustering, results of Tables 9 and 10 show only the results of running AML on the clusters produced in the experiments depicted in Tables 5 and 6 , for the sake of clarity. Average results for all users are provided. While Table 9 shows the results for the ideal scenario, Table 10 depicts the results for the complete one. Notice that for each activity, the average number of patterns is provided in the last column. This value shows the average number of different ways to perform the activity by all users. For instance, if a user executes two different action sequences for an activity, and another user executes only one action sequence for the same activity, the average number of patterns for that activity is (2 + 1)/2 = 1.5. Average number of patterns is obtained from the surveys to users and constitutes the ground truth for the learning system. On the other hand, for learning results, three average values are provided per activity: the correct models learned by the system, the spurious models learned and the total number of learned models, which is the sum of the previous two values. Remember that those values are average values for all 8 users.. To finalize, Table 11 shows the average number of actions learned by the EAM learning system per activity and the number of actions of the IAMs of those activities, in the complete scenario and using the dynamic center normalized time distance for the previous activity and the normalized time distance for the next activity. This scenario configuration has been selected for its significance. It can be seen that for some activities the number of learned actions is very important, whereas some other activities such as ReadBook or BrushTeeth do not add many actions to their IAMs. Human activity recognition can be classified into two categories in terms of sensors used for activity monitoring: vision-based and sensor-based activity recognition (Chen et al., 2012a) . The first is based on the use of visual sensing facilities such as video cameras to monitor an actor's behavior and environmental changes. Vision-based activity recognition has been a research focus for a long period of time, but it is out of the scope of this paper. For a detailed review of vision-based approaches see (Weinland et al., 2011) .. The work presented in this paper lies in the sensor-based activity recognition category, which is based on the use of emerging sensor network technologies for activity monitoring. The principal advantage of sensor-based approaches over vision-based ones are related to privacy and ethics (Yilmaz et al., 2006) as cameras are generally perceived as recording devices. The generated sensor data from sensor-based monitoring are mainly time series of state changes and/or various parameter values that are usually processed through data fusion, probabilistic or statistical analysis methods and formal knowledge technologies for activity recognition. There are two main approaches for sensorbased activity recognition in the literature: data-driven and knowledge-driven approaches. An exhaustive review can be found in (Chen et al., 2012a) .. The idea behind data-driven approaches is to use data mining and machine learning techniques to learn activity models. In terms of the modeling approach, two main categories can be found: the generative and the discriminative approaches. The generative approach attempts to build a complete description of the input or data space, usually with a probabilistic model. The simplest possible generative approach is the Naïve Bayes classifier, which has been used with promising results for activity recognition (Bao & Intille, 2004) (Brdiczka et al., 2007) (Cook & Schmitter-Edgecombe, 2009 ) (Tapia et al., 2004 ) (van Kasteren & Krose, 2007 (Maurer & Rowe, 2006) . More complex approaches rely on Hidden Markov Models (Galata et al., 1999) (Moeslund et al., 2006) or Dynamic Bayesian Networks (Brand et al., 1997) (Oliver et al., 2004) . In contrast, the discriminative approach only models the mapping from inputs (data) to outputs (activity labels). Discriminative approaches include many supervised learning approaches, such as conditional random fields (Vail et al., 2007) , linear or non-linear discriminative learning (e.g. support vector machines (Brdiczka, 2009) ) and online (or incremental) classifiers (Ordóñez et al., 2013) . Finally, there are several approaches that cannot be clearly classified into discriminative or generative categories, but rather use a combination of both (Lester et al., 2005) (Pentney et al., 2008) (Omar et al., 2010) .. One of the problems of data-driven approaches is the need of labeled activity data bases. Rashidi and Cook try to overcome this problem in (Rashidi & Cook, 2011b) and (Rashidi & Cook, 2013) . They use a non-labeled data base, where they extract activity clusters using unsupervised learning techniques. Those clusters are used to train a boosted Hidden Markov Model, which is shown to be able to recognize several activities. Even though the presented approaches overcome the problem of depending on labeled data bases, they still suffer from some other typical problems of data-driven techniques, namely: (i) the cold-start problem, because data has to be collected in order to obtain activity models and train the recognizer, and (ii) activity model generalization, since the learned activity models are personal and there are no mechanisms to generalize the extracted knowledge to other users.. On the other hand, transfer learning is being used to make data-driven activity models reusable. Although applying transfer learning techniques to activity recognition is a recent approach, a notable number of research has already been published. An excellent survey on transfer learning for activity recognition has been contributed by Cook et al. in (Cook et al., 2013) . The main idea of transfer learning for activity recognition is to boost the training process for a new user and/or environment, transferring the knowledge extracted for another user and/or environment, as can be seen in (Rashidi & Cook, 2011a) .. Data-driven approaches have been extensively used for activity recognition. Their advantages and disadvantages are very well known by the scientific community:. • Advantages 1. Uncertainty modeling: as probabilistic and statistical activity modeling is used, data-driven approaches are very good modeling sensor uncertainty. As sensors do not provide certain information and are exposed to failures, modeling uncertainty is a very important feature for real-world deployments. 2. Temporal information modeling: modeling approaches such as Dynamic Bayesian Networks, Hidden Markov Models and similar implicitly model temporal information of activities, such as time lapses be-tween two sensor readings, activity duration or activity start time. Time information can be learned from data in a natural way. 3. Introduce heuristics: discriminative approaches make possible introducing heuristics about activity models. Heuristics can be used to insert basic knowledge about activities and avoid making activity models totally dependent on data. 4. Dynamic activity models: as learning is a continuous process, activity models evolve as the user changes its habits. As such, activity models are dynamic. 5. Personal activity models: learning activity models directly over user data, makes activity models personalized. This means that activity models capture the particular way of performing an activity by a user.. • Disadvantages 1. Cold-start problem: data is needed to model activities. The dependency with data arises the cold-start problem, since data-driven techniques cannot work immediately after deployment. A data collecting and activity model training process is required for every user. This problem is being mitigated but not removed by transfer learning techniques. 2. Lack of reusability: as activity models are directly learned from concrete user data, they cannot generally be used for other users. The main problem is that data-driven approaches cannot build generic activity models, only personal activity models. 3. Data base annotation problems: if annotated data bases are needed (supervised learning approaches), scalability becomes a real problem, since the effort required for annotation is huge and annotation methods are prone to errors. If annotated datasets are not used (unsupervised approach), activity granularity and activity semantics is lost. 4. Non-understandable activity models: as data-driven approaches generate statistical or probabilistic models, they cannot be easily understood by humans. If activity model information is needed for further applications -e.g. behavior modeling, anomaly detection, assistance applications -human understandable activity models are more appropriate.. The other main approach for activity modeling is the knowledge-driven one. Knowledge-driven activity modeling is based on real world observations that the list of objects and functionalities to perform an activity are always very similar. For example, to prepare coffee, a liquid container is needed alongside with some coffee and sugar. Even though different people may use different coffee brands, some may add milk and some may prefer brown sugar to white sugar, there are some essential concepts that are always present for every activity. The idea is to use this prior knowledge to create rough activity models. The implicit relationships between activities, related temporal and spatial context and the entities involved (objects and people) provide a diversity of hints and heuristics for inferring activities.. The first step for knowledge-driven systems is to acquire the needed contextual knowledge. This is usually achieved using standard knowledge engineering approaches. Afterwards, knowledge structures will be computationally modeled using a formal knowledge representation formalism, e.g. schemas, rules or networks. Depending on the nature of the acquired knowledge, different approaches can be distinguished. Some researchers use logic-based approaches for activity recognition. There exist a number of logical modeling methods and reasoning algorithms in terms of logical theories and representation formalisms. One thread of work is to map activity recognition to the plan recognition problem in the well studied artificial intelligence field (Carberry, 2001) . Good examples are provided by (Kautz, 1991) , (Wobcke, 2002) and (Bouchard et al., 2006) . Another approach, as shown by (Chen & Nugent, 2008) , is to adopt the Event Calculus formalism (Shanahan, 1997) , a well established logical theory of actions, for activity recognition.. Others adopt ontology-based approaches which allow a commonly agreed explicit representation of activity definitions independent of algorithmic choices, thus facilitating portability, interoperability and reusability. Ontology-based activity recognition has received a substantial attention in the vision-based activity recognition community, where Hakeem et al. (Hakeem & Shah, 2004) develop an approach for the classification of meeting videos, and Georis et al. (Georis et al., 2004) for activities in a bank monitoring setting. In the sensor-based community, ontologies have been used to build reliable activity models and address model incompleteness and multiple representations of terms. Tapia et al. (Tapia et al., 2006) generate a large object ontology based on functional similarity between objects from WordNet, which can complete mined activity models from the Web with similar objects. Yamada et al. (Yamada et al., 2007) use ontologies to represent objects in an activity space. Activity recognition can then be performed based on probabilistic and/or statistical reasoning. Following similar ideas, Latfi et al. (Latfi et al., 2007) and Klein et al. (Klein et al., 2007) also use ontologies to model and represent activities in several domains.. However, all the cited approaches use ontologies as mapping and/or categorization mechanisms. Activity ontologies which provide an explicit conceptualization of activities and their interrelationships have only recently emerged and have been used for activity recognition. Good examples can be found by Riboni et al. in (Riboni & Pareschi, 2011) (Riboni & Bettini, 2011) , Ye et al. (Ye et al., 2011) and by Chen et al. in (Chen et al., 2012b) .. The advantages and drawbacks of knowledge-driven approaches are discussed in the following:. • Advantages:. 1. No cold-start problem: knowledge-driven approaches model activities using generic knowledge rather than data, so activity models are built before deployment and the system does not need any training/learning process before beginning to work. 2. Interoperability and reusability: specially true for ontology-based approaches, but also for all the other approaches, as activity models are modeled using knowledge engineering techniques and the models built are generic and not specific to a concrete user. 3. Clear semantics: activity models are semantically clear and can be understood by human beings. This allows interpreting how the system works and developing easier auxiliary systems that work on top of the activity recognition system, such as notification systems, recommender systems, etc.. • Disadvantages:. 1. Weak in handling uncertainty: inference and reasoning are usually based on certain facts, rather than uncertain sensor information. There are some approaches that work using fuzzy logics and/or probabilistic reasoning, but they are not fully integrated with modeling techniques yet (Helaoui et al., 2013) . 2. Weak in handling temporal information: inference and reasoning mechanisms used for activity recognition do not usually consider temporal aspects of activities. In order to tackle this limitation, there are already some approaches that, for example, integrate ontological and temporal knowledge modeling formalisms for activity modeling . 3. Static activity models: knowledge-based activity models are static, since once they are defined, they cannot automatically evolve. This means that if a user changes its way of performing activities, initially defined activity models will still be used for activity recognition.. There are some hybrid approaches in the literature that aim at taking advantage from the features of both dataand knowledge-driven modeling processes, fusing them in a single modeling approach. Chen et al. present in (Chen et al., 2014) an ontology-based hybrid approach to activity modeling, where learning techniques are developed to learn specific user profiles. The presented research is a first step to implement dynamic knowledge-driven activity models, but the approach is limited to learn descriptive properties such as the time and duration an activity is performed or the concrete order of its constituent actions.. For activity recognition, action properties play a crucial role (Chen et al., 2012b) and it cannot be generally assumed that complete activity models can be provided by domain experts for every user. Hence, there is still a lack of research on learning actions for activity models. The work presented in this paper aims at overcoming this problem combining knowledge-driven and data-driven techniques. To the best of our knowledge, there is no any published research that addresses the same problem.

O B O O O O B O B B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O B B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O B B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B I O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O B I O O O O O O O O O O O O O O O O O O B O B I O O O O O O O O O O O O O O O O O O B O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O


An Organizing Framework for Nursing Informatics Research The work described in this article is the product of students and faculty in the systems division at the college who came together in a doctoral seminar and continued to work over 2 years on the models described here. In 1986, Schwirian observed that there was little theory-driven research in nursing informatics, 1 a situation that persists today. My semistructured review of the 75 most recently published articles, based on a January, 2003 search of CINAHL, Medline, and PsycInfo databases, using "nursing informatics and research" as keywords, found 29 actual nursing informatics research articles, of which only 8 identified a theoretical or conceptual framework. When a model was used to guide research, it was generally borrowed from another discipline (eg, information science, cognitive science, or education) for the purpose of framing the specific problem, as opposed to developing or testing theory.. The lack of theory-driven research may not be surprising because nursing informatics is a young specialty that is just beginning to build a science. The discipline continues to struggle with definitions 2 and has not yet prepared the critical mass of researchers to develop and test theory. In the United States, the list of informatics research priorities defined by the National Institute for Nursing Research (NINR) encourages research on particular problems, 3 but does not (and appropriately so) provide a conceptual framework for that research.. Staggers and Thompson recently documented the evolution of definitions for nursing informatics. 2 Perhaps a similar evolution will be needed for informatics theory. It is generally acknowledged that science advances most efficiently when it is based on theoretical Because nursing informatics is a young specialty, it is only beginning to build a research base. Much of the research done to date has been problem driven, as opposed to model driven. When models or theories have been used to guide research, they typically have been used in a single, or in a few, studies. To facilitate the development of nursing informatics as a science, an organizing model is needed to help structure research; but we currently lack such a framework. The IRO model may serve to fill that void. The model integrates the University of Arizona College of Nursing adaptation 21 of the Academy's Quality Health Outcomes Model 32 with aspects of previous nursing informatics models. The model is consistent with Staggers and Thompson's proposed definition for nursing informatics, 2 but moves beyond definition by suggesting relationships among core concepts that provide an organizing model in which to develop new theory and derive new methods to test those theories. Our initial model building began as an "academic exercise," 38 but resulted in a model that can be used as an organizing framework to guide informatics research. Of course the "proof is in the pudding." Our initial experience in applying the model has been positive, but only its application by many nursing informatics researchers in many settings will ultimately establish the model's utility.

O B I O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O B O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Bounds for projective codes from semidefinite programming Abstract. We apply the semidefinite programming method to derive bounds for projective codes over a finite field. In network coding theory, as introduced in [1] , information is transmitted through a directed graph. In general this graph has several sources, several receivers, and a certain number of intermediate nodes. Information is modeled as vectors of fixed length over a finite field F q , called packets. To improve the performance of the communication, intermediate nodes should forward random linear F q -combinations of the packets they receive. This is the approach taken in the non-coherent communication case, that is, when the structure of the network is not known a priori [13] . Hence, the vector space spanned by the packets injected at the source is globally preserved in the network when no error occurs. This observation led Koetter and Kschischang [15] to model network codes as subsets of projective space P(F n q ), the set of linear subspaces of F n q , or of Grassmann space G q (n, k), the subset of those subspaces of F n q having dimension k. Subsets of P(F n q ) are called projective codes while subsets of the Grassmann space will be referred to as constant-dimension codes or Grassmann codes.. As usual in coding theory, in order to protect the system from errors, it is desirable to select the elements of the code so that they are pairwise as far as possible with respect to a suitable distance. The subspace distance between U and V d S (U, V ) = dim(U + V ) − dim(U ∩ V ) = dim U + dim V − 2 dim(U ∩ V ) was introduced in [15] for this purpose. It is natural to ask how large a code with a given minimal distance can be. Formally, we define A q (n, d) := max{|C| : C ⊂ P(F n q ), d S (C) ≥ d} A q (n, k, 2δ) := max{|C| : C ⊂ G q (n, k), d S (C) ≥ 2δ} where d S (C) denotes the minimal subspace distance among distinct elements of a code C. In this paper we will discuss and prove upper bounds for A q (n, d) and A q (n, k, 2δ).. 1.1. Bounds for A q (n, k, 2δ). Grassmann space G q (n, k) is a homogeneous space under the action of the linear group GL n (F q ). Moreover, the group acts distance transitively when we use the subspace distance; the orbits of GL n (F q ) acting on pairs (U, V ) of G q (n, k) are characterized by the subspace distance d(U, V ). In other words, Grassmann space is two-point homogeneous under this action.. Due to this property, codes and designs in G q (n, k) can be analyzed in the framework of Delsarte's theory, in the same way as other classical spaces in coding theory, such as Hamming space and binary Johnson space. In fact, G q (n, k) is a q-analog of binary Johnson space; see [7] . The linear group plays the role of the symmetric group for the Johnson space, while the dimension replaces the weight function.. The classical bounds (anticode, Hamming, Johnson, Singleton) have been derived for the Grassmann codes [15, 26, 27] . The more sophisticated Delsarte linear programming bound was obtained in [7] . However, numerical computations indicate that it is not better than the anticode bound. Moreover, the Singleton and anticode bounds have the same asymptotic behavior which is attained by a family of Reed-Solomon-like codes constructed in [15] and closely related to the rank-metric Gabidulin codes. A q (n, d) . In contrast to G q (n, k), the projective space has a much nastier behavior, essentially because it is not two-point homogeneous. In fact it is not even homogeneous under the action of a group. For example, the size of balls in this space depends not only on their radius, but also on the dimension of their center. Consequently, bounds for projective codes are much harder to obtain. Etzion and Vardy in [10] provide a bound in the form of the optimal value of a linear program, which is derived by elementary reasoning involving packing issues. Up to now the Etzion-Vardy bound is the only successful generalization of the classical bounds to projective space.

B O B I O B I O O O O B I O O O B O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O