Language Engineering and Rigorous Software Development


Book Description

This book offers three lectures on type theory from the 2008 International LerNet ALFA Summer School on Language Engineering and Rigorous Software Development: an introductory tutorial, an introduction to dependent types, and one on type-based termination.




Rigorous Software Development


Book Description

The use of mathematical methods in the development of software is essential when reliable systems are sought; in particular they are now strongly recommended by the official norms adopted in the production of critical software. Program Verification is the area of computer science that studies mathematical methods for checking that a program conforms to its specification. This text is a self-contained introduction to program verification using logic-based methods, presented in the broader context of formal methods for software engineering. The idea of specifying the behaviour of individual software components by attaching contracts to them is now a widely followed approach in program development, which has given rise notably to the development of a number of behavioural interface specification languages and program verification tools. A foundation for the static verification of programs based on contract-annotated routines is laid out in the book. These can be independently verified, which provides a modular approach to the verification of software. The text assumes only basic knowledge of standard mathematical concepts that should be familiar to any computer science student. It includes a self-contained introduction to propositional logic and first-order reasoning with theories, followed by a study of program verification that combines theoretical and practical aspects - from a program logic (a variant of Hoare logic for programs containing user-provided annotations) to the use of a realistic tool for the verification of C programs (annotated using the ACSL specification language), through the generation of verification conditions and the static verification of runtime errors.




Rigorous Software Engineering for Service-Oriented Systems


Book Description

Service-oriented computing is a paradigm for developing software addressing key contemporary IT challenges. The result of the SENSORIA project, this book presents a novel and comprehensive approach to designing, analyzing and implementing SO applications.




Model-Based Engineering with AADL


Book Description

Conventional build-then-test practices are making today’s embedded, software-reliant systems unaffordable to build. In response, more than thirty leading industrial organizations have joined SAE (formerly, the Society of Automotive Engineers) to define the SAE Architecture Analysis & Design Language (AADL) AS-5506 Standard, a rigorous and extensible foundation for model-based engineering analysis practices that encompass software system design, integration, and assurance. Using AADL, you can conduct lightweight and rigorous analyses of critical real-time factors such as performance, dependability, security, and data integrity. You can integrate additional established and custom analysis/specification techniques into your engineering environment, developing a fully unified architecture model that makes it easier to build reliable systems that meet customer expectations. Model-Based Engineering with AADL is the first guide to using this new international standard to optimize your development processes. Coauthored by Peter H. Feiler, the standard’s author and technical lead, this introductory reference and tutorial is ideal for self-directed learning or classroom instruction, and is an excellent reference for practitioners, including architects, developers, integrators, validators, certifiers, first-level technical leaders, and project managers. Packed with real-world examples, it introduces all aspects of the AADL notation as part of an architecture-centric, model-based engineering approach to discovering embedded software systems problems earlier, when they cost less to solve. Throughout, the authors compare AADL to other modeling notations and approaches, while presenting the language via a complete case study: the development and analysis of a realistic example system through repeated refinement and analysis. Part One introduces both the AADL language and core Model-Based Engineering (MBE) practices, explaining basic software systems modeling and analysis in the context of an example system, and offering practical guidelines for effectively applying AADL. Part Two describes the characteristics of each AADL element, including their representations, applicability, and constraints. The Appendix includes comprehensive listings of AADL language elements, properties incorporated in the AADL standard, and a description of the book’s example system.




Knowledge Engineering and Management


Book Description

Proceedings of the Sixth International Conference on Intelligent System and Knowledge Engineering presents selected papers from the conference ISKE 2011, held December 15-17 in Shanghai, China. This proceedings doesn’t only examine original research and approaches in the broad areas of intelligent systems and knowledge engineering, but also present new methodologies and practices in intelligent computing paradigms. The book introduces the current scientific and technical advances in the fields of artificial intelligence, machine learning, pattern recognition, data mining, information retrieval, knowledge-based systems, knowledge representation and reasoning, multi-agent systems, natural-language processing, etc. Furthermore, new computing methodologies are presented, including cloud computing, service computing and pervasive computing with traditional intelligent methods. The proceedings will be beneficial for both researchers and practitioners who want to utilize intelligent methods in their specific research fields. Dr. Yinglin Wang is a professor at the Department of Computer Science and Engineering, Shanghai Jiao Tong University, China; Dr. Tianrui Li is a professor at the School of Information Science and Technology, Southwest Jiaotong University, China.




Trustworthy Cyber-Physical Systems Engineering


Book Description

Focuses on various issues related to engineering trustworthy cyber-physical systems Contributes to the improved understanding of system concepts and standardization, and presents a research roadmap Emphasizes tool-supported methods, and focuses on practical issues faced by practitioners Covers the experience of deploying advanced system engineering methods in industry Includes contributions from leading international experts Offers supplementary material on the book website: http://research.nii.ac.jp/tcps/




Software Metrics


Book Description

PART I: FUNDAMENTALS OF MEASUREMENT AND EXPERIMENTATION 1. Measurement: What Is It and Why Do It? 2. The Basics of Measurement 3. A Goal-Based Framework for Software Measurement 4. Empirical Investigation 5. Software Metrics Data Collection 6. Analyzing Software-Measurement Data PART II: SOFTWARE-ENGINEERING MEASUREMENT 7. Measuring Internal Product Attributes: Size 8. Measuring Internal Product Attributes: Structure 9. Measuring Internal Product Attributes 10. Software Reliability: Measurement and Prediction 11. Resource Measurement: Productivity, Teams, and Tools 12. Making Process Predictions PART III: MEASUREMENT AND MANAGEMENT 13. Planning a Measurement Program 14. Measurement in Practice 15. Empirical Research in Software Engineering APPENDIXES: A. Solutions to Selected Exercises / B. Metric Tools / C. Acronyms and Glossary / ANNOTATED BIBLIOGRAPHY / INDEX




Computing Handbook


Book Description

The first volume of this popular handbook mirrors the modern taxonomy of computer science and software engineering as described by the Association for Computing Machinery (ACM) and the IEEE Computer Society (IEEE-CS). Written by established leading experts and influential young researchers, it examines the elements involved in designing and implementing software, new areas in which computers are being used, and ways to solve computing problems. The book also explores our current understanding of software engineering and its effect on the practice of software development and the education of software professionals.




Central European Functional Programming School


Book Description

This volume presents the revised lecture notes of selected talks given at the Fourth Central European Functional Programming School, CEFP 2011, held in June 2011 in Budapest, Hungary. The 11 revised full papers presented were carefully reviewed by experts on functional programming and revised based on the reviews. The lectures cover a wide range of distributed and multicore functional programming subjects. The last 2 papers are selected papers of the PhD Workshop organized for the participants of the summer school.




Logic, Computation and Rigorous Methods


Book Description

This Festschrift was published in honor of Egon Börger on the occasion of his 75th birthday. It acknowledges Prof. Börger's inspiration as a scientist, author, mentor, and community organizer. Dedicated to a pioneer in the fields of logic and computer science, Egon Börger's research interests are unusual in scope, from programming languages to hardware architectures, software architectures, control systems, workflow and interaction patterns, business processes, web applications, and concurrent systems. The 18 invited contributions in this volume are by leading researchers in the areas of software engineering, programming languages, business information systems, and computer science logic.