Thats a unique idea.You should consider the following idea to enhance your idea so that it would impact uniquely: Until the recent adoption of fUML, UML has lacked standard execution semantics. Hover, parts of UML models have always been executable: OCL expressions. They may notably be used to express contracts (i.e., invariants, pre- and post-conditions), to define side-effect free operations, and to specify how to compute derived features. Nonetheless, although fUML is partly inspired by OCL (notably for primitive behaviors), its specification does not consider interoperability with OCL expressions. Moreover, the semantics of OCL is specified independently of (f)UML, and their implementations are separate execution engines, hampering all global activities (e.g., analysis, optimization, debugging).  explores a possible integration approach of OCL and fUML: by transforming (i.e., compiling) OCL expressions into fUML activities  obtain a unified executable model. With this approach, operations specified in OCL can be called, and getters can be generated for derived features. Preconditions (resp. postconditions) can be automatically executed before (resp. after) the execution of their contextual operations. A precise semantics for invariant evaluation can be specified in fUML. Thanks to this work, OCL may also be seen as a functional counterpart to Alf.
['Massimo Tisi', 'Frédéric Jouault', 'Zied Saidi', 'Jérôme Delatour']
I am writing a research paper on a idea Enabling OCL and fUML Integration by Transformation
[{"from": "human", "value": "I am writing a research paper on a idea Enabling OCL and fUML Integration by Transformation"}, {"from": "gpt", "value": "Thats a unique idea.You should consider the following idea to enhance your idea so that it would impact uniquely: Until the recent adoption of fUML, UML has lacked standard execution semantics. Hover, parts of UML models have always been executable: OCL expressions. They may notably be used to express contracts (i.e., invariants, pre- and post-conditions), to define side-effect free operations, and to specify how to compute derived features. Nonetheless, although fUML is partly inspired by OCL (notably for primitive behaviors), its specification does not consider interoperability with OCL expressions. Moreover, the semantics of OCL is specified independently of (f)UML, and their implementations are separate execution engines, hampering all global activities (e.g., analysis, optimization, debugging).  explores a possible integration approach of OCL and fUML: by transforming (i.e., compiling) OCL expressions into fUML activities  obtain a unified executable model. With this approach, operations specified in OCL can be called, and getters can be generated for derived features. Preconditions (resp. postconditions) can be automatically executed before (resp. after) the execution of their contextual operations. A precise semantics for invariant evaluation can be specified in fUML. Thanks to this work, OCL may also be seen as a functional counterpart to Alf."}]