Compilers and interpreters Books

188 products


  • Modern Compiler Implementation in ML

    Cambridge University Press Modern Compiler Implementation in ML

    4 in stock

    Book SynopsisDescribes all phases of a modern compiler, including techniques in code generation and register allocation for imperative, functional and object-oriented languages.Table of ContentsPart I. Fundamentals of Compilation: 1. Introduction; 2. Lexical analysis; 3. Parsing; 4. Abstract syntax; 5. Semantic analysis; 6. Activation records; 7. Translation to intermediate code; 8. Basic blocks and traces; 9. Instruction selection; 10. Liveness analysis; 11. Register allocation; 12. Putting it all together; Part II. Advanced Topics: 13. Garbage collection; 14. Object-oriented languages; 15. Functional programming languages; 16. Polymorphic types; 17. Dataflow analysis; 18. Loop optimizations; 19. Static single-assignment form; 20. Pipelining and scheduling; 21. The memory hierarchy; Appendix.

    4 in stock

    £59.84

  • Compilers Principles Techniques and Tools

    Pearson Education Limited Compilers Principles Techniques and Tools

    3 in stock

    Book SynopsisTable of Contents1 Introduction 1.1 Language Processors 1.2 The Structure of a Compiler 1.3 The Evolution of Programming Languages 1.4 The Science of Building a Compiler 1.5 Applications of Compiler Technology 1.6 Programming Language Basics 1.7 Summary of Chapter 1 1.8 References for Chapter 1 2 A Simple Syntax-Directed Translator 2.1 Introduction 2.2 Syntax Definition 2.3 Syntax-Directed Translation 2.4 Parsing 2.5 A Translator for Simple Expressions 2.6 Lexical Analysis 2.7 Symbol Tables 2.8 Intermediate Code Generation 2.9 Summary of Chapter 2 3 Lexical Analysis 3.1 The Role of the Lexical Analyzer 3.2 Input Buffering 3.3 Specification of Tokens 3.4 Recognition of Tokens 3.5 The Lexical-Analyzer Generator Lex 3.6 Finite Automata 3.7 From Regular Expressions to Automata 3.8 Design of a Lexical-Analyzer Generator 3.9 Optimization of DFA-Based Pattern Matchers 3.10 Summary of Chapter 3 3.11 References for Chapter 3 4 Syntax Analysis 4.1 Introduction 4.2 Context-Free Grammars 4.3 Writing a Grammar 4.4 Top-Down Parsing 4.5 Bottom-Up Parsing 4.6 Introduction to LR Parsing: Simple LR 4.7 More Powerful LR Parsers 4.8 Using Ambiguous Grammars 4.9 Parser Generators 4.10 Summary of Chapter 4 4.11 References for Chapter 4 5 Syntax-Directed Translation 5.1 Syntax-Directed Definitions 5.2 Evaluation Orders for SDD's 5.3 Applications of Syntax-Directed Translation 5.4 Syntax-Directed Translation Schemes 5.5 Implementing L-Attributed SDD's 5.6 Summary of Chapter 5 5.7 References for Chapter 5 6 Intermediate-Code Generation 6.1 Variants of Syntax Trees 6.2 Three-Address Code 6.3 Types and Declarations 6.4 Translation of Expressions 6.5 Type Checking 6.6 Control Flow 6.7 Backpatching 6.8 Switch-Statements 6.9 Intermediate Code for Procedures 6.10 Summary of Chapter 6 6.11 References for Chapter 6 7 Run-Time Environments 7.1 Storage Organization 7.2 Stack Allocation of Space 7.3 Access to Nonlocal Data on the Stack 7.4 Heap Management 7.5 Introduction to Garbage Collection 7.6 Introduction to Trace-Based Collection 7.7 Short-Pause Garbage Collection 7.8 Advanced Topics in Garbage Collection 7.9 Summary of Chapter 7 7.10 References for Chapter 7 8 Code Generation 8.1 Issues in the Design of a Code Generator 8.2 The Target Language 8.3 Addresses in the Target Code 8.4 Basic Blocks and Flow Graphs 8.5 Optimization of Basic Blocks 8.6 A Simple Code Generator 8.7 Peephole Optimization 8.8 Register Allocation and Assignment 8.9 Instruction Selection by Tree Rewriting 8.10 Optimal Code Generation for Expressions 8.11 Dynamic Programming Code-Generation 8.12 Summary of Chapter 8 8.13 References for Chapter 8 9 Machine-Independent Optimizations 9.1 The Principal Sources of Optimization 9.2 Introduction to Data-Flow Analysis 9.3 Foundations of Data-Flow Analysis 9.4 Constant Propagation 9.5 Partial-Redundancy Elimination 9.6 Loops in Flow Graphs 9.7 Region-Based Analysis 9.8 Symbolic Analysis 9.9 Summary of Chapter 9 9.10 References for Chapter 9 <

    3 in stock

    £69.34

  • Building Xamarin.Forms Mobile Apps Using XAML

    APress Building Xamarin.Forms Mobile Apps Using XAML

    2 in stock

    Book SynopsisLeverage Xamarin.Forms to build iOS and Android apps using a single, cross-platform approach. This book is the XAML companion to the C# guide Xamarin Mobile Application Development. You''ll begin with an overview of Xamarin.Forms, then move on to an in-depth XAML (eXtensible Application Markup Language) primer covering syntax, namespaces, markup extensions, constructors, and the XAML standard. XAML gives us both the power of decoupled UI development and the direct use of Xamarin.Forms elements. This book explores the core of the Xamarin.Forms mobile app UI: using layouts and FlexLayouts to position controls and views to design and build screens, formatting your UI using resource dictionaries, styles, themes and CSS, then coding user interactions with behaviors, commands, and triggers. You''ll see how to use XAML to build sophisticated, robust cross-platform mobile apps and help your user get around your app using Xamarin.Forms navigation patterns. Table of Contents1: Building Apps Using Xamarin 2: Building Xamarin.Forms Apps Using XAML 3: UI Design Using Layouts 4: Styles, Themes, and CSS 5: User Interaction Using Controls 6: Making a Scrollable List 7: Navigation 8: Custom Renderers, Effects, and Native Views 9: Local Data Access with SQLite and Data Binding

    2 in stock

    £29.99

  • The C Programmers Study Guide MCSD

    APress The C Programmers Study Guide MCSD

    2 in stock

    Book Synopsis Prepare for Microsoft Certification Exam 70-483: Programming in C#. The What, Why, and How of each concept is presented along with quick summaries, code challenges, and exam questions to review and practice key concepts. You will learn how to use: Lambda expressions to write LINQ query expressions Asynchronous programming with the Async and Await keywords to maximize performance of slow applications Regular expressions to validate user input Reflection to create and handle types at runtime  and much more The source code in the book will be available in the form of iCanCSharp notebooks and scripts that allow you to try out examples and extend them in interesting ways. What You Will Learn   Understand the necessary knowledge and skill set to prepare for Microsoft Exam 70-483  Study Table of ContentsChapter 1:Fundamentals of C#.- Chapter 2: Types in C#.- Chapter 3: Getting Started with Object Oriented Programming.- Chapter 4: Advanced C#.- Chapter 5: Implementing Delegates and Events.- Chapter 6: Taking a Deep Dive into LINQ.- Chapter 7: Managing the Object Life Cycle.- Chapter 8: Multi-Threaded, Async, and Parallel Programming.- Chapter 9: Exception Handling and Validating Application Input - Chapter 10: File I/O Operations.- Chapter 11: Serialization ad Deserialization.- Chapter 12: Consuming Data.- Chapter 13: Working with Cryptography.- Chapter 14: Assembly and Reflection.- Chapter 15: Debugging and Diagnostics.- Chapter 16: MCQs.

    2 in stock

    £41.24

  • Language Implementation Patterns

    The Pragmatic Programmers Language Implementation Patterns

    2 in stock

    Book SynopsisKnowing how to create domain-specific languages (DSLs) can give you a huge productivity boost. Instead of writing code in a general-purpose programming language, you can first build a custom language tailored to make you efficient in a particular domain. The key is understanding the common patterns found across language implementations. "Language Design Patterns" identifies and condenses the most common design patterns, providing sample implementations of each. The pattern implementations use Java, but the patterns themselves are completely general. Some of the implementations use the well-known ANTLR parser generator, so readers will find this book an excellent source of ANTLR examples as well. But this book will benefit anyone interested in implementing languages, regardless of their tool of choice. Other language implementation books focus on compilers, which you rarely need in your daily life. Instead, "Language Design Patterns" shows you patterns you can use for all kinds of language applications. You'll learn to create configuration file readers, data readers, model-driven code generators, source-to-source translators, source analyzers, and interpreters. Each chapter groups related design patterns and, in each pattern, you'll get hands-on experience by building a complete sample implementation. By the time you finish the book, you'll know how to solve most common language implementation problems.

    2 in stock

    £25.19

  • Programming Languages: Principles and Paradigms

    Springer International Publishing AG Programming Languages: Principles and Paradigms

    2 in stock

    Book SynopsisThis textbook is a thorough, up-to-date introduction to the principles and techniques that guide the design and implementation of modern programming languages. The goal of the book is to provide the basis for a critical understanding of most modern programming languages. Thus, rather than focusing on a specific language, the book identifies the most important principles shared by large classes of languages. The notion of ‘abstract machine’ is a unifying concept that helps to maintain an accurate and elementary treatment. The book introduces, analyses in depth, and compares the imperative, object-oriented, functional, logic, concurrent, constraint-based, and service-oriented programming paradigms. All material coming from the first English edition has been updated and extended, clarifying some tricky points, and discussing newer programming languages. This second edition contains new chapters dedicated to constraint, concurrent, and service-oriented programming.Topics and features: Requires familiarity with one programming language is a prerequisite Provides a chapter on history offering context for most of the constructs in use today Presents an elementary account of semantical approaches and of computability Introduces new examples in modern programming languages like Python or Scala Offers a chapter that opens a perspective on applications in artificial intelligence Conceived as a university textbook, this unique volume will also be suitable for IT specialists who want to deepen their knowledge of the mechanisms behind the languages they use. The choice of themes and the presentation style are largely influenced by the experience of teaching the content as part of a bachelor's degree in computer science.Table of Contents1. Abstract Machines.- 2. How to Describe a Programming Language.- 3. Foundations.- 4. Names and the Environment.- 5. Memory Management.- 6. Control Structure.- 7. Control Abstraction.- Structuring Data.- 8. Data Abstraction.- 9. The Object-Oriented Paradigm.- 10. The Functional Paradigm.- 11. The Logic Programming Paradigm.- 12. A Short Historical Perspective.

    2 in stock

    £44.99

  • A Tiny Handbook of R

    Springer-Verlag Berlin and Heidelberg GmbH & Co. KG A Tiny Handbook of R

    15 in stock

    Book SynopsisThis Brief provides a roadmap for the R language and programming environment with signposts to further resources and documentation.Table of ContentsIntroduction to R.- Data Structures.- Tables and Graphs.- Hypothesis Tests.- Linear Models.

    15 in stock

    £39.99

  • ASP.NET Core Recipes

    APress ASP.NET Core Recipes

    1 in stock

    Book SynopsisQuickly find solutions to common web development problems. Content is presented in the popular problem-solution format. Look up the problem that you want to solve. Read the solution. Apply the solution directly in your own code. Problem solved! ASP.NET Core Recipes is a practical guide for developers creating modern web applications, cutting through the complexities of ASP.NET, jQuery, React, and HTML5 to provide straightforward solutions to common web development problems using proven methods based on best practices. The problem-solution approach gets you in, out, and back to work quickly while deepening your understanding of the underlying platform and how to develop with it.Author John Ciliberti guides you through the MVC framework and development tools, presenting typical challenges, along with code solutions and clear, concise explanations, to accelerate application development. Solve problems immediately by pasting in code from the recipesTable of ContentsChapter 1 - ASP.NET Core MVC FundamentalsChapter 2 - Getting Started with ASP.NET Core MVCChapter 3 - MVC Razor Syntax and HTML HelpersChapter 4 - Using Tag HelpersChapter 5 - Getting the Most from New Features in ASP.NET Core MVCChapter 6 - Solution Design using ASP.NET Core MVCChapter 7 - Test-Driven Development with ASP.NET Core MVCChapter 8 - Moving from WebForms to ASP.NET Core MVCChapter 9 - Data Validation Using ASP.NET Core MVCChapter 10- Securing Your ASP.NET Core MVC ApplicationChapter 11 - Creating Modern User Experiences Using React.js and ASP.NET CoreAppendix A

    1 in stock

    £67.49

  • C++/CLI: The Visual C++ Language for .NET

    APress C++/CLI: The Visual C++ Language for .NET

    1 in stock

    Book SynopsisThis book gives developers – both the experienced and those who have only taken their first few steps – a small, fast-paced primer that will kick-start them into the world of C++/CLI. In twenty no-fluff chapters Microsoft insiders take readers into the heart of the C++/CLI language and explain both how the language elements work and how Microsoft intends them to be used. At the end of this short book readers will have a deep thorough grounding in the core language elements and the confidence to explore further that comes from a solid understanding of a language’s syntax and grammar.Table of ContentsA table of contents is not available for this title.

    1 in stock

    £48.74

  • Modern C

    Manning Publications Modern C

    1 in stock

    Book SynopsisIf you think “Modern” and “C” don’t belong in the same sentence, think again. The C standards committee actively reviews and extends the language, with updated published C standards as recently as 2018. In Modern C, author Jens Gustedt teaches you the skills and features you need to write relevant programs in this tried-and-true language, including Linux and Windows, device drivers, web servers and browsers, smartphones, and much more! Modern C teaches you to take your C programming skills to new heights, whether you’re just starting out with C or have more extensive experience. Organized by level, this comprehensive guide lets you jump in where it suits you best while still reaping the maximum benefits. Key Features Fundamentals of C programming Operators and functions Performance techniques C library functions For more than four decades, C has proved its usefulness and staying power for everything from massive systems for mainframes, satellites, and internet browsers to tiny embedded systems in vending machines, credit card readers, and alarm clocks. Today you’ll find lightning-fast, elegant C programs running in smartphone kernels, databases, 3D movies, video games, and scores of other modern applications. For programmers comfortable writing simple programs in a language like Java, Python, Ruby, C#, C++, or C. Jens Gustedt has been a senior scientist at the French National Institute for Computer Science and Control (INRIA) since 1998, working in areas including algorithms, scientific experimentation, models for coarse-grained parallelism, and distributed locking. Currently, he’s conducting the Modular C project, which has given rise to libraries such as arbogast and EiLck.

    1 in stock

    £45.59

  • Metaprogramming Elixir

    The Pragmatic Programmers Metaprogramming Elixir

    1 in stock

    Book SynopsisWrite code that writes code with Elixir macros. Macros make metaprogramming possible and define the language itself. In this book, you'll learn how to use macros to extend the language with fast, maintainable code and share functionality in ways you never thought possible. You'll discover how to extend Elixir with your own first-class features, optimize performance, and create domain-specific languages. Metaprogramming is one of Elixir's greatest features. Maybe you've played with the basics or written a few macros. Now you want to take it to the next level. This book is a guided series of metaprogramming tutorials that take you step by step to metaprogramming mastery. You'll extend Elixir with powerful features and write faster, more maintainable programs in ways unmatched by other languages. You'll start with the basics of Elixir's metaprogramming system and find out how macros interact with Elixir's abstract format. Then you'll extend Elixir with your own first-class features, write a testing framework, and discover how Elixir treats source code as building blocks, rather than rote lines of instructions. You'll continue your journey by using advanced code generation to create essential libraries in strikingly few lines of code. Finally, you'll create domain-specific languages and learn when and where to apply your skills effectively. When you're done, you will have mastered metaprogramming, gained insights into Elixir's internals, and have the confidence to leverage macros to their full potential in your own projects.

    1 in stock

    £13.50

  • A Beginners Guide to Python 3 Programming

    Springer International Publishing AG A Beginners Guide to Python 3 Programming

    1 in stock

    Book SynopsisThis textbook is aimed at readers who have little or no knowledge of computer programming but want to learn to program in Python. It starts from the very basics including how to install your Python environment, how to write a very simple program and run it, what a variable is, what an if statement is, how iteration works using for and while loops as well as important key concepts such as functions, classes and modules. Each subject area is prefaced with an introductory chapter, before continuing with how these ideas work in Python. The second edition has been completely updated for the latest versions of Python including Python 3.11 and Python 3.12. New chapters have been added such as those that consider where and how Python is used, the use of Frozensets, how data can be sorted, enumerated types in Python, structural pattern matching and how (and why) Python Virtual Environments are configured. A new chapter ‘The Python Bites back’ is introduced to present the fourteen most common / biggest gotchas for someone new to Python. Other sections have been updated with new features such as Exception Groups, string operations and dictionary operations. A Beginners Guide to Python 3 Programming second Edition provides all you need to know about Python, with numerous examples provided throughout including several larger worked case studies illustrating the ideas presented in the previous chapters.Table of ContentsIntroduction.- Where is Python Used.- Setting up the Python Environment.- A First Python Program.- Python Strings.- Numbers, Booleans and None.- Flow of Control using if statements.- Number Guessing Game.- Recursion.- Introduction to Structured Analysis.- Functions in Python.- Implementing a Calculator using Functions.- Introduction to Functional Programming.- Curried Functions.- Introduction to Object Orientation.- Class Side and Static Behaviour.- Why Bother with Object Orientation?.- Operator Overloading.- Error and Exception Handling.- Python Modules and Packages.- Abstract Base Classes.- Error and Exception Handling.- Python Modules and Packages.- Protocols, Polymorphism and Descriptors.- Decorators.- Iterables and Iterators.- Generators and Coroutines.- Collections Tuples and Lists.- Sets.- Dictionaries.- Frozensets.- Collection Related Modules.- ADTs, Queues and Stacks.- Map, Filter and Reduce.- Sorting and Higher Order Functions.- Python Enumerated Values, Structural Pattern Making.- Python Virtual Environments.- Monkey Patching.- Attribute Lookup.- The Python Bites Back.- TicTacToe Game.

    1 in stock

    £49.49

  • Expert F 4.0

    APress Expert F 4.0

    1 in stock

    Book SynopsisLearn from F#'s inventor to become an expert in the latest version of this powerful programming language so you can seamlessly integrate functional, imperative, object-oriented, and query programming style flexibly and elegantly to solve any programming problem. Expert F# 4.0 will help you achieve unrivaled levels of programmer productivity and program clarity across multiple platforms including Windows, Linux, Android, OSX, and iOS as well as HTML5 and GPUs. F# 4.0 is a mature, open source, cross-platform, functional-first programming language which empowers users and organizations to tackle complex computing problems with simple, maintainable, and robust code. Expert F# 4.0 is:A comprehensive guide to the latest version of F# by the inventor of the languageA treasury of F# techniques for practical problem-solvingAn in-depth case book of F# applications and F# 4.0 concepts, syntax, and featuresWritten by F#'s inventor and two major F# community members, Expert F# 4.0 is a comprehensTable of Contents1. Introduction2. Your First F# Program – Getting Started With F#3. Introducing Functional Programming4. Introducing Imperative Programming5. Understanding Types in Functional Programming6. Programming with Objects7. Encapsulating and Organizing Your Code8. Working with Textual Data9. Working with Sequences and Structured Data10. Data Analytics, Numeric Programming, and Charting11. Reactive, Asynchronous, and Parallel Programming12. Symbolic Programming with Structured Data13. Integrating External Data and Services14. Building Smart Web Applications15. Visualization and Graphical User Interfaces16. Language-Oriented Programmig17. Libraries and Interoperability18. Developing and Testing F# Code19. Designing F# LibrariesAppendix

    1 in stock

    £52.49

  • Practical JSF in Java EE 8

    APress Practical JSF in Java EE 8

    1 in stock

    Book SynopsisMaster the Java EE 8 and JSF (JavaServer Faces) APIs and web framework with this practical, projects-driven guide to web development. This book combines theoretical background with a practical approach by building four real-world applications. By developing these JSF web applications, you''ll take a tour through the other Java EE technologies such as JPA, CDI, Security, WebSockets, and more.In Practical JSF in Java EE 8, you will learn to use the JavaServer Faces web framework in Java EE 8 to easily construct a web-based user interface from a set of reusable components. Next, you add JSF event handling and then link to a database, persist data, and add security and the other bells and whistles that the Java EE 8 platform has to offer.After reading this book you will have a good foundation in Java-based web development and will have increased your proficiency in sophisticated Java EE 8 web development using the JSF framework.What You Will LearTable of ContentsPart I: TinyCalculator Project1. TinyCalculator2. Foundations3. JavaServer Faces4. Expression Language5. HTML Friendly Markup6. Configuration files7. Testing with Selenium8. Recap TinyCalculatorPart II: Books Project9. Preparing for Java EE 810. Introducing the Books Application11. Starting the Books App12. Java Persistence API13. JSF Templating14. Becoming International15. Bean Validation16. Contexts and Dependency Injection17. Conversation Scope18. Links19. Responsive Design20. Summary and PerspectivePart III: Intermezzo Project21. Intermezzo22. JSF Lifecycle revised23. Repetitive Structures23. JSF and BeanValidationPart IV: Alumni Project24. Alumni25. Validation26. Ajax27. Building Composite Components28. Secure Passwords29. Data Facade30. Activation Mail31. Cleanup (or Scheduled Tasks)32. Authentication and Authorization33. Account Handling34. Classroom Chat (WebSockets) 35. Changing Look and Feel36. Constants HandlingAfterwordAppendix AAppendix BAppendix CAppendix DAppendix E

    1 in stock

    £41.24

  • Interactive ObjectOriented Programming in Java

    APress Interactive ObjectOriented Programming in Java

    1 in stock

    Book Synopsis Gain the fundamental concepts of object-oriented programming with examples in Java. This second edition comes with detailed coverage and enhanced discussion on fundamental topics such as inheritance, polymorphism, abstract classes, interfaces, and packages. This edition also includes discussions on multithread programming, generic programming, database programming, and exception handling mechanisms in Java. Finally, you will get a quick overview of design patterns including the full implementation of some important patterns.  Interactive Object-Oriented Programming in Java begins with the fundamental concepts of object-oriented programming alongside Q&A sessions to further explore the topic. The book concludes with FAQs from all chapters. It also contains a section to test your skills in the language basics with examples to understand Java fundamentals including loops, arrays, and strings. You''ll use the Eclipse IDE to demonstrate the code examples in thTable of ContentsPart-I:• Chapter 1: Object-Oriented Programming Concepts • Chapter 2: Classes and Objects• Chapter 3: Classes and Objects in depth• Chapter 4: Inheritance• Chapter 5: Polymorphism• Chapter 6: Abstract class and Interface• Chapter 7: Package• Chapter 8: Use of Static Keyword• Chapter 9: Quick Recap on OOP principlesPart-II:• Chapter 10: Exceptions• Chapter 11: Multithreading• Chapter 12: Generic Programming• Chapter 13: Database Programming• Chapter 14: Some Important Features in JavaPart-III:• Chapter 15: An Introduction to Design Patterns• Chapter 16: Frequently Asked QuestionsAppendices:Appendix A: Test Your Skill in Language FundamentalsAppendix B: Evolution of JavaAppendix cReferencesIndex

    1 in stock

    £41.24

  • Beginning Rust

    APress Beginning Rust

    1 in stock

    Book SynopsisLearn to program with Rust 2021 Edition, in an easy, step-by-step manner on Unix, the Linux shell, macOS, and the Windows command line.  As you read this book, you''ll build on the knowledge you gained in previous chapters and see what Rust has to offer.   Beginning Rust starts with the basics of Rust, including how to name objects, control execution flow, and handle primitive types. You''ll see how to do arithmetic, allocate memory, use iterators, and handle input/output. Once you have mastered these core skills, you''ll work on handling errors and using the object-oriented features of Rust to build robust Rust applications in no time.Only a basic knowledge of programming in C or C++ and familiarity with a command console are required. After reading this book, you''ll be ready to build simple Rust applications.What You Will Learn Get started programming with Rust Understand heterogeneous data structures aTable of Contents1. Introduction2. Printing on Terminal3. Doing Arithmatic4. Naming Objects5. Controlling Execution Flow6. Using Data Sequences7. Using Primitive Types8. Enumerating Cases9. Using Heterogeneous Data Structures10. Defining Functions11. Defining Generic Functions and Structs12. Allocating Memory13. Data Implementation14. Defining Closures15. Using Changeable Strings16. Ranges and Slices17. Using Iterators18. Input/Output and Error Handling19. Using Traits20. Object-Oriented Programming21. Standard Library Collections22. Drops, Moves, and Copies23. Borrowing and Lifetimes24. More about Lifetimes

    1 in stock

    £49.49

  • Pro Spring Boot 3

    APress Pro Spring Boot 3

    1 in stock

    Book SynopsisThis book will teach you how to build complex Spring applications and microservices out of the box, with minimal concern over things like configurations. Pro Spring Boot 3 will show you how to fully leverage Spring Boot 3's robust features and how to apply them to create enterprise-ready applications, microservices, and web/cloud applications that just work.Special focus is given to what's been added in the new Spring Boot 3 release, including support for Java 17 and 19; changes to Spring Security; Spring Boot Actuator with Micrometer updates; GraalVM support; RSocket service interfaces; many dependency upgrades; more flexible support for Spring Data JDBC, the new AOT (Ahead-of-Time Transformation); and much more. This book is your authoritative, pragmatic guide for increasing your enterprise Java and cloud application productivity while decreasing development time. It's a no-nonsense reference packed with casestudies that increase in complexity over the course of the book. The autho

    1 in stock

    £35.99

  • Modern X86 Assembly Language Programming

    APress Modern X86 Assembly Language Programming

    1 in stock

    Book SynopsisChapter 1 X86-Core Architecture.- Chapter 2 X86-64 Core Programming (Part 1).- Chapter 3 X86-64 Core Programming (Part 2).- Chapter 4 X86-64 Core Programming (Part 3).- Chapter 5 AVX Programming - Scalar Floating-Point.- Chapter 6 Run-Time Calling Conventions.- Chapter 7 Introduction to X86-AVX SIMD Programming.- Chapter 8 AVX Programming Packed Integers.- Chapter 9 AVX Programming Packed Floating Point.- Chapter 10 AVX2 Programming Packed Integers.- Chapter 11 AVX2 Programming Packed Floating Point (Part 1).- Chapter 12 AVX2 Programming Packed Floating Point (Part 2).- Chapter 13 AVX-512 Programming Packed Integers.- Chapter 14 AVX-512 Programming Packed Floating Point (Part 1).- Chapter 15 AVX-512 Programming Packed Floating Point (Part 2).- Chapter 16 Advanced Assembly Language Programming.-  Chapter 17 Assembly Language Optimization and Development Guidelines. Appendix A Source CoTable of ContentsChapter 1 – X86-Core Architecture Chapter Goal: Explains the core architecture of an x86-64 processor. Topics discussed include fundamental data types, registers, status flags, memory addressing modes, and other important architectural subjects. Understanding of this material is necessary for the reader to successfully comprehend the book’s subsequent chapters.Historical overviewData typesFundamental data typesNumerical data typesSIMD data typesMiscellaneous data typesStringsBit fields and bit stringsX86-64 processor internal architectureOverviewGeneral-purpose registersInstruction pointerRFLAGSFloating-point and SIMD registersMXCSR RegisterInstruction operandsMemory addressingCondition codesDifferences between x86-32 and x86-64Chapter 2 – X86-64 Core Programming (Part 1) Chapter Goal: Introduces the fundamentals of x86-64 assembly language programming. The programming examples illustrate essential x86-64 assembly language programming concepts including integer arithmetic, bitwise logical operations, and shift instructions. This chapter also explains basic assembler usage and x86-64 assembly language syntax.Assembler basicsInstruction syntaxAssembler directivesModern X86 Assembly Language Programming, Third Edition Page 2 of 7Daniel Kusswurm – F:\ModX86Asm3E\Proposal\ModernX86Asm3e_Outline (proposal).docxMASM vs. NASMSource code overviewFile and function naming conventionsInteger arithmeticInteger (32-bit) addition and subtraction Bitwise logical operations Shift operations Integer (64-bit) addition and subtraction Integer multiplication and division Chapter 3 – X86-64 Core Programming (Part 2) Chapter Goal: Explores additional core x86-64 assembly language programming concepts. Topics discussed include advanced integer arithmetic, memory addressing modes, and condition codes. This chapter also covers important x86-64 assembly language programming concepts including proper stack use and for-loops.Simple stack arguments Mixed-type integer arithmetic Memory addressing Condition codes Assembly language for-loops Chapter 4 – X86-64 Core Programming (Part 3) Chapter 4 explains how to exercise core x86-64 assembly language programming data constructs including arrays and structures. It also describes how to use common x86-64 string processing instructions.Arrays1D integer array arithmetic calculations 1D integer array arithmetic calculations using multiple arrays2D integer arrays StringsOverview of x86 string instructionsCounting characters String/array compare String/array copy String/array reversal Assembly language structures Chapter 5 – Scalar Floating-Point Chapter 5 teaches the reader how to perform scalar floating-point arithmetic and other operations using assembly language. It also outlines the calling convention requirements for scalar floating-point arguments and return values.Floating-point programming conceptsSingle-precision floating-point arithmeticTemperature conversions Cone volume/surface area calculation Double-precision floating-point arithmeticSphere volume/surface area calculation Floating-point compares and conversionsFloating-point compares using VUCOMIS[S|D] Floating-point compares using VCMPS[S|D] Floating-point conversions Floating-point arraysArray mean/standard deviation calculation Chapter 6 – Assembly Language Calling Conventions Chapter 6 formally defines the calling run-time conventions for x86-64 assembly language functions. The first section explains the requirements for Windows and Visual C++ while the second section covers Linux and GNU C++.Calling convention requirements for Windows and Visual C++Stack frames (Ch06_01)Using non-volatile general-purpose registers Using non-volatile SIMD registers Calling external functions Calling convention requirements for Linux and GNU C++Stack arguments Using non-volatile general-purpose registers Calling external functions Chapter 7 – Advanced Vector Extensions Chapter 7 introduces Advanced Vector Extensions (AVX). It begins with a discussion of AVX architecture and related topics. Chapter 7 also explains elementary SIMD programming concepts. Understanding of this material is necessary for the reader to comprehend the AVX, AVX2, and AVX-512 programming examples in subsequent chapters.X86-AVX architecture overviewAVXAVX2AVX-512Merge masking and zero maskingEmbedded broadcastsInstruction level roundingSIMD programing conceptsBasic arithmeticWraparound vs. saturated arithmeticPack floating-pointPack integerProgramming differences between x86-SSE and x86-AVXChapter 8 – AVX Programming – Packed Integers Chapter 8 spotlights packed integer arithmetic and other operations using AVX. It also describes how to code packed integer calculating functions using arrays and the AVX instruction set. Integer arithmeticAddition and subtraction Multiplication Bitwise logical operations Arithmetic and logical shifts Integer array algorithmsPixel minimum and maximum Pixel mean Chapter 9 – AVX Programming – Packed Floating Point Chapter 9 demonstrates packed floating-point arithmetic and other operations using AVX. This chapter also explains how to use AVX instructions to perform calculations with floating-point arrays and matrices.Floating-point arithmeticBasic arithmetic operations Compares Conversions Floating-point arraysArray mean and standard deviation Array square roots and compares Floating-point matricesMatrix column means Chapter 10 – AVX2 Programming – Packed Integers Chapter 10 describes AVX2 integer programming using x86-64 assembly language. This chapter also elucidates the coding of common image processing algorithms using the AVX2 instruction set.Integer arithmeticBasic operations Size promotions Image processingPixel clipping RGB to grayscale Pixel conversions Image histogram Chapter 11 – AVX2 Programming – Packed Floating Point (Part 1) Chapter 11 teaches the reader how to enhance the performance of universal floating-point calculations using x86-64 assembly language and the AVX2 instruction set. The reader will also learn how to accelerate these types of calculations using fused-multiply-add (FMA) instructions.Floating-Point ArraysLeast squares with FMA Floating-Point MatricesMatrix multiplication F32 Matrix multiplication F64 Matrix (4x4) multiplication F32 Matrix (4x4) multiplication F64 Matrix (4x4) vector multiplication F32 Matrix (4x4) vector multiplication F64 Covariance matrix F64 Chapter 12 – AVX2 Programming – Packed Floating Point (Part 2) Chapter 12 is a continuation of the previous chapter. It explicates the coding of advanced algorithms including matrix inversion and convolutions using AVX2 and FMA instructions.Advanced Matrix OperationsMatrix inverse F32 Matrix inverse F64 Signal Processing1D convolution F32 variable-size kernel 1D convolution F64 variable-size kernel 1D convolution F32 fixed-size kernel 1D convolution F64 fixed-size kernel Chapter 13 – AVX-512 Programming – Packed Integers Chapter 13 highlights packed integer arithmetic and other operations using x86-64 assembly language and AVX-512. It also discusses how to code frequently used image processing algorithms using the AVX-512 instruction set.Integer ArithmeticAddition and subtraction Masked addition and subtraction Image ProcessingPixel clipping Image statistics Image histogram Chapter 14 – AVX-512 Programming – Packed Floating Point (Part 1) Chapter 14 explains basic operations using packed floating-point operands and the AVX-512 instruction set. It also teaches the reader how to code common floating-point algorithms using x86-64 assembly language and AVX-512.Floating-point arithmeticFloating-point arithmetic Floating-point compares Floating-point arithmetic and mask registers Floating-point matricesCovariance matrix Matrix multiplication F32 Matrix multiplication F64 Matrix (4x4) vector multiplication F32 Matrix (4x4) vector multiplication F64 (Ch14_08)Chapter 15 – AVX-512 Programming – Packed Floating Point (Part 2) Chapter 15 is a continuation of the previous chapter. It illustrates the coding of advanced algorithms using AVX-512 and FMA instructions.Signal Processing1D convolution F32 variable-size kernel 1D convolution F64 variable-size kernel 1D convolution F32 fixed-size kernel 1D convolution F64 fixed-size kernel Chapter 16 – Advanced Instructions and Optimization Guidelines Chapter 16 demonstrates the use of advanced x86-64 assembly language instructions. It also discusses guidelines that the reader can exploit to improve the performance of their assembly language code.Advanced instructionsCPUID instruction – processor information CPUID instruction – AVX, AVX2, FMA, and AVX-512 detection Integer non-temporal memory loads and stores Floating-point non-temporal memory stores SIMD text processing Processor microarchitecture overviewX86-64 assembly language optimization guidelinesAppendix A – Source Code and Development Tools Appendix A describes how to download, install, and execute the source code. It also includes some brief usage notes about the software development tools used to create the source code examples.Source codeDownload instructionsSetup and configurationExecuting a source code exampleSoftware development tools for WindowsMicrosoft Visual StudioMASMSoftware development tools for LinuxGNU makeGNU C++ compilerNASMBenchmarking notesAppendix B – References and Additional Resources Appendix B contains a list of references that were consulted during the writing of this book. It also lists supplemental resources that the reader can consult for additional x86-64 assembly language programming information.X86-64 assembly language programming referencesAlgorithm referencesC++ referencesX86 processor software utilities and librariesAdditional resources

    1 in stock

    £49.49

  • Joel on Software: And on Diverse and Occasionally

    APress Joel on Software: And on Diverse and Occasionally

    1 in stock

    Book Synopsis* Covers three years of the best essays. * Essays range from technical to humorous, but are always tangible. * Beautifully written and extremely timely. * Google lists 183,000 links for "Joel on Software". * Spolsky is one of the most popular programmers around today, with legions of followers. Table of Contents Choosing a Language Back to Basics The Joel Test: 12 Steps to Better Code The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) Painless Functional Specifications Part 1: Why Bother? Painless Functional Specifications Part 2: What's a Spec? Painless Functional Specifications Part 3: But . . . How? Painless Functional Specifications Part 4: Tips Painless Software Schedules Daily Builds Are Your Friend Hard-Assed Bug Fixin' Five Worlds Paper Prototyping Don't Let Architecture Astronauts Scare You Fire and Motion Craftsmanship Three Wrong Ideas from Computer Science Biculturalism Get Crash Reports From Users—Automatically! The Guerilla Guide to Interviewing Incentive Pay Considered Harmful Top Five (Wrong) Reasons You Don't Have Testers Human Task Switches Considered Harmful Things You Should Never Do, Part One The Iceberg Secret, Revealed The Law of Leaky Abstractions Lord Palmerston on Programming Measurement Rick Chapman Is In Search of Stupidity What Is the Work of Dogs in This Country? Getting Things Done When You're Only a Grunt Two Stories Big Macs vs. The Naked Chef Nothing Is As Simple As It Seems In Defense of Not-Invented-Here Syndrome Strategy Letter I: Ben & Jerry's vs. Amazon Strategy Letter II: Chicken-and-Egg Problems Strategy Letter III: Let Me Go Back! Strategy Letter IV: Bloatware and the 80/20 Myth Strategy Letter V: The Economics of Open Source A Week of Murphy's Law Gone Wild How Microsoft Lost the API War Microsoft Goes Bonkers Our .NET Strategy Please Sir May I Have a Linker?

    1 in stock

    £26.99

  • Logic Gates, Circuits, Processors, Compilers and

    Springer Nature Switzerland AG Logic Gates, Circuits, Processors, Compilers and

    1 in stock

    Book SynopsisThis undergraduate textbook first introduces basic electronic circuitry before explaining more advanced elements such as the Arithmetic Logic Unit, sequential circuits, and finally microprocessors. In keeping with this integrated and graduated approach, the authors then explain the relationship to first assembly programming, then higher-level languages, and finally computer organisation. Authors use the Raspberry Pi and ARM microprocessors for their explanationsThe material has been extensively class tested at TU Eindhoven by an experienced team of lecturers and researchers. This is a modern, holistic treatment of well-established topics, valuable for undergraduate students of computer science and electronics engineering and for self-study. The authors use the Raspberry Pi and ARM microprocessors for their explanations.Table of ContentsBasic Components and Combinatorial Circuits.- Numbers, Basic Circuits, and the ALU.- Sequential Circuits.- An Elementary Processor.- Assembly Programming.- Compiling Higher-Level Languages.- Computer Organisation.- The Raspberry Pi and the ARM Processor.- App. A, An Extended Instruction Set for the Simple Processor.- App. B, The ARM Instruction Set.- App. C, Syntax of the Register Transfer Language.- App. D, Exercise Answers.

    1 in stock

    £28.49

  • OpenMP: Advanced Task-Based, Device and Compiler

    Springer International Publishing AG OpenMP: Advanced Task-Based, Device and Compiler

    1 in stock

    Book SynopsisThis book constitutes the proceedings of the 19th International Workshop on OpenMP, IWOMP 2023, held in Bristol, UK, during September 13–15, 2023.The 15 full papers presented in this book were carefully reviewed and selected from 20 submissions. The papers are divided into the following topical sections: OpenMP and AI; Tasking Extensions; OpenMP Offload Experiences; Beyond Explicit GPU Support; and OpenMP Infrastructure and Evaluation.Table of Contents​OpenMP and AI: Advising OpenMP Parallelization via a Graph-Based Approach with Transformers.- Towards Effective Language Model Application in High-Performance Computing.- OpenMP Advisor: A Compiler Tool for Heterogeneous Architectures.- Tasking Extensions: Introducing Moldable Task in OpenMP.- Suspending OpenMP Tasks on Asynchronous Events: Extending the Taskwait Construct.- How to Efficiently Parallelize Irregular DOACROSS Loops Using Fine-Grained Granularity and OpenMP Tasks? The mcf Case.- OpenMP Offload Experiences: The Kokkos OpenMPTarget Backend: Implementation and Lessons Learned.- Fine-Grained Parallelism on GPUs Using OpenMP Target Offloading.- Improving a Multigrid Poisson Solver with Peer-to-Peer Communication and Task Dependencies.- Beyond Explicit GPU Support: Multipurpose Cacheing to accelerate OpenMP Target Regions on FPGAs.- Generalizing Hierarchical Parallelism.- Exploring the Limits of Generic Code Execution on GPUs via Direct (OpenMP) Offload.- OpenMP Infrastructure and Evaluation: Improving Simulations of Task-Based Applications on Complex NUMA Architectures.- Experimental Characterization of OpenMP Offloading Memory Operations and Unified Shared Memory Support.- OpenMP Reverse Offloading Using Shared Memory Remote Procedure Calls.

    1 in stock

    £47.49

  • Object-Process Methodology: A Holistic Systems Paradigm

    Springer-Verlag Berlin and Heidelberg GmbH & Co. KG Object-Process Methodology: A Holistic Systems Paradigm

    1 in stock

    Book SynopsisObject-Process Methodology (OPM) is an intuitive approach to systems engineering. This book presents the theory and practice of OPM with examples from various industry segments and engineering disciplines, as well as daily life. OPM is a generic, domain independent approach that is applicable almost anywhere in systems engineering.Table of ContentsI Foundations of Object-Process Methodology.- 1 A Taste of OPM.- 1.1 The Wedding Example: A Sneak Preview of OPM.- 1.2 OPM Building Blocks: Objects, Processes, and States.- 1.3 Specialization and Inheritance.- 1.4 Aggregation and the Result Link.- Summary.- Problems.- 2 Object-Process Diagrams.- 2.1 Objects and Aggregation.- 2.2 Structural Relations and Structural Links.- 2.3 Processes and Procedural Links.- 2.4 System Diagram: The Top-Level OPD.- 2.5 Zooming into the Transaction Executing Process.- 2.6 The OPD Set.- 2.7 How to Read an OPD.- 2.7.1 Flow of Control.- 2.7.2 The Timeline in OPDs.- 2.7.3 Object States and Conditions.- 2.8 Completing the In-Zoomed Transaction Executing OPD.- 2.8.1 Logical XOR, AND, and OR Operators.- 2.8.2 The System Map.- 2.8.3 The Ultimate OPD.- 2.8.4 Zooming Out of Transaction Executing.- Summary.- Problems.- 3 Object-Process Language.- 3.1 Motivation for a Language.- 3.1.1 Real-Time Textual Feedback.- 3.1.2 Closing the Requirements-Implementation Gap.- 3.2 Structural Links and Structure Sentences.- 3.2.1 The First OPL Sentence.- 3.2.2 The First OPL Aggregation Sentence.- 3.3 The OPL Paragraph and the Graphics-Text Principle.- 3.3.1 Extending the OPL Paragraph.- 3.3.2 Enabling Sentences.- 3.3.3 Transformation Sentences.- 3.3.4 The SD Paragraph.- 3.4 More OPL Sentence Types.- 3.4.1 State Enumeration and Condition Sentences.- 3.4.2 AND, XOR, and OR Logical Operators.- 3.4.3 The SD1 Paragraph.- 3.4.4 In-Zooming and Out-Zooming Sentences.- 3.5 Boolean Objects and Determination Sentence.- 3.5.1 Boolean Condition Sentences.- 3.5.2 Compound Condition Sentences.- 3.5.3 State-Specified Generation Sentence.- 3.5.4 Converting a Dual-State Object into a Boolean Object.- 3.6 OPD-OPL Item Pairs and Synergy.- Summary.- Problems.- 4 Objects and Processes.- 4.1 Existence, Things, and Transformations.- 4.1.1 Objects.- 4.1.2 Transformation and Processes.- 4.2 Processes and Time.- 4.2.1 Cause and Effect.- 4.2.2 Syntactic vs. Semantic Sentence Analysis.- 4.2.3 The Process Test.- 4.3 Things.- 4.3.1 Things and Entities.- 4.3.2 The Perseverance of Things.- 4.3.3 The Essence of Things.- 4.3.4 Symbolizing Physical Things.- 4.3.5 The Origin of Things.- 4.3.6 The Complexity of Things.- 4.3.7 Thing Types.- 4.3.8 The Relativity of Object and Process Importance.- 4.3.9 Object and Process Naming.- 4.4 Informatical Objects.- 4.4.1 Telling Informatical and Physical Objects Apart.- 4.4.2 Systems and Information Systems.- 4.4.3 Translation of Informatical Objects.- 4.4.4 Toward “Pure” Informatical Objects.- 4.5 Object Identity.- 4.5.1 Change of State or Change of Identity?.- 4.5.2 Classes and Instances of Objects and Processes.- Summary.- Problems.- II Concepts of OPM Systems Modeling.- 5Dynamics.- 5.1 States.- 5.1.1 Object States and Status.- 5.1.2 Change and Effect.- 5.1.3 Explicit and Implicit Status Representations.- 5.1.4 The Input, Output, and Effect Links.- 5.1.5 State Suppression and the Effect Link.- 5.1.6 State Expression.- 5.2 Existence and Transformation.- 5.2.1 Result and Consumption Links.- 5.2.2 Procedural Links, Enablers, and Transformées.- 5.2.3 Enablers.- 5.2.4 Agents.- 5.2.5 Instruments.- 5.2.6 Enabling Links.- 5.2.7 Transformées.- 5.2.8 Odd Man Out: The Invocation Linkt.- 5.3 Object Roles with Respect to a Process.- 5.3.1 Enablers and Affectees.- 5.3.2 The Involved, Preprocess, and Postprocess Object Sets.- 5.3.3 Condition and Agent Condition Links.- 5.3.4 Operator, Operand, and Transform?.- Summary.- Problems.- 6Structure.- 6.1 Structural Relations.- 6.1.1 Structural Links.- 6.1.2 Structural Relation Directions.- 6.1.3 Unidirectional Structural Link.- 6.1.4 OPD Sentences.- 6.1.5 The Reciprocity of a Structural Relation.- 6.1.6 Null Tags and Their Default OPL Reserved Phrases.- 6.1.7 Structural Relations as Static Verbs.- 6.2 Participation Constraints and Cardinality.- 6.2.1 Participation Constraints.- 6.2.2 Parameterized Participation Constraints.- 6.2.3 Range Participation Constraints.- 6.2.4 Shorthand Notations and Reserved Phrases.- 6.2.5 Cardinality.- 6.2.6 Participation Constraints in Procedural Relations.- 6.3 The Distributive Law and Forks.- 6.3.1 Forks.- 6.3.2 Fork Degree.- 6.3.3 Fork Comprehensiveness.- 6.4 The Transitivity of Structural Relations.- 6.5 The Four Fundamental Structural Relations.- Summary.- Problems.- 7Aggregation and Exhibition.- 7.1 Aggregation-Participation: Underlying Concepts.- 7.1.1 Aggregation-Participation as a Tagged Structural Relation.- 7.1.2 The Aggregation-Participation Symbol.- 7.1.3 Sets and Order.- 7.1.4 Aggregate Naming.- 7.1.5 Aggregating Processes.- 7.2 Aggregation Hierarchy and Comprehensiveness.- 7.2.1 Aggregation Hierarchy.- 7.2.2 Aggregation Comprehensiveness.- 7.2.3 Parameterized Participation Constraints.- 7.2.4 Participation Level and Aggregational Complexity.- 7.3 Exhibition-Characterization: Underlying Concepts.- 7.3.1 The Name Exhibition-Characterization.- 7.3.2 The Exhibition-Characterization Symbol.- 7.3.3 Attribute and Operation Are Features.- 7.3.4 Exhibition Complexity.- 7.4 Features in 00 vs. OPM.- 7.5 The Four Thing-Feature Combinations.- 7.5.1 The Object-Attribute Combination.- 7.5.2 The Object-Operation Combination.- 7.5.3 The Process-Attribute Combination.- 7.5.4 Process-Operation Combination.- 7.6 The Feature Hierarchy.- 7.7 Feature-Related Natural Language Issues.- 7.7.1 Attribute Naming Dilemmas.- 7.7.2 Reserved Objects and the Measurement Unit Reserved Object.- 7.7.3 Continuous Values and Multi-Valued Attributes.- 7.7.4 Mathematical Inequalities in OPM.- 7.8 Reflective Metamodeling of an Attribute.- 7.8.1 The Size of an Attribute.- 7.8.2 The Mode of an Attribute.- 7.8.3 The Touch of an Attribute.- 7.8.4 The Source of a Feature.- 7.8.5 The Operation a Feature Carries.- Summary.- Problems.- 8 Generalization and Instantiation.- 8.1 Generalization-Specialization: Introduction.- 8.1.1 Specialization Symbol and Sentence.- 8.1.2 Process Specialization.- 8.2 Inheritance.- 8.2.1 Feature Inheritance.- 8.2.2 Structural Relations Inheritance.- 8.2.3 Procedural Link Inheritance.- 8.2.4 State Inheritance.- 8.2.5 State Specialization.- 8.2.6 Process Specialization.- 8.2.7 Generalization Complexity.- 8.3 Qualification.- 8.3.1 Qualification Inheritance.- 8.3.2 Multiple Qualification Inheritance.- 8.4 Classification-Instantiation.- 8.4.1 Classes and Instances.- 8.4.2 The Relation Between Instantiation and Specialization.- 8.4.3 The Relativity of Instance.- 8.4.4 Instance Qualification.- 8.4.5 Process Instances.- 8.4.6 Classification Complexity.- 8.5 Modifiers and Instances.- 8.5.1 Natural Language Modifiers and Shortcuts.- 8.5.2 Adjectives and Attributes.- 8.5.3 Adverbs and Operations.- 8.6 Specializations of the Involved Object Set Members.- 8.7 Non-Comprehensiveness.- 8.7.1 Non-Comprehensiveness of Fundamental Structural Relations.- 8.7.2 Non-Comprehensiveness of States and Values.- Summary.- Problems.- 9 Managing Systems’ Complexity.- 9.1 The Need for Complexity Management.- 9.1.1 Middle-Out as the De-Facto Architecting Practice.- 9.1.2 Determining the Extent of Refinement.- 9.1.3 Towards Quantifying Complexity.- 9.2 Divide and Conquer: By Aspects or by Details?.- 9.2.1 Why is Detail Decomposition Good?.- 9.2.2 When Should a New OPD Be Created?.- 9.3 The Attributes of Scaling.- 9.3.1 The Purpose of Scaling.- 9.3.2 The Mode of Scaling.- 9.3.3 Controlling Visibility by In- and Out-Zooming.- 9.3.4 The Distributivity of Procedural Links.- 9.3.5 Unfolding and Folding.- 9.3.6 State Expressing and Suppressing.- 9.3.7 Primary and Secondary Operands.- 9.4 Abstracting.- 9.4.1 Consolidating.- 9.4.2 Zoom consolidating.- 9.4.3 Paths and Path Labels.- 9.4.4 Zoom Consolidating Pitfalls.- 9.4.5 Zoom Consolidating Conditions.- 9.4.6 Fold Consolidating.- 9.5 What Happens to Procedural Links During Abstracting?.- 9.5.1 Procedural Link Precedence.- 9.5.2 Semi-Folding and Semi-Unfolding.- 9.5.3 Selective Semi-Folding and Semi-Unfolding.- 9.6 Looking at the Big Picture: The System Map and the OPM Construct Pairs.- Summary.- Problems.- III Building Systems with OPM.- 10 Systems and Modeling.- 10.1 Defining Systems.- 10.1.1 Some Existing Definitions.- 10.1.2 Function.- 10.1.3 The Various Functions of Stone.- 10.2 System Defined.- 10.2.1 System as a Relative Term.- 10.2.2 System as a Subjective Term.- 10.2.3 The Function of Naturaland Artificial Systems.- 10.3 Goal, Concept, and Function.- 10.3.1 The Intent and Goal of Artificial Systems.- 10.3.2 Telling System Function and Dynamics Apart.- 10.3.3 Function, Structure, and Behavior.- 10.4 System Architecture.- 10.4.1 Function vs. Dynamics.- 10.4.2 The Concept Behind a System.- 10.4.3 The Origin and Essence of Systems.- 10.5 Objects, Systems, and Products.- 10.5.1 Product Defined.- 10.5.2 The Object-System-Product Hierarchy.- 10.5.3 Goods, Services, and Projects.- 10.6 Documenting Functions of the System Architecture.- 10.6.1 The Function Hierarchy.- 10.6.2 Function Boxes and Function Sentences.- 10.6.3 Functionality.- 10.7 From Systems to Models.- 10.7.1 Some Model Definitions.- 10.7.2 Model Defined.- 10.8 Modeling Paradigms.- 10.8.1 Natural Language as a Modeling Tool.- 10.8.2 Mathematical and Symbolic Modeling.- 10.8.3 Graphic Modeling and Knowledge Representation.- 10.9 Reflective Metamodeling.- Summary.- Problems.- 11 System Lifecycle and Evolution.- 11.1 System Lifecycle.- 11.1.1 Lifecycle of Artificial Systems.- 11.1.2 Software and Product Development Processes.- 11.2 Systems Analysis and the Scientific Method.- 11.3 Categorization vs. Interdisciplinarity.- 11.4 System Engineering and the Role of the System Architect.- 11.5 An OPM Model of System Lifecycle Phases.- 11.5.1 Top-Level Description of System Evolution.- 11.5.2 Initiating the System.- 11.5.3 Developing the System.- 11.5.4 Analyzing.- 11.5.5 The Refining-Abstracting Cycles.- 11.5.6 Designing.- 11.5.7 The Waterfall Model vs. Iterative and Incremental Development.- 11.5.8 Deploying the System.- 11.6 Zooming into Analyzing.- 11.7 Zooming into Designing and Implementing.- 11.8 From Design to Implementation.- Summary.- Problems.- 12 States and Values.- 12.1 State-specified Objects and Links.- 12.1.1 Initial, Ultimate and Default States.- 12.1.2 The Transformation Attribute of a Process.- 12.1.3 Object as a Role Player for State.- 12.1.4 State Maintaining Processes.- 12.1.5 Sentences and Phrases of States and Values.- 12.1.6 Single Value Sentence.- 12.2 Telling States Apart from Values.- 12.3 Metamodeling the Attributes of Value and Their States.- 12.3.1 Numeric and Symbolic Values.- 12.3.2 Mapping Object States onto Attribute Values.- 12.4 Compound States and State Space.- 12.4.1 The Attribute Feasibility Matrix.- 12.4.2 Logical Compound States.- Summary.- Problems.- 13 Advanced OPM Concepts.- 13.1 Real-Time Issues.- 13.1.1 Sequential vs. Parallel Process Execution.- 13.1.2 Process Synchronization.- 13.1.3 Events.- 13.1.4 Chronon and Event.- 13.1.5 Basic Triggering Event Types.- 13.2 Process and State Duration.- 13.3 Processing states.- 13.4 Probability in Procedural Relations.- 13.5 Scope and Name Disambiguation.- 13.5.1 The Fundamental DAG.- 13.5.2 Scope of an Object.- 13.6 The Reserved Words “of” and “which”.- 13.6.1 The Reserved Word “of” and the Dot Operator.- 13.6.2 Using “of” with Tagged Structural Relations.- 13.6.3 The Reserved Word “which”.- 13.6.4 Operation: A Process Without Side Effect.- 13.7 Structure-Related Issues.- 13.7.1 Transitivity Strength.- 13.7.2 Hamiltonian Distance.- 13.7.3 The Fractal Relation.- 13.7.4 Covariance and Contravariance.- 13.8 OPM Metamodeling Issues.- 13.8.1 AMetamodelofThing.- 13.8.2 The Specialization-Specification Hierarchy.- 13.8.3 A Refined Generic Processing Model.- 13.8.4 Time Exception Handling.- 13.9 The OPM Construct Hierarchy.- Summary.- Problems.- 14 Systems Theory.- 14.1 The Informatics Hierarchy.- 14.1.1 Computers Are Climbing the Informatics Hierarchy.- 14.1.2 Knowledge and Understanding.- 14.2 Ontology.- 14.3 General Systems Theory.- 14.3.1 A Brief History of General Systems Theory.- 14.3.2 The Hierarchy of System Levels.- 14.4 Autopoietic vs. Allopoietic Systems.- 14.5 Systems and Humans.- 14.6 Systems Theory Characteristics.- 14.6.1 Previously Defined Characteristics.- 14.6.2 System, Environment and Beneficiaries.- 14.6.3 Control and Feedback.- 14.7 Classical Physics vs. Quantum Theory.- 14.7.1 Visualization.- 14.7.2 Causality.- 14.7.3 Locality.- 14.7.4 Self-Identity.- 14.7.5 Objectivity.- 14.8 Objectifying: Converting a Process into an Object.- Summary.- Problems.- 15 Object-Oriented Modeling.- 15.1 The Evolution of System Analysis Methods.- 15.1.1 Data Flow Diagrams.- 15.1.2 Entity-Relationship Diagrams and Their Combination with DFD.- 15.1.3 The Object-Oriented Paradigm.- 15.2 Pre-UML Object-Oriented Methods.- 15.2.1 Object Modeling Technique.- 15.2.2 Object-Oriented Software Engineering.- 15.2.3 Object-Oriented Analysis and Object-Oriented Design.- 15.2.4 Object-Oriented Systems Analysis.- 15.2.5 Object-Oriented Analysis & Design.- 15.2.6 Object Life-Cycles.- 15.2.7 The Booch Method.- 15.2.8 MOSES.- 15.2.9 The Fusion Method.- 15.2.10 OPEN Modeling Language.- 15.3 Unified Modeling Language-UML.- 15.4 Metamodeling in OO Methods.- 15.5 OO Methods - A Summary.- 15.6 Software Development Approaches and Trends.- 15.6.1 Aspect-Oriented Programming.- 15.6.2 The Rational Unified Process.- 15.6.3 Extreme Programming.- 15.6.4 Agile Modeling.- 15.7 Challenges for OO Methods.- 15.7.1 A Historic Perspective.- 15.7.2 The Encapsulation Challenge.- 15.7.3 The Model Multiplicity Challenge.- 15.7.4 Empirical Evidence of the Model Multiplicity Problem.- 15.7.5 The Complexity Management Challenge.- 15.8 OPM and OO.- 15.8.1 The UML 2.0 Initiative.- 15.8.2 Systemantica: an OPM Supporting Tool.- 15.8.3 OPM Applications and Research: Present and Future.- Summary.- Problems.- Appendix A: The ATM System.- References.

    1 in stock

    £47.49

  • STL for C Programmers

    John Wiley & Sons Inc STL for C Programmers

    Book SynopsisIt is the first book that I have read that makes STL quickly usable by working programmers Francis Glassborow, Chair of The Association of C & C++ Users (ACCU) STL for C++ programmers Leen Ammeraal The Standard Template Library (STL) provides many useful and generally applicable programming tools. This book combines reference material and a well-paced tutorial to get you past the basics quickly. Small, complete programs illustrate the key STL features such as containers, algorithms, iterators and function objects. A section is devoted to the new string data type. All STL algorithms are formally presented by their prototypes and then informally described to show how to use them in practice. Concepts are well illustrated with a large number of example programs all of which are available via ftp (for access details please refer to the preface of the book or Wiley''s website). Finally, special examples are given to explain the advanced notions of function objects and function adaptors, incTable of ContentsSTL for Beginners. More Algorithms and Containers. Sequence Containers. Associative Containers. Container Adaptors. Function Objects and Adaptors. Generic Algorithms. An Application: Very Large Numbers. Bibliography. Index.

    £56.00

  • Formal Verification of JustinTime Compilation

    Association for Computing Machinery Formal Verification of JustinTime Compilation

    Book Synopsis

    £54.89

  • Formal Verification of JustinTime Compilation

    Association for Computing Machinery Formal Verification of JustinTime Compilation

    Book Synopsis

    £40.49

  • Springer Essential AutoLISP With a Quick Reference Card and a Diskette

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £87.40

  • Cambridge University Press Modern Compiler Implementation in C

    15 in stock

    Book SynopsisDescribes all phases of a modern compiler, including techniques in code generation and register allocation for imperative, functional and object-oriented languages.Table of ContentsPart I. Fundamentals of Compilation: 1. Introduction; 2. Lexical analysis; 3. Parsing; 4. Abstract syntax; 5. Semantic analysis; 6. Activation records; 7. Translation to intermediate code; 8. Basic blocks and traces; 9. Instruction selection; 10. Liveness analysis; 11. Register allocation; 12. Putting it all together; Part II. Advanced Topics: 13. Garbage collection; 14. Object-oriented languages; 15. Functional programming languages; 16. Polymorphic types; 17. Dataflow analysis; 18. Loop optimizations; 19. Static single-assignment form; 20. Pipelining and scheduling; 21. The memory hierarchy; Appendix.

    15 in stock

    £64.99

  • Cambridge University Press Modern Compiler Implementation in Java

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £67.99

  • Springer Computing with Parallel Architecture TNode 2 Eurocourses Computer and Information Science

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £123.49

  • 15 in stock

    £104.49

  • Springer The Logic Programming Tutor

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £123.49

  • 15 in stock

    £123.49

  • Springer Artificial Intelligence Through Search

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £123.49

  • Springer Representing Uncertain Knowledge An Artificial Intelligence Approach

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £123.49

  • 15 in stock

    £170.99

  • Springer On Systems Analysis and Simulation of Ecological Processes with Examples in CSMP FST and FORTRAN

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £170.99

  • Springer Software Prototyping in Data and Knowledge Engineering 497 Mathematics and Its Applications

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £85.49

  • Springer Developments in Reliable Computing

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £85.49

  • Springer GoalDirected Proof Theory

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £85.49

  • 15 in stock

    £170.99

  • Springer Thinking with Diagrams

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £113.99

  • 15 in stock

    £85.49

  • Springer The Interaction of Compilation Technology and Computer Architecture

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £85.49

  • Springer Multiprocessor Execution of Logic Programs

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £123.49

  • Springer LOTOSphere Software Development with LOTOS

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £123.49

  • 15 in stock

    £152.99

  • Principles of Distributed Systems

    Springer Us Principles of Distributed Systems

    15 in stock

    Book Synopsisto Distributed Systems.- Distributed Systems versus Parallel Systems.- Partial Orders.- Notation.- Overview of the book.- Exercises.- Bibliographic Remarks.- 1 Time.- 1.1 Introduction.- 1.2 Model of a distributed system.- 1.3 Logical Clocks.- 1.4 Vector Clocks.- 1.5 Direct Dependency Clocks.- 1.6 Higher Dimensional Clocks.- 1.7 Exercises.- 1.8 Bibliographic Remarks.- 2 Mutual Exclusion.- 2.1 Introduction.- 2.2 Problem.- 2.3 Lamport's Algorithm.- 2.4 Ricart and Agrawala's Algorithm.- 2.5 Centralized Algorithm.- 2.6 Dijkstra's Self-stabilizing Algorithm.- 2.7 Exercises.- 2.8 Bibliographic Remarks.- 3 Global State.- 3.1 Introduction.- 3.2 Consistent Cuts.- 3.3 Global Snapshots of Processes.- 3.4 Global Snapshots of Processes and Channels.- 3.5 Global Snapshots for non-FIFO channels.- 3.6 Applications of Global Snapshot Algorithms.- 3.7 Exercises.- 3.8 Bibliographic Remarks.- 4 Possible Global Predicates.- 4.1 Introduction.- 4.2 Possibility of a Global Predicate.- 4.3 NP-Completeness of Global Predicate Detection.- 4.4 Linear Predicates.- 4.5 Semi-Linear Predicates.- 4.6 Exercises.- 4.7 Bibliographic Remarks.- 5 Conjunctive Possible Global Predicates.- 5.1 Introduction.- 5.2 Weak Conjunctive Predicates.- 5.3 A Vector Clock based Centralized Algorithm for WCP.- 5.4 A Direct Dependence based Centralized Algorithm for WCP.- 5.5 A Vector Clock based Distributed Algorithm for WCP.- 5.6 A Centralized Algorithm for Generalized Conjunctive Predicates.- 5.7 A Vector Clock based Distributed GCP Detection Algorithm.- 5.8 Exercises.- 5.9 Bibliographic Remarks.- 6 Relational Possible Global Predicates.- 6.1 Introduction.- 6.2 Relational Predicate with Two Integer Variables.- 6.3 Relational predicates with N Boolean Variables.- 6.4 Bounded Sum Predicates.- 6.5 Exercises.- 6.6Bibliographic Remarks.- 7 Inevitable Global Predicates.- 7.1 Introduction.- 7.2 Global Sequence.- 7.3 Logic for Global Predicates.- 7.4 Strong Conjunctive Predicates.- 7.5 Algorithms for Detecting SCP.- 7.6 Exercises.- 7.7 Bibliographic Remarks.- 8 Control Flow Predicates.- 8.1 Introduction.- 8.2 LRDAG Logic.- 8.3 Examples.- 8.4 Decentralized Detection Algorithm.- 8.5 Exercises.- 8.6 Bibliographic Remarks.- 9 Order.- 9.1 Introduction.- 9.2 Relationship among Message Orderings.- 9.3 FIFO Ordering of Messages.- 9.4 Causal Ordering Of Messages.- 9.5 Synchronous Ordering of Messages.- 9.6 Exercises.- 9.7 Bibliographic Remarks.- 10 Computation.- 10.1 Introduction.- 10.2 Global Functions.- 10.3 Repeated Computation.- 10.4 Exercises.- 10.5 Bibliographic Remarks.- References.Table of ContentsList of Figures. Preface. 0. Introduction to Distributed Systems. 1. Time. 2. Mutual Exclusion. 3. Global State. 4. Possible Global Predicates. 5. Conjunctive Possible Global Predicates. 6. Relational Possible Global Predicates. 7. Inevitable Global Predicates. 8. Control Flow Predicates. 9. Order. 10. Computation. References. Index.

    15 in stock

    £132.99

  • 15 in stock

    £14.24

© 2026 Book Curl

    • American Express
    • Apple Pay
    • Diners Club
    • Discover
    • Google Pay
    • Maestro
    • Mastercard
    • PayPal
    • Shop Pay
    • Union Pay
    • Visa

    Login

    Forgot your password?

    Don't have an account yet?
    Create account