A B C. Decomposition I Y
|
|
|
- Wilfrid Collins
- 10 years ago
- Views:
Transcription
1 Software Development byevolution 3 Shaoying Liu Department of Computer Science Faculty of Information Sciences Hiroshima City University, Japan [email protected] Introduction Software development is a process of creating and changing documents from unexecutable specications to executable programs. To achieve an eective control of the process and reliable documents produced during this process, precise and sensible rules are needed to serve as the guidelines and criteria for producing and verifying the documents. In this paper we propose an ary approach to dealing with this important problem, based on the existing renement and incremental techniques [, 2]. It is our belief that software development usually involves three dierent kinds of activities: improving functions, extending functions, and modifying functions. By improving functions we mean that a given operation P can be improved to Q with the preservation of the function of P. The improvement can mean two things. One is to eliminate non-determinism in operation P, and another is to strengthen the capability of P so that Q will be able to oer more functions under the constraint of P. Suchanimprovement is called renement by Jones and Morgan. By extension we mean that a given operation P or its function (e.g., a dierent named operation with the same function) will be sustained when it is expanded to another operation Q. For example, such a Q can be like Q Str(P ), where Str(P ) can be any available construct, such as P ;P; P 2, if B then P ; P else P 2 ; P,andwhile B do P ;P; P 2.Such an extension does not deal with the improvement of P itself, instead, it addresses the problem of how to reuse P in the extended operation Q. By modifying functions we mean that a given operation P is modied into another operation Q so that Q neither preserves the function of P nor reuses the function of P. Such a modication usually reects a change of original requirements for the function of P. The proposed ary approach is intended to unify those three activities with dierent natures. In other words, we attempt to provide a unied rule as a guideline for developing software. We also show how the ary approach can be eectively taken to control the process of software development. 2 The denition of Let operations P and Q have the signatures: P : DP! RP 3 This work is supported by the Ministry of Education of Japan under Grant-in-Aid for Scientic Research on Priority Areas (A) No.39236)
2 and Q : DQ! RQ. where DP and RP denote the domain and range of the operation P, respectively; and DQ and RQ are those for operation Q. P can be a relation or function, and so is Q, depending on their current specication. Denition 2. Operation Q is an of P i () Q is arenement of P, (2) Q is an extension of P,or (3) Q is a modication of P. We use P j= Q to denote that Q is an of P,orP is evolved to Q. Denition 2.2 Operation Q is a renement of P i () pre-p ) pre-q and (2) pre-p ^ post-q ) post-p We use P v Q to represent that Q is a renement of P. This denition shows that operation P is improved to Q by weakening and strengthening its precondition and postcondition, respectively. In other words, Q must possess the function required by P, but can extend to oer additional functions under the functional constraint of P. Figure depicts a renement. R Q D Q R P D 00 P 0 Figure : Illustration of renement For example, two operations OP and OP are given below: c-process OP(x : nat) y:nat x > a post: y > x + a where nat denotes the natural number type (including zero). c-process OP(x : nat, b:nat) y,z: nat x > a or x > b post: y > x+aand z >= x+b 2
3 As we have pre-op ) pre-op, and pre-op ^ post-op ) post-op, we can claim that OP is an of OP. Note that although there are additional input b and output z in the operation OP, it still satises the renement rule. Compared with the function of OP, OP has a weaker precondition and stronger postcondition. Denition 2.3 Operation Q is an extension of P i Q Str(P ). where Str(P ) is a construct that contains P as its component. P < Q denotes that Q is an extension of P. Note that in theory the operation P in Str(P ) can be replaced by an equivalent operation P. By equivalentwe mean that P and P have the same function, but possibly with dierent syntax. However, application of this rule will increase signicantly the diculty in verifying whether Q is an extension of P in practice. Therefore, this rule can be simplied to the level that the syntax of P is sustained in Str(P ) when it is applied in practice. For example, Str(P ) can be one of the constructs: () Str(P ) P ; P ; P 2, (2) Str(P ) if b then P else P, (3) Str(P ) while b do begin P ; P end where P and P 2 are additional operations. Denition 2.4 Operation Q is a modication of P i it is neither a renement nor extension of P. We use P = Q to denote that Q is a modication of P. For example, the operation OP given previously is changed to the operation OP2: c-process OP2(x : nat) y:nat x <= a post: y > x + 2*a As OP2 is neither a renement nor extension of OP, it is regarded as a modication of OP. 3 Application of ary approach to SOFL SOFL was developed in our project FM-ISEE based on the rst author's Ph.D research [3]. It consists of a specication language and implementation language [4]. As we did not use the implementation language in the study presented in this paper, we only introduce the SOFL specication language in this section. Readers who are interested in the detailed description of SOFL can refer to the rst FM-ISEE, standing for Formal Methods and Intelligent Software Engineering Environment, was an international joint project funded by the Ministry of Education of Japan in the period of
4 author's previous publication [4]. When building a SOFL specication, development of the CDFD hierarchy usually requires extension and/or modication, in addition to decomposition. Decomposition refers to the improvementofa condition process, whereas extension or modication refers to changes in the structure or functionality of a condition process or CDFD. A condition process is decomposed by constructing a corresponding lower level CDFD to rene the process. Extension or modication of a condition process or a CDFD changes its structure or functional denition to make a new version of the current specication. Decomposition extends a specication in a top-down fashion while extension or modication improves it in a horizontal direction, as shown in Figure 2. Increment or modification X A B C A B C Decomposition D E F D E F G G I Y I Figure 2: Illustration of using the SOFL specication language The following approach is an eective way to use when constructing a specication: Decomposition and extension or modication are interleaved, but decomposition usually comes rst and then extension or modication steps are made if necessary. When decomposition of a condition process reveals the need for a change to the condition process itself, then an extension or modication of the condition process and/or the associated CDFDs needs to be carried out. The result of the extension or modication is another hierarchy of CDFDs that properly reects the decomposition relation between high level condition processes and their decomposed CDFDs. 4 Successive approach to software development We believe that software development is a successive process, and our proposed rules can be employed to make this process under control. Specically speaking, when changing an operation P, one must rst consider rening P. If it does not t the purpose (e.g., P needs extension), 4
5 he must consider extending P. If the original function of P needs to be changed to meet the changed requirements, he must consider modifying P. Each of those three activities must be carried out according to their corresponding rules given previously. For brevity, we call all the documents produced during a software development specications, which may include requirements specications, designs, and programs. Figure 3 shows the ary process of software development. Specification Specification2 Specification n Figure 3: Evolutionary process of software development 5 Conclusions and future research We have proposed an ary approach to software development. It consists of three activities: renement, extension, and modication. We have also given a formal denition for, which includes rules for renement, extension, and modication. We have described how the can be used to control the process of software development, in particular the development using SOFL specication language. As we have realized that a good quality software environment for is crucial in enforcing the ary disciplines in real software projects, improving and extending the existing tools remains as the highest priority in our future research. References [] Carroll Morgan. Programming from Specications. Prentice-Hall International(UK) Ltd., 990. [2] John A. McDermid (editor). Software Engineer's Reference Book. Butterworth-Heinemann Ltd., 993. [3] Shaoying Liu. A Structured and Formal Requirements Analysis Method based on Data Flow Analysis and Rapid Prototyping. PhD thesis, University of Manchester, U.K., August 992. [4] Shaoying Liu, A. Je Outt, Chris Ho-Stuart, Yong Sun, and Mitsuru Ohba. SOFL: A Formal Engineering Methodology for Industrial Applications. IEEE Transactions on Software Engineering, 24():337{344, January 998. Special Issue on Formal Methods. 5
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
Formal Engineering for Industrial Software Development
Shaoying Liu Formal Engineering for Industrial Software Development Using the SOFL Method With 90 Figures and 30 Tables Springer Contents Introduction 1 1.1 Software Life Cycle... 2 1.2 The Problem 4 1.3
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
A Web-Based Requirements Analysis Tool. Annie I. Anton. Eugene Liang. Roy A. Rodenstein. fanton,eugene,[email protected]
A Web-Based Requirements Analysis Tool Annie I. Anton Eugene Liang Roy A. Rodenstein fanton,eugene,[email protected] College of Computing Georgia Institute of Technology Atlanta, GA 30332-0280 Abstract
Software development process
OpenStax-CNX module: m14619 1 Software development process Trung Hung VO This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License 2.0 Abstract A software development
PS engine. Execution
A Model-Based Approach to the Verication of Program Supervision Systems Mar Marcos 1 y, Sabine Moisan z and Angel P. del Pobil y y Universitat Jaume I, Dept. of Computer Science Campus de Penyeta Roja,
Thesis work and research project
Thesis work and research project Hélia Pouyllau, INRIA of Rennes, Campus Beaulieu 35042 Rennes, [email protected] July 16, 2007 1 Thesis work on Distributed algorithms for endto-end QoS contract
Generating Test Cases from UML Specications by Aynur Abdurazik and Je Outt ISE-TR-99-09 May, 1999 Information and Software Engineering George Mason University Fairfax, Virginia 22030 Unlimited Distribution.
Cedalion A Language Oriented Programming Language (Extended Abstract)
Cedalion A Language Oriented Programming Language (Extended Abstract) David H. Lorenz Boaz Rosenan The Open University of Israel Abstract Implementations of language oriented programming (LOP) are typically
Advanced Software Engineering ( -Formal specification, verification, transformation, and application-
Advanced Software Engineering ( -Formal specification, verification, transformation, and application- Shaoying Liu Faculty of Computer and Information Sciences Hosei Univeresity, Tokyo, Japan Email: [email protected]
Chapter 1: Key Concepts of Programming and Software Engineering
Chapter 1: Key Concepts of Programming and Software Engineering Software Engineering Coding without a solution design increases debugging time - known fact! A team of programmers for a large software development
What to Do If You Fail the PMP Exam
What to Do If You Fail the PMP Exam What s in the ebook? This guide will teach you everything you need to know about what to do if you fail the PMP exam, including strategy, identifying your weaknesses
Unit 1 Learning Objectives
Fundamentals: Software Engineering Dr. Rami Bahsoon School of Computer Science The University Of Birmingham [email protected] www.cs.bham.ac.uk/~rzb Office 112 Y9- Computer Science Unit 1. Introduction
Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao
Requirements Analysis Concepts & Principles Instructor: Dr. Jerry Gao Requirements Analysis Concepts and Principles - Requirements Analysis - Communication Techniques - Initiating the Process - Facilitated
Common Criteria For Information Technology Security Evaluation
Security Characterisation and Integrity Assurance for Software Components and Component-Based Systems Jun Han and Yuliang Zheng Peninsula School of Computing and Information Technology Monash University,
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
SYSTEMS AND SOFTWARE REQUIREMENTS SPECIFICATION (SSRS) TEMPLATE. Version A.4, January 2014 FOREWORD DOCUMENT CONVENTIONS
SYSTEMS AND SOFTWARE REQUIREMENTS SPECIFICATION (SSRS) TEMPLATE Version A.4, January 2014 FOREWORD This document was written to provide software development projects with a template for generating a System
Extracted Templates. Postgres database: results
Natural Language Processing and Expert System Techniques for Equity Derivatives Trading: the IE-Expert System Marco Costantino Laboratory for Natural Language Engineering Department of Computer Science
Feature Engineering of Software Systems by Carlton Reid Turner B.A., University of North Carolina, 1986 M.S., University of Colorado, 1995 A thesis submitted to the Faculty of the Graduate School of the
PROCESS IMPROVEMENT CAPABILITY MATURITY MODEL
PROCESS IMPROVEMENT CAPABILITY MATURITY MODEL Immature versus Mature Software Organisations In an immature software organisation, software processes are generally improvised by practitioners and their
Outline. 1 Denitions. 2 Principles. 4 Implementation and Evaluation. 5 Debugging. 6 References
Outline Computer Science 331 Introduction to Testing of Programs Mike Jacobson Department of Computer Science University of Calgary Lecture #3-4 1 Denitions 2 3 4 Implementation and Evaluation 5 Debugging
22C:22 (CS:2820) Object-Oriented Software Development
The University of Iowa 22C:22 (CS:2820) Object-Oriented Software Development Fall 2012 Software Complexity by Cesare Tinelli Complexity Software systems are complex artifacts Failure to master this complexity
An Algebra for Feature-Oriented Software Development
An Algebra for Feature-Oriented Software Development Sven Apel 1, Christian Lengauer 1, Don Batory 2, Bernhard Möller 3, and Christian Kästner 4 1 Department of Informatics and Mathematics, University
Ontology-based Archetype Interoperability and Management
Ontology-based Archetype Interoperability and Management Catalina Martínez-Costa, Marcos Menárguez-Tortosa, J. T. Fernández-Breis Departamento de Informática y Sistemas, Facultad de Informática Universidad
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
Two-step competition process leads to quasi power-law income distributions Application to scientic publication and citation distributions
Physica A 298 (21) 53 536 www.elsevier.com/locate/physa Two-step competition process leads to quasi power-law income distributions Application to scientic publication and citation distributions Anthony
Department of Computer and Information Science, Ohio State University. In Section 3, the concepts and structure of signature
Proceedings of the 2nd International Computer Science Conference, Hong Kong, Dec. 1992, 616-622. 616 SIGNATURE FILE METHODS FOR INDEXING OBJECT-ORIENTED DATABASE SYSTEMS Wang-chien Lee and Dik L. Lee Department
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
Architecture bits. (Chromosome) (Evolved chromosome) Downloading. Downloading PLD. GA operation Architecture bits
A Pattern Recognition System Using Evolvable Hardware Masaya Iwata 1 Isamu Kajitani 2 Hitoshi Yamada 2 Hitoshi Iba 1 Tetsuya Higuchi 1 1 1-1-4,Umezono,Tsukuba,Ibaraki,305,Japan Electrotechnical Laboratory
Project Management Planning
Develop Project Tasks One of the most important parts of a project planning process is the definition of activities that will be undertaken as part of the project. Activity sequencing involves dividing
Software Quality Factors OOA, OOD, and OOP Object-oriented techniques enhance key external and internal software quality factors, e.g., 1. External (v
Object-Oriented Design and Programming Deja Vu? In the past: Structured = Good Overview of Object-Oriented Design Principles and Techniques Today: Object-Oriented = Good e.g., Douglas C. Schmidt www.cs.wustl.edu/schmidt/
Lecture 3 Software Development Processes
Lecture 3 Software Development Processes Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 2, 2008 Lecture Overview
Intelligent Agents. Based on An Introduction to MultiAgent Systems and slides by Michael Wooldridge
Intelligent Agents Based on An Introduction to MultiAgent Systems and slides by Michael Wooldridge Denition of an Agent An agent is a computer system capable of autonomous action in some environment, in
A Tool for Enterprise Architecture Analysis using the PRM formalism
A Tool for Enterprise Architecture Analysis using the PRM formalism Markus Buschle, Johan Ullberg, Ulrik Franke, Robert Lagerström, and Teodor Sommestad Industrial Information and Control Systems, KTH
Effect of Using Neural Networks in GA-Based School Timetabling
Effect of Using Neural Networks in GA-Based School Timetabling JANIS ZUTERS Department of Computer Science University of Latvia Raina bulv. 19, Riga, LV-1050 LATVIA [email protected] Abstract: - The school
A Pattern-based Framework of Change Operators for Ontology Evolution
A Pattern-based Framework of Change Operators for Ontology Evolution Muhammad Javed 1, Yalemisew M. Abgaz 2, Claus Pahl 3 Centre for Next Generation Localization (CNGL), School of Computing, Dublin City
1 Example of Time Series Analysis by SSA 1
1 Example of Time Series Analysis by SSA 1 Let us illustrate the 'Caterpillar'-SSA technique [1] by the example of time series analysis. Consider the time series FORT (monthly volumes of fortied wine sales
Lessons from Using Basic LOTOS Experience Report Mark A Ardis Software Production Research AT&T Bell Laboratories Naperville, IL 60566-7013 Abstract We describe three case studies in the use of Basic LOTOS
PORT CONTROLLERS FABRIC
Problems Encountered in the Machine-assisted Proof of Hardware? Paul Curzon University of Cambridge Computer Laboratory, Pembroke Street, Cambridge, UK. Email: [email protected] URL http://www.cl.cam.ac.uk/users/pc/
Goldberg, D. E. (1989). Genetic algorithms in search, optimization, and machine learning. Reading, MA:
is another objective that the GA could optimize. The approach used here is also adaptable. On any particular project, the designer can congure the GA to focus on optimizing certain constraints (such as
Extend the value of your core business systems.
Legacy systems renovation to SOA September 2006 Extend the value of your core business systems. Transforming legacy applications into an SOA framework Page 2 Contents 2 Unshackling your core business systems
Secure State UML: Modeling and Testing Security Concerns of Software Systems Using UML State Machines
Research Journal of Applied Sciences, Engineering and Technology 7(18): 3786-3790, 2014 ISSN: 2040-7459; e-issn: 2040-7467 Maxwell Scientific Organization, 2014 Submitted: October 26, 2013 Accepted: December
Combinatorial PCPs with ecient veriers
Combinatorial PCPs with ecient veriers Or Meir Abstract The PCP theorem asserts the existence of proofs that can be veried by a verier that reads only a very small part of the proof. The theorem was originally
Bitemporal Extensions to Non-temporal RDBMS in Distributed Environment
The 8 th International Conference on Computer Supported Cooperative Work in Design Procceedings Bitemporal Extensions to Non-temporal RDBMS in Distributed Environment Yong Tang, Lu Liang, Rushou Huang,
Automated compositional Markov chain generation for a plain-old telephone system
Science of Computer Programming 36 (2000) 97 127 www.elsevier.nl/locate/scico Automated compositional Markov chain generation for a plain-old telephone system Holger Hermanns ;1, Joost-Pieter Katoen 1
Verication Techniques for LOTOS [ISO:8807] was a collaborative project, from 1989 to 1993, funded by the UK SERC/IED research program.
Verication Techniques for LOTOS U. Martin, University of St. Andrews, Scotland, U.K. M. Thomas, University of Glasgow, Scotland, U.K. Abstract. We report on the results of a project which applied LOTOS
Objectives. The software process. Basic software process Models. Waterfall model. Software Processes
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
Formal Verication of Scalable NonZero Indicators
Formal Verication of Scalable NonZero Indicators Shao Jie Zhang, Yang Liu, Jun Sun, Jin Song Dong, Yanhong A. Liu and Wei Chen National University of Singapore [email protected], {liuyang,sunj,dongjs}@comp.nus.edu.sg
Modelling Groups for Group Communications Erik Wilde, Christoph Burkhardt Swiss Federal Institute of Technology (ETH Zurich) Computer Engineering and Networks Laboratory (TIK) CH { 8092 Zurich fwilde,[email protected]
1. Introduction MINING AND TRACKING EVOLVING WEB USER TRENDS FROM LARGE WEB SERVER LOGS. Basheer Hawwash and Olfa Nasraoui
MINING AND TRACKING EVOLVING WEB USER TRENDS FROM LARGE WEB SERVER LOGS Basheer Hawwash and Olfa Nasraoui Knowledge Discovery and Web Mining Lab Dept. of Computer Engineering and Computer Science University
Dynamic conguration management in a graph-oriented Distributed Programming Environment
Science of Computer Programming 48 (2003) 43 65 www.elsevier.com/locate/scico Dynamic conguration management in a graph-oriented Distributed Programming Environment Jiannong Cao a;, Alvin Chan a, Yudong
programming languages, programming language standards and compiler validation
Software Quality Issues when choosing a Programming Language C.J.Burgess Department of Computer Science, University of Bristol, Bristol, BS8 1TR, England Abstract For high quality software, an important
Industrial case study: Zero defect secure software for the National Security Agency
p Industrial case study: Zero defect secure software for the National Security Agency Martin Croxford CEng MBCS Praxis High Integrity Systems Bath, UK Copyright Praxis High Integrity Systems Limited 2006
Modelli di sviluppo software. Enrico Giunchiglia
Modelli di sviluppo software Enrico Giunchiglia The software development process A structured set of activities required to develop a software system, including Specification Design & Development Validation
Medical-Miner at TREC 2011 Medical Records Track
Medical-Miner at TREC 2011 Medical Records Track 1 J.M. Córdoba, 1 M.J. Maña, 1 N.P. Cruz, 1 J. Mata, 2 F. Aparicio, 2 M. Buenaga, 3 D. Glez-Peña, 3 F. Fdez-Riverola 1 Universidad de Huelva 2 Universidad
615, GSB, University of Alberta, famr,sundari,hoover,[email protected]. Abstract
Software Process Improvement Model for a Small Organization: An Experience Report Amr Kamel, Sundari Voruganti, H. James Hoover and Paul G. Sorenson Dept. of Computing Science, 615, GSB, University of
interactive automatic (rules) automatic (patterns) interactive REP ENVIRONMENT KERNEL
AN APPROACH TO SOFTWARE CHANGE MANAGEMENT SUPPORT Jun Han Peninsula School of Computing and Information Technology Monash University, McMahons Road, Frankston, Vic 3199, Australia phone: +61 3 99044604,
Handbook of Software Engineering and Knowledge Engineering Vol. 2 fc World Scientic Publishing Company SUPPORTING SOFTWARE PROCESSES USING KNOWLEDGE MANAGEMENT RALF KNEUPER Transport-, Informatik- und
To introduce software process models To describe three generic process models and when they may be used
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
