SECTION 4: OO METHODOLOGIES

Slides:



Advertisements
Similar presentations
RDF Schemata (with apologies to the W3C, the plural is not ‘schemas’) CSCI 7818 – Web Technologies 14 November 2001 Van Lepthien.
Advertisements

Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
Solutions to Review Questions. 4.1 Define object, class and instance. The UML Glossary gives these definitions: Object: an instance of a class. Class:
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3 The Basic (Flat) Relational Model.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 91 Formal Specification l Techniques for the unambiguous specification of software.
Object Oriented Databases - Overview
13 May 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Formal.
10 May 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Formal.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D.
Syntax & Semantic Introduction Organization of Language Description Abstract Syntax Formal Syntax The Way of Writing Grammars Formal Semantic.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 9 Slide 1 Formal Specification l Techniques for the unambiguous specification of software.
Introduction to MDA (Model Driven Architecture) CYT.
Winter 2007, rev. 2008SEG Chapter 21 Chapter 2 Basic Principles.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Chapter 3 Object Oriented Systems and Open GIS. Objectives of the Chapter Establish place of O-O in OpenGIS cover basics of O-O emphasise design issues.
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.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
CSE314 Database Systems Lecture 3 The Relational Data Model and Relational Database Constraints Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
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.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Fusion Design Overview Object Interaction Graph Visibility Graph Class Descriptions Inheritance Graphs Fusion: Design The overall goal of Design is to.
Presented by Kyumars Sheykh Esmaili Description Logics for Data Bases (DLHB,Chapter 16) Semantic Web Seminar.
Sample paper in APA style Sample paper in APA style.
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
COP Introduction to Database Structures
Database Systems: Design, Implementation, and Management Tenth Edition
Formal Specification.
OOP - Object Oriented Programming
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
Main issues: • What do we want to build • How do we write this down
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
Chapter 11 Object-Oriented Design
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
DATA MODELS.
A Survey of Object Orientation in Z
Reference: COS240 Syllabus
Business Process Measures
International Research and Development Institute Uyo
OBJECT RELATIONSHIPS, ATTRIBUTES, AND METHODS
 DATAABSTRACTION  INSTANCES& SCHEMAS  DATA MODELS.
From ER to Relational Model
Object Oriented Analysis and Design
Logical architecture refinement
Documenting an Architecture
University of Houston-Clear Lake
ISC321 Database Systems I Chapter 10: Object and Object-Relational Databases: Concepts, Models, Languages, and Standards Spring 2015 Dr. Abdullah Almutairi.
The Entity-Relationship Model
Database Modeling using Entity Relationship Model (E-R Model)
An Introduction to Software Architecture
Copyright 2007 Oxford Consulting, Ltd
Protocols CS 4311 Wirfs Brock et al., Designing Object-Oriented Software, Prentice Hall, (Chapter 8) Meyer, B., Applying design by contract, Computer,
Introduction to Requirements Modeling
Teori Bahasa dan Automata Lecture 9: Contex-Free Grammars
Attributes and Values Describing Entities.
Introduction to modeling
Modeling Tangible User Interfaces
Chapter 6b: Database Design Using the E-R Model
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Generics, Lambdas and Reflection
Presentation transcript:

SECTION 4: OO METHODOLOGIES B. “Guidelines for Formalizing Fusion Object-oriented Analysis Models”, Bates, Bruel, France & Larrondo-Petrie CA422 4B. Bates et al

4.B Fusion & Z The paper by Bates et al (12 pages in all) is sub-divided as follows: 1. Introduction (1page) 2. Integrating formal and informal specification techniques (3.5 pages) 2.1 Overview of Fusion 2.2 The Z notation 3. Fusion to Z translation guidelines (5.5 pages) 3.1 Object model Representing objects in Z (Rules 1-4) Representing relationships in Z (Rules 5-7) Representing aggregation structures (Rule 8) Representing generalization hierarchies 3.2 Formalizing the Interface model (operation models only) Representing operation models (Rule 9) 4. Conclusion (1 page) References (1 page) - Not required for CA422 CA422 4B. Bates et al

For details consult the paper by Bates et al. But, as a start, it may help to note the following summary points: - (Abstract) “Our approach involves integrating the Z formal specification style with the Fusion method. The result is an OOM that produces semantically analyzable Fusion models of behaviour at the requirements level.” [my underlining] - (Page 2) “In an interpretive FIST [integrated formal/informal specification technique], the formal model provides a more precise description of behaviour captured by the informal model” - (Pages 2 & 3) “In this paper, we describe an interpretive FIST that integrates Fusion analysis models with the Z specification style. Transformation rules are defined for some aspects of the formalization, some of which can be mechanized.” - (Page 3) “In Fusion’s analysis phase the required behaviour of the system is described by - an Object Model … static structure …three types of association - an Interface Model…externally observable behaviour … Operation Model … Life-Cycle Model [not addressed in the paper] …” - (Page 5) “… the Fusion Object Model has three major classes of constructs: objects (classes), relations, and annotations (invariants). In the following subsections we give rules guiding the translation of instances of these constructs to Z specifications.” - (Page 9) “Once the parts of the object model are defined they are collected in a schema that is a representation of the model. Invariants involving parts that were separately defined are expressed in the predicate part of this schema.” CA422 4B. Bates et al

In the paper by Bates et al, some elements of Z are used that we have not emphasised to date. - Schemas as types: A schema can be used where we require a composite type, that is one with a variety of different components. For example, the schema __SchemaOne___________________________ | a: | c: _____________________________________________________________ Corresponds to a composite tye with two components: an integer called a, and a set of integers called c. We may introduce elements of this type in the usual way. For example S: SchemaOne Introduces an object of schema type SchemaOne. - Binding: There is a special notation in Z (not supported by PowerPoint unfortunately) to allow one to list the components of an object of schema type and the values to which they bound. For example, we might wish to have (for the previous example) S.a = 2 and S.c = {1,3,3} We can see that the schema type SchemaOne is the set of all bindings in which a and c are bound to an integer and a set of integers, respectively. - Schemas as declarations: For illustration, introduce __SchemaTwo___________________________ |ac  c   which describes a subset of the bindings described by SchemaOne. The following set consists of those sets of integers c that contain the integer 0: {SchemaTwo|a=0•c} (or, alternatively, {s:SchemaTwo|s.a=0•s.c} CA422 4B. Bates et al

- Characteristic binding (): If a set comprehension has no term part, then the type of objects in the set depends upon the characteristic tuple of the declaration. For example, in the set {a:; c: | ac  a=0} the characteristic tuple is the pair (a,c) and the type of objects in the set is X. The set consists of every pair (a, c) that meets the stated constraint. On the other hand, since in a schema the order in which components are declared is unimportant, the characteristic tuple of {SchemaTwo|a=0} is quite different from (a, c). A typical element of this set is a binding associating a with 0 and c with some set containing 0; the characteristic tuple has one component. The characteristic binding is defined (a bit confusingly) as the binding where each component of a schema is bound to a value of the same name and is written using , for example SchemaTwo. Whenever SchemaTwo is used, variables a and c must already have been declared and their type must match those given in the declaration part of SchemaTwo. [See “real-time” lecture notes for the actual Z notation]. CA422 4B. Bates et al