Resource-Constrained Reasoning Using a Reasoner Composition Approach

Total Page:16

File Type:pdf, Size:1020Kb

Resource-Constrained Reasoning Using a Reasoner Composition Approach Resource-Constrained Reasoning Using a Reasoner Composition Approach Editor(s): Name Surname, University, Country Solicited review(s): Name Surname, University, Country Open review(s): Name Surname, University, Country Wei Tai a, *, John Keeney b, Declan O’Sullivan a a Knowledge and Data Engineering Group, School of Computer Science and Statistics, Trinity College Dublin, Dublin 2, Ireland b Network Management Lab, LM Ericsson, Athlone, Ireland Abstract: The marriage between semantic web and sensor-rich systems can semantically link the data related to the physical world with the existent machined-readable domain knowledge encoded on the web. This has allowed a better understanding of the inherently heterogeneous sensor data by allowing data access and processing based on semantics. Research in different domains has been started seeking a better utilization of data in this manner. Such research often assumes that the semantic data is processed in a centralized server and that reliable network connections are always available, which are not realistic in some critical situations. For such critical situations, a more robust semantic system needs to have some local- autonomy and hence on-device semantic data processing is required. As a key enabling part for this strategy, semantic reasoning needs to be developed for resource-constrained environments. This paper shows how reasoner composition (i.e. to automatically adjust a reasoning approach to preserve only the amount of reasoning needed for the ontology to be reasoned over) can achieve resource-efficient semantic reasoning. Two novel reasoner composition algorithms have been designed and implemented. Evaluation indicates that the reasoner composition algorithms greatly reduce the resources required for OWL reasoning, facilitating greater semantic data processing on sensor devices. Keywords: Reasoner Composition, Reasoning, OWL, Rule, Mobile, Resource Constrained, Semantic Web 1. Introduction some critical situations such as emergency situations, this infrastructure is prone to interference or damage, The marriage between semantic web and sensor- causing part of the system with only limited network rich systems such as mobile devices and wireless connections to the central server or even totally sensor network can semantically link the data related detached from the rest of the system. In some other to the physical world with the vast amount of situations such as seafloor monitoring or forest fire machined-readable domain knowledge encoded on monitoring, the surrounding environment could be the web. This increases the interoperability and the too harsh (e.g. limited power supply and hostile value of the data, and hence allows applications to environment) to be suitable for either an onsite have a better understanding of the inherently powerful centralized server or a fast internet heterogeneous sensor data through data access and connection to services in the cloud. In other cases, processing on the semantic level. Quite a lot of the overhead involved in relaying raw un-processed research has been started seeking better utilization of data can be very high, and the centralized intelligent data in domains in this manner, such as hazard data processing overhead at the central processing monitoring and rescue [15], context-aware node acts as a bottleneck in the system. Reality often computing [27], environmental monitoring [4], field requires a robust system to be able to retain part (or studies [35], internet of things [18], and so on. all) of data processing over the networked devices, A centralized paradigm is often assumed in such e.g. sensor data can be aggregated on devices to research: all the data processing (such as semantic meaningful events to minimize network data annotation, semantic data fusion, semantic data transmission, or decisions/actuations are made aggregation, decision making, and so on) is handled locally on the device itself or on a cluster basis [36]. on a powerful centralized machine either as a local For such a robust semantic-enabled system, it makes gateway [15] or as remote services on the web [4, 35, sense to push semantic reasoning towards the edge 27], and hence the data transmission relies on of the system which are lower-specification devices reliable (and fast) network connections. However, used only for data gathering, actuation, data such assumptions do not always hold in reality. In aggregation or routing. In the extreme cases they concentrated on memory and time performance may be only sensors with very limited resources. measures. Results indicate that our reasoner Existing semantic reasoners are too resource- composition algorithms significantly reduce the intensive to be directly implemented on such resource consumption required for rule-entailment resource-constrained devices [3, 34, 38]. This is reasoning, thus facilitating semantic reasoning in particularly the case for rule-entailment reasoners. A resource-constrained environments. study in [10] shows the reasoning can take tens or The paper is organized as follows. Section 2 several hundred KB of memory per triple. Hence presents related work, including a categorization of reasoning over a small ontology can easily drain the existing OWL reasoning approaches and a resource on a very small device as those deployed discussion of the optimizations and composition on the edge of the systems (e.g. Sun SPOT has approaches used by existing resource-constrained 180MHz CPU, 512KB RAM, and 4MB Flash). reasoners. Section 3 elaborates the design of the two Distinct ontologies often vary in characteristics, composition algorithms. Implementation details for such as expressivity, the used language vocabularies, a prototype implementation (“COROR”) are structure and so on. The varieties of such provided in section 4. Section 5 follows with an characteristics can cause a difference in the evaluation of our work. Section 6 concludes with a requirement of reasoning. A simple example to discussion of the significance, limitations and show this difference would be that reasoning over a directions for future work of the research. RDFS ontology only needs RDFS rules whereas reasoning over full OWL 2 RL ontology requires the 2. Background and Related Work entire OWL 2 RL rule set. This difference shows a potential approach for cutting the resource This section discusses the background and related consumption for semantic reasoning. A reasoning work from three aspects. Firstly, a categorization of approach could automatically adjust itself based on OWL reasoning approaches is outlined and a the characteristics of the ontology to be reasoned rationale is provided for choosing forward-chaining over to provide “just enough” reasoning for the rule-entailment reasoning as a base technology for particular ontology. In this way unneeded reasoning our work (section 2.1 and 2.2). A second aspect is a can be avoided, therefore lowering the need for discussion of the optimizations or composition resources in semantic reasoning. This automatic approaches (if any) adopted by the existing self-adjustment of reasoning capabilities according resource-constrained OWL reasoners (section 2.3). to characteristics of ontologies is called reasoner Finally, a discussion of the main mechanism for composition [2]. implementing a rule engine – RETE – is presented, In our research, we concentrate on the along with some RETE optimizations from which composition of rule-entailment reasoning. This is for some composition algorithms are inspired (section two reasons. First, our motivating scenario of 2.4). resource-constrained reasoning requires domain- specific reasoning to be supported. Modeling and 2.1. A Categorization of OWL Reasoning deploying domain-specific rules is the most straight- Approaches forward approach. Second, the loose-coupling of rules shows better composability than the other Considering the quite different reasoning reasoning approaches [2]. approaches adopted in OWL reasoners, a Two novel composition algorithms were devised categorization of OWL reasoning approaches is in the course of our research to compose rule- important (1) to provide us with a grounding in entailment reasoning from two different OWL reasoning approaches, and (2) to enable the perspectives: a selective rule loading algorithm investigation of reasoner composition based on a composes on the rule set, and a two-phase RETE category of reasoning approaches rather than a algorithm composes in the reasoning algorithm. The particular reasoner implementation. A survey of the composition algorithms were implemented in a reasoning approaches was conducted among a group proof-of-concept resource-constrained OWL of 26 OWL reasoners from the state of the art. By reasoner (COROR). As the goal of this work was to examining the reasoning approaches used, a reduce resource consumption for embedded rule- categorization was developed such that the reasoners entailment reasoning, our evaluation strategy could be classified into five categories, i.e. Description Logic (DL) tableau reasoners, Resolution-based reasoners perform OWL (forward-chaining) rule-entailment reasoners, reasoning using resolution engines which could be a resolution-based reasoners, reasoners using hybrid Prolog engine [40, 41], a Datalog engine [16] or a approaches, and finally reasoners using full First Order Logic (FOL) theorem prover [25]. miscellaneous approaches. Depending on the type of resolution engine in use, a DL tableau reasoners convert OWL entailment resolution-based reasoner
Recommended publications
  • Examples of Forward Chaining and Backward Chaining
    Examples Of Forward Chaining And Backward Chaining Nauseous Frederich vernacularising superbly. Creamlaid and unspeakable Townsend justifying his Capek elasticates evinced firm. Undulant Filbert demonstrating surpassingly. Backward chaining AMA Behavioral Consulting LLC Our. What is fragile and backward chaining? Mixed chaining algorithm combining forward & backward. For real here draft a file of Pfc rules and facts which are appropriate either the. This narrative that contains sets increase its missiles, backward and backward chaining are readily apparent that value. What is a few hours starting and put on mastery of chaining backward chaining is web page has rules. Inference in first-order logic. For example students who have been approve to cargo the most butter near the bread. Backward chaining reasoning methods begin to a hit of hypotheses and work. Forward and backward chaining are great ways to teach children new skills. 1 Similar to proposi onal logic we are infer new facts using forward chaining. Let's bubble a millennium at it simple examples to perceive you differentiate. How do you went forward chaining? The backtracking process in backward chaining employs the Prolog programming language which rite also discussed in this thesis Some examples for better. The facility of forward chaining is backward chaining. Backward chaining is sitting opposite lever forward chaining. Questions 7. Forward Chaining and Backward Chaining PowerPoint. Helping Your Child be more Self-reliant Backward Chaining. 1Forward Chaining In Forward Chaining whenever the exercise value changes automatically the kidney value gets calculated For Example. Backward & Forward Chaining I Love ABA. Knowledge base with backward chaining to decide which an advantage of forward chaining backward and teach each component behaviors quickly or step that we would they cannot be.
    [Show full text]
  • Drools Expert User Guide
    Drools Expert User Guide Version 5.5.0.CR1 by The JBoss Drools team [http://www.jboss.org/drools/team.html] ....................................................................................................................................... vii 1. Introduction ................................................................................................................. 1 1.1. Artificial Intelligence ............................................................................................ 1 1.1.1. A Little History ......................................................................................... 1 1.1.2. Knowledge Representation and Reasoning ................................................ 2 1.1.3. Rule Engines and Production Rule Systems (PRS) .................................... 3 1.1.4. Hybrid Reasoning Systems (HRS) ............................................................ 5 1.1.5. Expert Systems ........................................................................................ 8 1.1.6. Recommended Reading ........................................................................... 9 1.2. Why use a Rule Engine? .................................................................................. 12 1.2.1. Advantages of a Rule Engine ................................................................. 13 1.2.2. When should you use a Rule Engine? ..................................................... 14 1.2.3. When not to use a Rule Engine .............................................................. 15 1.2.4. Scripting
    [Show full text]
  • Reactive Rules on the Web
    Reactive Rules on the Web Bruno Berstel1, Philippe Bonnard1,Fran¸cois Bry2,MichaelEckert2, and Paula-Lavinia P˘atrˆanjan2 1 ILOG 9, rue de Verdun, 94250 Gentilly, France {berstel,bonnard}@ilog.fr — http://www.ilog.com 2 University of Munich, Institute for Informatics Oettingenstr. 67, 80538 M¨unchen, Germany {bry,eckert,patranjan}@pms.ifi.lmu.de — http://www.pms.ifi.lmu.de Abstract. Reactive rules are used for programming rule-based, reactive systems, which have the ability to detect events and respond to them au- tomatically in a timely manner. Such systems are needed on the Web for bridging the gap between the existing, passive Web, where data sources can only be accessed to obtain information, and the dynamic Web, where data sources are enriched with reactive behavior. This paper presents two possible approaches to programming rule-based, reactive systems. They are based on different kinds of reactive rules, namely Event-Condition- Action rules and production rules. Concrete reactive languages of both kinds are used to exemplify these programming paradigms. Finally the similarities and differences between these two paradigms are studied. 1 Introduction Reactivity on the Web, the ability to detect events and respond to them automat- ically in a timely manner, is needed for bridging the gap between the existing, passive Web, where data sources can only be accessed to obtain information, and the dynamic Web, where data sources are enriched with reactive behavior. Reactivity is a broad notion that spans Web applications such as e-commerce platforms that react to user input (e.g., putting an item into the shopping bas- ket), Web Services that react to notifications or service requests (e.g., SOAP messages), and distributed Web information systems that react to updates in other systems elsewhere on the Web (e.g., update propagation among biological Web databases).
    [Show full text]
  • A Best-First Backward-Chaining Search Strategy Based on Learned
    A Best-first Backward-chaining Search Strategy based on Learned Predicate Representations Alexander Sakharov Synstretch, Framingham, MA, U.S.A. Keywords: Knowledge Base, First-order Logic, Resolution, Backward Chaining, Neural-symbolic Computing, Tensorization. Abstract: Inference methods for first-order logic are widely used in knowledge base engines. These methods are pow- erful but slow in general. Neural networks make it possible to rapidly approximate the truth values of ground atoms. A hybrid neural-symbolic inference method is proposed in this paper. It is a best-first search strategy for backward chaining. The strategy is based on neural approximations of the truth values of literals. This method is precise and the results are explainable. It speeds up inference by reducing backtracking. 1 INTRODUCTION inference with neural networks (NN) (Rocktaschel,¨ 2017; Serafini and d’Avila Garcez, 2016; Dong et al., The facts and rules of knowledge bases (KB) are usu- 2019; Marra et al., 2019; Van Krieken et al., 2019; ally expressible in first-order logic (FOL) (Russell Sakharov, 2019). Most commonly, it is done via pred- and Norvig, 2009). Typically, KB facts are literals. icate tensorization. Objects are embedded as real- Quantifier-free implications A ( A1 ^ ::: ^ Ak, where valued vectors of a fixed length for the use in NNs. A;A1;:::;Ak are literals, are arguably the most com- Predicates are represented by one or more tensors of mon form of rules in KBs. All these literals are pos- various ranks which are learned. The truth values of itive in Prolog rules. In general logic programs, rule ground atoms of any predicate P are approximated by heads are positive.
    [Show full text]
  • Production Systems and Rete Algorithm Formalisation Horatiu Cirstea, Claude Kirchner, Michael Moossen, Pierre-Etienne Moreau
    Production Systems and Rete Algorithm Formalisation Horatiu Cirstea, Claude Kirchner, Michael Moossen, Pierre-Etienne Moreau To cite this version: Horatiu Cirstea, Claude Kirchner, Michael Moossen, Pierre-Etienne Moreau. Production Systems and Rete Algorithm Formalisation. [Research Report] 2004, pp.21. inria-00280938 HAL Id: inria-00280938 https://hal.inria.fr/inria-00280938 Submitted on 20 May 2008 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Meta-compilation´ non intrusive du filtrage par contraintes Non intrusive meta-compilation of matching by constraints Sous Projet 1 RETE et re´ecriture´ Production Systems and Rete Algorithm Formalisation Description : The rete algorithm is a well-known algorithm for efficiently addressing the many patterns/many objects match problem, and it has been widely used and imple- mented in several applications, mainly production systems. But despite of the wide usage of production systems and the rete algorithm, to the best of our knowledge there has been just one proposition for a formal definition of the rete algorithm given by Fages and Lissajoux [FL92], but no attempt to give a formal description of production systems as a whole, giving rise to lots of ambiguities and incompatibilities between the different implementations.
    [Show full text]
  • Incremental Update of Datalog Materialisation: the Backward/Forward Algorithm
    Proceedings of the Twenty-Ninth AAAI Conference on Artificial Intelligence Incremental Update of Datalog Materialisation: The Backward/Forward Algorithm Boris Motik, Yavor Nenov, Robert Piro and Ian Horrocks Department of Computer Science, Oxford University Oxford, United Kingdom fi[email protected] Abstract much harder. Fact insertion can be efficiently handled us- ing the standard semina¨ıve algorithm (Abiteboul, Hull, and Datalog-based systems often materialise all consequences of a datalog program and the data, allowing users’ queries Vianu 1995): datalog (without negation-as-failure) is mono- tonic, so one can just ‘continue’ materialisation from E+; to be evaluated directly in the materialisation. This process, + however, can be computationally intensive, so most systems hence, in this paper we usually assume that E = ;. In con- update the materialisation incrementally when input data trast, fact deletion is much more involved since one must changes. We argue that existing solutions, such as the well- identify and retract all facts in I not derivable from E n E−. known Delete/Rederive (DRed) algorithm, can be inefficient Gupta and Mumick (1995) presents an extensive overview in cases when facts have many alternate derivations. As a pos- of the existing approaches to incremental update, which can sible remedy, we propose a novel Backward/Forward (B/F) be classified into two groups. algorithm that tries to reduce the amount of work by a combi- The approaches in the first group keep track of auxil- nation of backward and forward chaining. In our evaluation, iary information during materialisation to efficiently delete the B/F algorithm was several orders of magnitude more ef- ficient than the DRed algorithm on some inputs, and it was facts.
    [Show full text]
  • Fuzzy Dynamic Discrimination Algorithms for Distributed Knowledge Management Systems
    Annals of “Dunarea de Jos” University of Galati Fascicle I – 2010. Economics and Applied Informatics. Years XVI – no 2 - ISSN 1584-0409 Fuzzy Dynamic Discrimination Algorithms for Distributed Knowledge Management Systems Vasile MAZILESCU Dunarea de Jos University of Galati [email protected] Abstract A reduction of the algorithmic complexity of the fuzzy inference engine has the following property: the inputs (the fuzzy rules and the fuzzy facts) can be divided in two parts, one being relatively constant for a long a time (the fuzzy rule or the knowledge model) when it is compared to the second part (the fuzzy facts) for every inference cycle. The occurrence of certain transformations over the constant part makes sense, in order to decrease the solution procurement time, in the case that the second part varies, but it is known at certain moments in time. The transformations attained in advance are called pre-processing or knowledge compilation. The use of variables in a Business Rule Management System knowledge representation allows factorising knowledge, like in classical knowledge based systems. The language of the first-degree predicates facilitates the formulation of complex knowledge in a rigorous way, imposing appropriate reasoning techniques. It is, thus, necessary to define the description method of fuzzy knowledge, to justify the knowledge exploiting efficiency when the compiling technique is used, to present the inference engine and highlight the functional features of the pattern matching and the state space processes. This paper presents the main results of our project PR356 for designing a compiler for fuzzy knowledge, like Rete compiler, that comprises two main components: a static fuzzy discrimination structure (Fuzzy Unification Tree) and the Fuzzy Variables Linking Network.
    [Show full text]
  • Using Cloud Computing with RETE Algorithms in a Platform As a Service (Paas) for Business Systems Development
    Using Cloud Computing with RETE Algorithms in a Platform as a Service (PaaS) for Business Systems Development Richard Poblete 1, David de la Fuente 2, and Margarita Alonso 3 1Department of Business Administration, Cantabria University, Santander, Spain [email protected] 2Department of Business Administration, Oviedo University, Gijón, Asturias, Spain [email protected] 1Department of Business Administration, Cantabria University, Santander, Spain [email protected] this technology is the Virtualization and its model of operative Abstract - Given that companies operate in an environment of business is varied and can include: Pay per Use Models; Free continuous evolution it requires information systems to have Models; Fee for Service Models and Free Use Models, greater adaptation, flexibility, scalability and reliability of sharing utilities. incorporation of these changes. Cloud Computing can be regarded as a paradigm and key element of recent computing in business management solutions. A business solution arises 1.1 Cloud Computing in the cloud; this solution includes both the environmental Cloud Computing is defined by the way in which the dynamics and the changes needed in the business logic service provider and the consumer of that service are related. assuring speed of response, efficiency in the solution and In this context it is very common that the consumers are not maintenance of the application. This article shows a design the owners of the infrastructure, they do not incur CAPEX 1, model of Saas applications based on a platform (PaaS) which since they are under a modality of rent and use from a has the business logic as central element and is subdivided in provider.
    [Show full text]
  • Evaluation and Implementation of Match Algorithms for Rule-Based Multi-Agent Systems Using the Example of Jadex
    Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Evaluation and Implementation of Match Algorithms for Rule-based Multi-Agent Systems using the Example of Jadex Master's Thesis Diplomarbeit Eryk Lagun [email protected] Studiengang Informatik Matrikelnummer: 5318142 Fachsemester: 16 Erstgutachter: Dr. Lars Braubach Zweitgutachter: Dr. Guido Gryczan Contents 1 Introduction.....................................................................................................1 1.1 Motivation and Goals....................................................................................................1 1.2 Context and Scope.........................................................................................................2 1.3 Intended Readers........................................................................................................... 4 1.4 Outline ........................................................................................................................... 4 2 Background......................................................................................................6 2.1 Rule-based Systems....................................................................................................... 6 2.1.1 Definition............................................................................................................ 7 2.1.2 Rule Execution................................................................................................... 8 2.1.3 Recognize-Act Cycle..........................................................................................8
    [Show full text]
  • An Intelligent Student Assistant Pooja Lodhi, Omji Mishra, Shikha Jain*, Vasvi Bajaj
    Special Issue on Big Data and Open Education StuA: An Intelligent Student Assistant Pooja Lodhi, Omji Mishra, Shikha Jain*, Vasvi Bajaj Department of Computer Science, Jaypee Institute of Information Technology, Noida (India) Received 7 September 2017 | Accepted 23 January 2018 | Published 16 February 2018 Abstract Keywords With advanced innovation in digital technology, demand for virtual assistants is arising which can assist a person Artificial Intelligence, and at the same time, minimize the need for interaction with the human. Acknowledging the requirement, we Backward Chaining, propose an interactive and intelligent student assistant, StuA, which can help new-comer in a college who are CLIPS, Expert System, hesitant in interacting with the seniors as they fear of being ragged. StuA is capable of answering all types of Rule-based System, queries of a new-comer related to academics, examinations, library, hostel and extra curriculum activities. The Virtual Assistant. model is designed using CLIPS which allows inferring using forward chaining. Nevertheless, a generalized algorithm for backward chaining for CLIPS is also implemented. Validation of the proposed model is presented in five steps which show that the model is complete and consistent with 99.16% accuracy of the knowledge DOI: 10.9781/ijimai.2018.02.008 model. Moreover, the backward chaining algorithm is found to be 100% accurate. I. Introduction [11-19], design [20-21, 30], e-learning [28-29] and recommendations [31]. Some of the stochastic assistants are Chatbots, question answering rtificial Intelligence is the science of making computers systems and assistants like Apple’s Siri, Google’s Google Assistant, Aperceive their environment in a similar way as a human does and Amazon’s Alexa, Microsoft’s Cortana and Facebook’s M.
    [Show full text]
  • The Comparison Between Forward and Backward Chaining
    International Journal of Machine Learning and Computing, Vol. 5, No. 2, April 2015 The Comparison between Forward and Backward Chaining Ajlan Al-Ajlan system. The comparison will be based on the adequacy of the Abstract—Nowadays, more and more students all over the reasoning strategy, which means to what extent the given world need expert systems, especially in academic sectors. They strategy can be used to represent all knowledge required for need advice in order to be successful in their studies, and this the management expert system. The basic description of an advice must be provided by the academic management. There are two reasoning strategies in expert system, which have educational management expert system is the use of expert become the major practical application of artificial intelligence system techniques in management to be used in the academic research: forward chaining and backward chaining. The first sector. What does academic management mean? In any one starts from the available facts and attempts to draw academic sector there must be co-ordinator who co-ordinates conclusions about the goal. The second strategy starts from specific programmes and should provide suitable advice for expectations of what the goal is, and then attempts to find every student who needs it. The co-ordinator should consider evidence to support these hypotheses. The aim of this paper is to make a comparative study to identify which reasoning various factors before he provides the advice, and neglecting strategy system (forward chaining or backward chaining) is any one of them might affect the advice negatively. This more applicable when making evaluations in expert system will facilitate the task of the co-ordinator, and will management, especially in the academic field.
    [Show full text]
  • Eclipse: a C-Based Inference Engine Em6edded in a Lisp Interpreter Brian Beach; Randolph Splitter Software and Systems Laboratory HPL-90-213 December, 1990
    HEWLETT PACKARD Eclipse: A C-based Inference Engine Em6edded in a Lisp Interpreter Brian Beach; Randolph Splitter Software and Systems Laboratory HPL-90-213 December, 1990 expert systems; software Artificial intelligence began on the far-out fringe engineering environment of computer science and has been progressing more and more into the mainstream of software engineering through the use of AI components, such as inference engines, that can be embedded in programs written in more traditional languages. Eclipse takes this progression one step further by allowing the use of Lisp in combination with rules and traditional C programming. Weare currently making use of Eclipse in our work on a team software development environment. Internal Accession Date Only (c)Copyright Hewlett-Packard Company 1990 1 Introduction Eclipse, the subject of this paper, is one component of an object-based software develop­ ment environment (SDE), that is being developed at Hewlett-Packard Labs in Palo Alto. This SDE is designed to support teams of developers building large software systems. In addition to providing a shared object base of project-wide information, the environment provides rule-based support for managing the software development process. These rules create an active database that responds to user actions, checks constraints and automates repetitive tasks. A typical constraint rule might require that a software module pass certain tests before being included in a release. For reasons of efficiency, the rules are attached not to the persistent, project-wide object base but rather to a local cache of objects in the virtual memory of each developer's work­ station.
    [Show full text]