Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
|||
Books > Computing & IT > Computer programming > Programming languages > General
Researches and developers of simulation models state that the Java program ming language presents a unique and significant opportunity for important changes in the way we develop simulation models today. The most important characteristics of the Java language that are advantageous for simulation are its multi-threading capabilities, its facilities for executing programs across the Web, and its graphics facilities. It is feasible to develop compatible and reusable simulation components that will facilitate the construction of newer and more complex models. This is possible with Java development environments. Another important trend that begun very recently is web-based simulation, i.e., and the execution of simulation models using Internet browser software. This book introduces the application of the Java programming language in discrete-event simulation. In addition, the fundamental concepts and prac tical simulation techniques for modeling different types of systems to study their general behavior and their performance are introduced. The approaches applied are the process interaction approach to discrete-event simulation and object-oriented modeling. Java is used as the implementation language and UML as the modeling language. The first offers several advantages compared to C++, the most important being: thread handling, graphical user interfaces (QUI) and Web computing. The second language, UML (Unified Modeling Language) is the standard notation used today for modeling systems as a collection of classes, class relationships, objects, and object behavior.
Recent advances in software specification methods, model checking, and theorem proving have generated new tools for the use of formal methods in both industry and academia. Yet, in order to choose the techniques most appropriate for a specific application, it is necessary to have a good understanding and expertise in formal methods. Software engineers now have several case studies to learn from, and are able to choose from a large selection of languages and methods, with a rich repertoire of appropriate concepts for their intended applications. This extensively revised and updated new edition of "Specification of Software Systems" builds upon the original focus on "software specification" with added emphasis on the practice of formal methods for "specification and verification activities" for different types of software systems and at different stages of developing software systems. This expanded perspective is matched by a considerable amount of new content, included to cater to the growing needs of students and researchers in the area of formal software engineering. Topics related to the integration of formal methods in the software development process are introduced early, and are followed by presentations of principles of abstraction, definitions of formalism, notations of formalism, and a wide variety of detailed specification examples. This additional material is further reflected in the new structure of the second edition, which is now arranged in six parts. Topics and features: provides a wide coverage of formal specification techniques and a clear writing style, supported by end-of-chapter bibliographic notes for further reading; presents a logical structure, with sections devoted to specification fundamentals, basics of formalism, logic, set theory and relations, property-oriented specification methods, and model-based specification techniques; contains end-of-chapter exercises and numerous case studies, with potential course outlines suggested in the Preface; covers Object-Z, B-Method, and Calculus of Communicating Systems; offers material that can be taught with tool-supported laboratory projects. This comprehensive textbook is essential reading for students at all levels in computer science, software engineering, computer engineering, and information systems engineering. Software professionals wishing to familiarize themselves with formal methods will also find this an invaluable reference.
I felt deeply honored when Professor Sumit Ghosh asked me to write the foreword to his book with an extraordinary perspective. I have long admired him, ?rst as a student leader at Stanford, where he initiated the ?rst IEEE Computer Society's student chapter, and later as an esteemed and inspiring friend whose transdisciplinary research broadened and enhanced the horizons of practitioners of computer science and engineering, including my own. His ideas, which are derived from his profound vision, deep critical thinking, and personal intuition, reach from information technology to bioscience, as - hibited in this excellent book. To me, an ordinary engineer, it opens up a panoramic view of the Universe of Knowledge that keeps expanding and - spiring,likethegoodIndianproverb,whichsays,"agoodbookinformsyou,an excellent book teaches you, and a great book changes you. " I sincerely believe that Professor Ghosh's book will help us change and advance the methods of systems engineering and technology. Vision Inspired vision sees ahead of others what will or may come to be, a vivid, imagined concept or anticipation. An inspired vision personi?es what is good and what like-minded individuals hope for. Our vision is one of creating an Internet of minds, where minds are Web sites or knowledge centers, which create, store, and radiate knowledge through interaction with other minds connected by a universal shared network. This vision will not just hasten the death of distance, but will also - carcerate ignorance.
Formal Languages and Computation: Models and Their Applications gives a clear, comprehensive introduction to formal language theory and its applications in computer science. It covers all rudimental topics concerning formal languages and their models, especially grammars and automata, and sketches the basic ideas underlying the theory of computation, including computability, decidability, and computational complexity. Emphasizing the relationship between theory and application, the book describes many real-world applications, including computer science engineering techniques for language processing and their implementation.
In short, this book represents a theoretically oriented treatment of formal languages and their models with a focus on their applications. It introduces all formalisms concerning them with enough rigors to make all results quite clear and valid. Every complicated mathematical passage is preceded by its intuitive explanation so that even the most complex parts of the book are easy to grasp. After studying this book, both student and professional should be able to understand the fundamental theory of formal languages and computation, write language processors, and confidently follow most advanced books on the subject."
* Allen Holub is a highly regarded instructor for the University of California, Berkeley, Extension. He has taught since 1982 on various topics, including Object-Oriented Analysis and Design, Java, C++, C. Holub will use this book in his Berkeley Extension classes. * Holub is a regular presenter at the Software Development conferences and is Contributing Editor for the online magazine JavaWorld, for whom he writes the Java Toolbox. He also wrote the OO Design Process column for IBM DeveloperWorks. * This book is not time-sensitive. It is an extremely well-thought out approach to learning design patterns, with Java as the example platform, but the concepts presented are not limited to just Java programmers. This is a complement to the Addison-Wesley seminal "Design Patterns" book by the "Gang of Four".
This book constitutes the refereed proceedings of the 6th International Conference on Theory and Practice of Model Transformations, ICMT 2013, held in Budapest, Hungary, in June 2013. The 13 full papers and 5 tool and application demonstrations were carefully selected from 58 submissions. The papers are grouped in topical sections which focus on new programming models, tools and applications, evolution and synchronization, transformation engineering, and testing.
Faster, better and cheaper are challenges that IT-companies face every day. The customer's expectations shall be met in a world where constant change in environment, organization and technology are the rule rather that the exception. A solution for meeting these challenges is to share knowledge and experience - use the company's own experience, and the experience of other companies. Process Improvement in Practice - A Handbook for IT Companies tackles the problems involved in launching these solutions. Process Improvement in Practice - A Handbook for IT Companies is designed for small IT companies who wish to start with systematic improvement. The methods and techniques in this handbook are tried in practice, and have proven to be easy to use and scalable for local needs. Managers and developers will discover useful tips to initiate improvement work efficiently. This practical handbook is based on the authors' improvement work in a range of companies since the mid-nineties. Process Improvement in Practice - A Handbook for IT Companies is designed for a professional audience, composed of researchers and practitioners in industry. This book is also suitable for graduate-level students in software process improvement and software engineering.
An invited collection of peer-reviewed papers surveying key areas of Roger Needham's distinguished research career at Cambridge University and Microsoft Research. From operating systems to distributed computing, many of the world's leading researchers provide insight into the latest concepts and theoretical insights--many of which are based upon Needham's pioneering research work. A critical collection of edited-survey research papers spanning the entire range of Roger Needham's distinguished scientific career, from operating systems to distributed computing and security. Many of the world's leading researchers survey their topics' latest developments and acknowledge the theoretical foundations of Needham's work. Introduction to book written by Rick Rashid, Director of Microsoft Research Worldwide.
Bayesian Networks in R with Applications in Systems Biology is unique as it introduces the reader to the essential concepts in Bayesian network modeling and inference in conjunction with examples in the open-source statistical environment R. The level of sophistication is also gradually increased across the chapters with exercises and solutions for enhanced understanding for hands-on experimentation of the theory and concepts. The application focuses on systems biology with emphasis on modeling pathways and signaling mechanisms from high-throughput molecular data. Bayesian networks have proven to be especially useful abstractions in this regard. Their usefulness is especially exemplified by their ability to discover new associations in addition to validating known ones across the molecules of interest. It is also expected that the prevalence of publicly available high-throughput biological data sets may encourage the audience to explore investigating novel paradigms using the approaches presented in the book.
Formal Methods for Open Object-Based Distributed Systems V brings together research in three important and related fields: * Formal methods; * Distributed systems; * Object-based technology. Such a convergence is representative of recent advances in the field of distributed systems, and provides links between several scientific and technological communities. The wide scope of topics covered in this volume range in subject from UML to object-based languages and calculi and security, and in approach from specification to case studies and verification. This volume comprises the proceedings of the Fifth International Conference on Formal Methods for Open Object-Based Distributed Systems (FMOODS 2002), which was sponsored by the International Federation for Information Processing (IFIP) and held in Enschede, The Netherlands in March 2002.
An overview of the theory and application of linear and nonlinear mixed-effects models in the analysis of grouped data, such as longitudinal data, repeated measures, and multilevel data. The authors present a unified model-building strategy for both models and apply this to the analysis of over 20 real datasets from a wide variety of areas, including pharmacokinetics, agriculture, and manufacturing. Much emphasis is placed on the use of graphical displays at the various phases of the model-building process, starting with exploratory plots of the data and concluding with diagnostic plots to assess the adequacy of a fitted model. The NLME library for analyzing mixed-effects models in S and S-PLUS, developed by the authors, provides the underlying software for implementing the methods presented. This balanced mix of real data examples, modeling software, and theory makes the book a useful reference for practitioners who use, or intend to use, mixed-effects models in their data analyses. It can also be used as a text for a one-semester graduate-level applied course.
This book constitutes the thoroughly refereed post-workshop proceedings of the 9th International Workshop on Web Services and Formal Methods, WS-FM 2012, held in Tallinn, Estonia, in September 2012. The 9 papers presented were carefully reviewed and selected from 19 submissions. They cover aspects such as the modeling and analysis of web services, service discovery, and service coordination with formal methods like BPEL, CSP, Maude, and Petri nets.
Generic programming is about making programs more adaptable by making them more general. Generic programs often embody non-traditional kinds of polymorphism; ordinary programs are obtained from them by suitably instantiating their parameters. In contrast with normal programs, the parameters of a generic program are often quite rich in structure; for example, they may be other programs, types or type constructors, class hierarchies, or even programming paradigms. Generic programming techniques have always been of interest, both to practitioners and to theoreticians, but only recently have generic programming techniques become a specific focus of research in the functional and object-oriented programming language communities. Generic Programming comprises the edited proceedings of the Working Conference on Generic Programming, which was sponsored by the International Federation for Information Processing (IFIP) and held in Dagstuhl, Germany in July 2002. With contributions from leading researchers around the world, this volume captures the state of the art in this important emerging area.
Software architecture is a primary factor in the creation and evolution of virtually all products involving software. It is a topic of major interest in the research community where pronusmg formalisms, processes, and technologies are under development. Architecture is also of major interest in industry because it is recognized as a significant leverage point for manipulating such basic development factors as cost, quality, and interval. Its importance is attested to by the fact that there are several international workshop series as well as major conference sessions devoted to it. The First Working IFIP Conference on Software Architecture (WICSAl) provided a focused and dedicated forum for the international software architecture community to unify and coordinate its effort to advance the state of practice and research. WICSA 1 was organized to facilitate information exchange between practising software architects and software architecture researchers. The conference was held in San Antonio, Texas, USA, from February 22nd to February 24th, 1999; it was the initiating event for the new IFIP TC-2 Working Group on Software Architecture. This proceedings document contains the papers accepted for the conference. The papers in this volume comprise both experience reports and technical papers. The proceedings reflect the structure of the conference and are divided into six sections corresponding to the working groups established for the conference.
Many students and programmers familiar with Pascal are now looking to upgrade their skills to a well-structured object-oriented programming language such as C++. This textbook provides such an "upgrade path" by presenting a course on C++ in the spirit of structured programming. Both authors teach this material to a wide variety of students and include numerous programming exercises to test a reader's understanding and to increase their confidence in programming in C++.
This book constitutes the refereed proceedings of the 5th International Symposium on NASA Formal Methods, NFM 2013, held in Moffett Field, CA, USA, in May 2013. The 28 revised regular papers presented together with 9 short papers talks were carefully reviewed and selected from 99 submissions. The topics are organized in topical sections on model checking; applications of formal methods; complex systems; static analysis; symbolic execution; requirements and specifications; probabilistic and statistical analysis; and theorem proving.
For more and more systems, software has moved from a peripheral to a central role, replacing mechanical parts and hardware and giving the product a competitive edge. Consequences of this trend are an increase in: the size of software systems, the variability in software artifacts, and the importance of software in achieving the system-level properties. Software architecture provides the necessary abstractions for managing the resulting complexity. We here introduce the Third Working IEEFlIFIP Conference on Software Architecture, WICSA3. That it is already the third such conference is in itself a clear indication that software architecture continues to be an important topic in industrial software development and in software engineering research. However, becoming an established field does not mean that software architecture provides less opportunity for innovation and new directions. On the contrary, one can identify a number of interesting trends within software architecture research. The first trend is that the role of the software architecture in all phases of software development is more explicitly recognized. Whereas initially software architecture was primarily associated with the architecture design phase, we now see that the software architecture is treated explicitly during development, product derivation in software product lines, at run-time, and during system evolution. Software architecture as an artifact has been decoupled from a particular lifecycle phase.
Usability has become increasingly important as an essential part of the design and development of software and systems for all sectors of society, business, industry, government and education, as well as a topic of research. Today, we can safely say that, in many parts of the world, information technology and communications is or is becoming a central force in revolutionising the way that we all live and how our societies function. IFIP's mission states clearly that it "encourages and assists in the development, exploitation and application of information technology for the benefit of all people". The question that must be considered now is how much attention has been given to the usability of the IT-based systems that we use in our work and daily lives. There is much evidence to indicate that the real interests and needs of people have not yet been embraced in a substantial way by IT decision makers and when developing and implementing the IT systems that shape our lives, both as private individuals and at work. But some headway has been made. Three years ago, the IFIP Technical Committee on Human Computer Interaction (IFIP TC13) gave the subject of usability its top priority for future work in advancing HCI within the international community. This Usability Stream of the IFIP World Computer Congress is a result of this initiative. It provides a showcase on usability involving some practical business solutions and experiences, and some research findings.
This book constitutes the thoroughly refereed post-conference proceedings of the 25th International Workshop on Languages and Compilers for Parallel Computing, LCPC 2012, held in Tokyo, Japan, in September 2012. The 16 revised full papers, 5 poster papers presented with 1 invited talk were carefully reviewed and selected from 39 submissions. The focus of the papers is on following topics: compiling for parallelism, automatic parallelization, optimization of parallel programs, formal analysis and verification of parallel programs, parallel runtime systems, task-parallel libraries, parallel application frameworks, performance analysis tools, debugging tools for parallel programs, parallel algorithms and applications.
Oracle Certified Professional Java SE 7 Programmer Exams 1Z0-804 and 1Z0-805 is a concise, comprehensive, step-by-step, and one-stop guide for the Oracle Certified Professional Java SE 7 Programmer Exam. The first two chapters set the stage for exam preparation and let the reader get started quickly. The first chapter answers frequently asked questions about the OCPJP exam. This book assumes that the reader is already familiar with Java fundamentals which is in line with the prerequisite of having a OCAJP certification. The book sports considerable supportive material to help the reader in effective exam preparation in the form of appendices: *2 mock tests to give the reader a sense of a real-exam. * An instant refresher summarizing the most important concepts (with tips on answering questions) to revise just before the exam. * An API quick reference covering only the most important classes and methods relevant to the exam topics. This book will be a delectable read for any OCPJP aspirant because of its simple language, example driven approach, and easy-to-read style.Further, given its 100% focus on the exam and helpful supportive material, this book is clearly an attractive buy to OCPJP aspirants worldwide. What you'll learn * In-depth coverage of all 13 exam topics for the certification. * The book covers programming concepts succinctly with numerous illustrative programming and real-world examples. These examples will help the reader quickly internalize the discussed concepts. * The reader will clearly understand the scope and objectives of the exam, the technical topics covered in the exam, and type and level-of-difficulty of the exam questions. With this, the reader will clearly know what's exactly required for passing the exam. * Review questions tune the reader to an exam mindset. By making mistakes and reading the detailed explanations for the answers, the reader will be better prepared for getting certified. Attempting the practice questions and mock test will help the reader gain necessary confidence to clear the exam. Who this book is for This book is targeted primarily at students and programmers who want to crack the OCPJP exam. Trainers and teachers can use this book as training material for OCPJP exam preparation.This book is also useful to readers who want to refresh their knowledge in Java programming or gain better understanding on using various Java APIs.
Android development is hot, and many programmers are interested in joining the fun. However, because this technology is based on Java, you should first obtain a solid grasp of the Java language and its foundational APIs to improve your chances of succeeding as an Android app developer. After all, you will be busy learning the architecture of an Android app, the various Android-specific APIs, and Android-specific tools. If you do not already know Java fundamentals, you will probably end up with a massive headache from also having to quickly cram those fundamentals into your knowledge base. Learn Java for Android Development, Second Edition teaches programmers of any skill level the essential Java language and foundational Java API skills that must be learned to improve the programmer's chances of succeeding as an Android app developer. Each of the book's 14 chapters provides an exercise section that gives you the opportunity to reinforce your understanding of the chapter's material. Answers to the book's more than 500 exercises are provided in an appendix. A second appendix provides a significant game-oriented Java application, which you can convert into an Android app. Once you complete this book, you should be ready to dive into beginning Android app development. Maybe, start that journey with Apress' Beginning Android. What you'll learn The Java language: This book provides complete coverage of nearly every pre-Java version 7 language feature (native methods are briefly mentioned but not formally covered). Starting with basic language features (e.g., comments, types, expressions, and statements), you progress to those features related to classes and objects, followed by object-oriented features related to inheritance, polymorphism, and interfaces. You then explore the advanced language features for nested types, packages, static imports, exceptions, assertions, annotations, generics, and enums. Continuing, you investigate strictfp, synchronized, volatile, the enhanced for loop statement, autoboxing/unboxing, and transient fields. Java APIs: In addition to Object and APIs related to exceptions, you explore Math, StrictMath, BigDecimal, BigInteger, String, StringBuffer/StringBuilder, Boolean, Character, Byte, Short, Integer, Long, Float, Double, Number, the Threads API, System, Runtime, Process, the Collections Framework, the Concurrency Utilities, Date, Formatter, Random, Scanner, the ZIP and JAR APIs, File, RandomAccessFile, stream classes, and writer/reader classes, InetAddress, SocketOptions, Socket, ServerSocket, DatagramSocket, MulticastSocket, URL, URLConnection, URLEncoder, URLDecoder, NetWorkInterface, InterfaceAddress, CookieHandler, CookieManager, CookieStore, CookiePolicy, Buffer, ByteBuffer, CharBuffer, DoubleBuffer, FloatBuffer, IntBuffer, LongBuffer, ShortBuffer, MappedByteBuffer, Channel, WritableByteChannel, ReadableByteChannel, ScatteringByteChannel, GatheringByteChannel, FileChannel, the Regular Expressions API, JDBC, and more. Applying these: You will learn how to use the JDK's javac (compiler), java (application launcher), javadoc (Java documentation generator), and jar (Java archive creator, updater, and extractor) tools. You will also receive an introduction to the Eclipse integrated development environment, which is the official standard for developing Android apps. Who this book is for This book is for any programmer - including existing Java programmers and Objective-C-based iPhone and iPad programmers - of any skill level who needs to obtain a solid understanding of the Java language and foundational Java APIs before jumping into Android app development. Table of Contents 1. Getting Started with Java 2. Learning Language Fundamentals 3. Discovering Classes and Objects 4. Discovering Inheritance, Polymorphism, and Interfaces 5. Mastering Advanced Language Features Part 1 6. Mastering Advanced Language Features Part 2 7. Exploring the Basic APIs Part 1 8. Exploring the Basic APIs Part 2 9. Exploring the Collections Framework 10. Exploring Additional Utility APIs 11. Performing Classic I/O 12. Accessing Networks 13. Migrating to New I/O 14. Accessing Databases A. Appendix A: Solutions to Exercises B. Appendix B: Four of a Kind C. Appendix C: Odds and Ends***
This book introduces the fundamental concepts and practical simulation te- niques for modeling different aspects of operating systems to study their g- eral behavior and their performance. The approaches applied are obje- oriented modeling and process interaction approach to discrete-event simu- tion. The book depends on the basic modeling concepts and is more specialized than my previous book: Practical Process Simulation with Object-Oriented Techniques and C++, published by Artech House, Boston 1999. For a more detailed description see the Web location: http: //science.kennesaw.edu/ jgarrido/mybook, html. Most other books on performance modeling use only analytical approaches, and very few apply these concepts to the study of operating systems. Thus, the unique feature of the book is that it concentrates on design aspects of operating systems using practical simulation techniques. In addition, the book illustrates the dynamic behavior of different aspects of operating systems using the various simulation models, with a general hands-on approac
TEX has always been regarded as the most elegant and powerful system for computer typesetting. However, its widespread use beyond academia was hampered by its complexity. Recently, fairly good TEX implementations have come out for PC's putting TEX on the disks of many people including writers, designers, desktop publishers, and engineers. Consequently, interest in TEX has surged. What is needed at this point is a book that teaches step-by-step how to use TEX, illustrating each step with relevant examples. This is exactly what S. v. Bechtolsheim's book does. It is a tutorial and guide for the first-time user of TEX, as well as a reference for the more experienced "TEXpert." TEX in Practice will appear as a four volume set, starting with TEX in Practice, Volume 1: Basics; TEX in Practice, Volume 2: Paragraphs, Math and Fonts; TEX in Practice, Volume 3: Tokens, Macros; TEX in Practice, Volume 4: Output Routines, Tables. TEX in Practice will be an indispensable reference for the TEX community and a guide through the first step for the TEX novice.
In programming courses, using the different syntax of multiple languages, such as C++, Java, PHP, and Python, for the same abstraction often confuses students new to computer science. Introduction to Programming Languages separates programming language concepts from the restraints of multiple language syntax by discussing the concepts at an abstract level. Designed for a one-semester undergraduate course, this classroom-tested book teaches the principles of programming language design and implementation. It presents: Common features of programming languages at an abstract level rather than a comparative level The implementation model and behavior of programming paradigms at abstract levels so that students understand the power and limitations of programming paradigms Language constructs at a paradigm level A holistic view of programming language design and behavior To make the book self-contained, the author introduces the necessary concepts of data structures and discrete structures from the perspective of programming language theory. The text covers classical topics, such as syntax and semantics, imperative programming, program structures, information exchange between subprograms, object-oriented programming, logic programming, and functional programming. It also explores newer topics, including dependency analysis, communicating sequential processes, concurrent programming constructs, web and multimedia programming, event-based programming, agent-based programming, synchronous languages, high-productivity programming on massive parallel computers, models for mobile computing, and much more. Along with problems and further reading in each chapter, the book includes in-depth examples and case studies using various languages that help students understand syntax in practical contexts.
This book constitutes the proceedings of the 22nd International Conference on Compiler Construction, CC 2013, held as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2013, which took place in Rome, Italy, in March 2013. The 13 papers presented in this book were carefully reviewed and selected from 53 submissions. They have been organized into five topical sections on register allocation, pointer analysis, data and information flow, machine learning, and refactoring. |
You may like...
C How to Program: With Case Studies in…
Paul Deitel, Harvey Deitel
Paperback
R2,192
Discovery Miles 21 920
C++ How to Program: Horizon Edition
Harvey Deitel, Paul Deitel
Paperback
R1,779
Discovery Miles 17 790
Advanced Visual Basic 6 - Power…
Matthew Curland, Gary Clarke
Paperback
R1,247
Discovery Miles 12 470
Java How to Program, Late Objects…
Paul Deitel, Harvey Deitel
Paperback
|