This dissertation addresses the automatic development, verification and testing of data-intensive web applications based on the object-relational data model, as well as the optimization of a large number of object relational production rules.; We propose a declarative programming language SOBL (SemanticObjects Behavior Language) as a specification language for data-intensive web applications. A SOBL program separates application data from the composition and navigation of UI data. Static web pages are automatically generated from UI requirements, and an executable behavior specification in SOPL (SemanticObjects Programming Language) is derived from the behavior requirements in SOBL. A SOBL specification consists of a series of actions arranged based on certain types of control structures and triggers. It assists non-programmers to describe the scenarios of a system. A SOPL program is executable consisting of a set of production rules. The pre-condition of each series of system actions that share the condition can be recursively derived based on the control structures and event-driven triggers defined in a SOBL program.; We introduce a formal system to describe a SOBL-based application in first-order logic and Petri-nets. The verification process is carried out in two ways. One is to apply theorem-proving to prove certain properties. The other employs model checking to verify whether a system scenario contains specific design errors. We test whether a SOBL-based application performs as expected via specification based black-box testing. An automatic combinatorial test case generation algorithm for functional testing is proposed. Different strategies for the partition, selection and combination of input parameters are utilized according to the properties of the parameters and testing requirements.; To optimize the processing of a large number of object relational production rules, we propose an object-relational (OR) rule network approach based on the existing relational rule network approach. OR rule supports complex data types and OO properties such as object containment. In addition, customized functions that are defined by the user for each object type can be used in such rules. Optimization of an OR rule network is based on the I/O and CPU cost of condition matching. Given a set of OR rules, different access paths are generated, and the costs of these access paths are evaluated in order to determine an optimal configuration for the OR rule network.
展开▼