Integrating a model of analytical quality assurance into the V-Modell XT Economic models of quality assurance can be an important tool for decision-makers in software development projects. They enable to base quality assurance planning on economical factors of the product and the used defect-detection techniques. A variety of such models has been proposed but many are too abstract to be used in practice. Furthermore, even the more concrete models lack an integration with existing software development process models to increase their applicability. This paper describes an integration of a thorough stochastic model of the economics of analytical quality assurance with the systems development process model V-Modell XT. The integration is done in a modular way by providing a new process module -a concept directly available in the V-Modell XT for extension purposes -related to analytical quality assurance. In particular, we describe the work products, roles, and activities defined in our new process module and their effects on existing V-Modell XT elements. Software quality costs and economics have been subject to research for decades now. Consequently, there is a variety of corresponding models on all levels of abstraction Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. SOQUA'06, November 6, 2006 as a result of this research. The development and improvement of these models is important, especially for the decision makers in real software projects [17] . This becomes obvious when considering that there are many estimates that assign 30-50% of the development costs to quality assurance [14, 9] . A newer study of the National Institute of Standards and Technology of the United States [19] found that even 80% of the development costs are caused by the detection and removal of defects. Hence, models are needed to control and minimise these costs. Yet, for this to be feasible we need to incorporate them into existing development processes. Thereby, we make them operational and accessible for decision-makers. The diagrams shown in Fig. 2 and Fig. 3 give an overview of the usage of our model as part of the V-Modell XT. We relate the activities to the different QA processes of the V-Modell XT described in Sec. 3 4. The Project Leader and project management are continuously assessing project progress and are responsible for making regular project progress decisions, which act as "quality gates". One important source of input for these decisions are the Quality Status Reports.. Project management can use the available information to apply our model to evaluate different scenarios and optimise the further QA strategy. The results will refine the Project Plan and might lead to an update of the QA Manual. When the project is finished, the project leader collects the Measurement Data relevant for our model and forwards it to the Quality Manager who stores it in the metrics infrastructure. Analytical models of quality assurance would be a valuable tool for project managers and other decision-makers in software projects. There is a variety of such models available on different levels of abstraction. However, the adoption in practice is still weak. One main problem is that the usage of those model is often not clear. Especially, when and how the model should be used in an existing process model is typically not specified by the model proposers.. In this paper, we show the exemplary integration of a detailed model of analytical quality assurance in the process model V-Modell XT. We are not aware of other models of quality assurance that have explicitly been integrated into an existing process model. The benefits of this work are twofold: (1) organisations that follow already the V-Modell XT have now simple means to also incorporate the analytical model into their process. (2) It has been shown that such an integration can be done relatively simple and with little effort. Therefore, this should be also possible with other process models and hence the usage of models of QA can be increased.. For future work, we consider tool support as the other important aspect of pushing the use of such models in software organisations. Hence, we plan to build an easy to use tool implementation that helps in applying the model. It is also to investigate whether our claim w.r.t. the easy integration into other process models really holds. In summary, we find that our model blends well with the V-Modell XT. The necessary changes and additions to use the model fit with the existing structure and require only additions and slight extensions of existing V-Modell XT elements. They all can be packages nicely as a process module. An embedding into other process models with a similar structuring should be possible with a comparable effort.. One of the challenges of integrating our analytical quality assurance model into the V-Modell XT is the scope of the described process. Our model covers activities on both the organisational level -spanning multiple projects -and the project level. The main focus of the V-Modell XT is to describe a process for conducting a particular project: once a project is initiated and the decision to use the V-Modell XT is made, the tailoring activity will result in a project specific process. The V-Modell XT does not specifically cover organisation-wide processes, such as quality management and continuous process improvement. However, this is not a limitation, because it can easily be extended -we have done this for our integration. This results in a responsibility of the organisation to apply the V-Modell XT process across projects and to provide the necessary infrastructure.. A consequence of our modular extension of the V-Modell is the sometimes artificial separation between project specific and organisation specific work product (and activity) definitions, such as the Project Infrastructure and the Metrics Infrastructure. Additionally, the existing V-Modell XT process support for the Introduction and Maintenance of Organisation-Specific Process Models -the process module ORG -covers part of the organisation-wide activities without being combinable and integrated with project specific processes. Thus, we chose to introduce some redundancy for the sake of modularity and clear understandability.. One of the prerequisites of our approach is the necessity to have comparable projects which yield expressive metrics data. The higher the degree of similarity between the projects and the better the measured metrics data, the more precise will our model be able to optimise the QA processes. General efficiency models of defect-detection techniques such as the inspection model of Kusumoto et al. [12] or the testing model of Morasca and Serra-Capizzano [13] are aiming at analysing specific techniques and their application. However, they are typically not usable for planning purposes in a software project. Cost models based on reliability models, e.g., Pham [15] , aim to decide when to stop testing. However, they are only applicable to the system testing phase.. More economic-oriented models such as iDAVE Boehm et al. [3] or the model of Slaughter, Harter, and Krishnan [20] are typically more abstract or coarse-grained than the used model. Moreover, the question when and how to use those models is not completely clear. Especially, we are not aware of an integration into an existing process model.. Punter et al. [16] aim also at a practical application of product evaluation with specific goals. However, they concentrate more on the actual evaluation process using the ISO 14598 standard which we assume given by the V-Modell XT. They also do not explicitly discuss the aim of using the evaluation results for future optimisations.. Cai et al. [5] propose a method of optimal and adaptive testing with cost constraints. They discuss that it is effective to adapt testing and to explore the interplay between software and control. However, their model does only consider testing and is not explicitly integrated in a complete process model.. Ambler uses process patterns in [1] to describe task-specific self-contained pieces of processes and workflows in a reusable way. Such patterns can be applied to solve complex tasks when needed. Störrle [22] shows how process patterns can be described in great detail using UML. The idea of process patterns is further refined by Gnatz et al. [7] in form of a modular and extensible software development process based on collections of independent process components. These process patterns essentially are the basis of the extension mechanism of the V-Modell XT.

O O O O O B I O O B O O O O B I 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 B I O O O O B I 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 B I 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 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 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 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 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 B I 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 B 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 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 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 O O O O O O O O O O O O O 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 B O


Inverse Rendering of Faces with a 3D Morphable Model Abstract-In this paper, we present a complete framework to inverse render faces with a 3D Morphable Model (3DMM). By decomposing the image formation process into geometric and photometric parts, we are able to state the problem as a multilinear system which can be solved accurately and efficiently. As we treat each contribution as independent, the objective function is convex in the parameters and a global solution is guaranteed. We start by recovering 3D shape using a novel algorithm which incorporates generalization error of the model obtained from empirical measurements. We then describe two methods to recover facial texture, diffuse lighting, specular reflectance, and camera properties from a single image. The methods make increasingly weak assumptions and can be solved in a linear fashion. We evaluate our findings on a publicly available database, where we are able to outperform an existing state-of-the-art algorithm. We demonstrate the usability of the recovered parameters in a recognition experiment conducted on the CMU-PIE database. I NVERSE RENDERING aims to recover object and scene properties (geometry, reflectance, and illumination) from image data. This problem is well understood and methods exist for the case of one unknown (e.g., illumination estimation with known geometry and reflectance [21] ). Perhaps the best known result is that the appearance of a convex Lambertian object under arbitrary illumination can be efficiently described using a low-dimensional spherical harmonic basis. This representation has found wide application in both graphics and vision.. However, the problem becomes ill-posed when two or more properties are unknown. For example, Ramamoorthi and Hanrahan [25] point out that it is not possible to distinguish between low-frequency texture and lighting effects. They suggest that this ambiguity can only be resolved by using active methods or making assumptions about the expected characteristics of the texture and lighting. The latter of these alternatives is exactly the idea we consider in this paper, namely, by restricting our consideration to the class of human faces.. Whether in 2D (eye-center-aligned [37] or shape-free, warped images [9] ) or 3D (depth maps [19] , fields of surface normals [34] , or meshes in dense correspondence [5] ), human faces have been shown to be highly amenable to description using a linear statistical model. Two-dimensional approaches model appearance directly, with the training data capturing both extrinsic scene properties (such as illumination and camera parameters) and intrinsic face properties (geometry and reflectance properties). Separating these effects is a challenge at the statistical modeling stage [8] . On the other hand, 3D approaches use face shape and reflectance data collected using face capture devices, allowing face intrinsics to be modeled directly. At the stage of fitting the model to image data, the forward rendering process must be simulated and extrinsic parameters estimated as part of the fitting process [6] .. In the context of inverse rendering, such statistical models provide a useful constraint and make it possible to solve problems which would be ill-posed in the general case. We focus on the most difficult case, where geometry, reflectance, illumination, and camera properties are all unknown and only a single image is available. In this setting, the problem is underconstrained. For example, a red observation may be caused by red skin color, red illumination, an increased sensitivity in the camera's red channel, or a combination of those three factors. Nevertheless, with appropriate regularization we are able to obtain accurate solutions without having to make unrealistic assumptions about reflectance properties or the complexity of the illumination environment. Statistical models have dominated the face analysis literature over the last decade. This is because of the robustness and flexibility they offer in a number of real-world problem settings. The advantage of a 3D model is that it explicitly separates intrinsic face properties from those related to the specific conditions present in an observed image. This has led to state-of-the-art performance in face recognition under varying pose and illumination [29] . However, morphable models have not been widely adopted and are rarely used in preference to their 2D counterparts. This is because of the difficulties involved in fitting such models to images. Existing methods are slow, prone to becoming stuck in local minima, sensitive to parameter tuning, and require the fitting algorithm to be heavily engineered toward specific imaging environments. In particular, no existing method allows for both arbitrarily complex illumination and non-Lambertian reflectance. Our method is the most general to date and the first to guarantee globally optimal solutions in both the estimated shape and texture. Moreover, because every step of our algorithm is linear, it is highly efficient. In this section, we discuss relevant previous work in the area of inverse rendering, statistical face modeling, face shape estimation, and recognition. We use this work to motivate the methods we present in this paper. In this section, we present a comprehensive experimental evaluation of our method. We begin by evaluating the accuracy of our shape reconstruction algorithm and show that it outperforms previously published methods. We then focus on photometric inverse rendering, where we explore simultaneous texture and illumination estimation. We use synthetic imagery to compare the accuracy of the three proposed methods to previously published state-of-the-art results [30] . In a recognition experiment on synthetic data, we show that both the shape and texture estimated by our method outperform state-of-the-art results [30] , despite the geometric and photometric aspects of the fitting process being conducted in series. Finally, we show qualitative inverse rendering, illumination clustering, and recognition results for real-world imagery taken from the CMU PIE database [33] . For feature points, we use a subset of 70 of the anthropometric landmarks suggested by Farkas [12] . Note that feature point saliency is an interesting topic in itself. Recent work has attempted to learn the most salient feature points from data [10] .

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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 O O O O O O O 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 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 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 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


Confirmation in the Cognitive Sciences: The Problematic Case of Bayesian Models Abstract Bayesian models of human learning are becoming increasingly popular in cognitive science. We argue that their purported confirmation largely relies on a methodology that depends on premises that are inconsistent with the claim that people are Bayesian about learning and inference. Bayesian models in cognitive science derive their appeal from their normative claim that the modeled inference is in some sense rational. Standard accounts of the rationality of Bayesian inference imply predictions that an agent selects the option that maximizes the posterior expected utility. Experimental confirmation of the models, however, has been claimed because of groups of agents that ''probability match'' the posterior. Probability matching only constitutes support for the Bayesian claim if additional unobvious and untested (but testable) assumptions are invoked. The alternative strategy of weakening the underlying notion of rationality no longer distinguishes the Bayesian model uniquely. A new account of rationality-either for inference or for decision-making-is required to successfully confirm Bayesian models in cognitive science. The past 15 years have witnessed a dramatic growth in Bayesian models in cognitive science, driven both by computational and algorithmic advances, as well as experimental findings. Bayesian models of learning and inference have been proposed for just about every major phenomenon in cognitive science. 1 Although directed towards different problems in each case, these models share a common structure: each assumes that every individual has an initial (''prior'') probability distribution over the space of possibilities. This prior is updated in response to new data by conditionalization to yield new (''posterior'') probabilities for each possibility. The computation, also known as Bayesian updating, uses Bayes theorem to determine the probability of each hypothesis H i in a set of mutually exclusive and exhaustive hypotheses H 1 ,…,H n given the evidence E:. P(E | H i ) is the likelihood of observing evidence E if H i really is true (often given by a so-called generative distribution that is relatively easy to specify), while P(H i ) is the prior probability distribution over the space of hypotheses. Their product is divided by the a priori probability of the evidence, P(E), which essentially acts as a normalization term.. 2 Despite their superficial simplicity, Bayesian models can produce quite intricate behavior, depending on the particular likelihood functions and prior probability distribution.. Bayesian models are appealing as models of human inference because they (1) allow for the representation of prior beliefs in the prior probability distribution; (2) represent differences in background beliefs through different prior distributions in different individuals; (3) model the integration of new evidence with prior beliefs through Bayesian updating; (4) explain gradual transitions in belief between various hypotheses by the use of probabilities to represent degrees of belief; and (5) are supported by arguments that Bayesianism is rational, and hence any learner that acts in a Bayesian manner is rational as well.. Unlike the majority of models in cognitive science, Bayesian models are generally not taken to provide a mechanistic explanation of how some cognition or behavior is performed. That is, with a few exceptions, 3 Bayesian models are understood to be wholly agnostic about the neural or cognitive bases of the observed behaviors. Instead, they are offered as rational analyses: computational level models (in contrast to implementational or algorithmic level models) that explain the inferences they describe as rational behavior in the given environment (Marr 1982; Anderson 1990; Chater and Oaksford 2000; Chater et al. 2006; Oaksford and Chater 1998) . 2 P(E) need not be computed if we are interested only in the relative probabilities of the various hypotheses. It is necessary to model the impact of rare (i.e., surprising) data. 3 Examples of Bayesian models with mechanistic commitments include Rao (2005) , Lee and Mumford (2003) , and Doya et al. (2007) . 4 Bayesian models and rational analyses are not coextensive in principle (Danks 2008) ; there can be nonBayesian rational analyses and Bayesian models that are not rational analyses. For example, standard Confirmation of the claim that people are Bayesian with regard to learning and inference depends on how the Bayesian belief update is expressed in measurable behavior. Although not always explicitly stated, this connection is generally taken to be provided by the principles of rational choice: namely, that an agent will select the option that maximizes the (posterior) expected utility. Since experiments designed to test Bayesian models are almost always designed to eliminate the effect of utilities on the participant's belief, any choice is taken to be indicative of the participant's posterior degree of belief. Thus, if experimental control of prior beliefs is successful, we should expect participants within the same experimental condition to make the same choices. This is not the case. Instead, the distribution of the participants' choices is found to resemble a random sample of the model posterior distribution. Despite this inconsistency with the rational choice predictions, the results are still taken to confirm the Bayesian claim. In the following sections we attempt to reconstruct how such a conclusion could be reached, starting in ''Confirmation of Bayesian Models'' with a concrete example where such ''probability matching'' is used as confirmation.. If, as we suggest, no resolution of this deep tension is forthcoming without much stronger commitments concerning the account of rationality, then we will have successfully undermined the explanation of the observed behavior the Bayesian account was supposed to provide: ''(1) Behavior B is rational or optimal and (2) there is some process-either ontogenetic or phylogenetic-that leads the individual to engage in rational or optimal behavior. Therefore, the individual exhibits behavior B.'' The first necessary premise would no longer have a foundation. Our assessment of the standard confirmation methods for Bayesian models in cognitive science has been largely negative. But we are explicitly not concluding that Bayesian models are not testable, or that the use of Bayesian models in cognitive science is inevitably misguided; such claims would require an exhaustive exploration of the space of possible models, and would constitute, in light of evidence from several other experimental techniques that appear to support parts of the Bayesian paradigm, a surprising rejection of the whole methodology. Our conclusion is more conservative, and largely methodological. All of the problems we have raised can ultimately be traced back to insufficient specification of the Bayesian models, either in the justification that they are 'rational,' or in the choice mechanism that maps a posterior probability distribution to a behavior. Full specification of the models is, in a certain sense, risky: such specified models are more readily disconfirmed and rejected. Such specification is, however, absolutely necessary if the models are to help us understand the nature of cognition. Commitment to a non-trivial account of rationality with a fully specified choice procedure would turn experiments like the one described in ''Confirmation of Bayesian Models'' into proper tests of Bayesian models. An alternative solution, such as random utility maximization (McFadden 1974) , could provide a resolution of our puzzle that maintains the standard view of rationality in terms of Bayesian belief update combined with rational choice. And just as it adds plausible commitments, it also provides further constraints for new types of tests for Bayesian models. Alternatively, an account of rationality that is weaker than Dutch Book rationality, but is sufficiently concrete to satisfy the explanatory demands of a computational level model (i.e., does not imply a large number of ''rational'' inference methods), would almost certainly be of interest well beyond the confirmation of Bayesian models. We doubt that these are the only possible alternatives, but commitments of this type simply have not been openly suggested and defended in the psychological literature.. One of the most important desiderata of a scientific theory-perhaps the most important one-is explanatory power. Bayesian models are commonly presented as computational models describing how beliefs are updated, and so are taken by many (though certainly not all) in the community to have marginal or nonexistent implications for the algorithmic and implementation level. If a Bayesian model describes only input-output relations, then it has no substantial explanatory power. Thus, a Bayesian model must be rational for it to play a role in any substantive explanation at all. As we argued in ''Rationality of Bayesian Models'', however, the standard accounts of rationality fail to account for the behavior in the empirical data. We thus reached our four claims that are jointly inconsistent:

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O


Advanced Conceptual Clustering and Associated Querying Facilities in Object-Oriented Databases Conventional object-oriented database (OODB) systems follow a class-based approach to model real world entities and their relationships, which imposes several difficulties when more advanced "dynamic functions" are needed by the applications. One of such dynamic functions is conceptual clustering --the ability to dynamically group a set of existing objects together as a higher-level abstract object (called a "cluster"). The conceptual clustering model (CCM) that we have defined is an extension to current object-oriented models, which facilitates the modeling of dynamic, evolving, and/or ad hoc object clusters through a well-devised clustering mechanism that incorporates "roles". This paper presents the advanced features of CCM, along with its associated query language facilities devised for supporting general definition and access of clusters (and roles). An experimental prototype of the CCM has been constructed on top of a persistent object storage manager, running on a Sun4 workstation. Object modeling and object-oriented technologies are having a major impact on the development of advanced database systems for emerging/next-generation applications, such as office information systems (OIS), design engineering databases (for CAD/CAM and VLSI), geographic information systems (GIS), and decision support systems (DSS) [Kim89, Gupta91, DKSME94] . In a conventional OODBMS model and system, the conceptual structure (schema) is embodied by a collection of abstract data types (classes) which, when defined, are organized into an ISA inheritance hierarchy. A class thus prescribes both structural and behavioral properties (attributes and methods) for its objects. Such a "classification-based" approach, however, falls short of supporting those applications involving objects and inter-object relationships that are by nature tentative, irregular, illstructured, evolving, or simply unpredictable. As exemplified by GIS and DSS applications [LiPS91, Li92] , new (composite) objects may arise dynamically as "clusters" of existing ones in some ad hoc fashion. In the processes of interest, the objects evolve and undertake numerous periodic or ephemeral roles within the clusters. Unfortunately, current object-oriented technologies, particularly object-oriented database management systems (OODBMSs), do not provide adequate facilities to model and support such application dynamics: while it is in theory possible to introduce new classes to accommodate such new types of objects, it is infeasible as this may result in many ad hoc classes with a small number of objects, and may frequently incur expensive structural evolution changes as these objects are highly dynamic and evolving. Extensions to OODBMS models are therefore needed in order to accommodate such advanced applications effectively.. In [Li92] , we have proposed such a basic conceptual clustering model (CCM) with a taxonomy of 12 kinds of clusters (see Table 1 in Section 2); necessary cluster operators at the base level which facilitate cluster creation, deletion, modification, and retrieval have also been defined, and a "proof-of-concept" prototype of CCM was developed on top of a persistent object storage manager [Li93] . While these primitive CCM facilities provide basic means for accommodating the application dynamics imposed on the OODBMS, they are not intended nor suitable for end-users to directly use. To support general definitions and manipulations of clusters and their associated features (such as roles), higher-level language (preferably declarative) facilities are desired to be incorporated into the system. Such high level language facilities are particularly useful and important to those advanced applications requiring advanced yet efficient query capabilities [Fung95b] . This paper presents the versatile modeling features of CCM, along with the associated high-level query language facilities devised for supporting general definition and access of clusters (and roles). It is organized as follows. In section 2 we present several key aspects of CCM in terms of its basic constructs and associated role facilities; we also examine different kinds of hierarchies in an OODB extended with clusters, and discuss various possible combinations and their "legality" in practice. In section 3 we describe the query language facilities that are associated with CCM; in doing so, we provide necessary examples and show how these introduced language facilities can be used for various purposes. These query language facilities are currently being incorporated into a new endeavor of an experimental prototyping system. In section 4 we examine some of the related work in extended object modeling and object query languages. Finally, conclusions and further research directions are given in section 5. We have described in this paper the key features of a conceptual clustering model (CCM) as well as an associated set of versatile object querying facilities (viz, OQL/race). By offering dynamic and flexible clustering capabilities, CCM extends the conventional OODB models and systems by facilitating the modeling and representation of tentative, evolving, and/or ad hoc object collections (called clusters) and their relationships that may arise dynamically in many data-intensive applications [Li92] . To support general definition and access of clusters (and their associated roles), corresponding high-level querying facilities have also been defined. These querying facilities are currently being incorporated into a successor prototype system of CCM that we have built, which utilizes EOS [Eos94] -a persistent object storage manager from AT&T Bell Lab.. Analysis, testing, and evaluation of the research described in this paper is currently under study. On the query language side, we are currently working on the issues of formalization of the object query model that supports role clusters, and the applicability of utilizing a graphical user interface (GUI) to fully support the various querying facilities and capabilities. On refining the model and prototype of CCM side, we are investigating the application of the model and the system to several real life applications, including computer supported cooperative work, decision support systems and multimedia database applications.. For instance, we are in the stage of applying the newly developed CCM prototype to a video information management system [Lee96] in order to support a wide range of video manipulation activities including semantic indexing, video editing, and content-based retrieval [Li95] . The query facilities described in this paper shall, in particular, provide an advantageous and immediate support for facilitating semantic-based video retrieval. It is conceivable that such application exercises will bring us with further insight to the requirements and thus possible refinement to the CCM model and prototype. To better understand the strength and weakness of our work vis-a-vis others, we examine in this section several existing works that are relevant to our research. The comparison with such related works are grouped into two categories: the first concerns the work on extended object modeling and advanced object-oriented facilities, and in the second category, our focus is on representative object query languages supported by influential object-oriented database systems.

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 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 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 B I 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 B I O O O O O O


Low power design of DCT and IDCT for low bit rate video codecs Abstract-This paper examines low power design techniques for discrete cosine transform (DCT) and inverse discrete cosine transform (IDCT) circuits applicable for low bit rate wireless video systems. The techniques include skipping DCT computation of low energy macroblocks, skipping IDCT computation of blocks with all coefficients equal to zero, using lower precision constant multipliers, gating the clock, and reducing transitions in the data path. The proposed DCT and IDCT circuits reduce power dissipation by, on average, 94% over baseline reference circuits.Index Terms-Discrete cosine transform (DCT), H.263, inverse discrete cosine transform (IDCT), low power, video codec. This paper presents four effective low power techniques for 2-D DCT and IDCT blocks, which are intended for low bit rate wireless video applications. The most efficient scheme for the DCT is skipping macroblocks; low motion video sequences save more power than the high motion video sequences. The remaining three techniques result in similar power savings for high and low motion video sequences. For the DCT unit, the average power saving for the four methods combined is 92%. The most efficient scheme for the IDCT block is skipping input data blocks with all coefficients equal to zero, which saves a similar amount of power for all three sequences. The average power savings for the four methods combined is 97% in the IDCT unit. For both the DCT and IDCT, the combined methods reduce much more power than any individual method Finally, it is important to note that our methods can be integrated with other methods such as adaptive precision [11] and zero-valued coefficients [11] , [16] , [27] to further reduce power. Some more general methods such as using low power libraries or lowering the supply voltage can also reduce additional power. For more efficient power savings in high motion sequences, further experiments may justify using a higher THRESHOLD for higher SAD values.. We conclude the paper by summarizing the characteristics of our DCT and IDCT designs in Table XI.

B I O O O O O O O O O O O O O O B I O O O B I I I O B I I 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 B B I I I I B I B I 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 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


Temporal skeletons for verifying time This paper presents an intermediate notation used in a framework for verification of real-time properties. The framework aims at overcoming the need for the framework user to have significant knowledge of the verification specific detail that formal verification at some level is bound to impose on a model. In order to accomplish this, model extraction from source code of an initial formal model, a timing skeleton, is made automatically.The model refinement needed to transform the temporal skeleton into a model that can be verified is not done immediately. This allows postponement of the abstraction and specialisation needed for the verification which further improves the readability of the skeleton. The purpose of the timing skeleton is that it easily can be validated to represent the source code it was created from. The timing skeleton is then automatically refined with verification detail, and then hidden for the user, transformed into the notation of a verification tool. This transformation is hidden from the user.In order to reduce the complexity of the application model the framework uses a formally verified run-time kernel with a clear separation from the application. The kernel supports preemption, dynamic priorities and multiple processors. The number of high-integrity, or safety-critical, systems created is increasing not only with new applications but also with the rewriting of old ones. Both the new and old applications are likely to face the question of technology choice. This paper looks at a framework where tasking, traditionally not among the choices, can be added to the list of available technologies for use in high-integrity systems.. Tasking systems with preemption have not been widely introduced into the area of high-integrity systems since it generally is hard to determine the real-time behaviour of tasking systems. The most widespread execution model for safety critical high-integrity systems today is that of cyclic executives without preemption. The advantages of cyclic executives systems like that is that an execution schedule for the system can be created beforehand and that the realtime behaviour, following the schedule, is well defined.. The run-time behaviour in the alternative execution model, with tasking and preemption, is not as easy to decide. Allowing preemption can make better use of the resources available in a system as tasks are not bound to specific execution slots. However, an obstacle with the introduction of tasking is that the complexity of the system's timing behaviour increases. The high level of analysis demanded by safety critical systems may therefore seem to prevent the use of tasking. An effort to allow reduced tasking in high-integrity systems is collected in the Ravenscar tasking profile [4, 5] . Ravenscar is a subset of Ada and has been developed to reduce the nondeterministic behaviour of tasking by making restrictions of language features like dynamic creation and termination of tasks, and task communication. In order to allow tasking systems to be used in high-integrity application areas the behaviour of the system must be well defined and analysis must be possible and the Ravenscar profile restricts the tasking of Ada to impose near determinism.. The SafetyChip project, with teams at Mälardalens University and MIT, is developing a monitoring and policing device for safety critical embedded systems. The project consists of several packages, including source code transformation, formal verification and hardware synthesis. Two real-time kernels (RTK) for the Ravenscar profile have been developed [23, 27] . Both kernels are designed to be customised and application tailored, then synthesised to hardware. The kernels have been formally modelled and verified together with sample applications to assert that they exhibit the demanded properties. The kernels themselves are not verified stand alone with parameters set to work with a number of application. Instead verification is done of the complete system, with both the kernel and an application, ensuring that the system conforms to the specified behaviour, not that the kernel or application alone does.. The introduction of formal modelling of applications is easiest at early stages of the development. At the initial stage the application is most likely to be described in abstract models without all the detail, noise [7] , that the programmers will have to add to make the application work. Detail will both make it harder to create the model, i.e., choosing what detail to include, and it will obscure the model if included when it should not have been. Keeping the model up to date with the application as it is developed and maintained is similar to the problem of specification management.. Even as the development of an application may benefit from the use of formal notation and methods early in its development [25] , demanding that the development process conforms to one specific process would greatly limit the usage of a verification framework. Hence the framework presented in this paper does not make any assumptions about how a system has been created, it works with the source code of the actual application. Late introduction of a framework for formal methods into the development of an application relies on the nontrivial ability to abstract the application or parts of it, i.e., removing noise.. Limitations of the framework are that it requires a model of the kernel the final system uses, and that it requires the availability of execution times for code segments. The first limitation is eliminated by the use of a custom kernel, and an assumption of the availability of execution times is used to handle the second.. One challenge in verifying high-integrity systems, as well as making verification more widely used, lies in making the formal models usable and understandable to the developers that create the system and to the technicians maintaining it [17, 19] . In this paper we present a framework addressing these issue by having the run-time system and the application separated, as suggested in [15] , and by using a source code based modelling of the application's temporal behaviour. The model construction process consists of the five stages shown in Figure 1 5. a verification model which can be verified using a tool, e.g., Uppaal [2, 3, 18] .. This paper focuses on the transformation from the source code into the notation of temporal skeletons. The RTK is a generic component kernel, not an integrated part of the application, mainly for two reasons a) it can be reused between designs and b) its component interface makes it easy replaceable with another kernel. The actual kernel is implemented in hardware, making its run-time behaviour more deterministic. The alternative, especially when working with a hardware software co-design, is integrating the RTK into the application itself. However, an integrated kernel increases the complexity of the application and is likely to make the whole design much harder to model and understand, i.e., the level of noise is unnecessarily increased. Keeping the complexity of the application down allows it to be expressed using a notation closer to its source, making it easier to validate that the model models the application.. Different approaches have been used to verify temporal behaviour of Ada programs. In [9] HyTech is to verify runtime behaviour of conservative abstractions of general Ada. Models are created in two steps; the first step transforms the program into a transition system and a second step further transforms it into the hybrid automata used in the verification. In [14] Ada is transformed into TLA+ which is abstracted to what the Uppaal tool can interpret. The ability to compute the execution times of sequential code is assumed and verification of real-time properties is then made of the application together with reduced RTK functionality. In [6] annotations with temporal information are added to the source code and then used when verifying the system's timing behaviour. In [16] extensions to the SPARK framework, for verification of sequential code, are proposed. PSV is used to verify a state transition system based on the extensions where the transitions represent either sequential code or calls to protected objects. In [13] the Quasar tool [12] is used to verify concurrent programs. Quasar uses ASIS, the Ada Semantic Interface Specification, to create a model used in the verification.. Works like [22, 24] , where it is shown how verification can be used to gain knowledge of real-time behaviour and execution times of systems, also motivate the use of verification in real-time systems. This paper presents a notation of timing skeletons that can be used to describe a tasking application. Superimposing the skeletons over the source code is straight forward which makes it easy to validate that they model the source. The low detail of the skeletons, i.e., the intentional hiding of detail not needed prior to the verification, makes them easier to understand, perhaps even understandable to nonspecialists in verification. The skeletons can be extended and annotated with additional information to add, e.g., control flow information and guidance to the verification.. The skeletons are extracted from source code using a tool to allow the use of them to. • enter the development process late, and. • reduce the risk that they do not describe the system as the system is updated, they can be re-extracted when the application changes.. The notion of passive blocks, sequences of instructions not interfering with the system's time flow, creates a situation where skeletons are less likely to grow in complexity when sequential computation is added to an application. The complexity of a skeleton grows when timing behaviour is added.. There are some areas that can be further improved to create a more automated framework for verification of realtime systems. Annotation of execution times, today added manually, can be automated. This would greatly improve the usability of the framework.. As the verification impact of the RTK backend model is so large it needs to use all power available to the backend verification tool in order to make verification effective. This has lead us not to transform the RTK into the backend notation using a tool. Investigation of the possibilities of automatic backend model generation could be investigated to allow easier use of additional verification tools.

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 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 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 B 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 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 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 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 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 B 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 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 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 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 O O O O O O O O O O O O O O B O


Temporal data classification using linear classifiers Abstract. Data classification is usually based on measurements recorded at the same time. This paper considers temporal data classification where the input is a temporal database that describes measurements over a period of time in history while the predicted class is expected to occur in the future. We describe a new temporal classification method that improves the accuracy of standard classification methods. The benefits of the method are tested on weather forecasting using the meteorological database from the Texas Commission on Environmental Quality. Data classifiers, such as support vector machines or SVMs [24] , decision trees [15] , or other machine learning algorithms, are widely used. However, they are used to classify data that occur in the same time period. For example, a set of cars can be classified according to their fuel efficiency. That is acceptable because the fuel efficiency of cars is not expected to change much over time. Similarly, we can classify a set of people according to their current heart condition. However, people's heart condition can change over time. Therefore, it would be more interesting to classify people using the current information according to whether they are likely to develop serious heart condition some time in the future.. Cconsider a patient who transfers from one doctor to another. The new doctor may give the patient a set of tests and use the new results to predict the patient's prospects. The question arises whether this prediction could be enhanced if the new doctor would get the older test results of the patient. Intuitively, there are cases where the old test results could be useful for the doctor. For example, the blood pressure of a patient may be 130/80, which may be considered within normal. However, if it was 120/80 last year and 110/80 the year before, then the doctor may be still concerned about the steady rise of the patient's blood pressure. On the other hand, if the patient's blood pressure in the past was always around 130/80, then the doctor may be more confident of predicting the patient to be in good health. Therefore, the history of the patient is important in distinguishing between these two cases.. Nevertheless, the temporal history of data is usually overlooked in the machine learning area. There are only a few previous works that combine some kind of spatio-temporal data and classification algorithms. Qin and Obradovic [14] are interested in incrementally maintaining an SVM classifier when new data is added to a database. Therefore, [14] is not useful to predict the future health of a patient or other classes that one may want to predict for the future. Tseng and Lee [22] classify temporal data using probabilistic induction. Our earlier work [19] considered data integration and reclassification by classifiers when all the data was measured at the same time.. In this paper, we propose a new temporal classification method that instead of probabilistic induction [22] extends existing linear classifiers to deal with temporal data. Figure 1 compares the standard classifiers and the new temporal classifier method. The standard classifiers take as input the current (at time t) values of the features in the feature space and the class label some n time units ahead (at time t + n). The temporal classifiers take as input in addition to the current features and the class, the history, that is, the old values of the features up to some i time units back in time (that is, from time t − i to t − 1).. Weather forecasting is a challenging task. It is also natural to study because the major interest is in the prediction of the weather ahead of time instead of describing the current conditions. We tested our temporal classifier on a meteorological database of the Texas Comission on Environmental Quality. At a first glance it would seem useless to look at the weather history back more than a couple of days. Surprisingly, we discovered that the history does matter more than expected and the classification can be improved if one looks back 15 days back in time.. We were also surprised that the history of some features were considerably more useful than the history of the others. Moreover, the features that are the most important when looking at only time t are not the same as the features that are important when one looks at the weather history. That happens because the different the features have different permanency. For example, wind direction may change greatly form one hour to another. On the other hand, ozone levels are fairly constant.. The rest of the paper is organized as follows. Section 2 presents a review of classifiers and constraint databases. Section 3 describes our database representation and querying of linear classifiers. These representations are used in our implementations. Section 4 presents the new temporal classification method and a corresponding data mapping. Section 5 describes computer experiments and discusses the results. Finally, Section 6 gives some concluding remarks and open problems. There are some other remaining questions. For example, would non-linear temporal classifiers also be better than regular non-linear classifiers? In the future, we plan to experiment with other data sets and use non-linear classifiers in addition to SVMs and decision trees.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B I 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


Compact Representation of Knowledge Bases in Inductive Logic Programming Abstract. In many applications of Inductive Logic Programming (ILP), learning occurs from a knowledge base that contains a large number of examples. Storing such a knowledge base may consume a lot of memory. Often, there is a substantial overlap of information between different examples. To reduce memory consumption, we propose a method to represent a knowledge base more compactly. We achieve this by introducing a meta-theory able to build new theories out of other (smaller) theories. In this way, the information associated with an example can be built from the information associated with one or more other examples and redundant storage of shared information is avoided. We also discuss algorithms to construct the information associated with example theories and report on a number of experiments evaluating our method in different problem domains. Machine learning in general is concerned with the induction of new knowledge (hypotheses) from a given set of examples, stored in a knowledge base. Knowledge can be stored and arranged in different ways, and the most obvious way is not always the most spaceefficient one. There may be redundancy because some information is repeated across several examples (this may happen systematically, e.g., because of functional dependencies, or occasionally), or because certain information can easily be derived from other information.. Having a compact representation (i.e., one with less redundancy) is important for a number of reasons. The most obvious one is that storing a compact knowledge base requires less space, both on disk and in main memory. On the other hand, a more compact representation may render the processing of the data less time-efficient; this is a risk that needs to be avoided.. In this article we look at the problem of compact representations from a machine learning perspective, and more specifically that of inductive logic programming. The main contributions of this work are the introduction of a formalism that allows for a more compact representation without a significant computational penalty, and an algorithm that processes data thus represented in the most efficient way. In certain specific cases, the new formalism boils down to well-known techniques, but in general it is more widely applicable.. In Section 2 we provide some context and motivation for our work. The framework that we will introduce consists of two layers. In Section 3 we describe the first layer: the knowledge representation layer. Examples will be defined compactly by meta-theories. In Sections 4 and 5 we describe the second layer, which consists of the algorithms that support the efficient querying of examples specified by a meta-theory. In Section 6 we present some experiments evaluating our method in different problem domains and in Section 7 we state the conclusions. We have introduced a knowledge representation formalism where examples are described by theories. A theory is defined either explicitly, by listing the clauses defining a logical model for the example, or by means of a meta-theory that explains how to construct the theory from other theories using meta-rules. Meta-rules make use of meta-predicates such as the general add (merging theories), or application-specific update state, undo move, or yet other meta-predicates that can be defined by the user. Finally, schemas provide a means of formulating concisely a set of similar meta-theories, using the for each construct and parameterized theory names.. Looking at our framework from the ILP point of view, its contribution is as follows. Traditionally a distinction is made between examples and background knowledge. That distinction imposes a relatively simple structure on the knowledge base, as is shown in figure 1(c) . Our framework allows the user to impose a more sophisticated structure on the knowledge base, which is then exploited by the learning system, rendering the latter more efficient. The knowledge base from which an ILP system learns is usually treated as monolithic (a single logic program that is loaded into main memory), or structured into descriptions of examples (containing "local" information, relevant for this single example) and background knowledge (containing "global" information). The second approach has the advantage that querying a single example is more efficient, and that the whole knowledge base need not be loaded all at once in main memory (Blockeel et al., 1999) , but this happens at the expense of duplicating information that is relevant for more than one example. Typical applications where this may be problematic, are the learning from episodes setting where consecutive states of a world have to be stored and applications that contain data about several dimensions.. In this article we have introduced a framework for reconciling the two goals of having information locally available and avoiding duplication of information. The framework makes it possible to structure the knowledge base in a more refined manner than by just distinguishing between knowledge relevant for one example, and background knowledge (relevant for all examples).. Our framework consists of two layers. The first layer is the knowledge representation layer. Using this layer, the user can define the knowledge base as a set of named (meta-)theories. The definition of a (meta-)theory can contain meta-rules and parameters. The meta-rules can be used to define how the examples can be constructed from other auxiliary theories.. The second layer is an algorithmic layer that supports efficient construction of the examples. If the meta-rules in a given meta-theory refer to a set of other (meta-)theories, then these (meta-)theories must be available before the new meta-theory can be constructed. This type of preconditions is expressed in our framework by the knowledge base graph (KBG).. Most ILP systems can be adapted easily to work with our framework. In order to accomplish this we have introduced an interface between the ILP system and the knowledge base: the example iterator. The example iterator has to construct the examples in an optimal order (based on the preconditions in the KBG). Finding this order corresponds in general to an NP-hard planning problem. We propose a heuristic algorithm that scales well in the number of nodes of the KBG and results in a plan with a near to optimal cost for KBG structures that occur often in practice.. We have evaluated our method on three example knowledge bases with quite different properties: the Cancer knowledge base has a two-dimensional structure, the HIV data set contains labeled molecular structures, and the Go data set contains states, moves and their evaluations for the board game Go. For each application we compared 3 representations of the knowledge base: one monolithic program, a theory for each example and a common background theory and our new framework. The experiments on the Go and Cancer knowledge bases show that our framework significantly reduces the storage requirements of the knowledge base. For the HIV application a smaller reduction was obtained. We also measured the execution time and main memory usage of the ILP algorithm TILDE for each representation. Because our framework supports on-demand loading of examples, it does not require much main memory. The obtained execution times vary: in some cases, our framework is faster, in other cases it is slower. The reason for these differences is that in our framework examples have to be constructed at runtime and in some cases the construction cost is high.. The reduction in size for the HIV application was smaller than for the other two applications. One possible way to improve on this is to try to find better patterns. Finding such patterns (with a high frequency, a long description and few parameters) is not trivial. Maybe this could be automated using a frequent pattern discovery (Dehaspe and Toivonen, 1999) or clustering approach.. Our method is formulated in the learning from interpretations setting, where examples are represented as logic programs (sets of clauses). Much work in ILP concerns the learning from entailment setting, where an example is represented as a clause with as head the instance of the predicate to be learned and as body the example specific facts. In addition, there is a background theory shared by all examples. It is feasible to develop techniques similar to those we described for this setting. The background theory can be split in several theories and these theories can include meta-rules. The only extra thing that is required is a notation for linking theories to example clauses.. Expanding theories can be compared to saturation, which is used in some ILP systems. The representation as (meta-)theories is in principle sufficient to deduce all necessary information. However, ILP systems are typically not able to work with this information directly (and doing so would introduce much overhead). Saturation (Rouveirol, 1994) solves a special instance of this problem: some ILP algorithms cannot handle separate background knowledge. Therefore, they use saturation to expand the examples with the information that is implicit in the background knowledge. In our approach too, we have to expand examples in order to let the ILP system use them efficiently. While saturation can be seen as a special case, our approach is more general: saturation is essentially a process of specializing a logic program, expanding examples in our framework may involve other operations (deletions, updates, computations, etc.) . Examples also need not be ground in our framework: they can include implicitly defined predicates. One can also be very specific about the operations that are performed, so that only what is necessary is computed, which contrasts with saturating a clause with all background knowledge.. Further research could try to improve the efficiency of constructing examples. Typical Prolog implementations do not offer primitives for efficiently manipulating compiled logic programs and repeated compilation introduces a large overhead. In this context, it could be interesting to look at incremental compilation of programs and at combining compiled programs at runtime. Another direction of research could look at knowledge bases that are lazily sampled from an implicit (infinite) example space. We have implemented our new formalism in the ILP system ACE 1.2.6 4 (Blockeel et al., 2002) . Settings 1 and 2 were already available in ACE.. For each application, we run the first order decision tree induction system TILDE (Blockeel and De Raedt, 1998) , which is included in ACE, for different sample sizes of the knowledge base. We measure the execution time and memory usage of TILDE in the examples outer loop setting (Section 5.1). Struyf et al. (2004) presents the same measurements for the more expensive queries outer loop setting.. Settings 2 and 3 use a fixed size block of main memory (the cache) for storing examples (interpretations/expanded logic programs). In each experiment, we set the cache size to 100 MB.. The experiments on the Cancer data were run on an Intel P4, 2 Ghz, 512 MB, the other experiments on an Intel P4, 1.8 Ghz, 512 MB. The Cancer and Go data sets have two dimensions: cell lines and compounds, and states and moves. Such data sets can be represented compactly in setting 1 and 3. In setting 2, only a redundant representation is possible, which explains the huge S 2 /S 3 .. In the Go data set, most states are defined implicitly via a meta-theory in setting 3. Because the meta-theories are small compared to the explicit representation of the states, we obtain high reduction factors S 1 /S 3 and S 2 /S 3 .. For HIV, the reduction S 2 /S 3 relatively small. Apparently, the parametric structures cover only a small part of each molecule. S 1 /S 3 is a bit larger because each fact in setting 1 includes an extra identifier. Figures 7-9 show the execution time and memory usage of TILDE on each application. Each set of bars corresponds to a set of experiments for a different sample size N . The total memory usage for setting 1 is linear in N . Above a given value of N , the logic program representing the examples does not fit in memory anymore and setting 1 is no longer feasible (the system starts swapping).

B I O B I O B I I 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 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 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 B I 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Pseudorandomness and average-case complexity via uniform reductions In this paper:• We obtain an optimal worst-case to average-case connection for EXP: if EXP ⊆ BPTIME(t(n)), EXP has problems that are cannot be solved on a fraction 1/2 + 1/t (n) of the inputs by BPTIME(t (n)) algorithms, for t = t Ω(1) .• We exhibit a PSPACE-complete downward selfreducible and random self-reducible problem. This slightly simplifies and strengthens the proof of [17] , which used a a #P-complete problem with these properties.• We argue that the results in [17] and in this paper cannot be proved via "black-box" uniform reductions. Pseudorandomness, Average-case Hardness,

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 B O O