Towards Easier Data-Binding for Derived Values in Ecore-based Models

Slides:



Advertisements
Similar presentations
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Advertisements

Identifying, Modifying, Creating, and Removing Monitor Rules for SOC Ricardo Contreras Andrea Zisman
7.1 A Bridge to Design & Construction
CZECH STATISTICAL OFFICE | Na padesatem 81, Prague 10 | Jitka Prokop, Czech Statistical Office SMS-QUALITY The project and application.
Information System Design IT60105
A Robust Process Model for Calculating Security ROI Ghazy Mahjub DePaul University M.S Software Engineering.
CBSD – Component Based Software Development - Introduction -
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
McGraw-Hill/Irwin The Interactive Computing Series © 2002 The McGraw-Hill Companies, Inc. All rights reserved. Microsoft Excel 2002 Exploring Formulas.
Models for Software Reliability N. El Kadri SEG3202.
Applied Discrete Mathematics Week 9: Relations
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
Karolina Muszyńska. Reverse engineering - looking at the solution to figure out how it works Reverse engineering - breaking something down in order to.
Practice Patterns to improve the Quality of Design Model in Embedded SoftWare Development Doo-Hwan Kim*, Jong-Phil Kim* and Jang-Eui Hong* *Chungbuk National.
Eurostat Q2014 – Session 35 Quality assurance for Business Statistics in Europe through the ESS.VIP.ESBRs project D. Francoz Eurostat.
Cluster Reliability Project ISIS Vanderbilt University.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Software Requirements Presented By Dr. Shazzad Hosain.
 Dr. Syed Noman Hasany.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing and.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
EAST-ADL Domain-Model – Overview and Planning – Mark-Oliver Reiser (TUB) AMST Workshop Berlin,
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] January 31, 2012.
Sponsor: Dr. K.C. Chang Tony Chen Ehsan Esmaeilzadeh Ali Jarvandi Ning Lin Ryan O’Neil Spring 2010.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Object-Oriented Design Part 2
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
SOFT COMPUTING TECHNIQUES FOR STATISTICAL DATABASES Miroslav Hudec INFOSTAT – Bratislava MSIS 2009.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Model-Driven Engineering of Behaviors in User Interfaces Efrem Mbaki & Jean Vanderdonckt Université catholique de Louvain (UCL) Louvain School of Management.
Roles in Software Development using Domain Specific Modelling Languages Holger Krahn, Bernhard Rumpe, Steven Völkel Software Systems Engineering Technische.
Supporting Researchers and Institutions in Exploiting Administrative Databases for Statistical Purposes: Istat’s Strategy G. D’Angiolini, P. De Salvo,
CoFM: An Environment for Collaborative Feature Modeling Li Yi Peking University
CPSC 371 John D. McGregor Session 32 This is it..
Team TFY (Think For You).  Problems we want to solve  What we showed last time  Our new solutions now  Our feature list  Issues identified so far.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
Software Requirements Specification Document (SRS)
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Payment Proposal Tech Overview A look into the payment proposal process.
ISMT221 Information Systems Analysis and Design Use case diagram Lab 4 Tony Tam.
1 Towards Integrated Tool Support for the User Requirements Notation Jean-François Roy
Modeling with UML – Class Diagrams
The Role of Tool Support in Public Policies and Accessibility
Types and Characteristics of Requirements
Estimate Testing Size and Effort Using Test Case Point Analysis
Introduction to Design for Non-Designers
Classifications of Software Requirements
Inline Vs. External Policy Attachment SCA Policy Framework
Presentation on Software Requirements Submitted by
Presented by Munezero Immaculee Joselyne PhD in Software Engineering
Software Design and Architecture
Incorporating Actual Values in Construction Period of Project Finance
Financial Risk Management of Insurance Enterprises
BASICS OF SOFTWARE TESTING Chapter 1. Topics to be covered 1. Humans and errors, 2. Testing and Debugging, 3. Software Quality- Correctness Reliability.
 DATAABSTRACTION  INSTANCES& SCHEMAS  DATA MODELS.
CS 790M Project preparation (I)
Model-View-Controller
Model-Driven Analysis Frameworks for Embedded Systems
Case-Based Reasoning System for Bearing Design
Design of Transmission Pipeline Modelling Language
Spreadsheets, Modelling & Databases
CS 426 CS 791z Topics on Software Engineering
CS 426 CS 791z Topics on Software Engineering
Enabling Large Scale Utilisation of Class 3
and Forecasting Resources
Future of EDAMIS Webforms
Presentation transcript:

Towards Easier Data-Binding for Derived Values in Ecore-based Models Dr. Bernhard Schätz Dr. Vincent Aravantinos Vadim Cebotari 1

Towards easier Data-binding for derived values in Ecore-based models Motivation: Different views of the same model for different stakeholders Accounting Statistics 16-4-18 Towards easier Data-binding for derived values in Ecore-based models 2 2

Towards easier Data-binding for derived values in Ecore-based models Different views implies derived values Definition: Derived value Derived values are values of the model attributes that are computed from other model attributes. Application of derived values: allow to display different information for different stakeholders are not persisted in the model calculated and displayed in the views at runtime → avoidance of consistency problems in the model 16-4-18 Towards easier Data-binding for derived values in Ecore-based models 3 3

Towards easier Data-binding for derived values in Ecore-based models Example: Insurance contract Domain model: Insurance contract Derived value: Pro rata premium Pro rata premium = annual premium / payment 16-4-18 Towards easier Data-binding for derived values in Ecore-based models 4

Towards easier Data-binding for derived values in Ecore-based models Editable Derived values: Existing modeling tools do allow to define derived values, but these values are usually not easily changeable: you have to implement the reaction to change manually. This is particularly problematic because it contrasts with the viewing of (derived) values which is mostly automatized (e.g., in tools like Sirius). In many use cases editable derived values are a desired feature. The user does not care if the value is derived or not, s(h)e just want to modify it! 16-4-18 Towards easier Data-binding for derived values in Ecore-based models 5 5

Towards easier Data-binding for derived values in Ecore-based models What are the problems with derived values? Difficult to determine the implication on the model when modifying them Context- and domain-specific characteristics Manual implementation is required → Big effort required → Concrete consequence in practice: DERIVED VALUES ARE NON-CHANGEABLE What can we do? Assume the user modifies a derived value. How should the software react to it? → There is no all-purpose solution: it must be context- and domain-specific. We can nevertheless propose standard solution patterns: 'Warning': we let the user make any modification but display a warning if the modification yields inconsistencies in the view 'Rule': user modification entails automatic update of the model elements, according to some rule defined by the toolsmith 'Interaction': when attempting a modification, the user gets a dialog offering to modify the model elements of which the value derives 16-4-18 Towards easier Data-binding for derived values in Ecore-based models 6 6

Towards easier Data-binding for derived values in Ecore-based models Our solution: model-based approach for editing derived values IMPLEMENTATION Smart Data-Binding Tool (SmartDB Tool) 16-4-18 Towards easier Data-binding for derived values in Ecore-based models 7

Towards easier Data-binding for derived values in Ecore-based models Architecture of SmartDB Tool EMF Ecore SmartDB Metamodel Domain model SmartDB Model SmartDB View 16-4-18 Towards easier Data-binding for derived values in Ecore-based models 8 8

Towards easier Data-binding for derived values in Ecore-based models Using SmartDB Tool - Roles 16-4-18 Towards easier Data-binding for derived values in Ecore-based models 9

Towards easier Data-binding for derived values in Ecore-based models ‘Warning‘ - Model-based definition 16-4-18 Towards easier Data-binding for derived values in Ecore-based models 10

Towards easier Data-binding for derived values in Ecore-based models ‘Warning‘ – Editing of derived value User changes the receipt date to 25.07.2015 16-4-18 Towards easier Data-binding for derived values in Ecore-based models 11

Towards easier Data-binding for derived values in Ecore-based models ‘Warning‘ – Editing of derived value User wants to keep the change of the receipt date to 25.07.2015 16-4-18 Towards easier Data-binding for derived values in Ecore-based models 12

Towards easier Data-binding for derived values in Ecore-based models ‘Rule‘ - Model-based definition Model-based definition of the rule: Annual premium = pro rata premium * payment method The change of the derived attribute pro rata premium, computed as annual premium / payment method, will lead to the modification of the annual premium according to the above rule defined by the toolsmith. The payment method remains unchanged. 16-4-18 Towards easier Data-binding for derived values in Ecore-based models 13

Towards easier Data-binding for derived values in Ecore-based models ‘Rule‘ – Editing of derived value View-based editing of derived value Rule for editing of derived value pro rata premium: Annual premium = pro rata premium * payment method 16-4-18 Towards easier Data-binding for derived values in Ecore-based models 14

Towards easier Data-binding for derived values in Ecore-based models ‘Interaction‘ - Model-based definition Model-based definition of interaction: Tariff calculated premium should be adjusted Tariff calculated premium = tariff annual premium / (1.0 + risk premium rate) Risk premium rate should be adjusted Risk premium rate = (tariff annual premium / tariff calculated premium) – 1.0 By changing the derived attribute tariff annual premium, computed as tariff calculated premium * (1.0 + risk premium rate), the user can decide which of both attributes tariff calculated premium or risk premium rate should be adjusted according to the above formulas. The value of the other attribute should then be specified by the user in an interaction dialog. 16-4-18 Towards easier Data-binding for derived values in Ecore-based models 15

Towards easier Data-binding for derived values in Ecore-based models ‘Interaction‘ – Editing of derived value The user wants to change the value of the derived attribute tariff annual premium to 1416,0 View-based editing of derived value 16-4-18 Towards easier Data-binding for derived values in Ecore-based models 16

Towards easier Data-binding for derived values in Ecore-based models ‘Interaction‘ – Editing of derived value The user wants the risk premium rate to be adjusted to the new value of the tariff annual premium by setting tariff calculated premium to the value of 1200,0 16-4-18 Towards easier Data-binding for derived values in Ecore-based models 17

Towards easier Data-binding for derived values in Ecore-based models ‘Interaction‘ – Editing of derived value The new risk premium rate is calculated and displayed in the view. 16-4-18 Towards easier Data-binding for derived values in Ecore-based models 18

Towards easier Data-binding for derived values in Ecore-based models DEMO 16-4-18 Towards easier Data-binding for derived values in Ecore-based models 19