Formal Analysis of Problem Domain Workflows Uldis Donins Riga Technical University Baltic DB & IS 2012, July 8-11, 2012 - Vilnius, Lithuania This work.

Slides:



Advertisements
Similar presentations
Limitations of the relational model 1. 2 Overview application areas for which the relational model is inadequate - reasons drawbacks of relational DBMSs.
Advertisements

Design by Contract.
1 Information Systems Development (ISD) Systems Development Life Cycle Overview of Analysis Phase Overview of Design Phase CP2236: Information Systems.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
Formal Specification of Topological Relations Erika Asnina, Janis Osis and Asnate Jansone Riga Technical University The 10th International Baltic Conference.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
1 ECCF Training 2.0 Introduction ECCF Training Working Group January 2011.
DATA FLOW DIAGRAMS IT 155.
LUCENTIA Research Group Department of Software and Computing Systems Using i* modeling for the multidimensional design of data warehouses Jose-Norberto.
Object Oriented Analysis and Design Using the UML
Process Modeling SYSTEMS ANALYSIS AND DESIGN, 6 TH EDITION DENNIS, WIXOM, AND ROTH © 2015 JOHN WILEY & SONS. ALL RIGHTS RESERVED. 1 Roberta M. Roth.
International Telecommunication Union ITU-T Study Group 17, Moscow, 30 March – 8 April 2005 New Recommendations on ODP Arve Meisingset Rapporteur Q15.
RDF (Resource Description Framework) Why?. XML XML is a metalanguage that allows users to define markup XML separates content and structure from formatting.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Executable UML The Models are the Code - Executable UML CS387 Paul Krause.
Business Process Management. Key Definitions Process model A formal way of representing how a business operates Illustrates the activities that are performed.
UML A CTIVITY D IAGRAMS 1 Dr. Hoang Huu Hanh, OST – Hue University hanh-at-hueuni.edu.vn.
ITEC224 Database Programming
1 Introduction to Database Systems. 2 Database and Database System / A database is a shared collection of logically related data designed to meet the.
9/14/2012ISC329 Isabelle Bichindaritz1 Database System Life Cycle.
Introduction to MDA (Model Driven Architecture) CYT.
1 MDWE'2008, Toulouse, France, September 30, 2008 A Comparative Analysis of Transformation Engines for User Interface Development Juan Manuel González.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
1/26/2004TCSS545A Isabelle Bichindaritz1 Database Management Systems Design Methodology.
Conceptual Modelling – Behaviour
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Lyra – A service-oriented and component-based method for the development of communicating systems (by Sari Leppänen, Nokia/NRC) Traditionally, the design,
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
MDA – Model Driven Architecture Olivier Riboux. Overview What is MDA? The Challenges MDA addresses Developing in the MDA Benefits / Conclusion Case Study:
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
1 ECCF Training 2.0 Introduction ECCF Training Working Group January 2011.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 UML Activity Diagrams.
DOMAIN MODEL: ADDING ATTRIBUTES Identify attributes in a domain model. Distinguish between correct and incorrect attributes.
UML’s StateChart FSM, EFSM in UML Concurrent states Tool support.
MDA & RM-ODP. Why? Warehouses, factories, and supply chains are examples of distributed systems that can be thought of in terms of objects They are all.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Write a function rule for a graph EXAMPLE 3 Write a rule for the function represented by the graph. Identify the domain and the range of the function.
Activity Diagrams IST 420 Dr. Ocker. BPM With Activity Diagrams Business processes consist of a number of activities Activity diagrams depict the sequence.
Beyond Scenarios: Generating State Models from Use Cases An approach for the synthesis of State transition graphs from Use Cases Supporting Use Cases Based.
מבוא להנדסת תוכנה / ניתוח מערכות מידע הרצאת EPC 1.
UML (Unified Modeling Language)
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented.
1 Software Requirements Descriptions and specifications of a system.
IT 5433 LM3 Relational Data Model. Learning Objectives: List the 5 properties of relations List the properties of a candidate key, primary key and foreign.
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Modeling of Service Oriented Architecture: From Business Process to Service Realization Petr Weiss and Marek Rychlý Brno University of Technology, Faculty.
SDN-O LCM for Mercury Release Key Points and Overview
Systems Analysis and Design in a Changing World, Fourth Edition
Chapter 4: Business Process and Functional Modeling, continued
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Incremental Synchronization of Organizational Models, Requirements Models and Object-Oriented Software Design Models Presenter: M.Sc. Marat Abilov
UML’s StateChart FSM, EFSM in UML Concurrent states Tool support.
Software Engineering Chapter 5 (Part 3) System Modeling Dr.Doaa Sami.
Introduction to Database Management System
UML Activity Diagrams & State Charts
Evaluating Compuware OptimalJ as an MDA tool
BPMN - Business Process Modeling Notations
CS310 Software Engineering Dr.Doaa Sami
Analysis models and design models
Constructing MDA-based Application Using Rational XDE for .NET
An Introduction to Software Architecture
Information Systems Development (ISD) Systems Development Life Cycle
From conceptual to relational data model
Presentation transcript:

Formal Analysis of Problem Domain Workflows Uldis Donins Riga Technical University Baltic DB & IS 2012, July 8-11, Vilnius, Lithuania This work has been supported by the European Social Fund within the project «Support for the implementation of doctoral studies at Riga Technical University».

Introduction The way software is built still remains surprisingly primitive (Jones, 2009) –by meaning that major software applications are cancelled, overrun their budgets and schedules, and often have hazardously bad quality levels when released This is due that the very beginning of software development lifecycle is too fuzzy and lacking a good structure The structure quality of problem domain analysis can be improved by using Topological Functioning Model (TFM) This research introduces a new element in TFM – logical relations which hold an important information required to transform TFM into other diagram types (e.g., Activity or Use Case diagrams) 2

TFM within Model Driven Architecture (MDA) The main purpose of the MDA is to separate the viewpoints in specifications and strengthen the analysis and design role in the project development MDA defines three specification viewpoints and their corresponding models: –Computation Independent Model (CIM) –Platform Independent Model (PIM) –Platform Specific Model (PSM) CIMPIMPSM code ? ? TFM Activity diagram 3

Components of TFM TFM consists of the following components: –Functional features –Topological relationships (i.e., cause-and-efffect relationships) –Preconditions –Postconditions –Logical relations 4

Functional Features: Definition Represents action (i.e., functions) of a problem and solution domain Each functional feature X id is specified by unique tuple: –X id =, where Id is an unique identifier of functional feature, A is object action R is result of this action O is an object affected by this action PrCond is a set of preconditions PostCond is a ser of postconditions E is an entity involved in execution of this activity Cl is a class which will include action A Op is an operation that implements action A Reflected as vertices of a directed graph 5

Functional Features: Example Informal problem domain description: –«(..) If import should be performed from source data base, then scheduler reads all data from source data base by using query statement given in configuration file. After all data is read, scheduler checks if read data structure is according to specification. (..)» –During informal desciption analysis nouns are denoted by italic, verbs are denoted by bold, and action preconditions (or postconditions) are underlined Functional features: IDObject actionPreconditionEntity Inner or External 5Reading all data from source data base If import should be performed from source data base SchedulerInner 6Checking if read data structure is according to specification SchedulerInner 6

Topological Relationships Reflects cause-and-effect relationships between functional features –Relates cause and effect functional features –Directed from cause functional feature to effect functional feature Each topological relationship T id is and unique tuple: –T id =, where Id – unique identifier of topological relation, X c – cause functional feature, X e – effect functional feature, L out – set of logical relationships between topological relationships on outgoing arcs of cause functional feature X c (optional), and L in – set of logical relationships between topological relationships on incoming Represented as arcs of a directed graph that are oriented from a cause vertex to an effect vertex 7

Example of TFM 8

Pre- and Post- Conditions Each precondition and postcondition is a condition C id described by unique tuple: –C id =, where  Id – identifier of condition,  Cond – condition or an atomic business rule, and  oCond – identifier of opposite condition, i.e., C i = ¬C j Condition is considered as an atomic business rule. Allows to reason about problem and solution domain functioning characteristics –Decision making –Paralell activities 9

Logical Relations Logical relation L id shows the logical relationship between two or more topological relationships T id It specifies: –conjunction (and), –disjunction (or), and –exclusive disjunction (xor) The type of logical relation denotes system functioning behavior Each logical relation is a unique tuple: –L id =, where Id – identifier of logical relationship, T – set of topological relationships belonging to this logical relationship, and Rt – logical relationship type (and, or, xor). Between topological relationships exist two kinds of logical relationships – one kind is between arcs that are outgoing from functional features and the other kind is between arcs that are incoming to functional features. 10

Example of Logical Relations 11

Logical Relations L out Depending on the relationship type of logical relation on outgoing topological relationships T id from cause functional feature X c, system execution behaviour is defined as follows: –and – system executes in parallel by executing all functional features X e of topological relationships T id participating in this logical relation L id, –or – system can be executed in parallel by executing one, part of or all functional features X e of topological relationships T i participating in this logical relation L id, and –xor – only one functional feature X e of topological relationships T id participating in this logical relation L id is executed. The rules for identification of logical relations L out between outgoing arcs of functional features are based on analysis of preconditions of effect functional features. 12

Logical Relations L in Depending on the relationship type of logical relation on incoming topological relationships T id of effect functional feature X e, system execution behavior is defined as follows: –and – system is executing in parallel thus effect functional feature X e can be executed only when all direct predecessor functional features (i.e., all cause functional features X c in the distance d=1) of topological relationships T i participating in logical relation L id are executed, –or – system can be executing in parallel by executing one, part of or all cause functional features X c of effect functional feature X e at the distance d=1 of topological relationships T i participating in this logical relation, and –xor – only one cause functional feature X c of effect functional feature X e at the distance d=1 of topological relationships T id participating in this logical relation L id is executed. Relation type of logical relation L in is denoted by corresponding logical relation L out and the inputs and outputs of TFM 13

Example of Logical Relations Identification (1) To better illustrate identification of TFM logical relations a case study is used in which an enterprise data synchronization system is developed 14

Example of Logical Relations Identification (2) IDObject actionPrecondition 19Checking if data from a particular row already exists in target data base - 20Updating existing data in target data base C 1 : If data from the particular row exists 22Insert new data in target data baseC 2 : If data from the particular row does not exist 25Logging data row from temporal table - To better understand identification of logical relations a small fragment of TFM is used consisting of four functional features: C 1 = ¬C 2 → exclusive disjunction between topological relationships 19→20 and 19→22 Functional feature 25 has no preconditions → conjunction between topological relationship 19→20 and 19→25, and 19→22 and 19→25. 15

Example of Logical Relations Identification (3) 16

Application of TFM Logical Relations Application of TFM logical relations within topological functioning modelling allows formally developing Activity diagrams representing workflows in problem domain. 17 XOR AND

Example of TFM to Activity Diagram Transformation 18

Conclusions This research introduces a new element into TFM – logical relations –Within each logical relation can participate two or more logical relationships –Each logical relation has a type – conjunction (and), disjunction (or), or exclusive or (xor) –Logical relations exist between topological relationships and denote the system functioning behavior. Logical relations in TFM are crucial when transforming TFM into other diagrams –Thus the analysis of logical relations takes an important part of TFM development and problem domain specification –Depending on logical relation type system functioning behavior is specified by means of decision making, merging, forking, and joining. In addition this research shows that by adding additional efforts at the very beginning of software development life cycle it is possible to create a model that contains sufficient and accurate information of problem domain. –By “sufficient” meaning that this model can be transformed into other diagrams without major re-analysis of problem domain and –By “accurate” meaning that the model precisely reflects the functioning and structure of the system. 19

Thank You for Attention!