Scalable analysis of conceptual data models

Conceptual data models describe information systems without the burden of implementation details, and are increasingly used to generate code. They could also be analyzed for consistency and to generate test data except that the expressive constraints supported by popular modeling notations make such analysis intractable. In an earlier empirical study of conceptual models created at LogicBlox Inc., Smaragdakis, Csallner, and Subramanian found that a restricted subset of ORM, called ORM−, includes the vast majority of constraints used in practice and, moreover, allows scalable analysis. After that study, however, LogicBlox Inc. obtained a new ORM modeling tool, which supports discovery and specification of more complex constraints than the previous tool. We report findings of a follow-up study of models constructed using the more powerful tool. Our study finds that LogicBlox developers increasingly rely on a small number of features not in the ORM− subset. We extend ORM− with support for two of them: objectification and a restricted class of external uniqueness constraints. The extensions significantly improve our ability to analyze the ORM models created by developers using the new tool. We also show that a recent change to ORM has rendered the original ORM− algorithms unsound, in general; but that an efficient test suffices to show that these algorithms are in fact sound for the ORM− constraints appearing in any of the models currently in use at LogicBlox.

[1]  Zahir Tari,et al.  On the Move to Meaningful Internet Systems. OTM 2018 Conferences , 2018, Lecture Notes in Computer Science.

[2]  Sven Hartmann,et al.  On Interactions of Cardinality Constraints, Key, and Functional Dependencies , 2000, FoIKS.

[3]  Perdita Löhr,et al.  Enhancing the Quality of Conceptual Database Specifications through Validation , 1993, ER.

[4]  Sarfraz Khurshid,et al.  Query-Aware Test Generation Using a Relational Constraint Solver , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[5]  Carsten Binnig,et al.  QAGen: generating query-aware test databases , 2007, ACM SIGMOD Conference.

[6]  Yannis Smaragdakis,et al.  Scalable satisfiability checking and test data generation from modeling diagrams , 2009, Automated Software Engineering.

[7]  Terry A. Halpin,et al.  Orm 2 , 2005, OTM Workshops.

[8]  Diego Calvanese,et al.  Reasoning over Extended ER Models , 2007, ER.

[9]  Terry A. Halpin,et al.  Model Driven Development with NORMA , 2007, 2007 40th Annual Hawaii International Conference on System Sciences (HICSS'07).

[10]  Shing-Chi Cheung,et al.  Automatic generation of database instances for white-box testing , 2001, 25th Annual International Computer Software and Applications Conference. COMPSAC 2001.

[11]  Carsten Binnig,et al.  Reverse Query Processing , 2007, 2007 IEEE 23rd International Conference on Data Engineering.

[12]  Andrea Neufeld Dipl. Inform.,et al.  Generating consistent test data: Restricting the search space by a generator formula , 2005, The VLDB Journal.

[13]  Terry A. Halpin,et al.  Information modeling and relational databases (2. ed.) , 2008 .

[14]  Martin Gogolla,et al.  Conceptual modelling of database applications using extended ER model , 1992, Data Knowl. Eng..

[15]  Mustafa Jarrar Towards Automated Reasoning on ORM Schemes - Mapping ORM into the DLRidf Description Logic , 2007, ER 2007.

[16]  Mustafa Jarrar,et al.  Towards Automated Reasoning on ORM Schemes , 2007, ER.

[17]  R. E. Kurt Stirewalt,et al.  Automated Test Input Generation for Software That Consumes ORM Models , 2009, OTM Workshops.

[18]  Rico Wind,et al.  Simple and realistic data generation , 2006, VLDB.

[19]  G FranklPhyllis,et al.  An AGENDA for testing relational database applications , 2004 .

[20]  Diego Calvanese,et al.  Reasoning on UML class diagrams , 2005, Artif. Intell..

[21]  Elaine J. Weyuker,et al.  An AGENDA for testing relational database applications , 2004, Softw. Test. Verification Reliab..