| <!DOCTYPE HTML> |
| |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| <title>Eclipse Free BIRD Tools</title> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <meta name="description" content="Eclipse Free BIRD Tools" /> |
| <meta name="keywords" content="Eclipse Free BIRD Tools" /> |
| <meta name="author" content="Neil Mackenzie" /> |
| |
| |
| <!-- Facebook and Twitter integration --> |
| <meta property="og:title" content=""/> |
| <meta property="og:image" content=""/> |
| <meta property="og:url" content=""/> |
| <meta property="og:site_name" content=""/> |
| <meta property="og:description" content=""/> |
| <meta name="twitter:title" content="" /> |
| <meta name="twitter:image" content="" /> |
| <meta name="twitter:url" content="" /> |
| <meta name="twitter:card" content="" /> |
| |
| <link href="https://fonts.googleapis.com/css?family=Raleway:100,300,400,700" rel="stylesheet"> |
| |
| <!-- Animate.css --> |
| <link rel="stylesheet" href="css/animate.css"> |
| <!-- Icomoon Icon Fonts--> |
| <link rel="stylesheet" href="css/icomoon.css"> |
| <!-- Themify Icons--> |
| <link rel="stylesheet" href="css/themify-icons.css"> |
| <!-- Bootstrap --> |
| <link rel="stylesheet" href="css/bootstrap.css"> |
| |
| <!-- Magnific Popup --> |
| <link rel="stylesheet" href="css/magnific-popup.css"> |
| |
| <!-- Owl Carousel --> |
| <link rel="stylesheet" href="css/owl.carousel.min.css"> |
| <link rel="stylesheet" href="css/owl.theme.default.min.css"> |
| |
| <!-- Theme style --> |
| <link rel="stylesheet" href="css/style.css"> |
| |
| <!-- Modernizr JS --> |
| <script src="js/modernizr-2.6.2.min.js"></script> |
| <!-- FOR IE9 below --> |
| <!--[if lt IE 9]> |
| <script src="js/respond.min.js"></script> |
| <![endif]--> |
| |
| </head> |
| <body> |
| |
| <div class="gtco-loader"></div> |
| |
| <div id="page"> |
| |
| <nav class="gtco-nav" role="navigation"> |
| <div class="gtco-container"> |
| |
| <div class="row"> |
| <div class="col-sm-2 col-xs-12"> |
| <div id="gtco-logo"><a href="index.html">Eclipse Free BIRD Tools</a></div> |
| </div> |
| <div class="col-xs-10 text-right menu-1"> |
| <ul> |
| <li><a href="opensource.html">Open Source</a></li> |
| <li><a href="model_driven.html">Model Driven</a></li> |
| <li><a href="collaboration.html">Collaborative</a></li> |
| </ul> |
| </div> |
| </div> |
| |
| </div> |
| </nav> |
| |
| <header id="gtco-header" class="gtco-cover gtco-cover-xs gtco-inner" role="banner"> |
| <div class="gtco-container"> |
| <div class="row"> |
| <div class="col-md-12 col-md-offset-0 text-left"> |
| <div class="display-t"> |
| <div class="display-tc"> |
| <div class="row"> |
| <div class="col-md-8 animate-box"> |
| <h1 class="no-margin">Collaboration</h1> |
| |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </header> |
| <!-- END #gtco-header --> |
| |
| |
| |
| <div class="gtco-section"> |
| <div class="gtco-container"> |
| <div class="row"> |
| <div class="col-md-8 col-md-offset-2 gtco-heading text-left"> |
| <h2>Introduction</h2> |
| Using Eclipse Free BIRD Tools means that transformation developers, domain experts, data modellers, and testers, can interact with the SAME instances of the SAME model, stored in one place.<br><br> |
| We do not need that testers artefacts are all stored in Excel, Data modellers and Developers artefacts in an AcessDB, and domain experts in Visio.<br><br> |
| We appreciate that these are useful tools, and export and import tools allow different representations of the model to be maintained (such as Access DB, SQLDeveloper, Excel). <br><br> |
| We wish that there is one artefact whereby we are immediately informed when the action of one discipline (say a data modeller deletes a column from a cube) has consequences to tests (that use that column in input data) and transformations (that use that column)<br><br> |
| Different visualisations of the model can highlight the aspect of the model which is most relevant to a particular discipline like testing.<br><br> |
| |
| It is essential for the for swift collaborative development of the BIRD that BIRD tools can integrate with standard collaborative software such as source control (Git /SVN) and issue trackers (JIRA/Github Issues) and continuous integration tools for automated testing (Jenkins/Team City/Bamboo). <br> |
| This allows for organised progress to be made without waiting for all parties to be available in a meeting which is a major project blocker.<br><br> |
| We address this integration with 3 features:<br><br> |
| |
| <h3>BIRDSON</h3> |
| The core of Eclipse Free BIRD Tools is a set of UML models, such as SMCubes.<br><br> |
| We need a way to describe instances (also known as objects) of these models such as specific Variables or Domains in the SMCubes model like NotionalValue or Country.<br><br> |
| Currently we do this by creating a specific XML Schema Definition from the UML for describing this.<br><br> |
| We have visual tools which focus on creating and manipulating the instances of the model, and then persist them into this XML format.<br><br> |
| However, for source control and comparison of versions a persisted text version which is easier to read than XML would be better. <br><br> |
| For this purpose we introduce BIRDSON (BIRD Simple Object Notation) which is based upon the popular JSON format (Java Script Object Notation). <br><br>BIRDSON is almost identical to Eclipse ESON , which is a notation for describing Ecore models in a JSON style format. <br><br> |
| Since BIRDSON and ESON are decribed using Eclipse XText they have autocompletion an automatic validation available in modern code editors such as VSCode<br><br> |
| |
| <h3>Testing DSL</h3> |
| We have a Domain Specific Language for describing tests using the popular Gherkin language for testing which is summarised as "Given" , "When" , "Then" clauses. <br> <br> |
| The testing DSL allows us to put constraints on a class of tests, then, choose specifically constrained parts of the entire model for parameters of the clauses. <br><br> |
| Test Data is also provided in line with the Input Data UML Model , which is linked to the SMCubes Data Structures model.<br><br> |
| This means that if the model changes (for example we change or delete a column in a Cube structure) then we are told immediately if a test is affected because it refers to that element of the model.<br><br> |
| As the Tests are parameterised by a few variables, we can create a grid of coverage for each class of tests.<br><br> |
| <h3>Functionality modules</h3> |
| In the Functional Design UML model we provide a way for domain experts to describe the functional design as a breakdown of functional modules, and the different scenarios of execution.<br><br> |
| The modules and scenarios can be linked to the precise parts of the regulatory text (Such as CRR) which is also stored in the Requirements UML model. <br><br> |
| As tests can refer to other parts of the model, this means that tests can then be linked to specific modules and scenarios also, allowing a navigation and strict link between domain experts functional design and the test descriptions. This promotes better communication and coverage.<br><br> |
| |
| Here is an example of part of the Market Risk FRTB processing from CRR2 described as a model and visualised with Eclipse Sirius.</h3></h3> |
| <img src="FF_FRTB_vis.png" alt="" height="600" width="800"> <br> |
| |
| |
| </div> |
| </div> |
| </div> |
| </div> |
| <!-- END .gtco-services --> |
| |
| |
| |
| |
| |
| <footer id="gtco-footer" class="gtco-section" role="contentinfo"> |
| |
| <div class="gtco-copyright"> |
| <div class="gtco-container"> |
| <div class="row"> |
| <div class="col-md-6 text-left"> |
| |
| </div> |
| <div class="col-md-6 text-right"> |
| |
| </div> |
| </div> |
| </div> |
| </div> |
| </footer> |
| |
| </div> |
| |
| <div class="gototop js-top"> |
| <a href="#" class="js-gotop"><i class="icon-arrow-up"></i></a> |
| </div> |
| |
| <!-- jQuery --> |
| <script src="js/jquery.min.js"></script> |
| <!-- jQuery Easing --> |
| <script src="js/jquery.easing.1.3.js"></script> |
| <!-- Bootstrap --> |
| <script src="js/bootstrap.min.js"></script> |
| <!-- Waypoints --> |
| <script src="js/jquery.waypoints.min.js"></script> |
| <!-- Carousel --> |
| <script src="js/owl.carousel.min.js"></script> |
| <!-- Magnific Popup --> |
| <script src="js/jquery.magnific-popup.min.js"></script> |
| <script src="js/magnific-popup-options.js"></script> |
| <!-- Main --> |
| <script src="js/main.js"></script> |
| |
| </body> |
| </html> |
| |