Role of OCL and its Supporting Tools in Requirement Specification - Dharmana, Sunil Babu (My University, 2010)
During the formal specification phase, the engineer rigorously defines a system using a modeling language. Modeling languages are fixed grammars which allow users to model complex structures out of predefined types. This process of formal specification is similar to the process of converting a word problem into algebraic notation. The Object Constraint Language (OCL) is a notational language for analysis and design of software systems, which is used in conjunction with the Unified Modeling Language (UML) to specify the semantics of the building blocks precisely. If the focus of the development activities is shifted from implementation code to more abstract models then software developers need a formalism to provide a complete, unambiguous and consistent model at a very detailed level. So, OCL is currently the only language that can bring this level of detail through specification to UML models. OCL can also be used by other languages,notations, methods and software tools in order to specify restrictions and other expressions of their models. Likewise, OCL is used by the Object Management Group (OMG) in the definition of other fast spreading industrial standards such as Meta Object Facility (MOF) or XML Metadata Interchange (XMI). The language is very powerful because it can be used together with class and other UML diagrams at different model layers by the specification of OCL constraints at the meta model layer. In this thesis, work is an attempt to synchronize the language specification and its understanding, straight related to the language improvement in CASE tools, by proposing solutions for incomplete or non deterministic OCL specifications. Also present here is a tool based approach to validating UML models and OCL constraints by implementing a Case Study. The ideas presented in a Case Study have been implemented in the OCLE2.0.4, describe existing principles and stages for generating code from OCL expressions pointing out the drawbacks that cause inefficiencies of the OCL Specifications and its resulting code generated by OCLE2.0.4. The proposed improvement of the code transformation is based on extended Abstract Syntax Trees (AST) with context specific attributes. Finally the feasibility of results presented in this work was shown with the realization of the USE2.4.0 tool. The USE tool has been used to validate the well formedness rules in the UML standard and OCL specifications of a case study. The results provide input for improving future versions.
M.E. (Software Engineering)
Keywords: OCL; OCLE2.0.4; USE2.4.0; UML; MDA; MOF