Formal Methods for Software Architectures


Book Description

In the past ten years or so, software architecture has emerged as a central notion in the development of complex software systems. Software architecture is now accepted in the software engineering research and development community as a manageable and meaningful abstraction of the system under development and is applied throughout the software development life cycle, from requirements analysis and validation, to design and down to code and execution level. This book presents the tutorial lectures given by leading authorities at the Third International School on Formal Methods for the Design of Computer, Communication and Software Systems, SFM 2003, held in Bertinoro, Italy, in September 2003. The book is ideally suited for advanced courses on software architecture as well as for ongoing education of software engineers using formal methods in their day-to-day professional work.




Formal Methods in Architecture


Book Description

This edited book gathers research studies presented at the 5th International Symposium on Formal Methods in Architecture (5FMA), Lisbon 2020. Studies focus on the use of methodologies, especially those that have witnessed recent developments, that stem from the mathematical and computer sciences and are developed in a collaborative way with architecture and related fields. This book constitutes a contribution to the debate and to the introduction of new methodologies and tools in the mentioned fields that derive from the application of formal methods in the creation of new explicit languages for problem-solving in architecture and urbanism. It adds valuable insight into the development of new practices solving identified societal problems and promoting the digital transformation of institutions in the mentioned fields. The primary audience of this book will be from the fields of architecture, urban planning, civil engineering, AEC, landscape design, computer sciences and mathematics, both academicians and professionals.




Formal Methods in Architecture and Urbanism


Book Description

The book promotes the use of formal methods in the creation of new explicit languages for problem solving in architecture and urbanism. Formal methods bring advantages to human actions and involve the use of theoretically driven techniques, expressed in languages stemmed from mathematics. Formalization seeks to guarantee that solutions for daily problems are produced in a manner that ensures their greatest possible adequacy and the least test time in direct confrontation with reality. This book contributes to the progress of formalization in architectural methodologies by finding points of convergence between state of the art research on ontologies in architecture, BIM/VDC, CAD/CAM, cellular automata, GIS, parametric processes, processing and space syntax presented within the 3rd Symposium of Formal Methods in Architecture. The contents reach from millennial geometry to current shape grammars, engaging several formal approaches to architecture and urbanism, with different points of view, fields of application, grades of abstraction and formalization.




Software Architecture


Book Description

Introduction. Architectural styles. Case studies. Shared information systems. Architectural design guidance. Formal models and specifications. Linguistics issues. Tools for architectural design. Education of software architects.




Relating Software Requirements and Architectures


Book Description

Why have a book about the relation between requirements and software architecture? Understanding the relation between requirements and architecture is important because the requirements, be they explicit or implicit, represent the function, whereas the architecture determines the form. While changes to a set of requirements may impact on the realization of the architecture, choices made for an architectural solution may impact on requirements, e.g., in terms of revising functional or non-functional requirements that cannot actually be met. Although research in both requirements engineering and software architecture is quite active, it is in their combination that understanding is most needed and actively sought. Presenting the current state of the art is the purpose of this book. The editors have divided the contributions into four parts: Part 1 “Theoretical Underpinnings and Reviews” addresses the issue of requirements change management in architectural design through traceability and reasoning. Part 2 “Tools and Techniques” presents approaches, tools, and techniques for bridging the gap between software requirements and architecture. Part 3 “Industrial Case Studies” then reports industrial experiences, while part 4 on “Emerging Issues” details advanced topics such as synthesizing architecture from requirements or the role of middleware in architecting for non-functional requirements. The final chapter is a conclusions chapter identifying key contributions and outstanding areas for future research and improvement of practice. The book is targeted at academic and industrial researchers in requirements engineering or software architecture. Graduate students specializing in these areas as well as advanced professionals in software development will also benefit from the results and experiences presented in this volume.




A Philosophy of Software Design


Book Description




Formal Methods in Architecture and Urbanism, Volume 2


Book Description

This volume contributes to the debate on the application, in the disciplines of architecture and urbanism, of new formal methods and methodological advances based on tools from mathematics. From millennial geometry to current shape grammars, several formal approaches to architecture and urbanism are presented here, in order to look at the potentials and purposes of these formal methods, both those on the horizon and those already accomplished. This book promotes the use of formal methods in the creation of new explicit languages for problem-solving in the field. This collection of papers will help students, academics, researchers, and practitioners developing formal methods towards the digitalization of the architecture and urbanism sector.




Documenting Software Architectures


Book Description

Software architecture—the conceptual glue that holds every phase of a project together for its many stakeholders—is widely recognized as a critical element in modern software development. Practitioners have increasingly discovered that close attention to a software system’s architecture pays valuable dividends. Without an architecture that is appropriate for the problem being solved, a project will stumble along or, most likely, fail. Even with a superb architecture, if that architecture is not well understood or well communicated the project is unlikely to succeed. Documenting Software Architectures, Second Edition, provides the most complete and current guidance, independent of language or notation, on how to capture an architecture in a commonly understandable form. Drawing on their extensive experience, the authors first help you decide what information to document, and then, with guidelines and examples (in various notations, including UML), show you how to express an architecture so that others can successfully build, use, and maintain a system from it. The book features rules for sound documentation, the goals and strategies of documentation, architectural views and styles, documentation for software interfaces and software behavior, and templates for capturing and organizing information to generate a coherent package. New and improved in this second edition: Coverage of architectural styles such as service-oriented architectures, multi-tier architectures, and data models Guidance for documentation in an Agile development environment Deeper treatment of documentation of rationale, reflecting best industrial practices Improved templates, reflecting years of use and feedback, and more documentation layout options A new, comprehensive example (available online), featuring documentation of a Web-based service-oriented system Reference guides for three important architecture documentation languages: UML, AADL, and SySML




Software Engineering and Formal Methods. SEFM 2020 Collocated Workshops


Book Description

This volume constitutes the revised selected papers from the three workshops collocated with the 18th International Conference on Software Engineering and Formal Methods, SEFM 2020, held in Amsterdam, The Netherlands, in September 2020. The 15 full papers presented together with 8 short papers in this volume were carefully reviewed and selected from a total of 35 submissions. The contributions that are collected in this volume have been selected from the presentations at the following workshops: ASYDE 2020: Second International Workshop on Automated and Verifiable Software System Development; CIFMA 2020: Second International Workshop on Cognition: Interdisciplinary Foundations, Models and Applications; and CoSim-CPS 2020: Fourth International Workshop on Formal Co-Simulation of Cyber-Physical Systems. Due to the Corona pandemic this event was held virtually.




Software Architecture


Book Description

Software architecture is a primary factor in the creation and evolution of virtually all products involving software. It is a topic of major interest in the research community where pronusmg formalisms, processes, and technologies are under development. Architecture is also of major interest in industry because it is recognized as a significant leverage point for manipulating such basic development factors as cost, quality, and interval. Its importance is attested to by the fact that there are several international workshop series as well as major conference sessions devoted to it. The First Working IFIP Conference on Software Architecture (WICSAl) provided a focused and dedicated forum for the international software architecture community to unify and coordinate its effort to advance the state of practice and research. WICSA 1 was organized to facilitate information exchange between practising software architects and software architecture researchers. The conference was held in San Antonio, Texas, USA, from February 22nd to February 24th, 1999; it was the initiating event for the new IFIP TC-2 Working Group on Software Architecture. This proceedings document contains the papers accepted for the conference. The papers in this volume comprise both experience reports and technical papers. The proceedings reflect the structure of the conference and are divided into six sections corresponding to the working groups established for the conference.