Validation of UML/OCL models require that business stakeholders make sure that the designers “defined the right domain models” (instead, during verification we need to make sure designers “defined the domain models right”).
Since it is unlikely that stakeholders will be able to directly read and understand the UML/OCL models, we need to reexpress those models in a language that they may understand. To this end, we have developed a method that paraphrases UML/OCL class diagrams to generate a description of the model contents and rules in natural language. This description can be used by stakeholders to validate the models before going on with the development process
Instead of directly providing a UML and OCL to natural language transformation we first transform our UML and OCL models to SBVR (Semantics of Business Vocabulary and Business Rules, a standard specification aimed at documenting the semantics of business vocabulary, business facts and business rules of an organization. This intermediate representation facilitates the definition of natural language descriptions (e.g. in Structured English) and can be used as pivot metamodel to go from UML and OCL to other rule languages.
Check the following presentation to get an idea of what we do. You can also read the full description of our method in this paper: From UML/OCL to SBVR specifications: A challenging transformation (published here ) or at least read the abstract:
UML is currently the most widely used modeling language for the specification of the conceptual schema (CS) of an information system (IS). However, UML falls short when it comes to allow business people to define in their own language (e.g. using their own terms in natural language) the policies and rules by which they run their business. To this purpose, the Semantics of Business Vocabulary and Business Rules (SBVR) metamodel specification was proposed. SBVR is conceptualized optimally for business people and it is designed to be used for business purposes, independently of information systems designs. Clearly, SBVR and UML cannot be considered as isolated languages. Many of the business rules specified by business people must be automatically executed by the underlying information system, and thus, they must also appear in its UML CS.
In this sense, the main goal of this paper is to bridge the gap between UML and SBVR by providing an automatic transformation from UML to SBVR specifications. Thanks to our transformation, designers will be able to interact with the business people (in their own language) to refine and validate the information modeled in the CS before the generation of the final IS implementation. Our transformation also takes into account all possible textual OCL (Object Constraint Language) expressions that complement the UML graphical elements.
ICREA Research Professor at Internet Interdisciplinary Institute (UOC). Leader of the SOM Research Lab focusing on the broad area of systems and software engineering. Home page.
Very exciting work Jordi, I especially liked the context you gave (business people validating OCL). It is interesting to think no one had done something like this until now. formal -> natural language is a much easier (but not easy) path to take, and I think it has not been explored enough because of people simply being terrorised of the whole ‘NATURAL LANGUAGE IS unparseable’ thing, which obviously doesn’t apply.
I’ll release my SBVR->SQL converter soon, I’m curious TO hear what you think.
great TO see other people bring IN the SBVR subject IN university courses.
Did you already CHECK out our spin-off FROM Free Univ Brussels ? We build SBVR glossary AND semantic technologies based ON SBVR : http://www.collibra.com
Pieter De Leenheer
I´m sure the readers OF the blog will LIKE TO know about this converter once you release it!
There IS still little tool support FOR SBVR