Ernst Denert Award for Software Engineering 2019


Book Description

This open access book provides an overview of the dissertations of the five nominees for the Ernst Denert Award for Software Engineering in 2019. The prize, kindly sponsored by the Gerlind & Ernst Denert Stiftung, is awarded for excellent work within the discipline of Software Engineering, which includes methods, tools and procedures for better and efficient development of high quality software. An essential requirement for the nominated work is its applicability and usability in industrial practice. The book contains five papers describing the works by Sebastian Baltes (U Trier) on Software Developers’Work Habits and Expertise, Timo Greifenberg’s thesis on Artefaktbasierte Analyse modellgetriebener Softwareentwicklungsprojekte, Marco Konersmann’s (U Duisburg-Essen) work on Explicitly Integrated Architecture, Marija Selakovic’s (TU Darmstadt) research about Actionable Program Analyses for Improving Software Performance, and Johannes Späth’s (Paderborn U) thesis on Synchronized Pushdown Systems for Pointer and Data-Flow Analysis – which actually won the award. The chapters describe key findings of the respective works, show their relevance and applicability to practice and industrial software engineering projects, and provide additional information and findings that have only been discovered afterwards, e.g. when applying the results in industry. This way, the book is not only interesting to other researchers, but also to industrial software professionals who would like to learn about the application of state-of-the-art methods in their daily work.




Ernst Denert Award for Software Engineering 2019


Book Description

This open access book provides an overview of the dissertations of the five nominees for the Ernst Denert Award for Software Engineering in 2019. The prize, kindly sponsored by the Gerlind & Ernst Denert Stiftung, is awarded for excellent work within the discipline of Software Engineering, which includes methods, tools and procedures for better and efficient development of high quality software. An essential requirement for the nominated work is its applicability and usability in industrial practice. The book contains five papers describing the works by Sebastian Baltes (U Trier) on Software Developers'Work Habits and Expertise, Timo Greifenberg's thesis on Artefaktbasierte Analyse modellgetriebener Softwareentwicklungsprojekte, Marco Konersmann's (U Duisburg-Essen) work on Explicitly Integrated Architecture, Marija Selakovic's (TU Darmstadt) research about Actionable Program Analyses for Improving Software Performance, and Johannes Späth's (Paderborn U) thesis on Synchronized Pushdown Systems for Pointer and Data-Flow Analysis - which actually won the award. The chapters describe key findings of the respective works, show their relevance and applicability to practice and industrial software engineering projects, and provide additional information and findings that have only been discovered afterwards, e.g. when applying the results in industry. This way, the book is not only interesting to other researchers, but also to industrial software professionals who would like to learn about the application of state-of-the-art methods in their daily work.




Ernst Denert Award for Software Engineering 2022


Book Description

Zusammenfassung: This open access book provides an overview of the dissertations of the five nominees for the Ernst Denert Award for Software Engineering in 2022. The prize, kindly sponsored by the Gerlind & Ernst Denert Stiftung, is awarded for excellent work within the discipline of Software Engineering, which includes methods, tools and procedures for better and efficient development of high quality software. An essential requirement for the nominated work is its applicability and usability in industrial practice. The book contains five papers that describe the works by Jannik Fischbach (Netlight Consulting GmbH and fortiss GmbH), who won the award, entitled Conditional Statements in Requirements Artifacts: Logical Interpretation, Use Cases for Automated Software Engineering, and Fine-Grained Extraction, Christian Kirchhof's (RWTH Aachen University) From Design to Reality: An Overview of the MontiThings Ecosystem for Model-Driven IoT Applications, Sven Peldszus's (Ruhr University Bochum) research about Security Compliance in Model-driven Development of Software Systems in Presence of Long-Term Evolution and Variants, Florian Rademacher's (RWTH Aachen University) work on Model-Driven Engineering of Microservice Architectures, and Alexander Trautsch's (University of Passau) Usefulness of Automatic Static Analysis Tools: Evidence from Four Case Studies. The chapters describe key findings of the respective works, show their relevance and applicability to practice and industrial software engineering projects, and provide additional information and findings that have only been discovered afterwards, e.g. when applying the results in industry. This way, the book is not only interesting to other researchers, but also to industrial software professionals who would like to learn about the application of state-of-the-art methods in their daily work.




Ernst Denert Award for Software Engineering 2020


Book Description

This open access book provides an overview of the dissertations of the eleven nominees for the Ernst Denert Award for Software Engineering in 2020. The prize, kindly sponsored by the Gerlind & Ernst Denert Stiftung, is awarded for excellent work within the discipline of Software Engineering, which includes methods, tools and procedures for better and efficient development of high quality software. An essential requirement for the nominated work is its applicability and usability in industrial practice. The book contains eleven papers that describe the works by Jonathan Brachthäuser (EPFL Lausanne) entitled What You See Is What You Get: Practical Effect Handlers in Capability-Passing Style, Mojdeh Golagha's (Fortiss, Munich) thesis How to Effectively Reduce Failure Analysis Time?, Nikolay Harutyunyan's (FAU Erlangen-Nürnberg) work on Open Source Software Governance, Dominic Henze's (TU Munich) research about Dynamically Scalable Fog Architectures, Anne Hess's (Fraunhofer IESE, Kaiserslautern) work on Crossing Disciplinary Borders to Improve Requirements Communication, Istvan Koren's (RWTH Aachen U) thesis DevOpsUse: A Community-Oriented Methodology for Societal Software Engineering, Yannic Noller's (NU Singapore) work on Hybrid Differential Software Testing, Dominic Steinhofel's (TU Darmstadt) thesis entitled Ever Change a Running System: Structured Software Reengineering Using Automatically Proven-Correct Transformation Rules, Peter Wägemann's (FAU Erlangen-Nürnberg) work Static Worst-Case Analyses and Their Validation Techniques for Safety-Critical Systems, Michael von Wenckstern's (RWTH Aachen U) research on Improving the Model-Based Systems Engineering Process, and Franz Zieris's (FU Berlin) thesis on Understanding How Pair Programming Actually Works in Industry: Mechanisms, Patterns, and Dynamics--which actually won the award. The chapters describe key findings of the respective works, show their relevance and applicability to practice and industrial software engineering projects, and provide additional information and findings that have only been discovered afterwards, e.g. when applying the results in industry. This way, the book is not only interesting to other researchers, but also to industrial software professionals who would like to learn about the application of state-of-the-art methods in their daily work.




Pivotal Certified Professional Core Spring 5 Developer Exam


Book Description

Pass the Pivotal Certified Professional exam for Core Spring, based on the latest Spring Framework 5, using source code examples, study summaries, and mock exams. This book now includes WebFlux, reactive programming, and more found in Spring 5. You'll find a descriptive overview of certification-related Spring modules and a single example application demonstrating the use of all required Spring modules. Furthermore, in Pivotal Certified Professional Core Spring 5 Developer Exam, Second Edition, each chapter contains a brief study summary and question set, and the book’s free downloadable source code package includes one mock exam (50 questions – like a real exam). After using this study guide, you will be ready to take and pass the Pivotal Certified Professional exam. When you become Pivotal Certified, you will have one of the most valuable credentials in Java. Pivotal certification helps you advance your skills and your career, and get the maximum benefit from Spring. Passing the exam demonstrates your understanding of Spring and validates your familiarity with: container-basics, aspect oriented programming (AOP), data access and transactions, Spring Security, Spring Boot, microservices, and Spring model-view-controller (MVC). Good luck! What You Will Learn Understand the core principles of Spring Framework 5Use dependency injectionWork with aspects in Spring and do AOP (aspect oriented programming)Control transactional behavior and work with SQL and NoSQL databasesCreate and secure web applications based on Spring MVCGet to know the format of the exam and the type of questions in itCreate Spring microservices applications Who This Book Is For Spring developers who have taken the Pivotal Core Spring class are eligible to take the Pivotal Certified Professional exam.




Service-Oriented Architecture


Book Description

The Top-Selling, De Facto Guide to SOA--Now Updated with New Content and Coverage of Microservices! For more than a decade, Thomas Erl’s best-selling Service-Oriented Architecture: Concepts, Technology, and Design has been the definitive end-to-end tutorial on SOA, service-orientation, and service technologies. Now, Erl has thoroughly updated the industry’s de facto guide to SOA to reflect new practices, technologies, and strategies that have emerged through hard-won experience and creative innovation. This Second Edition officially introduces microservices and micro task abstraction as part of service-oriented architecture and its associated service layers. Updated case study examples and illustrations further explain and position the microservice model alongside and in relation to more traditional types of services. Coverage includes: • Easy-to-understand, plain English explanations of SOA and service-orientation fundamentals (as compiled from series titles) • Microservices, micro task abstraction, and containerization • Service delivery lifecycle and associated phases • Analysis and conceptualization of services and microservices • Service API design with REST services, web services, and microservices • Modern service API and contract versioning techniques for web services and REST services • Up-to-date appendices with service-orientation principles, REST constraints, and SOA patterns (including three new patterns) Service-Oriented Architecture: Analysis and Design for Services and Microservices, Second Edition, will be indispensable to application architects, enterprise architects, software developers, and any IT professionals interested in learning about or responsible for designing or implementing modern-day, service-oriented solutions. Chapter 1: Introduction Chapter 2: Case Study Backgrounds Part I: Fundamentals Chapter 3: Understanding Service-Orientation Chapter 4: Understanding SOA Chapter 5: Understanding Layers with Services and Microservices Part II: Service-Oriented Analysis and Design Chapter 6: Analysis and Modeling with Web Services and Microservices Chapter 7: Analysis and Modeling with REST Services and Microservices Chapter 8: Service API and Contract Design with Web Services Chapter 9: Service API and Contract Design with REST Services and Microservices Chapter 10: Service API and Contract Versioning with Web Services and REST Services Part III: Appendices Appendix A: Service-Orientation Principles Reference Appendix B: REST Constraints Reference Appendix C: SOA Design Patterns Reference Appendix D: The Annotated SOA Manifesto




Interaction Flow Modeling Language


Book Description

Interaction Flow Modeling Language describes how to apply model-driven techniques to the problem of designing the front end of software applications, i.e., the user interaction. The book introduces the reader to the novel OMG standard Interaction Flow Modeling Language (IFML). Authors Marco Brambilla and Piero Fraternali are authors of the IFML standard and wrote this book to explain the main concepts of the language. They effectively illustrate how IFML can be applied in practice to the specification and implementation of complex web and mobile applications, featuring rich interactive interfaces, both browser based and native, client side components and widgets, and connections to data sources, business logic components and services. Interaction Flow Modeling Language provides you with unique insight into the benefits of engineering web and mobile applications with an agile model driven approach. Concepts are explained through intuitive examples, drawn from real-world applications. The authors accompany you in the voyage from visual specifications of requirements to design and code production. The book distills more than twenty years of practice and provides a mix of methodological principles and concrete and immediately applicable techniques. Learn OMG’s new IFML standard from the authors of the standard with this approachable reference Introduces IFML concepts step-by-step, with many practical examples and an end-to-end case example Shows how to integrate IFML with other OMG standards including UML, BPMN, CWM, SoaML and SysML Discusses how to map models into code for a variety of web and mobile platforms and includes many useful interface modeling patterns and best practices




Software Pioneers


Book Description

A lucid statement of the philosophy of modular programming can be found in a 1970 textbook on the design of system programs by Gouthier and Pont [1, l Cfl0. 23], which we quote below: A well-defined segmentation of the project effort ensures system modularity. Each task fonos a separate, distinct program module. At implementation time each module and its inputs and outputs are well-defined, there is no confusion in the intended interface with other system modules. At checkout time the in tegrity of the module is tested independently; there are few sche duling problems in synchronizing the completion of several tasks before checkout can begin. Finally, the system is maintained in modular fashion; system errors and deficiencies can be traced to specific system modules, thus limiting the scope of detailed error searching. Usually nothing is said about the criteria to be used in dividing the system into modules. This paper will discuss that issue and, by means of examples, suggest some criteria which can be used in decomposing a system into modules. A Brief Status Report The major advancement in the area of modular programming has been the development of coding techniques and assemblers which (1) allow one modu1e to be written with little knowledge of the code in another module, and (2) alJow modules to be reas sembled and replaced without reassembly of the whole system.




On a Method of Multiprogramming


Book Description

Here, the authors propose a method for the formal development of parallel programs - or multiprograms as they prefer to call them. They accomplish this with a minimum of formal gear, i.e. with the predicate calculus and the well- established theory of Owicki and Gries. They show that the Owicki/Gries theory can be effectively put to work for the formal development of multiprograms, regardless of whether these algorithms are distributed or not.




Rhetorical Code Studies


Book Description

An exploration of software code as meaningful communication through which amateur and professional software developers construct arguments--Winner of the 2017 DRC Book Prize!