Orthographic Service Engineering
|
|
- Jason West
- 6 years ago
- Views:
Transcription
1 Orthographic Service Engineering 1
2 Contents Orthographic drawing Orthographic software modeling Multi-view manipulation Prototype tool Repository format Current status 2
3 A Simple "Modeling" Metaphor other engineering disciplines have a long and successful tradition of technical drawing orthographic projection so why don't we do this in software engineering? 3
4 Orthographic Projection a long-established technique for depicting physical artifacts in a way which is concise precise intuitive permanent modular scaleable composition-based standardized a suitable metaphor for model driven development? 4
5 The Model versus the "Real Thing" distinction between the model and the "real thing" is clear in other engineering disciplines view (projection) transformation (usually manual) "model" "real thing" 5
6 Traditional "Language" Technology in software, the binary code is the closest we can get to the "real thing" program transformation (usually automatic) "model" Abstract Syntax Tree "real thing" binary code 6
7 Orthographic Software Modeling Name Informal Description representation AccountsButNoRates of software objects {createaccount, deposit, through withdraw, viewaccount several must all be in Euro} <<subject>> noofaccounts : Integer init: 0 independent orthogonal projections Bank createaccount/ setrate ID : String, deposit/ currency : String, amount : Real structural, viewaccount/ functional, behavioral Receives Returns createaccount name : String wdpossible(id withdraw : String, / currency : String, amount : Real) Account : Boolean = noofaccounts let : acc Integer : closeaccount = [noofaccounts > 2]/ 1 manages * accountid : String currencies : String[ self.accounts->select(accountid ] = ID)->asSequence()->first() ownername: String in currencies->includes(currency) bank and accounts amount AccountAandRates > 0 balance : Float createaccount() acc.balance - convertfromto(amount, currency, acc.denom) > acc.limit noofaccounts denom : Integer String:= 0 Changes deposit() account with accountid = ID closeaccount [noofaccounts = 1 ] createaccount/ limit : Float Empty Class Diagram Rules viewaccount() let acc : Account deposit/ withdraw() viewaccount/ = self.accounts->select(accountid = ID)->asSequence()->first() withdraw/ closeaccount() in if currency = acc.denom then closeaccount [noofaccounts > 2]/ setrate() closeaccount [noofaccounts = 1 ] equivalentamount = amount setrate/ converttoeuro/ inv Balance: convertfromto() else convertfromeuro/ self.balance >= limit setrate equivalentamount RatesButNoAccounts = convertfromto(amount, currency, acc.denom) endif software inv Limit: setrate/ Result post: if (wdpossible(id, component self.limit <= 0.0 inv UniqueAccountID: converttoeuro/ currency, amount) then convertfromeuro/ createaccount self.accounts->isunique(accountid) acc.balance = acc.balance@pre - equivalentamount inv UniqueBankName: else Statechart Diagram Bank.allInstances->isUnique(name) acc.balance = acc.balance@pre endif Statechart Diagram Structural Projection Functional projection withdraw An amount of money in a particular currency is withdrawn from an account. Operation Specifications behavioral projection structural projection 7
8 Orthographic Software Modeling mappings are driven by all three model 8
9 White Box vs. Black Box Views black box view white box view 9
10 Bank Component Realization (KobrA) Structural Model Converter Teller createaccount getaccount closeaccount 1 Class Diagram setrate converttoeuro convertfromeuro <<subject>> * Bank accesses * * PersistentAccount 1 deposit withdraw 1 :Teller Account :Converter :Teller :Bank :PersistentAccount Object Diagram Activity Model :Teller :Converter :Account :Bank Interaction Model :Teller getaccount ConvertRequest GetBalance evaluaterequest Balance RequestBalance < Request withdraw (ID, curr, am) : res 1: getaccount(id) : a :Converter :Bank 2: converttoeuro (curr, am) : euro WidthrawCash return True return False Collaboration Activity Diagram Diagrams 4 : [bal > euro] withdraw (euro) : res 3 :getbalance() :bal a : PersistentAccount Collaboration Diagrams :Converter 10
11 White Box vs. Black Box Components black box components white box components 11
12 Orthographic Decomposition views of composite views of component 12
13 Teller Component Specification (KobrA) Structural Model <<subject>> Teller noofaccounts : Integer := 0 createaccount getaccount closeaccount 1 PersistentAccount * accountid : String balance : Float Denom : String Class Diagram Functional Model Name createaccount Informal Description An account is opened in a particular currency for a customer with a particular name, and the Account ID is returned Constraints -- Receives Returns Changes Assumes Result name : String currency:string A String with the ID of the account teller There is an exchange rate for the specified currency A new account with a unique ID in the denomination, currency, has been generated The name of the customer has been stored in account The account ID has been returned Operation Specifications Empty Behavioural Model createaccount closeaccount [noofaccounts = 1 ] HasAccounts noofaccounts : Integer := 0 createaccount/ getaccount/ closeaccount [noofaccounts > 2]/ Statechart Diagram 13
14 Abstraction abstract view concrete (detailed) view 14
15 Aspect-Orientation "orange" aspect elaboration "blue" aspect elaboration 15
16 Projection Example Surface 1 Mag: 0 X-Ray: 0 Filter: None Projection: front Render: UML Cpts: 0 16
17 Projection Example: All Views Displayed Mag: 0 X-Ray: 0 Filter: None Brick Render: UML Cpts: 0 Projection: Front Projection: Side Projection: Variability Projection: Behavioural 17
18 Bank Example Mag: 0 X-Ray: 0 Filter: None Name withdraw Informal An amount of money in a particular currency is withdrawn from an Description account. Constrains -- Receives account:account currency:string amount:float Returns A boolean indicating whether the withdrawal was possible Changes account Assumes -- Result If account or currency are not valid, the operation has been aborted and an exception has been raised. Else if account.balance + account limit >= amount, then account.balance := account.balance amount and true has been returned Otherwise false has been returned. Operation Specifications Projection: Functional Decision Table ID Question Subject Resolution Effect Overdraw yes Limit (default) 1 2 Is a customer allowed to to overdraw his/her account up to a certain limit? Is it an international bank that handles different currencies? Currencies no yes (default) no Resolve structural diagram decision 1: yes Resolve operation spec. w ithdraw decision 1: yes Resolve structural diagram decision 1: no Resolve operation spec. w ithdraw decision 1: no Resolve structural diagram decision 2: yes Resolve operation spec. w ithdraw decision 2: yes Resolve operation spec. w ithdraw decision 3: yes Resolve structural diagram decision 2: no Resolve operation spec. w ithdraw decision 2: no Resolve operation spec. w ithdraw decision 3: no Projection: Variability Bank <<subject>> Bank noofaccounts : Integer := 0 createaccount deposit showaccount withdraw closeaccount setrate converttoeuro convertfromeuro createaccount Empty setrate Render: UML Cpts: 0 manages 1 * Account UserName : String accountid : String balance : Float Denom : String Limit : Float Class Diagram Projection: Strutural AccountsButNoRates {crateaccount, deposit, withdraw, viewaccount must noofaccounts : Integer all be in Euro} createaccount/ setrate deposit/ viewaccount/ withdraw / closeaccount [noofaccounts > 2]/ AccountAandRates noofaccounts : Integer := 0 createaccount/ closeaccount [noofaccounts = 1 ] deposit/ viewaccount/ withdraw/ closeaccount [noofaccounts > 2]/ closeaccount [noofaccounts = 1 ] setrate/ converttoeuro/ convertfromeuro/ RatesButNoAccounts setrate/ converttoeuro/ convertfromeuro/ Statechart Diagram createaccount Projection: Behavioural 18
19 Bank Example: Structural View Bank Mag: 0 X-Ray: 0 Filter: None Proj.: struc. Render: UML Cpts: 0 <<subject>> Bank noofaccounts : Integer := 0 createaccount() deposit() viewaccount() withdraw() closeaccount() setrate() converttoeuro() convertfromeuro() 1 manages * Account accountid : String ownername: String balance : Float denom : String Limit : String 19
20 Component Modeling Tool Support AFD test XMI cases OpSpec code RegEx software component UML classes Java source Behavior 20
21 Ideal World SMM UML classes Java source Behavior 21
22 Pragmatic Solution SMM test cases code UML classes Java source Behavior 22
23 Artifact Navigation AFD XMI OpSpec RegEx test cases code UML classes Java source Behavior 23
24 Component Oriented Navigation Component Bank Converter change() set() Teller. Abstraction Specification Realization Implementation Projection Structural Functional Behavioural QoS. Cell Perspectives Taxonomy UML class diagram Component Description 24
25 25
26 26
27 OMG Four Layer Model 27
28 Orthographic Classification Architecture L 2 The MOF Language Definition Classifer O 2 O 1 The UML rules O o Class Instance "knowledge" -patterns L 1 Person Model Profession instanceof Professor instanceof Prof. Smith L 0 System or world [Atkinson and Kuehne, 1996 ] 28
29 Java OCL (JOCL) A professor should only teach students at his university association Class University name Professor attribute OCL JOCL Full University Java implementation of OCL Student Professor Course name invocable within Java code or from the command line via BeanShell scripting engine inv: Student self.course.student.university->asset(). Course including(self.university)->asset()->size() = 1 Groningen uniformly applicable Smith across all levels UofG self.navigate("course").navigate("student"). supports navigate("university").asset().including(self. realization of dynamic OCL features navigate("university")).asset().size() == 1 Jones SE S M M 29
30 Repository Representation Format Level 2 Field Class Association Level 1 Professor Root University name Professor University Level 0 Prof. Smith Groningen name U of G Professor University 30
31 AST and Surface Syntax Mismatch Association 2 Association End employs University University employs Professor Model as instances Model as types Groningen Smith 31
32 Uniform Syntax Class Connection OCL frame constraints University employs Professor Groningen employs Prof. Smith 32
33 Current Editors and Visualizers Projection Structural Functional Behavioral Abstraction Specification UML class diagram taxonomy component description operation specification activity template UML state chart regular expression Realization UML class diagram UML interaction diagram UML activity diagram Implementation source code view Dimensions Composition, Abstraction, Projection, Version, Product Line, Metalevel,. 33
34 IDE Status (Aristaflow Project) Completed basic framework calls editors Component CRUD In Progress persistence (bug fixes) GUI improvements to ease navigation To Do create dimensions, create perspectives dynamically documentation distributable packaging synthesizers and checkers 34
35 Further Information Web Pages swt.informatik.uni-mannheim.de Contact 35
Orthographic Software Modeling A Practical Approach to View Based Development
Orthographic Software Modeling A Practical Approach to View Based Development Colin Atkinson University of Mannheim Germany MSI 2009 7 th October 2009 Oldenburg Outline Modern software engineering paradigms
More informationUnified Modelling Language
Unified Modelling Language Phil Robinson What is the UML? A language that unifies the industry s best engineering practices for modelling software systems Goals Simple and extensible Broad application
More informationOrthographic Software Modeling
Orthograhic Software Modeling A Practical Aroach to View-Oriented, Comonent-Based Develoment Colin Atkinson Charles University, Prague 9th February 2010 Outline Motivation Review of KobrA Orthograhic Software
More informationPart II Black-Box Composition Systems 20. Finding UML Business Components in a Component-Based Development Process
Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Prof. Aßmann - CBSE Part II Black-Box Composition Systems 20. Finding UML Business Components in a Component-Based Development
More information15 Software Product Line Engineering with the UML: Deriving Products
15 Software Product Line Engineering with the UML: Deriving Products T. Ziadi and J.-M. Jézéquel Abstract Software product line engineering introduces two new dimensions into the traditional engineering
More informationSoftwaretechnik Model Driven Architecture Meta Modeling
Softwaretechnik Model Driven Architecture Meta Modeling Prof. Dr. Peter Thiemann Universität Freiburg 22.06.2009 PT (Univ. Freiburg) Softwaretechnik Model Driven Architecture Meta Modeling 22.06.2009 1
More informationPart II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process
Part II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process 1. Business component model of the Cheesman/ Daniels process 2. Identifying business components Prof.
More informationWeek 9 Implementation
Week 9 Implementation Dr. Eliane l. Bodanese What is more important From a software engineering perspective: Good Gui? does what customer wants maintainable, extensible, reusable Commented Code? how is
More information10.1 Big Objects, Business Objects, and UML Components
II Black-Box Composition Systems 10. Finding Business s in a -Based Development Process Literature J. Cheesman, J. Daniels. UML s. Addison-Wesley. 1. The UML component model 2. Business component model
More informationOral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer
Unit-1 Concepts Oral Question/Assignment/Gate Question with Answer The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering Object Management Group (OMG)
More informationCompositional Model Based Software Development
Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability
More informationIDERA ER/Studio Software Architect Evaluation Guide. Version 16.5/2016+ Published February 2017
IDERA ER/Studio Software Architect Evaluation Guide Version 16.5/2016+ Published February 2017 2017 IDERA, Inc. All rights reserved. IDERA and the IDERA logo are trademarks or registered trademarks of
More informationUNIT-II Introduction to UML
UNIT-II Introduction to UML - P. P. Mahale UML OVERVIEW OF UML :- We need a Modeling Language! We will use the Unified Modeling Language, UML), Provides a standard for artifacts produced during development
More informationOutline for Today CSE 142. CSE142 Wi03 G-1. withdraw Method for BankAccount. Class Invariants
CSE 142 Outline for Today Conditional statements if Boolean expressions Comparisons (=,!=, ==) Boolean operators (and, or, not - &&,,!) Class invariants Conditional Statements & Boolean Expressions
More informationINF5120 and INF9120 Modelbased System development
INF5120 and INF9120 Modelbased System development Lecture 5: 13.02.2016 Arne-Jørgen Berre arneb@ifi.uio.no and Arne.J.Berre@sintef.no Telecom and Informatics 1 Course parts (16 lectures) - 2017 January
More informationSoftware Engineering from a
Software Engineering from a modeling perspective Robert B. France Dept. of Computer Science Colorado State University USA france@cs.colostate.edu Softwaredevelopment problems Little or no prior planning
More informationStoring Data in Objects
Storing Data in Objects Rob Miles Department of Computer Science 28d 08120 Programming 2 Objects and Items I have said for some time that you use objects to represent things in your problem Objects equate
More informationMetamodeling. Janos Sztipanovits ISIS, Vanderbilt University
Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages
More informationUnit Wise Questions. Unit-1 Concepts
Unit Wise Questions Unit-1 Concepts Q1. What is UML? Ans. Unified Modelling Language. It is a Industry standard graphical language for modelling and hence visualizing a blue print of all the aspects of
More informationIngegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML
Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna Modeling A model is an (abstract) representation
More informationCS 617 Object Oriented Systems Lecture 5 Classes, Classless World:Prototypes, Instance Variables, Class Variables, This/Self 3:30-5:00 pm Thu, Jan 17
Objects, Interfaces and CS 617 Object Oriented Systems Lecture 5, Classless World:Prototypes, Instance Variables, Class Variables, This/Self 3:30-5:00 pm Thu, Jan 17 Rushikesh K Joshi Department of Computer
More informationIntroduction to Inheritance
Introduction to Inheritance James Brucker These slides cover only the basics of inheritance. What is Inheritance? One class incorporates all the attributes and behavior from another class -- it inherits
More information09. Component-Level Design
09. Component-Level Design Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 What is Component OMG UML Specification defines a component as OO view a
More informationIncremental Evaluation of OCL invariants in the Essential MOF object model
Incremental Evaluation of OCL invariants in the Essential MOF object model Miguel Garcia, Ralf Möller http://www.sts.tu-harburg.de/~mi.garcia 2008-03-12 Agenda Problem Statement The tools at our disposal:
More informationTransformational Design with
Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie Transformational Design with Model-Driven Architecture () Prof. Dr. U. Aßmann Technische Universität
More informationFuente. conceptual data modelling model
1. Class Definition 1.1. Fuente. KULeuvenX: UMLx UML Class Diagrams for Software Engineering (Copia Textual - Literature Review). 1.1.1. UML Class Diagrams for Software Engineering 1.1.2. Welcome 1.1.3.
More informationModel Driven Architecture - The Vision
Model Driven Architecture - The Vision Marko Fabiunke Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik marko.fabiunke@first.fraunhofer.de The Fraunhofer FIRST Institut Your partner We support
More informationMetamodeling with Metamodels. Using. UML/MOF including OCL
Metamodeling with Metamodels Using UML/MOF including OCL Introducing Metamodels (Wikipedia) A metamodel is a model of a model An instantiation of metamodel gives a model Metamodeling is the process of
More informationGrammars. Prof. Andreas Prinz. Introduction, Compilers. Examples Meta-models vs. Grammars Summary
Meta-models and Grammars Prof. Andreas Prinz Introduction, Compilers Modelling & Meta-modelling Examples Meta-models vs. Grammars Summary Compilers Graphical Editor Parser Text editor Static checks (OCL)
More informationLanguage Reference Manual
Espresso Language Reference Manual 10.06.2016 Rohit Gunurath, rg2997 Somdeep Dey, sd2988 Jianfeng Qian, jq2252 Oliver Willens, oyw2103 1 Table of Contents Table of Contents 1 Overview 3 Types 4 Primitive
More informationIndex. Add Diagram > Sequence Diagram command,
Quatrani.book Page 183 Monday, May 8, 2006 11:56 AM Index A abstraction, 3 actions completing before processing, 54 55 data flowing through, 53 passing control between, 51 performing, 155 157 as round-cornered
More information[CHAPTER] 1 INTRODUCTION 1
FM_TOC C7817 47493 1/28/11 9:29 AM Page iii Table of Contents [CHAPTER] 1 INTRODUCTION 1 1.1 Two Fundamental Ideas of Computer Science: Algorithms and Information Processing...2 1.1.1 Algorithms...2 1.1.2
More informationObject-oriented basics. Object Class vs object Inheritance Overloading Interface
Object-oriented basics Object Class vs object Inheritance Overloading Interface 1 The object concept Object Encapsulation abstraction Entity with state and behaviour state -> variables behaviour -> methods
More informationOO Analysis and Design with UML 2 and UP
OO Analysis and Design with UML 2 and UP Dr. Jim Arlow, Zuhlke Engineering Limited Clear View Training 2008 v2.5 1 UML principles Clear View Training 2008 v2.5 2 1.2 What is UML? Unified Modelling Language
More informationOverview. OOP: model, map, reuse, extend. Examples of objects. Introduction to Object Oriented Design
Overview Introduction to Object Oriented Design Understand Classes and Objects. Understand some of the key concepts/features in the Object Oriented paradigm. Benefits of Object Oriented Design paradigm.
More informationThe Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling
UML and Meta ling Topics: UML as an example visual notation The UML meta model and the concept of meta modelling Driven Architecture and model engineering The AndroMDA open source project Applying cognitive
More informationCS Lecture 19: Loop invariants
CS 1110 Lecture 19: Loop invariants Announcements Prelim 2 conflicts Today (April 2) is two weeks before the prelim, and the deadline for submitting prelim conflicts. Instructor travel This week and the
More informationEnabling Model Evolution via a Repository. Dan Matheson Robert France James Bieman Roger Alexander James DeWitt Nathan McEachen
Enabling Model Evolution via a Repository Dan Matheson Robert France James Bieman Roger Alexander James DeWitt Nathan McEachen Dan Matheson Goals Support software engineering research Model Driven Architecture
More informationComponent-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only
Chapter 10 Component-Level Design Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit
More informationModel transformations. Overview of DSLE. Model transformations. Model transformations. The 4-layer architecture
Overview of DSLE Model driven software engineering g in general Grammars, signatures and meta-models DSL Design Code generation Models increase the level of abstraction used for both hardware and software
More informationLecture Chapter 2 Software Development
Lecture Chapter 2 Software Development Large Software Projects Software Design o Team of programmers o Cost effective development Organization Communication Problem Solving Analysis of the problem Multiple
More informationBetter Metadata Management through Better Metamodels
Better Metadata Management through Better Metamodels Issues to consider when developing a metamodel, and why you might care GK Khalsa khalsa@objectrad.com Objectrad, Temecula, CA Discussion The role of
More informationBCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT. Object Oriented Programming
BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT Object Oriented Programming Examiner s Report March 2017 A1. a) Explain what is meant by the following terms:
More informationStatechart Modeling with Fujaba
GraBaTs 04 Preliminary Version Statechart Modeling with Fujaba Leif Geiger Albert Zündorf University of Kassel, Software Engineering Research Group, Wilhelmshöher Allee 73, 34121 Kassel, Germany {leif.geiger
More informationDresden OCL2 in MOFLON
Dresden OCL2 in MOFLON 10 Jahre Dresden-OCL Workshop Felix Klar Felix.Klar@es.tu-darmstadt.de ES Real-Time Systems Lab Prof. Dr. rer. nat. Andy Schürr Dept. of Electrical Engineering and Information Technology
More informationMDA. SOA = Model Driven SOA
Introducing Model Driven SOA MDA + SOA = Model Driven SOA SoaML an Emerging Standard for SOA Modeling Dr. Darius Silingas Principal Trainer/Consultant darius.silingas@nomagic.com Introduction Who Am I?
More information10조 이호진 이지 호
10 조 200910045 이호진 200911415 이지호 According to the IEEE definition, design is.. The process of defining the architecture, components, interfaces, and other characteristics of a system or component 1.
More informationOBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization
OBJECT ORIENTED DESIGN with the Unified Process Use Case Realization Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop detailed sequence diagrams
More informationTransforming UML Collaborating Statecharts for Verification and Simulation
Transforming UML Collaborating Statecharts for Verification and Simulation Patrick O. Bobbie, Yiming Ji, and Lusheng Liang School of Computing and Software Engineering Southern Polytechnic State University
More informationWhat are the characteristics of Object Oriented programming language?
What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is
More informationUNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?
Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------
More informationKing Abdulaziz University Faculty of Computing and Information Technology Computer Science Department
King Abdulaziz University Faculty of Computing and Information Technology Computer Science Department CPCS204, 3 rd Term 2014 (Summer) Program1: FCIT Samba Bank Assigned: Wednesday June 11 th, 2014 Due:
More informationWelcome to Starting Out with Programming Logic and Design, Third Edition.
Welcome to Starting Out with Programming Logic and Design, Third Edition. This book uses a language-independent approach to teach programming concepts and problem-solving skills, without assuming any previous
More informationFunctional Programming, Classes, and Recursion!
CS 1301 Homework 9 Functional Programming, Classes, and Recursion! Due: Monday, April 20 th before 11:55 pm THIS IS AN INDIVIDUAL ASSIGNMENT! Students are expected to abide by the Georgia Tech Honor Code.
More informationThe Final Exam Paper. Duration: 2 hours Reading: 15 minutes Total marks: 65 Hurdle: 32.5
Review Lectures 1 The Final Exam Paper Duration: 2 hours Reading: 15 minutes Total marks: 65 Hurdle: 32.5 2 The Structure Sections Questions Marks Multiple Choice Short Answer Long Answer Total 22 6 3
More informationIntroduction to Computers and Programming Languages. CS 180 Sunil Prabhakar Department of Computer Science Purdue University
Introduction to Computers and Programming Languages CS 180 Sunil Prabhakar Department of Computer Science Purdue University 1 Objectives This week we will study: The notion of hardware and software Programming
More informationA Unified Meta-Level Software Architecture for Sequential and Concurrent Exception Handling
A Unified Software Architecture for Sequential and Concurrent Handling c British Computer Society 2001 ALESSANDRO F. GARCIA 1,DELANO M. BEDER 2 AND CECÍLIA M. F. RUBIRA 2 1 Computer Science Department,
More informationTIME: 3 HOURS MARKS: a. Develop a java program to sort an array of N numbers in ascending order. (40)
ANNA UNIVERSITY: CHENNAI-600 025 B.E/B.TECH DEGREE EXAMINATIONS, OCT/NOV. 2013 Regulations -2008 Fifth Semester B.TECH INFORMATION TECHNOLOGY IT2305 JAVA PROGRAMMING LAB TIME: 3 HOURS MARKS: 100 1. a.
More informationRecalling the definition of design as set of models let's consider the modeling of some real software.
Software Design and Architectures SE-2 / SE426 / CS446 / ECE426 Lecture 3 : Modeling Software Software uniquely combines abstract, purely mathematical stuff with physical representation. There are numerous
More informationThe Road to UML Virtual Machines
The Road to UML Virtual Machines Dirk Riehle SKYVA International www.skyva.com dirk@riehle.org, www.riehle.org UML for Enterprises Workshop. Burlingame, CA: Dec 2001. Last updated. Copyright 2001 by Dirk
More informationObject-Oriented Software Engineering Practical Software Development using UML and Java
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical
More informationCGS 3066: Spring 2017 SQL Reference
CGS 3066: Spring 2017 SQL Reference Can also be used as a study guide. Only covers topics discussed in class. This is by no means a complete guide to SQL. Database accounts are being set up for all students
More informationObject Oriented Programming
Object Oriented Programming Haleh Ashki 2015, updated Peter Beerli 2017 Traditionally, a program has been seen as a recipe a set of instructions that you follow from start to finish in order to complete
More informationBabu Madhav Institute of Information Technology 2016
5 Years Integrated M.Sc. (IT) 5 th Semester Practical Problems 060010503: Advanced Java Practical No : 1 Practical Problem Duration for completion PEO(s) to be PO(s) to be CO(s) to be Solution must contain
More informationWA1278 Introduction to Java Using Eclipse
Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc WA1278 Introduction to Java Using Eclipse This course introduces the Java
More informationModel Querying with Graphical Notation of QVT Relations
Model Querying with Graphical Notation of QVT Relations Dan LI, Xiaoshan LI Faculty of Science and Technology, University of Macau Volker Stolz University of Oslo, Norway Agenda! Motivation! QVT Relations
More informationSoftware Engineering with Objects and Components Open Issues and Course Summary
Software Engineering with Objects and Components Open Issues and Course Summary Massimo Felici Software Engineering with Objects and Components Software development process Lifecycle models and main stages
More informationIntroduction to Software Engineering. 5. Modeling Objects and Classes
Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities
More informationUNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting
UNIT II Syllabus Introduction to UML (08 Hrs, 16 Marks) a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting b. Background, UML Basics c. Introducing UML 2.0 A Conceptual Model
More informationEXAM Computer Science 1 Part 1
Maastricht University Faculty of Humanities and Science Department of Knowledge Engineering EXAM Computer Science 1 Part 1 Block 1.1: Computer Science 1 Code: KEN1120 Examiner: Kurt Driessens Date: Januari
More informationThe Eclipse Modeling Framework and MDA Status and Opportunities
The Eclipse Modeling Framework and MDA Status and Opportunities David Frankel Consulting df@davidfrankelconsulting.com www.davidfrankelconsulting.com Portions adapted from the book Model Driven Architecture:
More informationAADL Graphical Editor Design
AADL Graphical Editor Design Peter Feiler Software Engineering Institute phf@sei.cmu.edu Introduction An AADL specification is a set of component type and implementation declarations. They are organized
More informationDesign Patterns Revisited
CSC 7322 : Object Oriented Development J Paul Gibson, A207 paul.gibson@int-edu.eu http://www-public.it-sudparis.eu/~gibson/teaching/csc7322/ Design Patterns Revisited /~gibson/teaching/csc7322/l13-designpatterns-2.pdf
More informationOCL parsing / type checking in the context of GF and KeY. Kristofer Johannisson
OCL parsing / type checking in the context of GF and KeY Kristofer Johannisson 1 I. Introduction 2 Typechecking? context OwnerPIN inv: maxpinsize > 0 and maxtries > 0 and triesremaining >= 0 and triesremaining
More informationMetamodeling. 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 1
Metamodeling The slides of this lecture are reused from the Model Engineering course at TU Vienna with the kind permission of Prof. Gerti Kappel (head of the Business Informatics Group) 16. April 2012
More informationEinführung in die Programmierung Introduction to Programming
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Exercise Session 6 Today Conditional Loop Abstractions Exporting s 2 Structured programming
More informationSLIDES: Introductory Modeling Example Employing UML and OCL [UML: Unified Modeling Language, OCL:Object Constarint Language]
Lecture day 2016-04-07 SLIDES: Introductory Modeling Example Employing UML and OCL [UML: Unified Modeling Language, OCL:Object Constarint Language] - System design in an object-oriented way employing USE
More informationSHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY
SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY-621105. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 1301-OBJECT ORIENTED ANALYSIS AND
More informationAnnouncements. Working on requirements this week Work on design, implementation. Types. Lecture 17 CS 169. Outline. Java Types
Announcements Types Working on requirements this week Work on design, implementation Lecture 17 CS 169 Prof. Brewer CS 169 Lecture 16 1 Prof. Brewer CS 169 Lecture 16 2 Outline Type concepts Where do types
More informationSE Assignment III. 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example.
SE Assignment III 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example. There are essentially 5 different types of symbols used
More informationComposite Structures
Composite Structures Marie-Agnès Peraldi-Frati UNSA/I3S/INRIA map@unice.fr UML 2 Composition Model Purpose: improve the black diamond composition Supports connections between parts at the same level of
More informationCoral: A Metamodel Kernel for Transformation Engines
Coral: A Metamodel Kernel for Transformation Engines Marcus Alanen and Ivan Porres TUCS Turku Centre for Computer Science Department of Computer Science, Åbo Akademi University Lemminkäisenkatu 14, FIN-20520
More informationOMG Modeling Glossary B
OMG Modeling Glossary B This glossary defines the terms that are used to describe the Unified Modeling Language (UML) and the Meta Object Facility (MOF). In addition to UML and MOF specific terminology,
More informationIntroduction to MDE and Model Transformation
Vlad Acretoaie Department of Applied Mathematics and Computer Science Technical University of Denmark rvac@dtu.dk DTU Course 02291 System Integration Vlad Acretoaie Department of Applied Mathematics and
More informationNew window [Bank transfers]
New window [] The new window [] is implemented within to complete transfers between two bank accounts. Moreover, it is possible to print a letter to send the bank authorizing the operation. Working FINANCIAL/MAIN/TREASURY/BANK
More informationObjectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams
Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop interaction diagrams based on the principles of object responsibility and use case controllers
More informationA - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models
CS 494 Object-Oriented Analysis & Design UML Class Models Overview How class models are used? Perspectives Classes: attributes and operations Associations Multiplicity Generalization and Inheritance Aggregation
More informationModel Driven Engineering
Model Driven Engineering Stuart Kent University of Kent Royal Society Industry Fellow with IBM Model Terminology encompasses more than program code design, analysis, specification, business models Driven
More informationAdvanced Topics in Software Engineering (02265) Ekkart Kindler
Advanced Topics in Software Engineering (02265) Recapitulation (I. Introduction ) 2 Levels of models ClassDiagram is an instance of PetriNet * Object * Class 1 start 1 end * Association concrete syntax
More informationSchool of Computing and Information Technology. Examination Paper Autumn 2016
School of Computing and Information Technology CSIT115 Data Management and Security Wollongong Campus Student to complete: Family name Other names Student number Table number Examination Paper Autumn 2016
More informationCSSE 490 Model-Based Software Engineering: Introduction to Domain Engineering
CSSE 490 Model-Based Software Engineering: Introduction to Domain Engineering Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Learning Outcomes: Metamodels Design
More informationReview of Basic Software Design Concepts. Fethi Rabhi SENG 2021
Review of Basic Software Design Concepts Fethi Rabhi SENG 2021 1 Topics The development process Planning Designing Implementing 2 1. The development process How to organise activities related to the creation,
More informationUNIT 3 ARRAYS, RECURSION, AND COMPLEXITY CHAPTER 11 CLASSES CONTINUED
UNIT 3 ARRAYS, RECURSION, AND COMPLEXITY CHAPTER 11 CLASSES CONTINUED EXERCISE 11.1 1. static public final int DEFAULT_NUM_SCORES = 3; 2. Java allocates a separate set of memory cells in each instance
More informationAppendix A OCL 2.0 Grammar
Appendix A OCL 2.0 Grammar In this appendix we summarise the concrete syntax of OCL [113] using an extended Backus-Naur format [8]. The grammar in [113] is different from the grammar presented here. It
More informationATL: ATLAS Transformation Language. MISO - Uniandes
ATL: ATLAS Transformation Language MISO - Uniandes 1 Models are first class entities Transformations are models Transformations are assets 2 What is ATL? ATL is a model transformation language (MTL) developed
More informationSoftware Industrialization
Software Industrialization A Perspective on MDA David Frankel Consulting df@davidfrankelconsulting.com www.davidfrankelconsulting.com Portions adapted from the book Model Driven Architecture: Applying
More informationMutating Object State and Implementing Equality
Mutating Object State and Implementing Equality 6.1 Mutating Object State Goals Today we touch the void... (sounds creepy right... see the movie, or read the book, to understand how scary the void can
More informationEND TERM EXAMINATION
END TERM EXAMINATION THIRD SEMESTER [BCA] DECEMBER 2007 Paper Code: BCA 209 Subject: Object Oriented Programming Time: 3 hours Maximum Marks: 75 Note: Attempt all questions. Internal choice is indicated.
More informationIt s all Done with Mirrors Patterns and OCL. KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu
It s all Done with Mirrors Patterns and OCL KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu Goal Model Implementation MDA Goal Meta-Model Specification Tool Code Generation Is a Transformation
More informationJML OCL. Java. iterate
1 OCL JML OCL (Object Constraint Language) JML (Java Modelling Language) UML/OCL JML Java OCL JML iterate iterate Java OCL JML The paper presents a translation method from OCL (Object Constraint Language)
More information