Azzam Maraee

Learn More
UML is now widely accepted as the standard modeling language for software construction. The Class Diagram is its core view, having well formed semantics and providing the backbone for any modeling effort. Class diagrams are widely used for purposes such as software specification, database and ontology engineering, meta-modeling, and model transformation.(More)
UML class diagrams play a central role in modeling activities, and it is essential that class diagrams keep their high quality all along a product life cycle. Correctness problems in class diagrams are mainly caused by complex interactions among class-diagram constraints. Detection, identification, and repair of such problems require background training. In(More)
Models lie at the heart of the emerging model-driven engineering approach. In order to guarantee precise, consistent, and correct models, there is a need for efficient powerful methods for verifying model correctness. Class diagram is the central language within UML. Its correctness problems involve issues of contradiction, namely the <i>consistency</i>(More)
UML specification is verbal and imprecise, the exact meaning of many class diagram constructs and their interaction is still obscure. There are major problems with the inter-association constraints subsets, union, redefinition, association specialization, association-class specialization. Although their standard semantics is ambiguous and their interaction(More)
Models lie at the heart of the emerging Model-driven Engineering approach. In order to guarantee precise, consistent and correct models, there is an urgent need for efficient reasoning methods for verifying model correctness. This paper extends and strengthens our previous work on efficient recognition of finite satisfiability problems in UML class diagrams(More)
Model-driven Engineering requires efficient powerful methods for verifying model correctness and quality. Class Diagram is the central language within UML. Its main problems involve correctness problems, which include the consistency and the finite satisfiability problems, and quality problems, which include the redundancy and incomplete design problems.(More)