Ivers, JamesOverview
Most widely held works by
James Ivers
Documenting software architectures : views and beyond
(
Book
)
2 editions published between 2007 and 2011 in English and held by 2 libraries worldwide <I> & ldquo;This new edition is brighter, shinier, more complete, more pragmatic, more focused than the previous one, and I wouldn & rsquo;t have thought it possible to improve on the original. As the field of software architecture has grown over these past decades, there is much more to be said, much more that we know, and much more that we can reflect upon of what & rsquo;s worked and what hasn & rsquo;t & mdash;and the authors here do all that, and more. & rdquo;</i> <p style="margin: 0px;"> & mdash;From the Foreword by Grady Booch, IBM Fellow</p> <p style="margin: 0px;">€</p>Software architecture & mdash;the conceptual glue that holds every phase of a project together for its many stakeholders & mdash;is widely recognized as a critical element in modern software development. Practitioners have increasingly discovered that close attention to a software system & rsquo;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. <p style="margin: 0px;">€</p> <p style="margin: 0px;"><b><i>Documenting Software Architectures, Second Edition, </i></b> 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:</p> <p style="margin: 0px;">€</p> <ul><li>Coverage of architectural styles such as service-oriented architectures, multi-tier architectures, and data models</li><li>Guidance for documentation in an Agile development environment</li><li>Deeper treatment of documentation of rationale, reflecting best industrial practices</li><li>Improved templates, reflecting years of use and feedback, and more documentation layout options</li><li>A new, comprehensive example (available online), featuring documentation of a Web-based service-oriented system</li><li>Reference guides for three important architecture documentation languages: UML, AADL, and SySML</li></ul>
Documenting Component and Connector Views with UML 2.0
(
Book
)
2 editions published in 2004 in English and held by 2 libraries worldwide The widespread presence of the Unified Modeling Language (UML) has led practitioners to try to apply it when documenting software architectures. While early versions of UML have been adequate for documenting many kinds of architectural views, they have fallen somewhat short, particularly for documenting component and connector views. UML 2.0 has added a number of new constructs and modified some existing ones to address these problems. In this report, the authors explore how changes in this version affect UML's suitability as a notation for documenting component and connector views.
Results of SEI Independent Research and Development Projects
(
Book
)
1 edition published in 2009 in English and held by 1 library worldwide The Software Engineering Institute (SEI) annually undertakes several independent research and development (IRAD) projects. These projects serve to (1) support feasibility studies investigating whether further work by the SEI would be of potential benefit and (2) support further exploratory work to determine whether there is sufficient value in eventually funding the feasibility study work as an SEI initiative. Projects are chosen based on their potential to mature and/or transition software engineering practices, develop information that will help in deciding whether further work is worth funding, and set new directions for SEI work. This report describes the IRAD projects that were conducted during fiscal year 2009 (October 2008 through September 2009).
Documenting Software Architecture: Documenting Interfaces
(
Book
)
1 edition published in 2002 in English and held by 1 library worldwide This is the fourth in a series of SEI reports on documenting software architectures. This report details guidance for documenting the interfaces to software elements. It prescribes a standard organization (template) for recording semantic as well as syntactic information about an interface. Stakeholders of interface documentation are enumerated, available notations for specifying interfaces are described, and three examples are provided.
Documenting Software Architecture: Documenting Behavior
(
Book
)
1 edition published in 2002 in English and held by 1 library worldwide This report represents another milestone of a work in progress: a comprehensive handbook on how to produce high-quality documentation for software architectures. The handbook, tentatively titled Documenting Software Architectures, will be published in early 2002 by Addison-Wesley as part of the Software Engineering Institute (SEI) Series on Software Engineering. The book is intended to address a lack of language-independent guidance about how to capture an architecture in a written form that can provide a unified design vision to all of the stakeholders on a development project. A central precept of the book is that documenting an architecture entails two essential steps: 1) documenting the set of relevant views of that architecture and then completing the picture by 2) documenting information that transcends any single view. The book's audience is the community of practicing architects, apprentice architects, and developers who receive architectural documentation. This technical note describes ways to document an important but often overlooked aspect of software architecture: the behavior of systems, subsystems, and components.
Documenting Software Architectures: Organization of Documentation Package
(
Book
)
1 edition published in 2001 in English and held by 1 library worldwide This report represents a milestone of a work in progress. That work is a comprehensive handbook on how to produce high-quality documentation for software architectures. The handbook, tentatively entitled Documenting Software Architectures, will be published in early 2002 by Addison Wesley Longman as part of the SEI Series on Software Engineering. Since this report is a snapshot of current work, the material described here may change before the handbook is published. The theme of the report is that documenting an architecture entails documenting the set of relevant views of that architecture, and then completing the picture by documenting information that transcends any single view. The audience for Documenting Software Architectures is the community of practicing architects, apprentice architects, and developers who receive architectural documentation.
Certified Binaries for Software Components
(
Book
)
1 edition published in 2007 in English and held by 1 library worldwide Proof-carrying code (PCC) and certifying model checking (CMC) are two established paradigms for obtaining objective confidence in the runtime behavior of a program. PCC enables the certification of low-level binary code against relatively simple (e.g., memory-safety) policies. In contrast, CMC provides a way to certify a richer class of temporal logic policies, but is typically restricted to high-level (e.g., source) code. In this report, an approach is presented to certify binary code against expressive policies, and thereby achieve the benefits of both PCC and CMC. This approach generates certified binaries from software specifications in an automated manner. The specification language uses a subset of UML statecharts to specify component behavior and is compiled to the Pin component technology. The overall approach thus demonstrates that formal certification technology is compatible with, and can indeed exploit, model-driven approaches to software development. Moreover, this approach allows the developer to trust the code that is produced without having to trust the tools that produced it. In this report details of this approach are presented and experimental results on a collection of benchmarks are described.
Software Architecture Documentation in Practice: Documenting Architectural Layers
(
Book
)
1 edition published in 2000 in English and held by 1 library worldwide This report represents the first milestone of a work in progress. That work is a comprehensive handbook on how to produce high-quality documentation for software architectures. The handbook, tentatively entitled Software Architecture Documentation in Practice, will be published in mid- to late-2000 by Addison Wesley Longman as a book in the SE series on software engineering. Aimed squarely at the practitioner, the handbook is intended to fill a gap in the literature: There is a complete lack of language-independent guidance about how to actually capture an architecture in written form so that it can fulfill its purpose as a communication vehicle providing a unified design vision to all of the varied stakeholders of a development project. The theme of the work is that documenting an architecture entails documenting the set of relevant views of that architecture, and then completing the picture with documentation of information that transcends any single view. The report lays out our approach and organization for the complete book, and provides full guidance for one of the most commonly used architectural views: the layer diagram. The audience for this book is the community of practicing architects, apprentice architects, and developers who are on the receiving end of architectural documentation.
Lessons learned model checking an industrial communications library
by James Ivers
(
Book
)
1 edition published in 2005 in English and held by 1 library worldwide Abstract: "Model checking is a fully automated formal verification technology that can be used to determine whether models of software satisfy behavioral requirements in such areas as safety, reliability, and security. This report explores the packaging of model checking technology in a reasoning framework. The goal of a reasoning framework is to simplify the analysis of software designs by nonexperts. This report describes the application of such a reasoning framework to the design of an industrial communications library and the problems that were found. This report also notes the tasks that were unreasonably complex or time consuming and concludes with thoughts on techniques that could be used to develop a model checking reasoning framework that better supports use by nonexperts."
Lessons Learned Model Checking an Industrial Communications Library
(
Book
)
1 edition published in 2005 in English and held by 1 library worldwide Model checking is a fully automated formal verification technology that can be used to determine whether models of software satisfy behavioral requirements in such areas as safety, reliability, and security. This report explores the packaging of model checking technology in a reasoning framework. The goal of a reasoning framework is to simplify the analysis of software designs by nonexperts. This report describes the application of such a reasoning framework to the design of an industrial communications library and the problems that were found. This report also notes the tasks that were unreasonably complex or time consuming and concludes with thoughts on techniques that could be used to develop a model checking reasoning framework that better supports use by nonexperts.
Overview of ComFoRT: A Model Checking Reasoning Framework
(
Book
)
1 edition published in 2004 in English and held by 1 library worldwide Component technologies are gaining acceptance in the software community as effective tools to quickly assemble increasingly complex systems from components. Most of the current component technologies, however, fail to help developers predict important software qualities like performance, safety, and reliability. A prediction-enabled component technology (PECT) augments the capabilities of a component technology with one or more reasoning frameworks that package quality-specific analyses and the means to apply them to component-based systems. Model checking is an automated approach for exhaustively analyzing whether systems satisfy specific behavioral claims that can be used to characterize safety and reliability requirements. This technical note describes ComFoRT, a reasoning framework that packages the effectiveness of state-of-the-art model checking in a form that enables users to apply the analysis technique without being experts in its use, and its incorporation in a PECT.
Pin Component Technology (V1.0) and Its C Interface
(
Book
)
1 edition published in 2005 in English and held by 1 library worldwide Pin is a basic, simple component technology suitable for building embedded software applications. Pin implements the container idiom for software components. Containers provide a pre-fabricated "shell" in which custom code executes and through which all interactions between custom code and its external environment are mediated. Pin is a component technology for pure assembly -- systems are assembled by selecting components and connecting their interfaces (which are composed of communication channels called "pins"). This report describes the main concepts of Pin and documents the C-language interface to Pin V1.0.
Reasoning Frameworks
(
Book
)
1 edition published in 2005 in English and held by 1 library worldwide Determining whether a system will satisfy critical quality attribute requirements in areas such as performance, modifiability, and reliability is a complicated task that often requires the use of many complex theories and tools to arrive at reliable answers. This report describes a vehicle for encapsulating the quality attribute knowledge needed to understand a system's quality behavior as a reasoning framework that can be used by nonexperts. A reasoning framework includes the mechanisms needed to use sound analytic theories to analyze the behavior of a system with respect to some quality attribute. This report defines the elements of a reasoning framework and illustrates the reasoning framework concept by describing several reasoning frameworks and how they realize these elements.
Snapshot of CCL: A Language for Predictable Assembly
(
Book
)
1 edition published in 2003 in English and held by 1 library worldwide Construction and composition language (CCL) plays several roles in our approach to achieving automated predictable assembly. CCL is used to produce specifications that contain structural, behavioral, and analysis-specific information about component technologies, as well as components and assemblies in such technologies. These specifications are translated to one or more reasoning frameworks that analyze and predict the runtime properties of assemblies. CCL processors can also be used to automate many of the constructive activities of component-based development through various forms of program generation. Using a common specification for prediction and construction improves confidence that analysis models match implementations. This report presents a snapshot of CCL by examining a small example CCL specification.
Predictable Assembly of Substation Automation Systems: An Experiment Report Second Edition
(
Book
)
1 edition published in 2002 in English and held by 1 library worldwide The Predictable Assembly from Certifiable Components (PACC) Initiative at the Software Engineering Institute (SEISM) is developing methods and technologies for predictable assembly. A software development activity that builds systems from components is predictable if the runtime behavior of an assembly of components can be predicted from known properties of components and their patterns of interactions (connections), and if these predictions can be objectively validated. A component is certifiable if these known properties can be obtained or validated by independent third parties. The SEI's technical approach to PACC rests on prediction-enabled component technology (PECT). At the highest level, PECT is a scheme for systematic and repeatable integration of software component technology, software architecture technology, and design analysis and verification technology. This report describes the results of an exploratory PECT prototype for substation automation, an application area in the domain of power generation, transmission, and management. This report focuses primarily on the methodological aspects of PECT; the prototype itself was only a means to expose and illustrate the PECT method.
Documenting Software Architectures in an Agile World
(
Book
)
1 edition published in 2003 in English and held by 1 library worldwide This report compares the Software Engineering Institute's Views and Beyond approach for documenting software architectures with the documentation philosophy embodied in agile software-development methods. This report proposes an approach for capturing architecture information in a way that is consistent with agile methods.
Predictable Assembly of Substation Automation Systems: An Experiment Report
(
Book
)
1 edition published in 2002 in English and held by 1 library worldwide The Predictable Assembly from Certifiable Components (PACO) Initiative at the Software Engineering Institute (SEIsM) is developing methods and technologies for predictable assembly. A software development activity that builds systems from components is predictable if the runtime behavior of an assembly of components can be predicted from known properties of components and their patterns of interactions (connections), and if these predictions can be objectively validated. A component is certifiable if these known properties can be obtained or validated by independent third parties. The SE l's technical approach to PACC rests on prediction-enabled component technology (PECT). At the highest level, PECT is a scheme for systematic and repeatable integration of software component technology, software architecture technology, and design analysis and verification technology. This report describes the results of an exploratory PECT prototype for substation automation, an application area in the domain of power generation, transmission, and management. This report focuses primarily on the methodological aspects of PECT, the prototype itself was only a means to expose and illustrate the PECT method.
A Basis for Composition Language CL
(
Book
)
1 edition published in 2002 in English and held by 1 library worldwide CL is a composition language for predictable assembly from certifiable components. An application assembly process is predictable if the runtime behavior of an assembly of components can be predicted from known properties of components and their patterns of interaction. CL is similar to other composition languages that combine a component and connector style of description with a core compositional semantics specified in a process algebra. CL differs from these in its explicit treatment of details that are usually abstracted or ignored. For example, CL makes explicit the allocation of execution threads to component behavior:, this distinguishes concurrent from sequential behavior, and leads to potentially smaller state spaces as well as more accurate behavioral descriptions. This report describes the main concepts of CL and its rudimentary graphical syntax. This report also defines and illustrates the compositional semantics for CL using Hoare's CSP. The twin objectives of this report are to consolidate our current thinking about an ideal CL and to provide a starting point for the design of a practical and implementable CL. This report closes with a discussion of several open issues that must be resolved before this second objective can be satisfied.
Overview of ComFoRT : a model checking reasoning framework
by James Ivers
(
Book
)
1 edition published in 2004 in English and held by 1 library worldwide Abstract: "Component technologies are gaining acceptance in the software community as effective tools to quickly assemble increasingly complex systems from components. Most of the current component technologies, however, fail to help developers predict important software qualities like performance, safety, and reliability. A prediction-enabled component technology (PECT) augments the capabilities of a component technology with one or more reasoning frameworks that package quality-specific analyses and the means to apply them to component-based systems. Model checking is an automated approach for exhaustively analyzing whether systems satisfy specific behavioral claims that can be used to characterize safety and reliability requirements. This technical note describes ComFoRT, a reasoning framework that packages the effectiveness of state-of-the-art model checking in a form that enables users to apply the analysis technique without being experts in its use, and its incorporation in a PECT."
An application of geostatistics to ore reserve estimation
by James Ivers
(
Book
)
1 edition published in 1978 in English and held by 1 library worldwide more
fewer
Audience Level
Related IdentitiesAssociated Subjects
American loyalists Apthorp, Charles Ward Austin, Benjamin,--1752-1820 Austin, Jonathan Loring,--1748-1826 Component software Computer software--Quality control Computer software--Verification Engalitcheff, Suzanne Bransford Emery Holmes Delitch,--1859-1942 Geology--Statistical methods Keith, David Mines and mineral resources--Statistical methods Photographs Programming languages (Electronic computers) Software architecture Software engineering System design UML (Computer science)
|
Languages
Covers
|
|||||||||||||||
Related Identities