Zum Hauptinhalt springen
Nicht aus der Schweiz? Besuchen Sie lehmanns.de

The Future of Software Engineering (eBook)

Sebastian Nanz (Herausgeber)

eBook Download: PDF
2010
VII, 185 Seiten
Springer Berlin (Verlag)
978-3-642-15187-3 (ISBN)

Lese- und Medienproben

The Future of Software Engineering -
Systemvoraussetzungen
53,49 inkl. MwSt
(CHF 52,25)
Der eBook-Verkauf erfolgt durch die Lehmanns Media GmbH (Berlin) zum Preis in Euro inkl. MwSt.
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
This book focuses on defining the achievements of software engineering in the past decades and showcasing visions for the future. It features a collection of articles by some of the most prominent researchers and technologists who have shaped the field: Barry Boehm, Manfred Broy, Patrick Cousot, Erich Gamma, Yuri Gurevich, Tony Hoare, Michael A. Jackson, Rustan Leino, David L. Parnas, Dieter Rombach, Joseph Sifakis, Niklaus Wirth, Pamela Zave, and Andreas Zeller. The contributed articles reflect the authors' individual views on what constitutes the most important issues facing software development. Both research- and technology-oriented contributions are included. The book provides at the same time a record of a symposium held at ETH Zurich on the occasion of Bertrand Meyer's 60th birthday.

Sebastian Nanz is a postdoctoral researcher at ETH Zurich, with main interests in concurrency, programming languages, and verification. He graduated with M.Sc. degrees in computer science and mathematics from Technische Universität München in 2002 and 2004, and obtained his Ph.D. degree in computer science from Imperial College London in 2006. Before joining ETH Zurich in 2009, he also worked as a researcher at the Technical University of Denmark, Microsoft Research Cambridge, and Yale University.

Sebastian Nanz is a postdoctoral researcher at ETH Zurich, with main interests in concurrency, programming languages, and verification. He graduated with M.Sc. degrees in computer science and mathematics from Technische Universität München in 2002 and 2004, and obtained his Ph.D. degree in computer science from Imperial College London in 2006. Before joining ETH Zurich in 2009, he also worked as a researcher at the Technical University of Denmark, Microsoft Research Cambridge, and Yale University.

Preface 4
Table of Contents 5
Some Future Software Engineering Opportunities andChallenges 6
1 Introduction 6
2 Future Software Engineering Opportunities and Challenges 7
2.1 Increasing emphasis on rapid development and adaptability 7
2.2 Increasing Criticality and Need for Assurance 9
2.2.1 An Incremental Development Process for Achieving Both Agility andAssurance 10
2.3 Increased complexity, global systems of systems, and need for scalabilityand interoperability 12
2.4 Increased needs to accommodate COTS, software services, and legacysystems 13
2.5 Increasingly large volumes of data and ways to learn from them 15
2.6 Increased emphasis on users and end value 17
2.6.1 Systems and Software Engineering Process Implications 17
2.7 Computational Plenty and Multicore Chips 19
2.8 Increasing Integration of Software and Systems Engineering 20
2.8.1 Systems and Software Engineering Process Implications 21
2.9 Wild Cards: Autonomy and Bio-Computing 22
3 A Scalable Spiral Process Model for 21st Century Systems andSoftware 23
3.1 21st Century System and Software Development and Evolution Modes 23
3.2 Overview of the Incremental Commitment Spiral Model 24
3.2.1 Other Views of the Incremental Commitment Spiral Model (ICSM) 26
3.2.2 Underlying ICSM Principles 29
3.2.3 Model Experience to Date 30
4 Implications for 21st Century Enterprise Processes 31
4.1 Adaptive vs. Purchasing-Agent Acquisition 31
4.2 Human Relations 32
5 Conclusions 33
References 34
Seamless Method- and Model-based Software andSystems Engineering 38
1 Motivation 38
2 Engineering Software Intensive Systems 39
2.1 Engineering and Modelling based on First Principles 39
2.2 From Principles to Methods, from Methods to Processes 40
2.2.1 Key Steps in Software and Systems Engineering 40
2.2.2 Requirements Engineering 41
2.2.3 Architecture Design 41
2.3 Empirical and Experimental Evaluation of Software Engineering Principlesand Methods 42
2.3.1 Justifying Claims about Principles and Methods 42
3 Scientific Foundations of Engineering Methods 43
3.1 About the Concept of Engineering Methods 43
3.2 Why Formal Specification and Verification is Not Enough 43
3.3 Importance of the Formalization of Engineering Concepts 43
3.4 The Role of Automation and Tools 44
4 Seamless Model Based Development 44
4.1 What are Helpful Models? 44
4.1.1 Modelling Requirements 44
4.1.2 Modelling Architecture 45
4.1.3 From Requirements and Architecture to Implementation and Integration 45
4.2 Modelling Systems 46
4.2.1 The Significance of Precise Terminology and Clean System Concepts 46
4.2.2 An Integrated Model for System Specification and Implementation 46
4.2.3 From Models to Code 47
4.2.4 Software product lines 47
4.2.5 Modular System Design, Specification, and Implementation 48
4.2.6 Formal Foundation of Methods and Models 49
5 Seamless Modelling 49
5.1 Integration of Modelling Techniques 49
5.2 Reducing Costs – Increasing Quality 50
6 Software Project Governance 50
7 Concluding Remarks: Towards a Synergy between FormalMethods and Model Based Development 51
References 51
Logical Abstract Domains and Interpretations 53
1 Introduction 53
2 Terminology on First-Order Logics, Theories, Interpretations and Models 54
2.1 First-order logics 54
2.2 Theories 55
2.3 Interpretations 55
2.4 Models 56
2.5 Satisfiability and validity (modulo interpretations and theory) 56
2.6 Decidable theories 57
2.7 Comparison of theories 59
3 Terminology on Abstract Interpretation 59
3.1 Interpreted concrete semantics 59
3.2 Abstract domains 60
3.3 Abstract semantics 61
3.4 Soundness of abstract domains 61
3.5 Soundness of abstract semantics 62
4 Abstraction of Multi-Interpreted Concrete Semantics 62
4.1 Multi-interpreted semantics 62
4.2 Abstractions between multi-interpretations 63
4.3 Uniform abstraction of interpretations 64
4.4 Abstraction by a theory 65
5 Uninterpreted Axiomatic Semantics 65
6 Axiomatic Semantics Modulo Interpretations 67
6.1 Universal interpretation of the axiomatic semantics 67
6.2 Adding more precision: axiomatic semantics modulo interpretations 68
6.3 Axiomatic Semantics Modulo Theory 68
6.4 Interpreted assignment 69
7 Logical Abstract Domains 69
7.1 Abstraction to Logical Abstract Domains 70
7.2 Logical abstract transformers 71
7.3 Widening and narrowing 72
8 Soundness of Unsound Abstractions 73
9 Conclusion 73
References 74
Design Patterns – Past, Present & Future
Evidential Authorization? 78
1 Introduction 79
2 Clinical Trials Scenario, Informal Description 81
2.1 Background 81
2.2 Policies 82
3 The World of One DKAL Principal 83
3.1 Substrate Functions and Infon Relations 85
3.2 Notational Conventions 86
3.3 Disclaimer 87
4 Substrate 87
4.1 Canonic Names, and Term Evaluation 88
4.2 Roster 89
5 Logic 89
5.1 Infons 89
5.2 Infons as formulas 90
5.3 Logics and Theories 91
5.4 Justifications 92
6 Infostrate 93
6.1 Knowledge 93
6.2 Communication 94
6.3 Filters 97
7 Clinical Trial Scenario: Policies 98
7.1 Policy of Org1 99
7.2 Policy of Site1 100
7.3 Policy of Phys1 101
7.4 Policy of KeyManager 102
8 Future work 103
References 104
Engineering and Software Engineering 105
1 Software Engineering Is about Dependability 105
2 A Software Engineer’s Product Is Not the Software 106
3 The Software and Its Problem World Are Inseparable 107
4 A Computer-Based System Is a Contrivance in the World 108
5 General Laws and Specific Contrivances 108
6 The Lesson of the Established Branches 110
7 Specialisation Has Many Dimensions 111
8 The Key to Dependability Is Artifact Specialisation 111
9 Normal and Radical Design 112
10 Artifact Specialisations in Software Engineering 114
11 Artifact Specialisation Needs Visible Exemplars 115
12 The Challenge of Software System Structures 116
13 Forgetting the Importance of Structure 117
References 118
Tools and Behavioral Abstraction: A Direction for Software Engineering 120
0 Introduction 120
1 Composing Programs 121
2 A Development Environment for Behavioral Abstraction 124
3 Challenges 126
4 Related Work and Acknowledgments 127
5 Conclusion 128
References 128
Precise Documentation: The Key to Better Software 130
1 Documentation: a perpetually unpopular topic 130
2 Types of documents 131
2.1 Programming vs. software design 131
2.2 What is a document? 132
2.3 Are computer programs self-documenting? 133
2.4 Internal documentation vs. separate documents 133
2.5 Models vs. documents 134
2.6 Design documents vs. introductory documentation 134
2.7 Specifications vs. other descriptions 135
2.8 Extracted documents 136
3 Roles played by documents in development 137
3.1 Design through documentation 137
3.2 Documentation based design reviews 137
3.3 Documentation based code inspections 137
3.4 Documentation based revisions 137
3.5 Documentation in contracts 138
3.6 Documentation and attributing blame 138
3.7 Documentation and compatibility 138
4 Costs and benefits of software documentation 138
5 Considering readers and writers 140
6 What makes design documentation good? 141
6.1 Accuracy 141
6.2 Unambiguous 141
6.3 Completeness 142
6.4 Ease of access 142
7 Documents and mathematics 142
7.1 Documents are predicates 142
7.2 Mathematical definitions of document contents 143
7.3 Using mathematics in documents 143
8 The most important software design documents 143
8.1 Requirements documentation 144
8.2 Software component interface documents 146
8.3 Program function documents 147
8.4 Module internal design documents 147
8.5 Documenting nondeterminism 148
8.6 Additional documents 148
9 Tabular expressions for documentation 149
10 Summary and Outlook 151
References 151
Empirically Driven Software Engineering Research 154
Component-based Construction of Heterogeneous Real-time Systems in BIP 155
Computer Science: A Historical Perspective and a Current Assessment 156
Internet Evolutionand the Role of Software Engineering 157
1 Introduction 157
2 The “classic” Internet architecture 158
3 The real Internet 160
3.1 Network management and operations 160
3.2 Middleboxes 160
3.3 Network and transport layers 161
3.4 Middleware and applications 163
3.5 Principles and priorities 164
4 Internet trends and evolution 166
4.1 Trends in practical networking 166
4.2 Trends in networking research 166
4.3 Prospects for evolution 167
5 A pattern for network architecture 168
5.1 Definition of an overlay 168
5.2 Private subnetworks 169
5.3 Mobility and multihoming 170
5.4 Overlay composition 171
6 Research challenges, from the top down 172
6.1 Overlay organization 172
6.2 Overlay interaction 172
6.3 Communication primitives 173
6.4 Security 174
7 Conclusions 175
Acknowledgment 175
References 175
Mining Specifications: A Roadmap 178
1 Introduction 178
2 The Problem 180
3 Mining Programs 181
4 Learning from Usage 183
5 A Hierarchy of Abstractions 184
6 Conclusion and Consequences 185
References 187
Greetings to Bertrand on the Occasion of his Sixtieth Birthday 188
Author Index 190

Erscheint lt. Verlag 20.10.2010
Zusatzinfo VII, 185 p.
Verlagsort Berlin
Sprache englisch
Themenwelt Mathematik / Informatik Informatik
Schlagworte software architecture • Software engineering • Software Verification • Systems Design • Systems Specification
ISBN-10 3-642-15187-6 / 3642151876
ISBN-13 978-3-642-15187-3 / 9783642151873
Informationen gemäß Produktsicherheitsverordnung (GPSR)
Haben Sie eine Frage zum Produkt?
PDFPDF (Wasserzeichen)

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich

von Herbert Voß

eBook Download (2025)
Lehmanns Media (Verlag)
CHF 19,50
Management der Informationssicherheit und Vorbereitung auf die …

von Michael Brenner; Nils gentschen Felde; Wolfgang Hommel …

eBook Download (2024)
Carl Hanser Fachbuchverlag
CHF 68,35