دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: [1 ed.]
نویسندگان: Dines Bjørner
سری: Monographs in Theoretical Computer Science. An EATCS Series
ISBN (شابک) : 3030734838, 9783030734831
ناشر: Springer
سال نشر: 2021
تعداد صفحات: 419
[403]
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 5 Mb
در صورت تبدیل فایل کتاب Domain Science and Engineering: A Foundation for Software Development به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب علم و مهندسی دامنه: بنیادی برای توسعه نرم افزار نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
در این کتاب، نویسنده مهندسی دامنه و علم زیربنایی را توضیح میدهد، و سپس نشان میدهد که چگونه میتوانیم نسخههای مورد نیاز برای سیستمهای محاسباتی را از توضیحات دامنه استخراج کنیم. انگیزه دیگر ارائه توضیحات دامنه، نسخههای الزامات و مشخصات طراحی نرمافزار بهعنوان مقادیر ریاضی است.
مقول نویسنده این است که قبل از طراحی نرمافزار، باید نیازمندیهای آن را درک کنیم، و قبل از اینکه بتوانیم نیازمندیها را تجویز کنیم. باید دامنه ای را که نرم افزار برای آن در نظر گرفته شده است تجزیه و تحلیل و توصیف کند. او این کار را با تمرکز بر آنچه برای تجزیه و تحلیل و توصیف دامنه ها لازم است انجام می دهد. با یک حوزه، ما یک بخش پویایی گسسته و منطقی قابل توصیف از فعالیت های انسانی، از مصنوعات طبیعی و مصنوعی را درک می کنیم، نمونه هایی از جمله حمل و نقل جاده ای، ریلی و هوایی، بنادر ترمینال کانتینری، تولید، تجارت، مراقبت های بهداشتی و برنامه ریزی شهری. این کتاب به مسائل سیستمهای به ظاهر بزرگ میپردازد، نه الگوریتمهای کوچک، و بر توصیفها بهعنوان کمیتهای رسمی و ریاضی تأکید میکند.
این اولین بررسی تکنگاری کامل از فاز مهندسی نرمافزار جدید توسعه نرمافزار است، مرحلهای که قبل از آن انجام میشود. مهندسی مورد نیاز این رویکرد بر رویکرد روش شناختی با بررسی عمیق، تحلیل و توصیف اصول، تکنیک ها و ابزار تاکید می کند. این کار را با پایهگذاری مدلسازی دامنهاش بر اصول بنیادی فلسفی انجام میدهد، دیدگاهی که برای یک تک نگاری علوم رایانه جدید است.
این کتاب برای دانشمندان رایانهای که با مشخصات رسمی نرمافزار درگیر هستند، ارزشمند خواهد بود. نویسنده این را به عنوان زمینه ای از مشکلات جالب نشان می دهد، اکثر فصل ها شامل نکاتی برای مطالعه بیشتر و تمرین های برگرفته از مهندسی عملی و چالش های علمی است. متن توسط یک آغازگر برای زبان مشخصات رسمی RSL و نمایه های گسترده پشتیبانی می شود.
In this book the author explains domain engineering and the underlying science, and he then shows how we can derive requirements prescriptions for computing systems from domain descriptions. A further motivation is to present domain descriptions, requirements prescriptions, and software design specifications as mathematical quantities.
The author's maxim is that before software can be designed we must understand its requirements, and before requirements can be prescribed we must analyse and describe the domain for which the software is intended. He does this by focusing on what it takes to analyse and describe domains. By a domain we understand a rationally describable discrete dynamics segment of human activity, of natural and man-made artefacts, examples include road, rail and air transport, container terminal ports, manufacturing, trade, healthcare, and urban planning. The book addresses issues of seemingly large systems, not small algorithms, and it emphasizes descriptions as formal, mathematical quantities.
This is the first thorough monograph treatment of the new software engineering phase of software development, one that precedes requirements engineering. It emphasizes a methodological approach by treating, in depth, analysis and description principles, techniques and tools. It does this by basing its domain modeling on fundamental philosophical principles, a view that is new for a computer science monograph.
The book will be of value to computer scientists engaged with formal specifications of software. The author reveals this as a field of interesting problems, most chapters include pointers to further study and exercises drawn from practical engineering and science challenges. The text is supported by a primer to the formal specification language RSL and extensive indexes.
Preface The Triptych Dogma Domains – What Are They ? Aim and Objectives An Emphasis Doing Science Versus Using Science Relations to Philosophy General Application Areas Work in Progress The Monograph as a Textbook Specific Sources Some Caveats Acknowledgments Contents Part I SETTING THE SCOPE Chapter 1 CONCEPTS 1.1 A General Vocabulary 1.2 More on Method 1.3 Some More Personal Observations 1.4 Informatics Thinking Chapter 2 DOMAIN PHILOSOPHY 2.1 Some Preliminaries 2.1.1 What must be in any Domain Description 2.1.2 Some Issues of Philosophy 2.1.3 Transcendence 2.2 Overview of the Sørlander Philosophy 2.2.1 Logical Connectives 2.2.1.1 Negation: ¬: 2.2.1.2 Conjunction and Disjunction: ˄ and ˅ 2.2.1.3 Implication: ⇒ 2.2.2 Towards a Philosophy-Basis for Physics and Biology 2.2.2.1 Possibility and Necessity 2.2.2.2 Empirical Assertions 2.2.2.3 Existence of Entities 2.2.2.4 Identity, Difference and Relations 2.2.2.5 Sets 2.2.2.6 Space and Geometry 2.2.2.7 States 2.2.2.8 Time and Causality 2.2.2.9 Kinematics 2.2.2.10 Dynamics 2.3 From Philosophy to Physics and Biology 2.3.1 Purpose, Life and Evolution 2.3.2 Awareness, Learning and Language 2.4 Philosophy, Science and the Arts Chapter 3 SPACE, TIME and MATTER 3.1 Prologue 3.2 Logic 3.3 Mathematics 3.3.1 Mathematical Logic 3.3.2 Sets 3.3.3 Types 3.3.4 Functions 3.3.4.1 Total and Partial Functions 3.3.4.2 Predicate Functions 3.3.5 Mathematical Notation versus Formal Specification Languages 3.3.5.1 Mathematics as a Notation – in General 3.3.5.2 Mathematics as a Notation – in Specific 3.3.5.3 An Interplay betweenMathematical Notation and Specification Languages 3.4 Space 3.4.1 SpaceMotivated Philosophically 3.4.2 The Spatial Value 3.4.3 Spatial Observers 3.4.4 Spatial Attributes 3.4.5 MathematicalModels of Space 3.4.5.1 Metric Spaces 3.5 Time 3.5.1 TimeMotivated Philosophically 3.5.2 Time Values 3.5.3 Temporal Observers 3.5.4 J. van Benthem 3.5.5 Wayne D. Blizard: A Theory of Time–Space 3.5.6 “Soft” and “Hard” Real-time 3.5.7 Soft Temporalities 3.5.8 Hard Temporalities 3.5.9 Soft and Hard Real-time 3.5.10 Temporal Logics 3.5.10.1 The Issues 3.5.10.2 A. N. Prior’s Tense Logics 3.5.10.3 The Duration Calculus 3.6 Spatial and TemporalModelling 3.7 Matter 3.8 Identity and Mereology 3.8.1 Identity 3.8.2 Mereology: Philosophy and Logic 3.8.2.1 Mereology Understood Spatially 3.8.2.2 Our Informal Understanding o fMereology 3.9 A Foundation Part II DOMAINS Chapter 4–8 Overview A Theory, not ‘The’ Theory On Learning a Theory and on Learning a Method Towards a Theory of Domain Analysis & Description A Method for Domain Analysis & Description Chapter 4 DOMAINS – A Taxonomy: External Qualities 4.1 Overview 4.2 Domains 4.3 Universe of Discourse 4.4 External Qualities 4.5 Entities 4.5.1 A Linnean, Binomial Taxonomy 4.5.2 Domain-specific Ontologies 4.5.3 A Cursory Overview 4.5.4 Summary 4.5.4.1 Space and Time:Whither Entities ? 4.6 Endurants and Perdurants 4.6.1 Endurants 4.6.2 Perdurants 4.7 Endurants: Solid and Fluid 4.7.1 Solid Endurants 4.7.2 Fluids 4.8 Parts, Structures and Living Species 4.8.1 Compound Endurants, “Roots” and “Siblings” 4.8.2 Parts 4.8.3 Structures 4.8.4 Living Species 4.9 Natural Parts and Artefacts 4.9.1 Natural Parts 4.9.2 Artefacts – Man-made Parts 4.9.3 A Pragmatic Decision 4.10 Structures 4.10.1 General 4.10.2 Composite Structures 4.10.3 Set Structures 4.11 Living Species – Plants and Animals 4.11.1 Plants 4.11.2 Animals 4.11.2.1 Humans 4.12 Fluids 4.13 Atomic, Compound and Conjoin Parts 4.13.1 Atomic Parts 4.13.2 Compound Parts 4.13.2.1 Composite Parts 4.13.2.2 Set Parts 4.13.3 Conjoins 4.13.3.1 Part-Fluids Conjoins 4.13.3.2 Fluid-Parts-Parts Conjoins 4.13.3.3 Part-Parts Conjoins 4.14 On Discovering Endurant Sorts 4.14.1 On Discovering Man-made Endurants 4.14.2 On Discovering Natural Endurants 4.14.3 An Aside: Taxonomy in Botanics and Zoology 4.15 A Review of the Ontology of Endurants 4.16 Endurant Observer Function Prompts 4.16.1 Observe Compound Parts 4.16.1.1 Observe Composite Parts 4.16.1.2 Observe Part Sets 4.16.2 Observe Structures 4.16.3 Observe Conjoins 4.16.3.1 Observe Part-Fluids Conjoins 4.16.3.2 Observe Fluid-Parts-Parts Conjoins 4.16.3.3 Observe Part-Parts Conjoins 4.17 Calculating Sort Describers 4.17.1 Calculating Compound Parts Sorts 4.17.1.1 Calculating Composite Parts Sorts 4.17.1.2 Calculating Single Sort Part Sets 4.17.1.3 Calculating Alternative Sort Part Sets 4.17.2 Calculating Structure Sorts 4.17.3 Calculating Conjoin Sorts 4.17.3.1 Calculating Part-Fluids Sorts 4.17.3.2 Calculating Fluid-Parts-Parts Sorts 4.18 On Endurant Sorts 4.18.1 Derivation Chains 4.18.2 No Recursive Derivations 4.18.3 Names of Part Sorts and Types 4.19 States 4.20 A Domain Discovery Process, I 4.20.1 Two Forms of Ontologies 4.20.1.1 Domain Analysis & Description Ontologies 4.20.1.2 Specific Domain Ontologies 4.20.2 A Domain Discovery Notice Board 4.20.3 An Endurant External Qualities Discovery Process 4.20.4 A Suggested Analysis & Description Approach, I 4.20.5 An Assumption 4.21 Formal Concept Analysis 4.21.1 A Formalisation 4.21.2 Types Are Formal Concepts 4.21.3 Practicalities 4.21.4 Formal Concepts: AWider Implication 4.22 Summary 4.22.1 The Description Schemas 4.22.2 Modeling Choices 4.22.3 Method Principles, Procedures, Techniques and Tools 4.22.3.1 Principles of External Qualities 4.22.3.2 Procedures forModeling External Qualities 4.22.3.3 Techniques of External Qualities 4.22.3.4 Tools of External Qualities 4.22.4 How Much or How Little DoWe Analyse and Describe ? 4.22.5 Varieties of Upper Ontologies 4.23 Bibliographical Notes 4.24 Exercise Problems 4.24.1 Research Problems 4.24.2 A Student Exercise 4.24.3 Term Projects Chapter 5 DOMAINS – An Ontology: Internal Qualities 5.1 Overview of This Chapter 5.2 Unique Identifiers 5.2.1 On Uniqueness of Endurants 5.2.2 Uniqueness Modeling Tools 5.2.3 All Unique Identifiers of a Domain 5.2.4 Unique Identifier Constants 5.2.5 DOMAINS – An Ontology: Internal Qualities 5.2.5.1 Unique Identification of Compounds 5.3 Mereology 5.3.1 Endurant Relations 5.3.2 Mereology Modeling Tools 5.3.2.1 Invariance of Mereologies 5.3.2.2 Deductions made from Mereologies 5.3.3 Formulation of Mereologies 5.3.4 Fixed and Varying Mereologies 5.3.5 No Fluids Mereology 5.3.6 Some Modeling Observations 5.3.7 Conjoin Mereologies 5.3.8 Mereologies of Compounds 5.4 Attributes 5.4.1 Inseparability of Attributes from Parts and Fluids 5.4.2 AttributeModeling Tools 5.4.2.1 Attribute Quality and Attribute Value 5.4.2.2 Attribute Types and Functions 5.4.2.3 Attribute Categories 5.4.3 A Discourse on Attribute Kinds 5.4.3.1 A Discussion of SPACE,TIME and MATTER Attributes 5.4.3.2 On the Continuity of SPACE and TIME 5.4.3.3 Whither Continuity or Discreteness 5.4.3.4 A Preliminary Conclusion 5.4.4 Continuous Space- and Time-related Attributes 5.4.5 Physics Attributes 5.4.5.1 SI: The International System of Quantities 5.4.5.2 Units are Indivisible 5.4.5.3 Chemical Elements 5.4.6 Presentation of Physical Attributes 5.4.7 The Care and Feeding of Physical Attributes 5.4.8 Artefactual Attributes 5.4.8.1 Examples of Artefactual Attributes 5.4.9 Conjoin Attributes 5.4.9.1 Conjoin Attribute Categories 5.4.9.2 Conjoin Attribute Assignments 5.4.10 Fuzzy Attributes 5.4.11 Attributes of Compounds 5.4.12 The Inevitability of Space and Time Continuity 5.5 Intentionality 5.5.1 Issues Leading Up to Intentionality 5.5.2 Artefacts 5.5.3 Assignment of Attributes 5.5.3.1 Artefacts, includingMan-made Fluids: 5.5.4 Galois Connections 5.5.4.1 Galois Theory: An Ultra-brief Characterisation 5.5.4.2 Galois Connections and Intentionality 5.5.4.3 Galois Connections and Intentionality: A Possible Research Topic ? 5.6 Systems Modeling 5.6.1 General 5.6.2 Passively Mobile Endurants 5.7 Discussion of Endurants 5.8 A Domain Discovery Process, II 5.8.1 The Process 5.8.2 A Suggested Analysis & Description Approach, I 5.9 Domain Description Laws 5.10 Summary 5.10.1 The Description Schemas 5.10.2 Modeling Choices 5.10.3 Method Principles, Techniques and Tools 5.10.3.1 Principles of Internal Qualities 5.10.3.2 Procedures forModeling Internal Qualities 5.10.3.3 Techniques of Internal Qualities 5.10.3.4 Tools 5.11 Intentional Programming 5.12 Bibliographical Notes 5.13 Exercise Problems 5.13.1 Research Problems 5.13.2 Student Exercises 5.13.3 Term Projects Chapter 6 TRANSCENDENTAL DEDUCTION 6.1 Some Definitions 6.2 Some Informal Examples 6.3 Bibliographical Note 6.4 Exercise Problem Chapter 7 DOMAINS – A Dynamics Ontology: Perdurants 7.1 Structure of This Chapter 7.2 States and Time 7.2.1 The Issue of States 7.2.2 Time Considerations 7.3 Actors, Actions, Events and Behaviours: A Preview 7.3.1 Actors 7.3.2 Discrete Actions 7.3.3 Discrete Events 7.3.4 Discrete Behaviours 7.3.5 Continuous Behaviours 7.4 Modelling Concurrent Behaviours 7.4.1 The The CSP Story 7.4.1.1 Informal Presentation 7.4.1.2 A Syntax for CSP 7.4.1.3 Disciplined Uses of CSP 7.4.2 The Petri Net Story 7.4.2.1 Informal Presentation 7.4.2.2 An Example – 7.4.2.3 An RS LModel of Petri nets – Christian Krogh Madsen 7.4.2.4 Petri Nets and Domain Science & Engineering – A Research Topic ? 7.5 Channels and Communication 7.5.1 From Mereologies to Channel Declarations 7.5.2 Channel Declarations 7.6 Signatures – In General 7.6.1 Action Signatures and Definitions 7.6.2 Event Signatures and Definitions 7.6.3 Behaviour Signatures 7.6.4 Attribute Access, An Interpretation 7.6.4.1 The update Functional 7.6.4.2 Calculating In/Output Channel Signatures: 7.7 Behaviour Signatures and Definitions 7.7.1 General on Behaviour Schemas 7.7.1.1 The General Behaviour Signature 7.7.2 Preamble Definitions 7.7.3 A Behaviour Signature Calculator 7.7.4 Atomic Schema 7.7.5 Composite Schema 7.7.6 Single Sort Set Schema 7.7.7 Alternative Sorts Set Schema 7.7.8 Structure Schema 7.7.9 Conjoin Schemas 7.7.9.1 The Part-Fluids Conjoin Schema 7.7.9.2 The Fluid-Parts Conjoin Schema 7.7.9.3 The Part-Parts Conjoin Schema 7.7.10 Core Behaviour 7.8 System Initialisation 7.9 Concurrency: Communication and Synchronisation 7.10 Discrete Actions 7.10.1 Conjoin Actions 7.10.1.1 Discrete Supply of Fluid to Conjoins 7.10.1.2 Discrete Disposal of Fluid from Conjoins 7.10.1.3 Discrete Pumping of Fluid from Conjoins 7.10.1.4 Discrete Opening/Closing of Fluid Transport by Valves 7.10.1.5 Discrete Treatment of Fluids of a Conjoin 7.11 Discrete Events 7.12 A Domain Discovery Process, III 7.12.1 Review of the Endurant Analysis and Description Process 7.12.2 A Perdurant Analysis and Description Process 7.12.2 The discover state Procedure 7.12.2.2 The discover channels Procedure 7.12.2.3 Generate Representative Parts 7.12.2.4 The discover signatures Procedure 7.12.2.5 The discover behaviour definitions Procedure 7.12.2.6 The initialise system Procedure 7.13 Summary 7.13.1 Solids versus Fluids, Endurants versus Perdurants 7.13.2 Narratives: Too Much or Too Little ? 7.13.3 Two Separate Issues: Method and Design 7.13.4 Method Principles, Procedures, Techniques and Tools 7.13.4.1 Principles of Perdurant Analysis & Description 7.13.4.2 Procedures forModeling Perdurants 7.13.4.3 Techniques of Perdurant Analysis & Description 7.13.4.4 Tools of Perdurant Analysis & Description 7.13.5 The Analysis & Description Calculus Reviewed 7.13.6 To EveryMereology a CSP Expression 7.13.7 Object-Orientedness 7.13.8 Specification Structuring 7.13.9 What is Missing ? 7.14 Exercise Problems 7.14.1 Research Problems 7.14.2 Student Exercises 7.14.3 Term Projects Chapter 8 DOMAIN FACETS 8.1 Introduction 8.1.1 Facets of Domains 8.1.2 Relation to Previous Work 8.1.3 Structure of Chapter 8.2 Intrinsics 8.2.1 Conceptual Analysis 8.2.2 Intrinsics Requirements 8.2.3 On Modeling Intrinsics 8.3 Support Technologies 8.3.1 Conceptual Analysis 8.3.2 Support Technologies Requirements 8.3.3 On Modeling Support Technologies 8.4 Rules & Regulations 8.4.1 Conceptual Analysis 8.4.2 Rules & Regulations Requirements 8.4.3 On Modeling Rules and Regulations 8.5 Scripts 8.5.1 Conceptual Analysis 8.5.2 Script Requirements 8.5.3 On Modeling Scripts 8.6 License Languages 8.6.1 Conceptual Analysis 8.6.1.1 The Settings 8.6.1.2 On Licenses 8.6.1.3 Permissions and Obligations 8.6.2 The Pragmatics 8.6.2.1 DigitalMedia 8.6.2.2 Healthcare 8.6.2.3 Government Documents 8.6.2.4 Transportation 8.6.3 Schematic Rendition of License Language Constructs 8.6.3.1 Licensing 8.6.3.2 Licensors and Licensees 8.6.3.3 Actors and Actions 8.6.4 Requirements 8.6.5 On Modeling License Languages 8.7 Management & Organisation 8.7.1 Conceptual Analysis 8.7.2 Requirements 8.7.3 On Modeling Management and Organisation 8.8 Human Behaviour 8.8.1 Conceptual Analysis 8.8.2 Requirements 8.8.3 On Modeling Human Behaviour 8.9 Summary 8.9.1 Method Principles, Techniques and Tools 8.9.1.1 Principles ofModelling Domain Facets 8.9.1.2 Techniques ofModelling Domain Facets 8.9.1.3 Tools ofModelling Domain Facets 8.9.2 General Issues 8.9.2.1 Completion 8.9.2.2 Integrating Formal Descriptions 8.9.2.3 The Impossibility of Describing Any Domain Completely 8.9.2.4 Rôles for Domain Descriptions 8.9.2.5 Grand Challenges of Informatics 8.10 Bibliographical Notes 8.11 Exercise Problems 8.11.1 Research Problems 8.11.2 Term Projects Part III REQUIREMENTS Chapter 9 REQUIREMENTS 9.1 Introduction 9.1.1 Some Comments 9.1.2 Structure of Chapter 9.2 An Example Domain: Transport 9.2.1 Endurants 9.2.2 Domain, Net, Fleet and Monitor 9.2.2.1 Hubs and Links 9.2.2.2 Unique Identifiers 9.2.2.3 Mereology 9.2.2.4 Attributes, I 9.2.3 Perdurants 9.2.3.1 Hub Insertion Action 9.2.3.2 Link Disappearance Event 9.2.3.3 Road Traffic 9.2.4 Domain Facets 9.3 Requirements 9.3.1 Some Requirements Aspects 9.3.1.1 Requirements Sketches 9.3.1.2 The Narrative and Formal Requirements Stage 9.3.2 The Three Phases of Requirements Engineering 9.3.3 Order of Presentation of Requirements Prescriptions 9.3.4 Design Requirements and Design Assumptions 9.3.5 Derived Requirements 9.4 Domain Requirements 9.4.1 Domain Projection 9.4.1.1 Domain Projection—Narrative 9.4.1.2 Domain Projection—Formalisation 9.4.1.3 Discussion 9.4.2 Domain Instantiation 9.4.2.1 Domain Instantiation 9.4.2.2 Domain Instantiation— Abstraction 9.4.2.3 Discussion 9.4.3 Domain Determination 9.4.3.1 Domain Determination: Example 9.4.3.2 Discussion 9.4.4 Domain Extension 9.4.4.1 Endurant Extensions 9.4.4.2 Discussion 9.4.5 Requirements Fitting 9.4.6 Discussion 9.5 Interface and Derived Requirements 9.5.1 Interface Requirements 9.5.1.1 Shared Phenomena 9.5.1.2 Shared Endurants 9.5.1.3 Shared Perdurants 9.5.2 Derived Requirements 9.5.2.1 Derived Actions 9.5.2.2 Derived Events 9.5.2.3 No Derived Behaviours 9.5.3 Discussion 9.5.3.1 Derived Requirements 9.5.3.2 Introspective Requirements 9.6 Machine Requirements 9.7 Summary 9.7.1 A Design Method 9.7.2 Method Principles, Techniques and Tools 9.7.2.1 Principles of Requirements 9.7.2.2 Techniques of Requirements 9.7.2.3 Tools of Requirements 9.7.3 Concluding Review 9.7.3.1 What has been Achieved? 9.7.3.2 Present Shortcomings and Research Challenges 9.7.3.3 Comparison to “Classical” Requirements Engineering: 9.7.4 The Domain Description to Requirements Prescription “Gap” ! 9.7.5 Formalisation of Domain-to-Requirements Development 9.8 Bibliographical Notes 9.9 Exercise Problems 9.9.1 Research Problems 9.9.2 Term Projects Part IV CLOSING Chapter 10 DEMOS, SIMULATORS,MONITORS AND CONTROLLERS 10.1 Introduction 10.1.1 “Confusing Demos” 10.1.2 Aims & Objectives 10.1.3 An Exploratory Chapter 10.2 Interpretations 10.2.1 What Is a Domain-based Demo? 10.2.1.1 Examples 10.2.1.2 Towards a Theory of Visualisation and Acoustic Manifestation 10.2.2 Simulations 10.2.2.1 Explication of Figure 10.1 10.2.2.2 Script-based Simulation 10.2.2.3 The Development Arrow 10.2.3 Monitoring & Control 10.2.3.1 Monitoring 10.2.3.2 Control 10.2.4 Machine Development 10.2.4.1 Machines 10.2.4.2 Requirements Development 10.2.5 Verifiable Software Development 10.2.5.1 An Example Set of Conjectures 10.2.5.2 Chains of Verifiable Developments 10.3 Summary 10.3.1 What Have We Achieved 10.3.2 What Have We Not Achieved — Some Conjectures 10.3.3 What Should We Do Next ? Chapter 11 WINDING UP 11.1 Programming Languages and Domains 11.2 Summary of Chapters 4–7 11.2.1 Chapter 4: External Qualities 11.2.2 Chapter 5: Internal Qualities 11.2.3 Chapter 6: Transcendentality 11.2.4 Chapter 7: Perdurants 11.3 A Final Summary of Triptych Concepts 11.3.1 The Intrinsics of Domain Analysis & Description 11.3.2 Domain Facets 11.3.3 Requirements 11.4 Systems Development 11.5 On How to Conduct a Domain Analysis & Description Project 11.6 On Domain Specific Languages 11.7 Some Concluding Observations 11.8 A Reflection on Methodologies 11.9 Tony Hoare’s Reaction to ‘Domain Modelling’ References Appendix A A PIPELINES DOMAIN – ENDURANTS A.1 Solids and Fluids A.1.1 Flow Net Parts A.1.1.1 Narrative A.1.1.2 Formalisation type A.1.2 Pipeline States A.1.2.1 Narrative A.1.2.2 Formalisation value A.2 Unique Identifiers A.3 Mereologies A.3.1 The Pipeline UnitMereology A.3.2 PartialWellformedness of Pipelines, 0 A.3.3 PartialWell-formedness of Pipelines, 1 A.3.3.1 Shared Connectors A.3.3.2 Routes A.3.3.3 Wellformed Routes A.4 Attributes A.4.1 Geometric Unit Attributes A.4.2 Spatial Unit Attributes A.4.3 Unit Action Attributes A.4.4 Flow Attributes A.4.4.1 Flows and Leaks A.4.4.2 Intra Unit Flow and Leak Law A.4.4.3 Inter Unit Flow and Leak Law Appendix B MEREOLOGY, A MODEL B.1 Examples of Illustrating Aspects of Mereology B.1.1 Air Traffic B.1.2 Buildings B.1.3 A Financial Service Industry B.1.4 Machine Assemblies B.1.5 Oil Industry B.1.5.1 “The” Overall Assembly B.1.5.2 A Concretised Composite Pipeline B.1.6 Railway Nets B.1.7 Discussion B.2 An Axiom System for Mereology B.2.1 Parts and Attributes B.2.2 The Axioms B.3 An AbstractModel of Mereologies B.3.1 Parts and Sub-parts B.3.2 No “Infinitely” Embedded Parts B.3.3Unique Identifications B.3.4 Attributes 3.4.1 Attribute Names and Values 3.4.2 Attribute Categories B.3.5 Mereology B.3.6 The Model B.4 Some Part Relations B.4.1 ‘ImmediatelyWithin’ B.4.2 ‘Transitive Within’ B.4.3 ‘Adjacency’ B.4.4 Transitive ‘Adjacency’ B.5 Satisfaction B.5.1 A Proof Sketch Appendix C FOUR LANGUAGES C.1 The Domain Analysis & Description Calculi C.1.1 The Analysis Calculus C.1.2 The Description Calculus C.2 The Language of Explaining Domain Analysis & Description English, Philosophy and Discrete Mathematics Notation C.3 The RSL: Raise Specification Language C.4 The Language of Domains Appendix D AN RSL PRIMER D.1 Types D.1.1 Type Expressions D.1.1.1 Atomic Types D.1.1.2 Composite Types D.1.2 Type Definitions D.1.2.1 Concrete Types D.1.2.2 Subtypes D.1.2.3 Sorts — Abstract Types D.2 The RSL Predicate Calculus D.2.1 Propositional Expressions D.2.2 Simple Predicate Expressions D.3 Concrete RSL Types: Values and Operations D.3.1 Arithmetic D. 3.2 Set Expressions D.3.2.1 Set Enumerations D.3.2.2 Set Comprehension D.3.3 Cartesian Expressions D.3.3.1 Cartesian Enumerations D.3.4 List Expressions D.3.4.1 List Enumerations D.3.4.2 List Comprehension D.3.5 Map Expressions D.3.5.1 Map Enumerations D.3.5.2 Map Comprehension D.3.6 Set Operations D.3.6.1 Set Operator Signatures value D.3.6.2 Set Examples examples D.3.6.3 Informal Explication D.3.6.4 Set Operator Definitions D.3.7 Cartesian Operations D.3.8 List Operations D.3.8.1 List Operator Signatures value hd: D.3.8.2 List Operation Examples examples hd D.3.8.3 Informal Explication D.3.8.4 List Operator Definitions value D.3.9 Map Operations D.3.9.1 Map Operator Signatures andMap Operation Examples value D.3.9.2 Map Operation Explication D.3.9.3 Map Operation Redefinitions D.4 λ-Calculus + Functions D.4.1 The λ-Calculus Syntax D.4.2 Free and Bound Variables D.4.3 Substitution D.4.4 α-Renaming and β-Reduction D.4.5 Function Signatures D.4.6 Function Definitions D.5 Other Applicative Expressions D.5.1 Simple let Expressions D.5.1 Simple let Expressions D.5.3 Predicative let Expressions D.5.4 Pattern and “Wild Card” let Expressions D.5.5 Conditionals D.5.6 Operator/Operand Expressions D.6 Imperative Constructs D.6.1 Statements and State Changes D.6.2 Variables and Assignment D.6.3 Statement Sequences and skip D.6.4 Imperative Conditionals D.6.5 Iterative Conditionals D.6.6 Iterative Sequencing D.7 Process Constructs D.7.1 Process Channels D.7.2 Process Composition D.7.3 Input/Output Events D.7.4 Process Definitions D.8 Simple RSL Specifications D.9 RSL Module Specifications D.9.1 Modules D.9.2 Schemes D.9.3 Module Extension Appendix E INDEXES E.1 Definitions E.2 Concepts E.3 Examples E.4 Method Hints E.5 Analysis Predicate Prompts E.6 Analysis Function Prompts E.7 Attribute Categories E.8 Perdurant Calculations E.9 Description Prompts E.10 Endurant to Perdurant Translation Schemas E.11 RSL Symbols List of Figures