
At a Glance
472 Pages
23.5 x 16.51 x 2.54
Hardcover
$329.75
or 4 interest-free payments of $82.44 with
 orÂShips in 5 to 7 business days
*Visual programming theory and techniques for rapid software prototyping and graph visualization, including distributed programming;
*Visual formalisms such as Flowchart, Event Graph, and Process Communication Graph;
*Graph-oriented distributed programming;
*Program visualization for software understanding, testing/debugging and maintenance;
*Object-oriented re-design based on legacy procedural software;
*Cognitive models for designing software exploration tools;
*Human comprehensibility of visual modeling diagrams in UML;
*UML extended with pattern compositions for software reuse;
*Visualization of software architecture and Web architecture for better understanding;
*Visual programming and program visualization for music synthesizers;
*Drawing diagrams nicely using clustering techniques for software engineering.
| Contributing Authors | p. xiii |
| Preface | p. xxiii |
| Visual Formalisms | p. 1 |
| Graph Grammars for Visual Programming | p. 3 |
| Introduction | p. 3 |
| Graph Grammars and DSVL Generation | p. 5 |
| Graph Grammars | p. 5 |
| The Reserved Graph Grammar Formalism | p. 6 |
| Generating DSVLs | p. 9 |
| Graph Parsing | p. 12 |
| Grammar-Based Diagram Visualization | p. 14 |
| Spatial Grammar Extension | p. 14 |
| Graph Layout | p. 16 |
| Position Specification | p. 18 |
| Direction Specification | p. 19 |
| An Example: Flowcharts | p. 20 |
| Other Applications | p. 22 |
| Conclusions and Future Work | p. 23 |
| References | p. 25 |
| Visualizing Program Behavior with the Event Graph | p. 29 |
| Introduction | p. 29 |
| Software Engineering and Visualization | p. 29 |
| Usage of Graph Theory in Visualization | p. 30 |
| Addressed Solutions based on the Event Graph | p. 30 |
| The Event Graph Model | p. 31 |
| Basic Definition | p. 31 |
| Event Attributes | p. 32 |
| Ordering Relation | p. 33 |
| Event Graph Generation | p. 34 |
| Event Graph Visualization | p. 37 |
| Program Analysis with the Event Graph Model | p. 38 |
| Visual Representations | p. 38 |
| Detection of Program Failures | p. 40 |
| Detection of Computational Errors | p. 41 |
| Communication and Synchronization Errors | p. 41 |
| Visualization of the Detected Behavioral Characteristics | p. 44 |
| Time-Scale | p. 45 |
| Advanced Analysis Activities | p. 46 |
| Group Identification | p. 46 |
| Pattern Matching | p. 47 |
| Loop Detection | p. 52 |
| Summary | p. 54 |
| Acknowledgments | p. 55 |
| References | p. 55 |
| Flowchart Components for Program Visualization | p. 59 |
| Introduction | p. 59 |
| Flowchart Components | p. 60 |
| Definition of flowchart components | p. 61 |
| The component geometric information | p. 62 |
| An example | p. 63 |
| Developing Flowchart Layout Functions | p. 64 |
| The method of developing layout functions | p. 65 |
| Layout functions for flowchart components | p. 67 |
| Converting Source Code to Flowcharts | p. 69 |
| Prototype Implementation | p. 70 |
| Conclusion | p. 74 |
| References | p. 74 |
| A Formalism for Graph-Oriented Distributed Programming | p. 77 |
| Introduction | p. 77 |
| Related Work | p. 79 |
| The Graph-Oriented Programming Model | p. 80 |
| The CDG Framework | p. 83 |
| Operations on DPGs | p. 86 |
| Primitive Functions | p. 87 |
| Construction Operations | p. 88 |
| Inspection Operations | p. 89 |
| Replacement | p. 90 |
| CDG Calculus | p. 93 |
| The Composition Calculus | p. 93 |
| Recursion Calculus | p. 100 |
| Applications and a GOP Toolkit | p. 102 |
| Communication and Synchronization | p. 102 |
| Subgraph generation | p. 102 |
| Query | p. 103 |
| Example | p. 103 |
| A GOP Toolset | p. 105 |
| Conclusions and Future Work | p. 108 |
| References | p. 108 |
| Human Factors | p. 111 |
| Designing A Software Exploration Tool Using A Cognitive Framework | p. 113 |
| Introduction | p. 113 |
| Tool support for program comprehension | p. 115 |
| Cognitive models of program comprehension | p. 116 |
| Characteristics affecting comprehension strategies | p. 118 |
| Reducing cognitive overhead | p. 119 |
| SHriMP Views | p. 120 |
| Designing a tool using the Cognitive Framework | p. 122 |
| Supporting program comprehension strategies | p. 122 |
| Reducing cognitive overhead | p. 134 |
| Summary | p. 140 |
| Conclusions and Future Work | p. 142 |
| Acknowledgments | p. 143 |
| References | p. 144 |
| UML Class Diagrams: An Empirical Study of Comprehension | p. 149 |
| Introduction | p. 149 |
| UML class diagrams | p. 150 |
| Experimental aims and definitions | p. 151 |
| Experiment 1: Notation | p. 151 |
| Introduction | p. 151 |
| Notational variations | p. 152 |
| Methodology | p. 152 |
| Results | p. 157 |
| Analysis | p. 160 |
| Discussion (notational variations) | p. 162 |
| Experiment 2: Layout | p. 163 |
| Introduction | p. 163 |
| Aesthetic variations | p. 163 |
| Methodology | p. 166 |
| Results | p. 167 |
| Analysis | p. 168 |
| Within-aesthetic Preference Data | p. 169 |
| Between-aesthetic preference data | p. 172 |
| Analysis | p. 174 |
| Discussion (aesthetic layout variations) | p. 175 |
| Conclusion | p. 176 |
| Acknowledgements | p. 176 |
| References | p. 177 |
| Analysis of Visual Languages for Parallel Programming | p. 179 |
| Introduction | p. 179 |
| Related Works | p. 182 |
| PCG Language and Editor | p. 184 |
| PCG Language | p. 184 |
| PCG Editor | p. 186 |
| Usability Analysis | p. 188 |
| Abstraction Gradient | p. 189 |
| Closeness of Mapping | p. 191 |
| Consistency | p. 192 |
| Diffuseness / Terseness | p. 193 |
| Error-proneness | p. 194 |
| Hard Mental Operations | p. 194 |
| Hidden Dependencies | p. 195 |
| Premature Commitment | p. 197 |
| Progressive Evaluation | p. 197 |
| Role-expressiveness | p. 197 |
| Secondary Notation and Escape from Formalism | p. 198 |
| Viscosity | p. 198 |
| Visibility and Juxtaposability | p. 198 |
| Empirical Study | p. 201 |
| Approach | p. 202 |
| Lecture | p. 203 |
| Case Study: Poisson Solver | p. 204 |
| Observations | p. 205 |
| Case Study: Matrix Multiply | p. 208 |
| Experiment: Same-different Judgment Test | p. 209 |
| Questionnaire | p. 210 |
| Conclusion | p. 212 |
| Acknowledgment | p. 214 |
| References | p. 214 |
| Architectural Visualization | p. 217 |
| A Visual Architectural Approach to Maintaining Web Applications | p. 219 |
| Introduction | p. 219 |
| Organization of Chapter | p. 221 |
| The Components of a Web Application | p. 221 |
| WebFlight: A Web Application | p. 223 |
| Scenario: Modifying a Subsystem | p. 226 |
| Visualizing a Web Application | p. 229 |
| Extracting the Facts | p. 230 |
| Abstracting and Merging the Extracted Facts | p. 233 |
| Generating the Architecture Diagrams | p. 237 |
| Related Work | p. 238 |
| Forward Engineering | p. 391 |
| Reverse Engineering | p. 239 |
| Conclusion | p. 240 |
| Acknowledgments | p. 240 |
| References | p. 240 |
| Understanding Architecture Through Structure and Behavior Visualization | p. 243 |
| Introduction | p. 243 |
| General Approach | p. 245 |
| Analysis and Visualization Tool Basis | p. 249 |
| Entities and Relations Displayed | p. 250 |
| Filtering and Aggregation | p. 253 |
| Information Flow in the System | p. 256 |
| Classification | p. 258 |
| Understanding the Components | p. 260 |
| Understanding the Connectors | p. 263 |
| Static Analysis | p. 265 |
| Dynamic Analysis | p. 268 |
| Visualization | p. 273 |
| Detection of Further Patterns | p. 274 |
| Evaluation | p. 276 |
| Pattern Detection in our Analyzer Tool | p. 276 |
| Pattern Detection in the SwingSet2 Example | p. 278 |
| Related Work | p. 279 |
| Conclusions and Future Work | p. 282 |
| References | p. 284 |
| Design Pattern Compositions in UML | p. 287 |
| Introduction | p. 287 |
| Illustration of the Problem | p. 289 |
| Notations for Pattern Composition | p. 292 |
| Venn Diagram-Style Pattern Annotation | p. 293 |
| Dotted Bounding Pattern Annotation | p. 293 |
| UML Collaboration Notation | p. 295 |
| Pattern: Role Annotations | p. 295 |
| UML Extensions | p. 296 |
| UML Profile for Design Patterns | p. 302 |
| Case Study | p. 303 |
| Conclusions | p. 305 |
| References | p. 306 |
| Visualization in Practice | p. 309 |
| The BLOOM Software Visualization System | p. 311 |
| Introduction | p. 311 |
| Objectives | p. 312 |
| System Architecture | p. 313 |
| Gathering Information | p. 315 |
| Structural Data | p. 316 |
| Trace Data | p. 317 |
| Data Analysis | p. 323 |
| Trace Data Analysis | p. 323 |
| Encoding Sequences | p. 326 |
| Summary | p. 330 |
| Combining Analyses | p. 330 |
| The Data Model | p. 330 |
| The User Interface | p. 332 |
| Specifying Visualizations | p. 338 |
| Related Work | p. 340 |
| Experience with MURAL | p. 341 |
| Visualizing the Result | p. 342 |
| HIVE and COMB | p. 344 |
| BUD | p. 349 |
| APIS | p. 350 |
| BEE | p. 352 |
| Experience | p. 352 |
| Current and Future Work | p. 353 |
| Acknowledgements | p. 355 |
| References | p. 356 |
| Visual Program Visualization | p. 359 |
| Introduction | p. 359 |
| Clavia Nord Modular | p. 362 |
| Hardware | p. 362 |
| Software | p. 363 |
| Programming Environment | p. 365 |
| Patch Maps | p. 366 |
| Visualising Patch Cable Layouts | p. 372 |
| Patch Cables | p. 376 |
| Module Choice | p. 377 |
| Module Power | p. 378 |
| Module Size | p. 379 |
| Module Layout | p. 380 |
| Module Position | p. 381 |
| Location Use | p. 383 |
| Related Work | p. 384 |
| Discussion and Conclusion | p. 385 |
| Acknowledgements | p. 387 |
| References | p. 387 |
| Use of Visualization to Aid Object-Oriented Redesign | p. 389 |
| Introduction | p. 389 |
| Related Studies | p. 392 |
| Methodology | p. 393 |
| Abstracting OO Design From Program Structure and Pattern Matching | p. 393 |
| Identifying Original Code Related to Each Class | p. 397 |
| Refining OO design | p. 400 |
| Case Study--An Inventory Management System | p. 401 |
| Conclusions | p. 410 |
| References | p. 411 |
| Effective Graph Visualization Via Node Grouping | p. 413 |
| Introduction | p. 413 |
| Previous Work | p. 416 |
| Methodologies for the Application of Node Grouping in Graph Drawing | p. 417 |
| Two Fast Techniques for Finding Small Cliques | p. 418 |
| The Triangle Technique | p. 418 |
| The Coloring Technique | p. 422 |
| Implementation and Experimental Results | p. 424 |
| Applying Node Grouping to Force-Directed Drawing | p. 425 |
| Applying Node Grouping to Orthogonal Drawing | p. 429 |
| Conclusions | p. 435 |
| Acknowledgements | p. 436 |
| References | p. 436 |
| Index | p. 439 |
| Table of Contents provided by Ingram. All Rights Reserved. |
ISBN: 9781402074486
ISBN-10: 1402074484
Series: KLUWER INTERNATIONAL SERIES IN ENGINEERING AND COMPUTER SCIENCE
Published: 30th April 2003
Format: Hardcover
Language: English
Number of Pages: 472
Audience: Professional and Scholarly
Publisher: Springer Nature B.V.
Country of Publication: US
Dimensions (cm): 23.5 x 16.51 x 2.54
Weight (kg): 0.79
Shipping
| Standard Shipping | Express Shipping | |
|---|---|---|
| Metro postcodes: | $9.99 | $14.95 |
| Regional postcodes: | $9.99 | $14.95 |
| Rural postcodes: | $9.99 | $14.95 |
Orders over $79.00 qualify for free shipping.
How to return your order
At Booktopia, we offer hassle-free returns in accordance with our returns policy. If you wish to return an item, please get in touch with Booktopia Customer Care.
Additional postage charges may be applicable.
Defective items
If there is a problem with any of the items received for your order then the Booktopia Customer Care team is ready to assist you.
For more info please visit our Help Centre.
You Can Find This Book In

Architecture Patterns with Python
Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices
Paperback
RRP $125.75
$60.99
OFF
This product is categorised by
- Non-FictionComputing & I.T.Computer Programming & Software DevelopmentObject-Oriented Programming or OOP
- Non-FictionComputing & I.T.Computer Programming & Software DevelopmentSoftware Engineering
- Non-FictionComputing & I.T.Computer Programming & Software DevelopmentProgramming & Scripting Languages
- Non-FictionComputing & I.T.Computer Science
- Non-FictionComputing & I.T.Graphical & Digital Media Applications
- Non-FictionComputing & I.T.Operating Systems























