As more and more information is being computerized, it is becoming harder and harder to share. When everything was on paper, people could read reports written by other people working in the same profession. But when everything is in the computer, it cannot be read without software that is compatible with the software that produced it. For highly structured information in databases and knowledge bases, the problem is getting worse. Even with identical software, the information cannot be used without a precise specification of its structure and meaning. Further progress in sharing and integrating information depends on formal methods for specifying meaning. This book reports on a project that addresses that problem: it adopts a formal language for specifying meaning as the central focus for systems analysis, design, and development. The formalism is conceptual graphs - a system of logic with a graphical representation that has a direct mapping to and from natural languages. As part of the project, the authors have studied a variety of notations and metho- dologies that are being used for database design and systems analysis. They show how conceptual graphs can be used as a unifying language that can be translated to and from the other notations. Unlike older systems of logic, such as predicate calculus, conceptual graphs are a highly readable form of logic that clarifies rather than obscures the underlying relationships.