Structure and Reasoning in Software Development
|
|
|
- Milton Doyle
- 10 years ago
- Views:
Transcription
1 Structure and Reasoning in Software Development (A Little Methodology) Michael Jackson The Open University and The University of Newcastle WG2.3 Working Group on Programming Methodology Lachen, March /18/2010 WG2.3Feb10 1
2 A little methodology Ordering our thoughts Method consists entirely in properly ordering and arranging the things to which we should pay attention. Descartes, Rules for the Direction of the Mind, Rule V To conduct my thoughts in such order that, by commencing with objects the simplest and easiest to know, I might ascend to the knowledge of the more complex. Decomposing to master complexity Descartes, Discourse on Method of Rightly Conducting the Reason To divide each of the difficulties under examination into as many parts as possible, and as might be necessary for its adequate solution. Descartes, Discourse on Method of Rightly Conducting the Reason This rule of Descartes is of little use as long as the art of dividing remains unexplained... By dividing his problem into unsuitable parts, the inexperienced problem-solver may increase his difficulty." Leibniz, Philosophical Writings 3/18/2010 WG2.3Feb10 2
3 A little methodology Simplicity and human comprehension I concluded that there are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies. C A R Hoare; The Emperor s New Clothes It is very helpful to represent these things in this fashion since nothing enters the mind more readily than geometric figures. Descartes, Rules for the Direction of the Mind, Rule XII 3/18/2010 WG2.3Feb10 3
4 A little methodology Fragmentation and comprehension Systems as contrivances Decomposition Some criteria of simplicity Recombination Isn t refinement enough? Envoi 3/18/2010 WG2.3Feb10 4
5 A fragmentation example A puzzle * Alan, Bill, Charlie, Dave, Eddy, Fred, Geoff, Harry, Ian, Joe and Keith are all related. Geoff s uncle s brother is Harry s cousin. Eddy s grandfather is Ian s uncle. Alan is not Fred s nephew. Harry s father is Keith's brother. How many cousins does Geoff have? It s a puzzle! * Some British Sunday newspaper, c /18/2010 WG2.3Feb10 5
6 A comprehensible structure A puzzle How many cousins does Geoff have? It s easy! 3/18/2010 WG2.3Feb10 6
7 A fragmentation example A London Underground journey planner Display of a simple relation: Each tuple is: (station name, line, segment, id) A segment is a maximal linear stretch (having no fork or join) Station ids are 0,1,2,.. ordered by position within each segment (direction is arbitrary) A typical journey planning question: How can I go from Bond Street to Farringdon? It s a puzzle! Baker Street, Metr n, 1, 17 Baker Street, Bakerloo, 2, 14 Baker Street, Circle, 0, 23 Baker Street, Jubilee, 0, 16 Bank, Central, 0, 29 Bank, Northern, 2, 14 Blackfriars, District, 1, 21 Blackpriars, Circle, 0, 36 Bond Street, Central, 0, 35 Bond Street, Jubilee, 0, 17 CannonSt, District, 1, 23 CannonSt, Circle, 0, 34 ChanceryLn, Central, 0, 31 Covent Gdn, Piccad y, 1, 12 Embankm t, Northern, 1, 19 Embankm t, Bakerloo, 2, 19 Farringdon, Metr n, 1, 21 and 293 other tuples 3/18/2010 WG2.3Feb10 7
8 A comprehensible structure A London Underground journey planner Harry Beck s description: The lines are shown as wholes (you can trace a journey on the map) Stations are shown where they appear on the lines Journey relationships can be grasped immediately A question: How can I go from Bond Street to Farringdon? It s easy! 3/18/2010 WG2.3Feb10 8
9 A fragmentation example A program inspired by Carroll Morgan Program Carroll; var p1,p2,p3,p4,p5,p6: integer; while true do { if (p3 > 0) then {p3:=p3-1; p5:=p5-1} else if ((p7 = 0) and (p5 = 0)) then {p1 := p1+1; p2 := p1; p5 := -1; p7 := 1} else if ((p7 = 1) and (p5 = 0) and (p2 = 1)) then {write(p1); p7 := 0} else if ((p7 = 1) and (p5 = 0) and (p2 > 1)) then {writeln(p1, (, p2, ) ); p7 := 0} else if (p5 < 0) then {p2 := p2-1; p5 := p1} else {p3 := p2} } 3/18/2010 WG2.3Feb10 9
10 A fragmentation example A program inspired by Carroll Morgan Program Carroll; * var p:proc; g,h,i,j,k:integer; procedure p13; begin writeln(g); p:=p2 end; procedure p12; begin writeln(g,'(',h,')'); p:=p2 end; procedure p11; begin if (h=1) then p:=p13 else p:=p12 end; procedure p10; begin k:=k-1; p:=p11 end; procedure p9; begin if (j<>0) then p:=p5 else p:=p10 end; procedure p8; begin i:=i-1; j:=j-1; p:=p7 end; procedure p7; begin if (i<=0) then p:=p9 else p:=p8 end; procedure p6; begin i:=h; p:=p7 end; procedure p5; begin if (j<=0) then p:=p3 else p:=p6 end; procedure p4; begin h:=h-1; j:=g; p:=p5 end; procedure p3; begin if (k<>0) then p:=p2 else p:=p4 end; procedure p2; begin g:=g+1; h:=g; k:=0; p:=p3 end; procedure p1; begin g:=1; p:=p2 end; begin p:=p1; g:=-10; h:=-10; i:=-10; j:=-10; k:=-10; while true do p end. * Some compiler directives have been omitted 3/18/2010 WG2.3Feb10 10
11 A comprehensible structure A program inspired by Carroll Morgan Program Carroll; * var g,h,i,j,k:integer; begin g:=1; h:=0; i:=1; j:=0; k:=1; while true do begin g:=g+1; h:=g; k:=0; while (k=0) do begin h:=h-1; j:=g; while (j>0) do begin i:=h; while (i>0) do begin i:=i-1; j:=j-1; end; if (j=0) then begin k:=1; if (h=1) then writeln(g) else writeln(g,'(',h,')') end end end end end. * A structured version 3/18/2010 WG2.3Feb10 11
12 A fragmentation example A requirement * If this side is active and Heading Select mode is not selected, Heading Select mode shall be selected when the HDG switch is pressed on the FCP (providing no higher priority event occurs at the same time). * Quoted by Mats Heimdahl; Let's Not Forget Validation; Position Paper For VSTTE Workshop, Zurich /18/2010 WG2.3Feb10 12
13 A fragmentation example An event: back of train moves out of a block * * J-R Abrial; Train Systems; in M Butler et al (Eds), Fault-Tolerant Systems, LNCS 4157, /18/2010 WG2.3Feb10 13
14 Fragmentation and comprehension The nature of fragmentation Each individual fragment can be parsed but its purpose is not comprehensible The purpose of a whole fragment collection is in itself even less comprehensible Fragmentation can be very useful to give a simplified and uniform semantics suitable for analysis by a machine But fragmentation must follow comprehension of the structure and purpose of the whole Fragmentation is a useful tool for analysis but not for developing systems or programs 3/18/2010 WG2.3Feb10 14
15 Systems as contrivances Dependable systems For lifts, library, traffic, pacemakers, banks, radiotherapy machines Systems are complex Features, feature interaction, automation, heterogeneous problem worlds, system interoperation, The problem world is not a formal system Formal descriptions are mere approximations Systems are contrivances (Polanyi) 3/18/2010 WG2.3Feb10 15
16 Systems as contrivances A contrivance: Huygens & Coster, 1657 Weight Escapement a1 a2 a3 Gear Train Pendulum a5 a4 Hands Time Q1 Q2 Hands Time A simple contrivance Component configuration: parts and how they work together as shown in the diagram Requirement (purpose): hands should indicate elapsed time Operational principle: The falling weight drives (a1) the gear train and (a5) hands, constrained by (a2) the escapement; each pendulum swing (a3) releases one tooth and receives an impulse, so gear train rotation counts swings; swing period is roughly constant (a4) so hands (Q1) count elapsed time (Q2). Bounded context: upright; stable; earth s gravitational field; calm air; non-abrasive ambience; 3/18/2010 WG2.3Feb10 16
17 Systems as contrivances Contrivances, science and mathematics Weight Escapement a1 a2 a3 Gear Train Pendulum a5 a4 Hands Time Q1 Q2 Hands Time Apply science and mathematics within contrivance structure For a contrivance, structure is primary Science and mathematics applied to contrivances Explain success and failures, analyse, improve, calculate values, identify relevant laws and infeasible contrivances, identify necessary context, Correct gear ratios? friction effects on escapement? Can impulses counteract friction and air resistance? Is weight heavy enough to drive gear train? Why is pendulum swing period nearly constant? 3/18/2010 WG2.3Feb10 17
18 Systems as contrivances A traffic-control system Lights Controller X3 X1 X2 Crossing Buttons Light Units B4 B5 B6 B3 Road Layout B1 B2 C2 Pedestrians C1 Vehicles & Drivers Q1 Q2 Orderly, Safe Traffic Road Sensors B7 A system: the machine and the world A problem: develop the Lights Controller It s complicated. How can we master it? 3/18/2010 WG2.3Feb10 18
19 Systems as contrivances A lift-control system Control Machine X1 X2 X3 X4 Lobby Display Buttons Gear B1 B2 B3 Users Q1 Q2 Q3 Q4 Provide Safe & Convenient Service Building Manager A system: the machine and the world A problem: develop the Control machine It s complicated. How can we master it? 3/18/2010 WG2.3Feb10 19
20 System structures for comprehension Complexity of contrivances Control Machine X1 X2 X3 X4 Lobby Display Buttons Gear B1 B2 B3 Users Q1 Q2 Q3 Q4 Provide Safe & Convenient Service Building Manager Lights Controller Three questions How to decompose? Problems subproblems Simplicity criteria? Unities of a subproblem or contrivance How to recombine the parts? Answer: Don t be impatient wait and see! X3 X1 X2 Crossing Buttons Road Sensors Light Units B4 B5 B6 B7 B3 B2 Road Layout B1 C2 Pedestrians C1 Vehicles & Drivers Q1 Q2 Orderly, Safe Traffic 3/18/2010 WG2.3Feb10 20
21 Decomposition and recombination Decomposition and recombination Three disciplines of decomposing A into B, C and D A A A D B C B C D?? B??? C D? Embedded Jigsaw Loose (eg procedure call hierarchy) (eg OO, relational schemas, CSP) (eg subproblem decomposition) Embedded and jigsaw decompositions Decompose and recombine in the same development step Loose decomposition Identify and study parts, recombine later (jigsaw or embedded) Crucial advantages of loose decomposition Separates intrinsic from interaction complexity Addresses composition only when components are understood 3/18/2010 WG2.3Feb10 21
22 System structures for comprehension Requirements decomposition to subproblems Provide lift service as prioritised by the building manager Priority Control Buttons Gear Users Prioritised Service Building Manager Brake on danger when fault found in lift equipment Ensure Safety Gear Brake on Danger Operate lobby display of outstanding requests and lift positions for users information Manage Lobby Display Buttons Gear Users Display & Users Lobby Display 3/18/2010 WG2.3Feb10 22
23 System structures for comprehension Instrumental decomposition to subproblems Provide lift service as prioritised by the building manager Priority Control Buttons Gear Users Prioritised Service Building Manager Edit service priority rules Provide prioritised lift service Edit Priority Rules Building Manager Priority Rules Edit- Action Eppects Provide Service Buttons Gear Users Specified Service Priority Rules Priority Rules: a local variable of Priority Control machine 3/18/2010 WG2.3Feb10 23
24 System structures for comprehension Criteria of subproblem simplicity Some unities Of purpose: eg Air traffic control Of problem world roles: eg Text-editing centre Of operation synchrony: eg Accounting periods Of problem world properties: eg Healthy / faulty lift equipment Of operational phase: eg Aircraft taxi, take-off, climb, Of fixed context: eg Book loans vs membership The price of unity Defer treatment of feature interactions Why it s worth it Two sources of subproblem complexity 1. Intrinsic complexity of the part itself 2. Complexity due to interactions with other parts Separate simple subproblems from their interactions 3/18/2010 WG2.3Feb10 24
25 Problem decomposition and recombination Recombination and subproblem interactions Some interaction concerns Interleaving eg: Edit priority rules vs Service Requirement elaboration eg: Book loans vs member status Requirement conflict eg: Inter-library vs member loan Switching eg: Service to Emergency Action Domain sharing eg: Phone display: camera vs gps vs These concerns are ubiquitous Premature composition is a major source of difficulty Oblivious and Non-Invasive composition is impossible 3/18/2010 WG2.3Feb10 25
26 Problem decomposition and recombination A V-structure for [radical] developments Initial Problem Identify Subproblems Subproblem Analysis Understood Subproblems Composition Design Composition Analysis Understood Problem V-structure to analyse and understand system development problems Top-down requirement and instrumental decompositions Bottom-up subproblem recombination Resolving subproblem interactions Recombination may reveal additional subproblems Subproblems are essentially projections of the original problem Projections in several dimensions Space: subsets of problem domains Time: subintervals of complete system execution Context: predicates over problem world state Subproblem machines are not software modules Implementation must exploit a repertoire of transformations 3/18/2010 WG2.3Feb10 26
27 Isn't refinement enough? Reconciling refinement and system structure Machine X Customer Warehouse H Post Office P C R0(C) Machine X Warehouse H Post Office P R1(P) Machine X Warehouse H R2(H) Machine X R3(X) R3(X) refines R2(H) refines R1(P) refines R0(C) Refinement steps must be justified by problem domain properties Warehouse given properties Post Office given properties Customer given properties 3/18/2010 WG2.3Feb10 27
28 Isn't refinement enough? Some challenges in refinement 1 Control Machine X1 X2 X3 X4 Lobby Display Buttons Gear B1 B2 B3 Users Q1 Q2 Q3 Q4 Provide Safe & Convenient Service Building Manager Finding pure problem reductions Machine/Warehouse/PostOffice/Customer is oversimplified Understanding properties of a non-formal problem world A top-level abstraction is a result, not a starting-point Avoiding confusion of given with required properties Many formalisms allow no distinction Inducing a humanly comprehensible structure Operations on a state view is a fragmentation 3/18/2010 WG2.3Feb10 28
29 Isn't refinement enough? Some challenges in refinement 2 Control Machine X1 X2 X3 X4 Lobby Display Buttons Gear B1 B2 B3 Users Q1 Q2 Q3 Q4 Provide Safe & Convenient Service Building Manager Easy to find a top-level abstraction for a formal system The requirement is formal: eg y 2 x < ε but hard to find a top-level abstraction for a non-formal system What s the top-level requirement for the iphone? for a Toyota? The development must enumerate and prove sufficient properties Properties are captured by invariants but it s hard to say what set of properties is sufficient Development needs a map locating sufficient properties 3/18/2010 WG2.3Feb10 29
30 Envoi Concluding remarks Formal reasoning is essential to developing dependable systems Formal reasoning alone cannot induce an intelligible structure appropriate to a complex reality Structure and purpose must take precedence, giving a framework for formal reasoning in systems Are these ideas, illustrated by real-world systems, applicable to software more generally? 3/18/2010 WG2.3Feb10 30
31 Some references Some references Software Engineering Michael Jackson; The Name and Nature of Software Engineering; in E Börger and A Cisternino eds, Advances in Software Engineering, Springer verlag LNCS 5316, pages 1-38, Problem frames Michael Jackson; Problem Frames: Analysing and Structuring Software Development Problems; Addison-Wesley, Contrivances and science Michael Polanyi; Personal Knowledge: Towards a Post-Critical Philosophy; Routledge and Kegan Paul, 1958 and U Chicago Press, Problem reduction (aka problem progression) Lucia Rapanotti, Jon G Hall and Zhi Li; Problem reduction: a systematic technique for deriving specifications from requirements; Open University Centre for Research in Computing TR No 2006/02, Robert Seater, Daniel Jackson and Rohit Gheyi; Requirement Progression in Problem Frames: deriving specifications from requirements; Requirements Engineering 12, 2 pages , April /18/2010 WG2.3Feb10 31
32 Thank you 3/18/2010 WG2.3Feb10 32
Formalism and Intuition in Software Development
Formalism and Intuition in Software Development... intuition and deduction, on which alone we rely in the acquisition of knowledge. René Descartes Michael Jackson The Open University [email protected]
Semantic Analysis of Flow Patterns in Business Process Modeling
Semantic Analysis of Flow Patterns in Business Process Modeling Pnina Soffer 1, Yair Wand 2, and Maya Kaner 3 1 University of Haifa, Carmel Mountain 31905, Haifa 31905, Israel 2 Sauder School of Business,
Philosophy 203 History of Modern Western Philosophy. Russell Marcus Hamilton College Spring 2010
Philosophy 203 History of Modern Western Philosophy Russell Marcus Hamilton College Spring 2010 Class 2 - Meditation One Marcus, Modern Philosophy, Spring 2010, Slide 1 Five dogmas undermined by the new
Software Development Processes. Software Life-Cycle Models
1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 4/3/98 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning
A Review of Database Schemas
A Review of Database Schemas Introduction The purpose of this note is to review the traditional set of schemas used in databases, particularly as regards how the conceptual schemas affect the design of
Introducing Formal Methods. Software Engineering and Formal Methods
Introducing Formal Methods Formal Methods for Software Specification and Analysis: An Overview 1 Software Engineering and Formal Methods Every Software engineering methodology is based on a recommended
Engineering Process Software Qualities Software Architectural Design
Engineering Process We need to understand the steps that take us from an idea to a product. What do we do? In what order do we do it? How do we know when we re finished each step? Production process Typical
Database Scheme Configuration for a Product Line of MPC-TOOLS
Database Scheme Configuration for a Product Line of MPC-TOOLS Benjamin Klöpper, Tobias Rust, Bernhard Vedder, and Wilhelm Dangelmaier Heinz Nixdorf Institute, University of Paderborn, Fürstenallee 11,
Functional Decomposition Top-Down Development
Functional Decomposition Top-Down Development The top-down approach builds a system by stepwise refinement, starting with a definition of its abstract function. You start the process by expressing a topmost
Lecture 9: Requirements Modelling
A little refresher: What are we modelling? Lecture 9: Requirements Modelling Requirements; Systems; Systems Thinking Role of Modelling in RE Why modelling is important Limitations of modelling Brief overview
Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring 1998 1
1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 1/10/99 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning
Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective
Orit Hazzan's Column Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective This column is coauthored with Jeff Kramer, Department of Computing, Imperial College, London ABSTRACT
Project Management. Project Analysis and Definition. Project Management. Project Management People
Project Management Project Analysis and Definition The key to successful project management is to focus on the 4P People The most important element of a successful project Product The software to be built
Test Coverage Criteria for Autonomous Mobile Systems based on Coloured Petri Nets
9th Symposium on Formal Methods for Automation and Safety in Railway and Automotive Systems Institut für Verkehrssicherheit und Automatisierungstechnik, TU Braunschweig, 2012 FORMS/FORMAT 2012 (http://www.forms-format.de)
GETTING TO GOLDSMITHS, UNIVERSITY OF LONDON
GETTING TO GOLDSMITHS, UNIVERSITY OF LONDON This document has useful information about getting to Goldsmiths University where the 20 th ENCATC Annual Conference, Networked Culture will be held from 12-14
MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS
MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS Tao Yu Department of Computer Science, University of California at Irvine, USA Email: [email protected] Jun-Jang Jeng IBM T.J. Watson
Verifying Semantic of System Composition for an Aspect-Oriented Approach
2012 International Conference on System Engineering and Modeling (ICSEM 2012) IPCSIT vol. 34 (2012) (2012) IACSIT Press, Singapore Verifying Semantic of System Composition for an Aspect-Oriented Approach
CHAPTER 2 PAVEMENT MANAGEMENT SYSTEM
CHAPTER 2 PAVEMENT MANAGEMENT SYSTEM 2.1. INTRODUCTION TO PAVEMENT MANAGEMENT The ability of a pavement system to serve a society is largely a function of planning. Planning is the intersection between
Software Development in the Fields of Embedded Systems, Safety, and Security
Software in the Fields of Embedded Systems, Safety, and Security, Erlangen, May 2007 Maritta Heisel Joint work with Denis Hatebur and Holger Schmidt University Duisburg-Essen, Faculty of Engineering, Department
Component Based Development in Software Engineering
Component Based Development in Software Engineering Amandeep Bakshi, Rupinder Singh Abstract--In today s world, Component Based development is an active research area for more than a decade in software
Module 1. Introduction to Software Engineering. Version 2 CSE IIT, Kharagpur
Module 1 Introduction to Software Engineering Lesson 2 Structured Programming Specific Instructional Objectives At the end of this lesson the student will be able to: Identify the important features of
Modeling the User Interface of Web Applications with UML
Modeling the User Interface of Web Applications with UML Rolf Hennicker,Nora Koch,2 Institute of Computer Science Ludwig-Maximilians-University Munich Oettingenstr. 67 80538 München, Germany {kochn,hennicke}@informatik.uni-muenchen.de
The Phases of an Object-Oriented Application
The Phases of an Object-Oriented Application Reprinted from the Feb 1992 issue of The Smalltalk Report Vol. 1, No. 5 By: Rebecca J. Wirfs-Brock There is never enough time to get it absolutely, perfectly
The study of production management experiment teaching system formation for Economic management specialty/major in university
3rd International Conference on Science and Social Research (ICSSR 2014) The study of experiment teaching system formation for Economic specialty/major in university Wen Ming Han 1, a, Tong Tong Zhang
Managing Variability in Software Architectures 1 Felix Bachmann*
Managing Variability in Software Architectures Felix Bachmann* Carnegie Bosch Institute Carnegie Mellon University Pittsburgh, Pa 523, USA [email protected] Len Bass Software Engineering Institute Carnegie
A Service Modeling Approach with Business-Level Reusability and Extensibility
A Service Modeling Approach with Business-Level Reusability and Extensibility Jianwu Wang 1,2, Jian Yu 1, Yanbo Han 1 1 Institute of Computing Technology, Chinese Academy of Sciences, 100080, Beijing,
How To Achieve Continuous Delivery
White Paper Overcoming Jenkins Sprawl: Going from CI to CD with ElectricFlow Software is everywhere. And accelerating the delivery and quality of that software can mean the difference between merely surviving,
[Refer Slide Time: 05:10]
Principles of Programming Languages Prof: S. Arun Kumar Department of Computer Science and Engineering Indian Institute of Technology Delhi Lecture no 7 Lecture Title: Syntactic Classes Welcome to lecture
siemens.com/mobility Traffic data analysis in Sitraffic Scala/Concert The expert system for visualization, quality management and statistics
siemens.com/mobility Traffic data analysis in Sitraffic Scala/Concert The expert system for visualization, quality management and statistics 2 Traffic data analysis produces transparent intersections The
How To Develop Software
Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which
Big Data Analytics in Mobile Environments
1 Big Data Analytics in Mobile Environments 熊 辉 教 授 罗 格 斯 - 新 泽 西 州 立 大 学 2012-10-2 Rutgers, the State University of New Jersey Why big data: historical view? Productivity versus Complexity (interrelatedness,
On the general structure of ontologies of instructional models
On the general structure of ontologies of instructional models Miguel-Angel Sicilia Information Engineering Research Unit Computer Science Dept., University of Alcalá Ctra. Barcelona km. 33.6 28871 Alcalá
Challenges and Opportunities for formal specifications in Service Oriented Architectures
ACSD ATPN Xi an China June 2008 Challenges and Opportunities for formal specifications in Service Oriented Architectures Gustavo Alonso Systems Group Department of Computer Science Swiss Federal Institute
Name of pattern types 1 Process control patterns 2 Logic architectural patterns 3 Organizational patterns 4 Analytic patterns 5 Design patterns 6
The Researches on Unified Pattern of Information System Deng Zhonghua,Guo Liang,Xia Yanping School of Information Management, Wuhan University Wuhan, Hubei, China 430072 Abstract: This paper discusses
Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1
The Role of Programming in Informatics Curricula A. J. Cowling Department of Computer Science University of Sheffield Structure of Presentation Introduction The problem, and the key concepts. Dimensions
Robotic assembly. Assembly cost per product. Manual assembly. Automatic assembly using special purpose machines. Annual Production Volume
and Manufacturing Sophisticated products involves a large individual components and subassemblies. number of 70 to 80 percent of the cost of manufacturing a product is determined during the design phase
Module 12. Software Project Monitoring and Control. Version 2 CSE IIT, Kharagpur
Module 12 Software Project Monitoring and Control Lesson 31 Risk Management and Software Configuration Management Specific Instructional Objectives At the end of this lesson the student would be able to:
Methodological Issues for Interdisciplinary Research
J. T. M. Miller, Department of Philosophy, University of Durham 1 Methodological Issues for Interdisciplinary Research Much of the apparent difficulty of interdisciplinary research stems from the nature
A Framework for the Semantics of Behavioral Contracts
A Framework for the Semantics of Behavioral Contracts Ashley McNeile Metamaxim Ltd, 48 Brunswick Gardens, London W8 4AN, UK [email protected] Abstract. Contracts have proved a powerful concept
Software Development for Multiple OEMs Using Tool Configured Middleware for CAN Communication
01PC-422 Software Development for Multiple OEMs Using Tool Configured Middleware for CAN Communication Pascal Jost IAS, University of Stuttgart, Germany Stephan Hoffmann Vector CANtech Inc., USA Copyright
Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University
Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or
Abstract Data Types in Event-B An Application of Generic Instantiation
Abstract Data Types in Event-B An Application of Generic Instantiation David Basin 1, Andreas Fürst 1, Thai Son Hoang 1, Kunihiko Miyazaki 2, and Naoto Sato 2 1 Institute of Information Security, ETH Zurich
Identifying the smartness of a mechatronic coiler through the System Engineering
CONFERENZA INCOSE ITALIA SU SYSTEMS ENGINEERING CIISE 2014 Roma, 24 25 Novembre 2014 Identifying the smartness of a mechatronic coiler through the System Engineering Eugenio Brusa, Ambra Calà Dept. Mechanical
Data Quality in Information Integration and Business Intelligence
Data Quality in Information Integration and Business Intelligence Leopoldo Bertossi Carleton University School of Computer Science Ottawa, Canada : Faculty Fellow of the IBM Center for Advanced Studies
Standard for Software Component Testing
Standard for Software Component Testing Working Draft 3.4 Date: 27 April 2001 produced by the British Computer Society Specialist Interest Group in Software Testing (BCS SIGIST) Copyright Notice This document
CSC 742 Database Management Systems
CSC 742 Database Management Systems Topic #4: Data Modeling Spring 2002 CSC 742: DBMS by Dr. Peng Ning 1 Phases of Database Design Requirement Collection/Analysis Functional Requirements Functional Analysis
Layered Approach to Development of OO War Game Models Using DEVS Framework
Layered Approach to Development of OO War Game Models Using DEVS Framework Chang Ho Sung*, Su-Youn Hong**, and Tag Gon Kim*** Department of EECS KAIST 373-1 Kusong-dong, Yusong-gu Taejeon, Korea 305-701
Architecture Artifacts Vs Application Development Artifacts
Architecture Artifacts Vs Application Development Artifacts By John A. Zachman Copyright 2000 Zachman International All of a sudden, I have been encountering a lot of confusion between Enterprise Architecture
Extending Semantic Resolution via Automated Model Building: applications
Extending Semantic Resolution via Automated Model Building: applications Ricardo Caferra Nicolas Peltier LIFIA-IMAG L1F1A-IMAG 46, Avenue Felix Viallet 46, Avenue Felix Viallei 38031 Grenoble Cedex FRANCE
jeti: A Tool for Remote Tool Integration
jeti: A Tool for Remote Tool Integration Tiziana Margaria 1, Ralf Nagel 2, and Bernhard Steffen 2 1 Service Engineering for Distributed Systems, Institute for Informatics, University of Göttingen, Germany
DATA QUALITY AND SCALE IN CONTEXT OF EUROPEAN SPATIAL DATA HARMONISATION
DATA QUALITY AND SCALE IN CONTEXT OF EUROPEAN SPATIAL DATA HARMONISATION Katalin Tóth, Vanda Nunes de Lima European Commission Joint Research Centre, Ispra, Italy ABSTRACT The proposal for the INSPIRE
Some Methodological Clues for Defining a Unified Enterprise Modelling Language
Some Methodological Clues for Defining a Unified Enterprise Modelling Language Michaël Petit University of Namur, Belgium, [email protected] Abstract The need for a Unified Enterprise Modelling Language
GAMS, Condor and the Grid: Solving Hard Optimization Models in Parallel. Michael C. Ferris University of Wisconsin
GAMS, Condor and the Grid: Solving Hard Optimization Models in Parallel Michael C. Ferris University of Wisconsin Parallel Optimization Aid search for global solutions (typically in non-convex or discrete)
A Framework of Context-Sensitive Visualization for User-Centered Interactive Systems
Proceedings of 10 th International Conference on User Modeling, pp423-427 Edinburgh, UK, July 24-29, 2005. Springer-Verlag Berlin Heidelberg 2005 A Framework of Context-Sensitive Visualization for User-Centered
Software design (Cont.)
Package diagrams Architectural styles Software design (Cont.) Design modelling technique: Package Diagrams Package: A module containing any number of classes Packages can be nested arbitrarily E.g.: Java
A Structured Methodology For Spreadsheet Modelling
A Structured Methodology For Spreadsheet Modelling ABSTRACT Brian Knight, David Chadwick, Kamalesen Rajalingham University of Greenwich, Information Integrity Research Centre, School of Computing and Mathematics,
Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur
Module 10 Coding and Testing Lesson 23 Code Review Specific Instructional Objectives At the end of this lesson the student would be able to: Identify the necessity of coding standards. Differentiate between
Describing, manipulating and pricing financial contracts: The MLFi language
Describing, manipulating and pricing financial contracts: The MLFi language Centre for Financial Research, Judge Institute of Management Cambridge, 14 March 2003 (revised January 2005) Jean-Marc Eber LexiFi,
Writing a Requirements Document For Multimedia and Software Projects
Writing a Requirements Document For Multimedia and Software Projects Rachel S. Smith, Senior Interface Designer, CSU Center for Distributed Learning Introduction This guide explains what a requirements
Database Design Patterns. Winter 2006-2007 Lecture 24
Database Design Patterns Winter 2006-2007 Lecture 24 Trees and Hierarchies Many schemas need to represent trees or hierarchies of some sort Common way of representing trees: An adjacency list model Each
Software Development Method
Chapter 13 Software Development Method M. A. Jackson It is a great pleasure to be able to contribute to a Festschrift in Tony Hoare s honour. I have known him since we were both undergraduates nearly forty
What is An Introduction
What is? An Introduction GenICam_Introduction.doc Page 1 of 14 Table of Contents 1 SCOPE OF THIS DOCUMENT... 4 2 GENICAM'S KEY IDEA... 4 3 GENICAM USE CASES... 5 3.1 CONFIGURING THE CAMERA... 5 3.2 GRABBING
Maintain Fleet Management Solutions Using Wide Area Wireless Technology
Maintain Fleet Management Solutions Using Wide Area Wireless Technology Andreas Kohn Sierra Wireless, Inc. August, 2010 1 Introduction Wireless technology can provide a competitive advantage in today s
Chapter 8 The Enhanced Entity- Relationship (EER) Model
Chapter 8 The Enhanced Entity- Relationship (EER) Model Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 Outline Subclasses, Superclasses, and Inheritance Specialization
3 Extending the Refinement Calculus
Building BSP Programs Using the Refinement Calculus D.B. Skillicorn? Department of Computing and Information Science Queen s University, Kingston, Canada [email protected] Abstract. We extend the
Quotes from Object-Oriented Software Construction
Quotes from Object-Oriented Software Construction Bertrand Meyer Prentice-Hall, 1988 Preface, p. xiv We study the object-oriented approach as a set of principles, methods and tools which can be instrumental
A comprehensive information system for railway networks
A comprehensive information system for railway networks Bin Ning', Xuewei Li2 'Department of Control Engineering, School of Electronics and Information Engineering, Northern Jiaotong University 2School
DATABASE MANAGEMENT SYSTEMS IN ENGINEERING
NISTIR 4987 DATABASE MANAGEMENT SYSTEMS IN ENGINEERING Katherine C. Morris Mary Mitchell Manufacturing Engineering Laboratory Christopher Dabrowski Elizabeth Fong Computer Systems Laboratory U.S. DEPARTMENT
Optimization Problems in Infrastructure Security
Evangelos Kranakis, School of Computer Science, Carleton University, Ottawa 1 Optimization Problems in Infrastructure Security Evangelos Kranakis Carleton University School of Computer Science Ottawa,
Requirements for Software Deployment Languages and Schema
Requirements for Software Deployment Languages and Schema Richard S. Hall, Dennis Heimbigner, Alexander L. Wolf Software Engineering Research Laboratory Department of Computer Science University of Colorado
In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal
Paper Title: Generic Framework for Video Analysis Authors: Luís Filipe Tavares INESC Porto [email protected] Luís Teixeira INESC Porto, Universidade Católica Portuguesa [email protected] Luís Corte-Real
Execution of A Requirement Model in Software Development
Execution of A Requirement Model in Software Development Wuwei Shen, Mohsen Guizani and Zijiang Yang Dept of Computer Science, Western Michigan University {wwshen,mguizani,zijiang}@cs.wmich.edu Kevin Compton
Healthcare Measurement Analysis Using Data mining Techniques
www.ijecs.in International Journal Of Engineering And Computer Science ISSN:2319-7242 Volume 03 Issue 07 July, 2014 Page No. 7058-7064 Healthcare Measurement Analysis Using Data mining Techniques 1 Dr.A.Shaik
Lecture 20: Software Evolution
Lecture 20: Software Evolution Basics of Software Evolution Laws of software evolution Requirements Growth Software Aging Basics of Change Management Baselines, Change Requests and Configuration Management
The top 3 network management challenges
White Paper The top 3 network management challenges BALANCING ACTS IN THE ENTERPRISE NETWORK Introduction Organizations rely heavily on their data network, yet the network goes unnoticed most of the time.
µz An Efficient Engine for Fixed points with Constraints
µz An Efficient Engine for Fixed points with Constraints Kryštof Hoder, Nikolaj Bjørner, and Leonardo de Moura Manchester University and Microsoft Research Abstract. The µz tool is a scalable, efficient
The Software Development Life Cycle (SDLC)
Document ID: Version: 2.0 1 / 22 2 TABLE OF CONTENTS INTRODUCTION... 4 THE SDLC WATERFALL... 4 ALLOWED VARIATIONS... 5 OTHER SDLC MODELS... 6 REFERENCES... 7 GENERIC STAGE... 8 KICKOFF PROCESS... 8 INFORMAL
RSA VIA LIFECYCLE AND GOVERNENCE: ROLE MANAGEMENT BEST PRACTICES
RSA VIA LIFECYCLE AND GOVERNENCE: ROLE MANAGEMENT BEST PRACTICES A practitioner s perspective on best practices for Role Management ABSTRACT This white paper provides an overview of the Role Management
1. What s new and upgrade guide version 6 pg 1. 2. how do you re-register your pg 9
Contents 1. What s new and upgrade guide version 6 pg 1 2. how do you re-register your pg 9 pastel evolution PAYROLL SOFTWARE? 3. NEW FEATURES pg 10 sage PASTEL EVOLUTION ACCOUNTING 4. NEW FEATURES pg
specifications 15. Approaches to constructing The outline of this part:
15. Approaches to constructing specifications The outline of this part: The top-down approach The bottom-up approach The middle-out approach Comparison of the approaches 15.1 The top-down approach Two
Software maintenance. Software Maintenance. Fundamental problems. Maintenance activities. Lehman/Belady model of evolution. Topics
Software maintenance Software Maintenance Key problems/issues Historical models and data Program Defined in IEEE Standard 1219 as: The modification of a software product after delivery to correct faults,
Project Management Process
Project Management Process Description... 1 STAGE/STEP/TASK SUMMARY LIST... 2 Project Initiation 2 Project Control 4 Project Closure 5 Project Initiation... 7 Step 01: Project Kick Off 10 Step 02: Project
The Future of Smart In our Daily Lives
Internet of Things The Future of Smart In our Daily Lives Karen Lomas. Director, Smart Cities EMEA 1 Executive Summary As the developed world evolves individuals and collective groups be they corporations,
Continuous Integration, Delivery and Deployment. Eero Laukkanen T-76.5613 - Software Testing and Quality Assurance P 20.11.2015
Continuous Integration, Delivery and Deployment Eero Laukkanen T-76.5613 - Software Testing and Quality Assurance P 20.11.2015 System Integration In engineering, system integration is defined as the process
2. Basic Relational Data Model
2. Basic Relational Data Model 2.1 Introduction Basic concepts of information models, their realisation in databases comprising data objects and object relationships, and their management by DBMS s that
Software Design Document (SDD) Template
(SDD) Template Software design is a process by which the software requirements are translated into a representation of software components, interfaces, and data necessary for the implementation phase.
