07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.

Slides:



Advertisements
Similar presentations
System and Software Engineering Research 1 Motorola 2003 Integrated Application of MSC Clive Jervis Rapporteur Q15 Motorola UK Research Labs.
Advertisements

Technische universiteit eindhoven PROGRESS 11 December 2002www.ics.ele.tue.nl/~btheelen1 Performance Modelling of Complex Hardware/Software Systems B.D.
TU e technische universiteit eindhoven / department of mathematics and computer science Modeling User Input and Hypermedia Dynamics in Hera Databases and.
TU/e technische universiteit eindhoven Hera: Development of Semantic Web Information Systems Geert-Jan Houben Peter Barna Flavius Frasincar Richard Vdovjak.
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Chapter 2 Logic Circuits.
1 Combinational Logic Design&Analysis. 2 Introduction We have learned all the prerequisite material: – Truth tables and Boolean expressions describe functions.
Factor out a common binomial EXAMPLE 1 2x(x + 4) – 3(x + 4) a. SOLUTION 3y 2 (y – 2) + 5(2 – y) b. 2x(x + 4) – 3(x + 4) = (x + 4)(2x – 3) a. The binomials.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Introduction To System Analysis and Design
Software Testing and Quality Assurance
UML Class Diagram and Packages Written by Zvika Gutterman Adam Carmi.
1 8. Safe Query Languages Safe program – its semantics can be at least partially computed on any valid database input. Safety is tied to program verification,
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
Data access control and measure in the development of web-based health insurance systems Zhen Jiang Computer Science Department Information Assurance Center.
© Copyright Eliyahu Brutman Programming Techniques Course.
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
Sect. 5.3 Common Factors & Factoring by Grouping  Definitions Factor Common Factor of 2 or more terms  Factoring a Monomial into two factors  Identifying.
Algebra 1: Solving Equations with variables on BOTH sides.
CS 8532: Adv. Software Eng. – Spring 2007 Dr. Hisham Haddad Tuesday Class will start momentarily. Please Stand By … CS 8532: Advanced Software.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Mathematical Modeling and Formal Specification Languages CIS 376 Bruce R. Maxim UM-Dearborn.
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Database Management System Prepared by Dr. Ahmed El-Ragal Reviewed & Presented By Mr. Mahmoud Rafeek Alfarra College Of Science & Technology Khan younis.
What is MOF? The Meta Object Facility (MOF) specification provides a set of CORBA interfaces that can be used to define and manipulate a set of interoperable.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Chapters 8 and 9 Greatest Common Factors & Factoring by Grouping
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Ch 8: Exponents B) Zero & Negative Exponents
A Static Approach to Consistency Verification of UML Models Andrea Baruzzo Department of Computer Science University of Udine MoDeV.
Unified Modeling Language © 2002 by Dietrich and Urban1 ADVANCED DATABASE CONCEPTS Unified Modeling Language Susan D. Urban and Suzanne W. Dietrich Department.
Warm-Up Exercises Factor out a common binomial EXAMPLE 1 2x(x + 4) – 3(x + 4) a. 3y 2 (y – 2) + 5(2 – y) b. Factor – 1 from ( 2 – y ). Distributive property.
An Introduction to the Unified Modeling Language
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
UML 2 Models for ODP Engineering/Technology Viewpoints – An Experiment - Daisuke Hashimoto Hiroshi.
Lecture 1: UML Class Diagram September 12, UML Class Diagrams2 What is a Class Diagram? A class diagram describes the types of objects in the system.
10/03/05 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
4.4 Identify and Inverse Matrices Algebra 2. Learning Target I can find and use inverse matrix.
4.5 Multiplying Polynomials by Monomials Objective: To multiply a polynomial by a monomial. Warm – up: Simplify: 1) x 3 ∙x 6 2) 2(a – 4) 3) 4(2y + 3) 4)
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
1 From Conceptual Models to Simulation Models Takashi Iba* Yoshiaki Matsuzawa** Nozomu Aoyama** * Faculty of Policy Management, Keio University ** Graduate.
Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
All Presentation Material Copyright Eurostep Group AB ® A Meta-model of EXPRESS in UML for MOF and UML to EXPRESS David Price April 2002.
Optimal Aggregation Algorithms for Middleware By Ronald Fagin, Amnon Lotem, and Moni Naor.
Capturing Requirements. Questions to Ask about Requirements 1)Are the requirements correct? 2)Consistent? 3)Unambiguous? 4)Complete? 5)Feasible? 6)Relevant?
Factor out a common binomial
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
I&C Lab Seminar Procedure for the Software Requirements Specification for Safety Critical Systems Seo Ryong Koo Korea Advanced Institute Science.
1 Chapter 13: Class Diagram Chapter 19 in Applying UML and Patterns Book.
Advanced Higher Computing Science
Modelling and Solving Configuration Problems on Business
Analysis Classes Unit 5.
UML Diagrams: Class Diagrams The Static Analysis Model
Database Development (8 May 2017).
Topic1: Boolean Algebra José Nelson Amaral
Object-Oriented Design
Basic Logic Gates 1.
1 (x+1)(x+3) (x-3)(x+2) (x-1)(x+3) x2+2x-3 (x+6)(x-2) (x+1)(x-3)
Multiplying Special Cases
Architecture Description Languages
CS 8532: Advanced Software Engineering
Greatest Common Factors & Factoring by Grouping
Design Yaodong Bi.
Objective Factor polynomials by using the greatest common factor.
Ponder policy toolkit Jovana Balkoski, Rashid Mijumbi
Removal of brackets Example Work out each of the following
Presentation transcript:

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 1 Finding Inconsistencies using Relation Partition Algebra Location: Technische Universiteit Eindhoven Date:3 December 2004 Johan MuskensMichel ChaudronReinder Bril

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 2 Outline Introduction – Background – Problem – Approach Consistency Checking using RPA – Example (s) – Generalization Discussion

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 3 Introduction: Background Space4U – Integrity Management Is system structure / behaviour consistent with certain integrity / design rules ? Empanada – Predict Quality Attributes Consistency within a design influences quality attributes

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 4 Introduction: Background View XView Y Empanada: Consistency between multiple diagrams in 1 design Consistent ? Space4U: Consistency between model of current configuration and integrity / design rules. UML design Selfmodel (model of current configuration) Integrity / Design Rules

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 5 Introduction: Problem How to find inconsistencies between different views ?

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 6 Introduction: Approach A general solution using Relation Partition Algebra for expression and verification of – Constraints imposed by one view on another – Obligations imposed by one view on another

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 7 Outline Introduction – Background – Problem – Approach Consistency Checking using RPA – Example (s) – Generalization Discussion

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 8 Example: Overview of Operations on Relations – A -1 ´ { j 2 A} – A – B ´ { j 2 A Æ 2 B} – A [ B ´ { j 2 A Ç 2 B} – A Å B ´ { j 2 A Æ 2 B} – A;B ´ { j 2 A Æ 2 B} – A + ´  n=1 R n, where R n = R;R n-1 for n ¸ 2 – A * ´ A + [ I – A ® B ´ { j 2 A Æ 2 B Æ v=w} – A " B ´ B -1 ;A;B(lifting) – A ↓ B ´ B;A;B -1 (lowering) 1

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 9 Example: “Example of Lifting” E ={S,A,B,A 1,A 2,B 1,B 2 } C={,,, } D={,,, } S A B A1A1 A2A2 B1B1 B2B2 S A B A1A1 A2A2 B1B1 B2B2 D " C ´ C -1 ;D;C Hints: 2 C -1 2 C -1 ;D 2 D 2 C 2 C -1 ;D;C

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 10 Example: “Example of Lowering” E ={S,A,B,A 1,A 2,B 1,B 2 } C={,,, } D={ } S A B A1A1 A2A2 B1B1 B2B2 S A B A1A1 A2A2 B1B1 B2B2 D ↓ C ´ C;D;C -1 Hints: 2 C 2 C;D 2 D 2 C -1 2 C;D;C -1

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 11 Example: “Class diagram – MSC” GameManager Player HumanPlayer ComputerPlayer Display Board GameManager : Manager HumanPlayer : Player1 ComputerPlayer : Player2 Display : display There is no dependency between HumanPlayer and Display in the class diagram

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 12 Example: “Class diagram - MSC” Class Diagram in RPA: – CLASS = {GameManager, Board, Player, HumanPlayer, ComputerPlayer, Display} – METHOD ={GameManager.play, GameManager.stop, Player.setToken, HumanPlayer.getNextMove, HumanPlayer.setToken, ComputerPlayer.getNextMove, ComputerPlayer.setToken, Display.printLn, Display.printBoard} – IMPLEMENTS={, …. } – INHERITANCE={, } – DEPENDENCY={, } – AGGREGATION={ }

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 13 Example: “Class diagram - MSC” MSC in RPA: – OBJECT= {Manager, Player1, Player2, display} – TYPE ={,,, } – CALL={c 1,c 2,c 3,c 4 c 5 } – NEXT={,,, } – CALLER={,,,, } – CALLEE={,,, } – MESSAGE={,,,, }

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 14 Example: “Class diagram - MSC” Rule – (CALLER ® CALLEE) " TYPE µ (DEPENDENCY ↓ INHERITANCE * ) GameManager Player HumanPlayer ComputerPlayer Display Board GameManager : Manager HumanPlayer : Player1 ComputerPlayer : Player2 Display : display !

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 15 Example: “Design Rules - Design” GameManager Player HumanPlayer ComputerPlayer Display Board Manager Output Data Managed Element

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 16 Example: “Design Rules - Design” Design Rules in RPA: – P class ={Manager, Managed Element, Data, Output} – P dependency ={, } – P aggregation ={ } – Category={,,,,, }

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 17 Example: “Design Rules - Design” GameManager Player HumanPlayer ComputerPlayer Display Board Manager Output Data Managed Element Rule – DEPENDENCY µ P dependency ↓ CATEGORY

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 18 General Approach: Assumptions / Conventions View X View Y x1x1 x2x2 x3x3 M YX y1y1 y2y2 y2’y2’ y3y3 2 Views with elements – X = {x 1,x 2,x 3 } – Y = {y 1,y 2,y 2 ’,y 3 } Mapping between elements M YX – M YX = {,,, } Elements are related – R X = {, } – R Y = {,,,, }

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 19 General Approach: Constraints (1/2) View X (Leading) View Y x1x1 x2x2 x3x3 M YX y1y1 y2y2 y2’y2’ y3y3 Constraints expressed in View X result in an upper bound for the relations in View Y: – R Y " M YX µ R X con – R Y µ R X con ↓ M YX X X

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 20 General Approach: Constraints (2/2) View X View Y (Leading) x1x1 x2x2 x3x3 M YX y1y1 y2y2 y2’y2’ y3y3 Constraints expressed in View Y result in an upper bound for the relations in View X: – R X µ R Y con " M YX X

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 21 General Approach: Obligations (1/2) View X (Leading) View Y x1x1 x2x2 x3x3 M YX y1y1 y2y2 y2’y2’ y3y3 Obligations expressed in View X provide lower bound for the relations in View Y: – R X obl µ R Y " M YX

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 22 General Approach: Obligations (2/2) View X View Y (Leading) x1x1 x2x2 x3x3 M YX y1y1 y2y2 y2’y2’ y3y3 Obligations expressed in View Y result in lower bound for the relations in View X: – R Y obl " M YX µ R X – R Y obl µ R X ↓ M YX

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 23 General Approach: Exceptions (1/2) View X (Leading) View Y x1x1 x2x2 x3x3 M YX y1y1 y2y2 y2’y2’ y3y3 Constraints expressed in View X provide upper bound for the relations in View Y, but there are exceptions: – (R Y – E Y con ) " M YX µ R X con – R Y – E Y con µ R X con ↓ M YX

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 24 General Approach: Exceptions (2/2) Exceptions can be made for – Constraints – Obligations Depending on the leading diagram – View X is Leading – View Y is Leading ConstraintsObligations X is LeadingYX Y is LeadingXY Make exception in

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 25 General Approach: Overview (R Y – E Y con ) " M YX µ R X con R X obl – E X obl µ (R Y – E Y con ) " M YX View X View Y R Y – E Y con µ R X con # M YX M YX (R X – E X con ) µ R Y con " M YX (R Y obl – E Y obl ) " M YX µ (R X – E X con ) View X View Y R Y obl – E Y obl µ R X # M YX M YX X Leading Y Leading Constraint Obligation

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 26 Outline Introduction – Background – Problem – Approach Consistency Checking using RPA – Example (s) – Generalization Discussion

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 27 Discussion: Applicability Suitable for: – Consistency checking within a phase (different diagrams in design) – Consistency checking between phases Architecture v.s. Design Design v.s. Implementation – Integrity Management (verification of rules) XRXRX YRYRY M YX ClassDependencyObject(Caller ® Callee)Type P class P dependency ClassDependencyCategory ComponentDependencyFileIncludesImplemented in Sub SystemDependencyComponentDependencyContains Hardware NodeCommunication Channel ProcessCommunicatesExecutes on

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 28 Discussion: Leading Views Most development support tools / languages do not have the notion of leading views. – One of the reasons of the success of UML and UML case tools is the flexibility to support a large number of development processes. Leading views are defined based on the development process.

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 29 Discussion: Advantages - Limitations Suitable for structure – Less suitable for behavior (path expressions) No limitations on development process since consistency checks are defined for a specific process. Can be used for constraints as well as obligations Works in two directions – Obligations and Constraints in same direction as M YX – Obligations and Constraints in opposite direction as M YX