Semantic validation of ORM schemes.
Contact: Dr. Mustafa Jarrar
Description: ORM (Object-Role Modeling) is a rich and well-known conceptual modeling method. As ORM has a formal semantics, reasoning tasks such as satisfiability checking of an ORM schema naturally arise. Satisfiability checking allows a developer to automatically detect contradicting constraints. For example, see the contradiction in this figure. Can you spot the contradiction before you continue reading?
Stating that Students and Employees are types of Persons, where no Student can be an Employee and vice versa (see the exclusion constraint), and a PhD Student is both a Student and an Employee. Thus, the PhDStudent type cannot be populated. Otherwise, a PhD Student would be both a student and an employee which contradicts with the fact that Student and Employee need to be disjoint types (by the exclusion constraint).
The question is can we automatically detect such problems in ORM schemes.
The answer is yes. Please read this article, which presents 10 patterns of constraint
contradictions in ORM schemes.
Your thesis/internship will extend and implement these patterns.
Research issues (only for thesis): ORM satisfiability and reasoning.
Skills: Java, ORM-ML.
See: Related proposals.