We develop a multiset query and update language executable in a term rewriting system. Its most remarkable feature, besides non-standard approach to quantification and introduction of fresh values, is non-determinism - a query result is not uniquely determined by the database. We argue that this feature is very useful, e.g., in modelling user choices during simulation or reachability analysis of a data-centric business process - the intended application of our work. Query evaluation is implemented by converting the query into a terminating term rewriting system and normalizing the initial term which encapsulates the current database. A normal form encapsulates a query result. We prove that our language can express any relational algebra query. Finally, we present a simple business process specification framework (and an example specification). Both syntax and semantics of our query language is implemented in Maude.
翻译:我们开发了一个多套查询并更新了在术语重写系统中可以执行的语言。除了非标准化的量化和引入新值的方法外,其最显著的特征是非决定性的----查询结果并非由数据库所独有。我们争辩说,这一特征非常有用,例如在模拟或数据中心业务流程的可访问性分析中模拟用户选择的模型化过程中——我们工作的预期应用。通过将查询转换成终止的术语重写系统,并使封装当前数据库的初始术语正常化,进行查询评估。一种正常的形式包涵了一个查询结果。我们证明我们的语言可以表达任何关系代数查询。最后,我们提出了一个简单的业务流程规格框架(和示例规格)。我们查询语言的语法和语义在莫德实施。