Software Blueprints: Lightweight Uses of Logic in Conceptual Modelling / Edition 1

Paperback (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $12.76
Usually ships in 1-2 business days
(Save 75%)
Other sellers (Paperback)
  • All (9) from $12.76   
  • New (3) from $41.03   
  • Used (6) from $24.00   
Close
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any BN.com coupons and promotions
$41.03
Seller since 2013

Feedback rating:

(84)

Condition:

New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.

New
PAPERBACK New 0201398192.

Ships from: San Mateo, CA

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
$60.00
Seller since 2014

Feedback rating:

(136)

Condition: New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
$92.11
Seller since 2014

Feedback rating:

(257)

Condition: New
Brand New Item.

Ships from: Chatham, NJ

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
Page 1 of 1
Showing All
Close
Sort by

Overview

Conceptual models are descriptions of our ideas about a problem, used to shape the implementation of a solution to it. Everyone who builds complex information systems uses such models - be they requirements analysts, knowledge modellers or software designers - but understanding of the pragmatics of model design tends to be informal and parochial. Lightweight uses of logic can add precision without destroying the intuitions we use to interpret our descriptions. Computing with logic allows us to make use of this precision in providing automated support tools. Modern information scientists need to know what these methods are for and may need to build their own. This book gives you a place to begin.
Read More Show Less

Editorial Reviews

Booknews
Robertson (informatics, U. of Edinburgh) and Agust<'i> (formal methods, Institute for Investigating Artificial Intelligence, Barcelona) were curious about that stage of software development that involves describing the system prior to actual specification. They found the process to be informal and largely intuitive, and explain how just a dash of systematic and formal thinking can tighten up the process without impeding its important function. Annotation c. Book News, Inc., Portland, OR (booknews.com)
Read More Show Less

Product Details

  • ISBN-13: 9780201398199
  • Publisher: Addison Wesley Professional
  • Publication date: 8/20/1999
  • Series: ACM Press Series
  • Edition number: 1
  • Pages: 240
  • Product dimensions: 7.66 (w) x 9.50 (h) x 0.67 (d)

Read an Excerpt

PREFACE: We wrote this book for a variety of reasons: to satisfy our curiosity; to challenge some existing preconceptions; to bring together areas of work which are traditionally separated; and for our own enjoyment. System design, in the large, involves many stages of description prior to the specification of the system itself. Opinions differ about what theses stages should be and surprisingly little is known about how they fit together – yet somehow (with widely differing degrees of success) groups of people manage to construct complex systems using all sorts of intermediate descriptions to help them understand their problem. We are curious about how this process works and whether parts of it can be understood more precisely. Our precision tools are logics, which too many people associate with an 'all or nothing' attitude to formal description. Faced with the choice of 'all' or the effort of understanding a comprehensive formal specification method of having 'nothing' to do with logic, most practising designers have chosen 'nothing'. It need not be so. We shall demonstrate that judicious use of logic in simple ways at strategic points in the description of a problem can be helpful, without requiring revolutionary change in work practices. We shall also demonstrate that appropriate use of logic makes it possible to introduce inference methods from the artificial intelligence and logic programming communities. This has a practical aim – to extend the armoury of designers – but a larger motivation is to emphasise the synergy between these areas of research. This book is also a blend of theoretical and applied research,reflecting the different backgrounds of the two authors. Much of our enjoyment has been in reconciling opinions shaped by these different cultures.

How to read this book
The aim of this book is to explain how systems of formal representation and automated reasoning may be applied to early stages of software design. Although much of the cost of design stems form difficulties at this level, this is new territory for many of those concerned with precision in design and requires a non-traditional view of what it means to build such systems. Traditionally, logics are used when we have a precisely understood problem. The goal is then to choose the most elegant mathematical framework in which to describe it. This book deals with problems which we cannot expect to understand precisely and where many mathematical frameworks could apply. Our goal is to support argument about what the problem is like and to support the construction of solutions to it. This shifts our emphasis from choice of logic to its appropriate use and communication.

Often the reason for modelling is automation. The forms of automation we describe are not well known so we want to work through them in detail using plausible, concrete examples. This is problematic because some of the technical details are distracting for people who have not seen that sort of thing before. Therefore, we have tried to reduce the density of formal definitions in the book by placing the more mundane material in supplementary world wide web (WWW) pages (...
Read More Show Less

Table of Contents

Foreword
Preface
How to read this book
Acknowledgements

Chapter 1 Introduction
1.1 A dream
1.2 Reality
1.3 Our corner of the problem
1.4 What you can learn from this book
1.5 The way we view conceptual modelling
1.5.1 Models of problems are not specifications of solutions
1.5.2 What we require of conceptual models
1.5.3 Lightweight use of formality
1.5.4 Our use of logic
1.5.5 The need for eclecticism

Chapter 2 Models in a design lifecycle
2.1 Requirements analysis
2.2 Choice of representational paradigms
2.2.1 Communication between divisions
2.2.2 Decision procedures within divisions
2.3 Model construction
2.3.1 Communication between divisions
2.3.2 Decision procedures within divisions
2.4 Validation and verification
2.4.1 Validation by analysing potential behaviours
2.4.2 Using our requirements to justify design decisions
2.5 Issues raised by our example
2.5.1 Argumentation networks
2.5.2 More extensive examples using operator models
2.5.3 Conceptual models in knowledge engineering
2.5.4 Model checking
Exercises

Chapter 3 Logic as a modelling language
3.1 Logics as frameworks for argument
3.2 The boundary problem
3.3 The search problem
3.4 Proof strategies
3.5 Describing proof strategies formally
3.6 Distinguishing proof rules from selection strategies
3.7 Knowing when two terms unify
3.8 The closed world assumption
3.9 Non-deductive patterns of inference
3.9.1 Abduction
3.9.2 Induction
3.10 Ontologies
3.11 Some properties of logical languages
3.11.1 Logical consequence
3.11.2 Correctness and completeness
3.11.3 Decidability
3.11.4 Correctness and completeness of arguments
3.12 Further reading
Exercises

Chapter 4 Communication
4.1 From domains to formal languages
4.1.1 An entity relationship diagram
4.1.2 A BSDM entity diagram
4.1.3 Lessons from the comparative analysis
4.1.4 Building an early model
4.1.5 Checking the consistency of the model
4.1.6 Lessons learned from more detailed modelling
4.2 From formal languages to domains
4.2.1 Visual formal expressions
4.2.2 Formal problem description by means of diagrams
4.3 The correspondence between logic and diagrams
Exercises

Chapter 5 Re-use of paradigms: parameterisable components
5.1 Worldwide web site generation
5.1.1 Problem description language (research group)
5.1.2 Parameterisable components (site pages)
5.1.3 Parameterisation system (simple instantiation)
5.1.4 Design generated (web site)
5.2 Rapid domain-specific model generation
5.2.1 Design generated (animal population model)
5.2.2 Parameterisable components (model fragments)
5.2.3 Problem description language (ecological conditions)
5.2.4 Parameterisation system (constrained generation)
5.3 Design endorsements
5.3.1 Problem description language (domain notations)
5.3.2 Design generated (shutdown specification)
5.3.3 Parameterisable components (shutdown segments)
5.3.4 Parameterisation system (design endorsement)
5.4 Costs and benefits
5.5 Further reading
Exercises

Chapter 6 Design processes inspired by formal methods
6.1 Constructing definitions by slices
6.1.1 Skeletons and additions
6.1.2 A techniques editor at work
6.2 Re-using part of an earlier definition
6.3 Using design histories when combining definitions
6.4 Issues raised by our example
6.4.1 Structured formal definition and transformation
6.4.2 Stripping structure from predicates
6.4.3 Case-based reasoning
Exercises

Chapter 7 Argumentation
7.1 Reasoning about sources of uncertainty
7.1.1 Reconstructing the model in logic
7.1.2 Reasoning about uncertainty in the model
7.2 Justifying design decisions
7.2.1 Data describing reserve sites
7.2.2 Formal requirements guidelines
7.2.3 Interactively constructing justifications
7.3 Accommodating the dynamics of argument in logic
7.3.1 An example of defeasible argumentation
7.3.2 An abstract argumentation framework
7.4 Further reading
Exercises

Chapter 8 Temporal reasoning
8.1 Reasoning with temporal intervals
8.2 Modal temporal logic
8.2.1 An example using a 'ticking clock' time sequence
8.2.2 A modal temporal logic for our example
8.2.3 Proofs in modal temporal logic
8.2.4 Other kinds of modal operators
8.3 Reasoning with temporal constraints
8.3.1 Determining when properties hold
8.3.2 Temporal constraint networks
8.4 Further reading
Exercises

Chapter 9 Syntax, semantics and pragmatics
9.1 Syntax
9.2 Semantics
9.2.1 Linguistic interpretation
9.2.2 A formal semantics for each modelling language
9.2.3 A formal semantics for all modelling languages
9.2.4 Semantics of a family of models within a lifecycle
9.3 Pragmatics

Chapter 10 Conclusion
10.1 A summary of our main arguments
10.2 Lightweight tools
10.3 Closing remarks
Appendix A Glossary
Appendix B Syntax of expressions
Appendix C Answers to exercises
References
Read More Show Less

Preface

We wrote this book for a variety of reasons: to satisfy our curiosity; to challenge some existing preconceptions; to bring together areas of work which are traditionally separated; and for our own enjoyment. System design, in the large, involves many stages of description prior to the specification of the system itself. Opinions differ about what these stages should be and surprisingly little is known about how they fit together - yet some-how (with widely differing degrees of success) groups of people manage to construct complex systems using all sorts of intermediate descriptions to help them understand their problem. We are curious about how this process works and whether parts of it can be understood more precisely. Our precision tools are logics, which too many people associate with an 'all or nothing' attitude to formal description. Faced with the choice of 'all' of the effort of understanding a comprehensive formal specification method or having 'nothing' to do with logic, most practising designers have chosen 'nothing'. It need not be so. We shall demonstrate that judicious use of logic in simple ways at strategic points in the description of a problem can be helpful, without requiring revolutionary change in work practices. We shall also demonstrate that appropriate use of logic makes it possible to introduce inference methods from the artificial intelligence and logic programming communities. This has a practical aim - to extend the armoury of designers - but a larger motivation is to emphasise the synergy between these areas of research. This book is also a blend of theoretical and applied research, reflecting the different backgrounds of the two authors. Much of our enjoyment has been in reconciling opinions shaped by these different cultures.

How to read this book
The aim of this book is to explain how systems of formal representation and automated reasoning may be applied to early stages of software design. Although much of the cost of design stems from difficulties at this level, this is new territory for many of those concerned with precision in design and requires a non-traditional view of what it means to build such systems. Traditionally, logics are used when we have a precisely understood problem. The goal is then to choose the most elegant mathematical framework in which to describe it. This book deals with problems which we cannot expect to understand precisely and where many mathematical frameworks could apply. Our goal is to support argument about what the problem is like and to support the construction of solutions to it. This shifts our emphasis from choice of logic to its appropriate use and communication.

Often the reason for modelling is automation. The forms of automation we describe are not well known so we want to work through them in detail using plausible, concrete examples. This is problematic because some of the technical details are distracting for people who have not seen that sort of thing before. Therefore, we have tried to reduce the density of formal definitions in the book by placing the more mundane material in supplementary Worldwide Web (WWW) pages. We have also concentrated on the operational aspects of the systems we describe rather than on the theoretical research which underpins them. The arrangement is summarised in the diagram below.

In the centre of the diagram, and supplying the backbone for our arguments, are the chapters of this book. We have allowed various routes through the material to suit those with different interests, starting (on the left) with the first chapter and following through the others to the conclusion (on the right). The block of chapters (4 to 7) may be read in any order. Chapter 8 is likely to be read only by those with a deeper interest in specialist logics, while Chapter 9 is to supply a broader view of the role of syntax, semantics and pragmatics in conceptual modelling.

At the lowest level of the diagram is the collection of WWW pages containing the details needed to complete our examples or to extend parts of the discussion. The appropriate 'jumping off' points in the book are indicated by a marker like this: Index , where Index is an identifier for the appropriate part of the WWW site. These pages currently are accessible from Addison Wesley Longman's WWW page for this book, although this arrangement could change as circumstances demand.

The highest level of the diagram shows a sample of the research topics which have influenced the content of this book. Viewed from this perspective, the book provides some windows onto much larger bodies of work which we have placed in the context of conceptual modelling. Many of these areas have yet to be explored in depth from this point of view and one of our aims is to help make this easier for you.

Don't be offended if we have omitted your favourite engineering method or lifecycle model. We have tried to avoid specific methods where possible - partly because of our own limited experience but chiefly because the issues of concern to us are more general. Your compensation for this is that we introduce concrete examples rapidly and can discuss them within a uniform framework which does not force you into a particular methodological slot. To help you navigate we have placed 'landmarks' as marginal notes. These are flagged differently according to general topic as follows:
* How to decide what best to do.
* How to get it done.
* How we describe what is done.

We hope that you will be motivated to build your own logical models. This skill is developed only through practice so we have included at the end of each chapter some short exercises to encourage you to strike out on your own.

Acknowledgements
The work described in this book was funded primarily by the UK and Spanish research funding councils (in particular by an EPSRC advanced fellowship for the first author) and supported by our host institutions.

Numerous people contributed to the research which we describe. Many of these are cited in our references but some contributed in other ways or are deserving of special recognition. The research on ecological model construction using parameterisable components was done in collaboration with Alan Bundy, Bob Muetzelfeldt and Mike Uschold. Our interest in techniques editing was stimulated by work with Andy Bowles, Mike Brayshaw, Paul Brna, Tom Ormerod and Helen Pain. Our more recent work using logic programming has been strongly influenced by related research by Norbert Fuchs. Robert Inder and Maria Vargas-Vera supplied the idea for our predicate combination example. We were introduced to BSDM by Christine Lissoni and John Fraser, while Keith Stenning, John Lee and Jordi Puigsegur contributed to our understanding of diagrammatic logics. Stuart Anderson and George Cleland helped to shape our views on the pragmatics of logic applications, with Jordi Levy and Don Sannella acting as a counter-balance on the theoretical side. Austin Tate and John Kingston provided us with much useful information on ontologies and knowledge-based system design methods. Last but not least, we thank those others who read or discussed various chapters of this book. They are: Virginia Brilhante, Daniela Carbogim, Alberto Castro, Jessica Chen, Stefan Daume, Flavio Correa da Silva, Francesc Esteva, Peter Funk, Mandy Haggith, Jane Hesketh, Yannis Kalfoglou, Paul Krause, Renaud Leceouche, Edjard Mota, Nam Seog Park, Steve Polyak, Marco Schorlemmer, Jon Tonberg, Wamberto Vasconcelos and Luis Vila.

Finally, our special thanks to Sally Mortimore who kept faith with the book through its difficult early drafting stages and saw it through to completion.
Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)