![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Programming languages > General
Software engineering is widely recognized as one of the most exciting, stimulating, and profitable research areas, with a significant practical impact on the software industry. Thus, training future generations of software engineering researchers and bridging the gap between academia and industry are vital to the field. The International Summer School on Software Engineering (ISSSE), which started in 2003, aims to contribute both to training future researchers and to facilitating the exchange of knowledge between academia and industry. This volume consists of chapters originating from a number of tutorial lectures given in 2009, 2010, and 2011 at the International Summer School on Software Engineering, ISSSE, held in Salerno, Italy. The volume has been organized into three parts, focusing on software measurement and empirical software engineering, software analysis, and software management. The topics covered include software architectures, software product lines, model driven software engineering, mechatronic systems, aspect oriented software development, agile development processes, empirical software engineering, software maintenance, impact analysis, traceability management, software testing, and search-based software engineering.
Formal Methods for Open Object-Based Distributed Systems presents the leading edge in several related fields, specifically object-orientated programming, open distributed systems and formal methods for object-oriented systems. With increased support within industry regarding these areas, this book captures the most up-to-date information on the subject. Many topics are discussed, including the following important areas: object-oriented design and programming; formal specification of distributed systems; open distributed platforms; types, interfaces and behaviour; formalisation of object-oriented methods. This volume comprises the proceedings of the International Workshop on Formal Methods for Open Object-based Distributed Systems (FMOODS), sponsored by the International Federation for Information Processing (IFIP) which was held in Florence, Italy, in February 1999. Formal Methods for Open Object-Based Distributed Systems is suitable as a secondary text for graduate-level courses in computer science and telecommunications, and as a reference for researchers and practitioners in industry, commerce and government.
This book had its genesis in the following piece of computer mail: From allegra joan-b Tue Dec 18 09:15:54 1984 To: sola hjb Subject: lispm Hank, I've been talking with Mark Plotnik and Bill Gale about asking you to conduct a basic course on using the lisp machine. Mark, for instance, would really like to cover basics like the flavor system, etc., so he could start doing his own programming without a lot of trial and error, and Bill and I would be interested in this, too. I'm quite sure that Mark Jones, Bruce, Eric and Van would also be really interested. Would you like to do it? Bill has let me know that if you'd care to set something up, he's free to meet with us anytime this week or next (although I'll only be here on Wed. next week) so we can come up with a plan. What do you think? Joan.
LOTOS (Language Of Temporal Ordering Specification) became an international standard in 1989, although application of preliminary versions of the language to communication services and protocols of the ISO/OSI family dates back to 1984. This history of the use of LOTOS made it apparent that more advantages than the pure production of standard reference documents were to be expected from the use of such formal description techniques. LOTOSphere: Software Development with LOTOS describes in depth a five year project that moved LOTOS out of the ISO tower into software engineering practice. LOTOS became a vehicle for efficient, yet formally based industrial software specification, design, verification, implementation and testing. LOTOSphere: Software Development with LOTOS is divided into six parts. The first introduces the reader to LOTOS and the project LOTOSphere. The five remaining each treat an important part of the software development life cycle using LOTOS. This is the first book to give a comprehensive treatment of the use of these formal description techniques in a software engineering environment. It will thus be a valuable reference for researchers and software developers and can also be used as a text for an advanced course on the subject.
For real-time systems, the worst-case execution time (WCET) is the key objective to be considered. Traditionally, code for real-time systems is generated without taking this objective into account and the WCET is computed only after code generation. Worst-Case Execution Time Aware Compilation Techniques for Real-Time Systems presents the first comprehensive approach integrating WCET considerations into the code generation process. Based on the proposed reconciliation between a compiler and a timing analyzer, a wide range of novel optimization techniques is provided. Among others, the techniques cover source code and assembly level optimizations, exploit machine learning techniques and address the design of modern systems that have to meet multiple objectives. Using these optimizations, the WCET of real-time applications can be reduced by about 30% to 45% on the average. This opens opportunities for decreasing clock speeds, costs and energy consumption of embedded processors. The proposed techniques can be used for all types real-time systems, including automotive and avionics IT systems.
The LASER school is intended for professionals from the industry (engineers and managers) as well as university researchers, including PhD students. Participants learn about the most important software technology advances from the pioneers in the field. The school's focus is applied, although theory is welcome to establish solid foundations. The format of the school favors extensive interaction between participants and speakers. LASER 2011 is devoted to software verification tools. There have been great advances in the field of software verification in recent years. Today verification tools are being increasingly used not only by researchers, but by programming practitioners. The summer school will focus on several of the most prominent and practical of such tools from different areas of software verification (such as formal proofs, testing and model checking). During the school the participants will not only learn the principles behind the tools, but also get hands-on experience, trying the tools on real programs.
This book constitutes the revised selected papers of the 9th International Symposium on Formal Aspects of Component Software, FACS 2012, held in Mountain View, CA, USA in September 2012. The 16 full papers presented were carefully reviewed and selected from 40 submissions. They cover topics such as formal models for software components and their interaction; formal aspects of services, service oriented architectures, business processes, and cloud computing; design and verification methods for software components and services; composition and deployment: models, calculi, languages; formal methods and modeling languages for components and services; model based and GUI based testing of components and services; models for QoS and other extra-functional properties (e.g., trust, compliance, security) of components and services; components for real-time, safety-critical, secure, and/or embedded systems; industrial or experience reports and case studies; update and reconfiguration of component and service architectures; component systems evolution and maintenance; autonomic components and self-managed applications; formal and rigorous approaches to software adaptation and self-adaptive systems.
Formal methods have been applied successfully to the verification of medium-sized programs in protocol and hardware design for some time. However, their application to the development of large systems requires more emphasis on specification, modeling, and validation techniques supporting the concepts of reusability and modifiability, and their implementation in new extensions of existing programming languages like Java. This book contains 20 revised papers submitted after the 10th Symposium on Formal Methods for Components and Objects, FMCO 2011, which was held in Turin, Italy, in October 2011. Topics covered include autonomic service-component ensembles; trustworthy eternal systems via evolving software, data, and knowledge; parallel patterns for adaptive heterogeneous multicore systems; programming for future 3D architectures with many cores; formal verification of object oriented software; and an infrastructure for reliable computer systems.
Parallel processing is seen today as the means to improve the power of computing facilities by breaking the Von Neumann bottleneck of conventional sequential computer architectures. By defining appropriate parallel computation models definite advantages can be obtained. Parallel processing is the center of the research in Europe in the field of Information Processing Systems so the CEC has funded the ESPRIT Supemode project to develop a low cost, high performance, multiprocessor machine. The result of this project is a modular, reconfigurable architecture based on !NMOS transputers: T.Node. This machine can be considered as a research, industrial and commercial success. The CEC has decided to continue to encourage manufacturers as well as research and end-users of transputers by funding other projects in this field. This book presents course papers of the Eurocourse given at the Joint Research Centre in ISPRA (Italy) from the 4th to 8 of November 1991. First we present an overview of various trends in the design of parallel architectures and specially of the T.Node with it's software development environments, new distributed system aspects and also new hardware extensions based on the !NMOS T9000 processor. In a second part, we review some real case applications in the field of image synthesis, image processing, signal processing, terrain modeling, particle physics simulation and also enhanced parallel and distributed numerical methods on T.Node.
The LNCS journal Transactions on Aspect-Oriented Software Development is devoted to all facets of aspect-oriented software development (AOSD) techniques in the context of all phases of the software life cycle, from requirements and design to implementation, maintenance and evolution. The focus of the journal is on approaches for systematic identification, modularization, representation and composition of crosscutting concerns, i.e., the aspects and evaluation of such approaches and their impact on improving quality attributes of software systems. This volume, the 9th in the Transactions on Aspect-Oriented Software Development series, contains three regular submissions and two special sections, each consisting of two papers. The papers focus on the following topics: modularization, pointcut language, dynamic adaptation, event-based programming, aspect-aware design, system software, object composition and templates.
The VLISP project showed how to produce a comprehensively verified implemen tation for a programming language, namely Scheme [4, 15). Some of the major elements in this verification were: * The proof was based on the Clinger-Rees denotational semantics of Scheme given in [15). Our goal was to produce a "warts-and-all" verification of a real language. With very few exceptions, we constrained ourselves to use the se mantic specification as published. The verification was intended to be rigorous, but. not. complet.ely formal, much in the style of ordinary mathematical discourse. Our goal was to verify the algorithms and data types used in the implementat.ion, not their embodiment. in code. See Section 2 for a more complete discussion ofthese issues. Our decision to be faithful to the published semantic specification led to the most difficult portions ofthe proofs; these are discussed in [13, Section 2.3-2.4). * Our implementation was based on the Scheme48 implementation of Kelsey and Rees [17). This implementation t.ranslates Scheme into an intermediate-level "byte code" language, which is interpreted by a virtual machine. The virtual machine is written in a subset of Scheme called PreScheme. The implementationissufficient.ly complete and efficient to allow it to bootstrap itself. We believe that this is the first. verified language implementation with these properties.
"Combinatorial Programming" are two words whose juxtaposition still strike us as unusual, nevertheless their association in recent years adequately reflects the preoccupations underlying differing work fields, and their importance will increase both from methodology and application view points. To those who like definitions and consider the function of this book to furnish one for combinatorial programming, I will simply say that it is precise ly this which is exclusively treated here and which in the eyes of the autors is the heart of this branch of applied mathematics. Such was the initial intention of those who in the spring of 1973 gathered tog ther in Paris to state the work of the Advanced Study Institute from which this book arises. As young as combinatorial programming is, it was easy to see that a two week school was insufficient to cover the subject in an exhaustive manner. Finally the decision had to be taken to reduce to book form, and to organise within this particular means of expression, the essential syntheses and communications. Unfortunately the discussions, the round tables, and the majority of the case studies could not be included in this book which is more of a hand-book on the subject. XIV PREFACE The choice and orientation of the surveys has been guided by two criteria: the importance of already accomplished work, and the originality of the survey to be undertaken."
This book constitutes the refereed post-proceedings of the 9th IFIP International Conference on Network and Parallel Computing, NPC 2012, held in Gwangju, Korea, in September 2012. The 38 papers presented were carefully reviewed and selected from 136 submissions. The papers are organized in the following topical sections: algorithms, scheduling, analysis, and data mining; network architecture and protocol design; network security; paralel, distributed, and virtualization techniques; performance modeling, prediction, and tuning; resource management; ubiquitous communications and networks; and web, communication, and cloud computing. In addition, a total of 37 papers selected from five satellite workshops (ATIMCN, ATSME, Cloud&Grid, DATICS, and UMAS 2012) are included.
TOOLS Eastern Europe 2002 was the third annual conference on the technology of object-oriented languages and systems. It was held in Eastern Europe, more specifically in Sofia, Bulgaria, from March 13 to 15. In my capacity of program chairman, I could count on the support from the Programming Technology Lab of the Vrije Universiteit Brussel to set up the technical program for this con- ference. We managed to assemble a first class international program committee composed of the following researchers: * Mehmet Aksit (Technische Hogeschool Twente, Netherlands) * Jan Bosch (Universiteit Groningen, Netherlands) * Gilad Bracha (Sun Microsystems, USA) * Shigeru Chiba (Tokyo Institute of Technology, Japan) * Pierre Cointe (Ecole des Mines de Nantes, France) * Serge Demeyer (Universitaire Instelling Antwerpen, Belgium) * Pavel Hruby (Navision, Denmark) * Mehdi Jazayeri (Technische Universitiit Wien, Austria) * Eric Jul (University of Copenhagen, Denmark) * Gerti Kappel (University of Linz, Austria) * Boris Magnusson (University of Lund, Sweden) * Daniela Mehandjiiska-Stavreva (Bond University, Australia) * Tom Mens (Vrije Universiteit Brussel, Belgium) * Christine Mingins (Monash University, Australia) * Ana Moreira (Universidade Nova de Lisboa, Portugal) * Oscar Nierstrasz (Universitiit Bern, Switzerland) * Walter Olthoff (DFKI, Germany) * Igor Pottosin (A. P. Ershov Institute of Informatics Systems, Russia) * Atanas Radenski (Winston-Salem State University, USA) Markku Sakkinen (University of Jyvilskyl!l. , Finland) * * Bran Selic (Rational, Canada) * Andrey Terehov (St.
Business Component-Based Software Engineering, an edited volume, aims to complement some other reputable books on CBSE, by stressing how components are built for large-scale applications, within dedicated development processes and for easy and direct combination. This book will emphasize these three facets and will offer a complete overview of some recent progresses. Projects and works explained herein will prompt graduate students, academics, software engineers, project managers and developers to adopt and to apply new component development methods gained from and validated by the authors. The authors of Business Component-Based Software Engineering are academic and professionals, experts in the field, who will introduce the state of the art on CBSE from their shared experience by working on the same projects. Business Component-Based Software Engineering is designed to meet the needs of practitioners and researchers in industry, and graduate-level students in Computer Science and Engineering.
The formal study of program behavior has become an essential ingredient in guiding the design of new computer architectures. Accurate characterization of applications leads to efficient design of high performing architectures. Quantitative and analytical characterization of workloads is important to understand and exploit the interesting features of workloads. This book includes ten chapters on various aspects of workload characterizati on. File caching characteristics of the industry-standard web-serving benchmark SPECweb99 are presented by Keller et al. in Chapter 1, while value locality of SPECJVM98 benchmarks are characterized by Rychlik et al. in Chapter 2. SPECJVM98 benchmarks are visited again in Chapter 3, where Tao et al. study the operating system activity in Java programs. In Chapter 4, KleinOsowski et al. describe how the SPEC2000 CPU benchmark suite may be adapted for computer architecture research and present the small, representative input data sets they created to reduce simulation time without compromising on accuracy. Their research has been recognized by the Standard Performance Evaluation Corporation (SPEC) and is listed on the official SPEC website, http://www. spec. org/osg/cpu2000/research/umnl. The main contribution of Chapter 5 is the proposal of a new measure called locality surface to characterize locality of reference in programs. Sorenson et al. describe how a three-dimensional surface can be used to represent both of programs. In Chapter 6, Thornock et al.
Practical Performance Modeling: Application of the MOSEL Language introduces the new and powerful performance and reliability modeling language MOSEL (MOdeling, Specification and Evaluation Language), developed at the University of Erlangen, Germany. MOSEL facilitates the performance and reliability modeling of a computer, communication, manufacturing or workflow management system in a very intuitive and simple way. The core of MOSEL consists of constructs to specify the possible states and state transitions of the system under consideration. This specification is very compact and easy to understand. With additional constructs, the interesting performance or reliability measures and graphical representations can be specified. With some experience, it is possible to write down the MOSEL description of a system immediately only by knowing the behavior of the system under study. There are no restrictions, unlike models using, for example, queueing networks, Petri nets or fault trees. MOSEL fulfills all the requirements for a universal modeling language. It is high level, system-oriented, and usable. It is open and can be integrated with many tools. By providing compilers, which translate descriptions specified in MOSEL into the tool-specific languages, all previously implemented tools with their different methods and algorithms (including simulation) can be used. Practical Performance Modeling: Application of the MOSEL Language provides an easy to understand but nevertheless complete introduction to system modeling using MOSEL and illustrates how easily MOSEL can be used for modeling real-life examples from the fields of computer, communication, and manufacturing systems. Practical Performance Modeling: Application of the MOSEL Language will be of interest to professionals and students in the fields of performance and reliability modeling in computer science, communication, and manufacturing. It is also well suited as a textbook for university courses covering performance and reliability modeling with practical applications.
These Transactions publish archival papers in the broad area of Petri nets and other models of concurrency, ranging from theoretical work to tool support and industrial applications. ToPNoC issues are published as LNCS volumes, and hence are widely distributed and indexed. This Journal has its own Editorial Board which selects papers based on a rigorous two-stage refereeing process. ToPNoC contains: - Revised versions of a selection of the best papers from workshops and tutorials at the annual Petri net conferences - Special sections/issues within particular subareas (similar to those published in the Advances in Petri Nets series) - Other papers invited for publication in ToPNoC - Papers submitted directly to ToPNoC by their authors. The sixth volume of ToPNoCincludes revised versions of selected papers from workshops and tutorials held at the 32nd International Conference on Application and Theory of Petri Nets and Concurrency. It alsocontainsa special section on Networks, Protocols, and Services, as well asa contributed paper submitted through the regular submission track of ToPNoC. The 14 papers cover a diverse range of topics including model checking and system verification, synthesis, foundational work on specific classes of Petri nets, and innovative applications of Petri nets and other models of concurrency. Thus this volume gives a good view of ongoing concurrent systems and Petri nets research."
Real-time computing systems are vital to a wide range of applications. For example, they are used in the control of nuclear reactors and automated manufacturing facilities, in controlling and tracking air traffic, and in communication systems. In recent years, real-time systems have also grown larger and become more critical. For instance, advanced aircraft such as the space shuttle must depend heavily on computer sys tems Carlow 84]. The centralized control of manufacturing facilities and assembly plants operated by robots are other examples at the heart of which lie embedded real-time systems. Military defense systems deployed in the air, on the ocean surface, land and underwater, have also been increasingly relying upon real-time systems for monitoring and operational safety purposes, and for retaliatory and containment measures. In telecommunications and in multi-media applications, real time characteristics are essential to maintain the integrity of transmitted data, audio and video signals. Many of these systems control, monitor or perform critical operations, and must respond quickly to emergency events in a wide range of embedded applications. They are therefore required to process tasks with stringent timing requirements and must perform these tasks in a way that these timing requirements are guaranteed to be met. Real-time scheduling al gorithms attempt to ensure that system timing behavior meets its specifications, but typically assume that tasks do not share logical or physical resources. Since resource-sharing cannot be eliminated, synchronization primitives must be used to ensure that resource consis tency constraints are not violated."
This book constitutes the refereed proceedings of the 16th International Conference on Model Driven Engineering Languages and Systems, MODELS 2013, held in Miami, FL, USA, in September/October 2013. The 47 full papers presented in this volume were carefully reviewed and selected from a total of 180 submissions. They are organized in topical sections named: tool support; dependability; comprehensibility; testing; evolution; verification; product lines; semantics; domain-specific modeling languages; models@RT; design and architecture; model transformation; model analysis; and system synthesis.
Appropriate for use as a graduate text or a professional reference, Languages for Digital Embedded Systems is the first detailed, broad survey of hardware and software description languages for embedded system design. Instead of promoting the one language that will solve all design problems (which does not and will not ever exist), this book takes the view that different problems demand different languages, and a designer who knows the spectrum of available languages has the advantage over one who is trapped using the wrong language. Languages for Digital Embedded Systems concentrates on successful, widely-used design languages, with a secondary emphasis on those with significant theoretical value. The syntax, semantics, and implementation of each language is discussed, since although hardware synthesis and software compilation technology have steadily improved, coding style still matters, and a thorough understanding of how a language is synthesized or compiled is generally necessary to take full advantage of a language. Practicing designers, graduate students, and advanced undergraduates will all benefit from this book. It assumes familiarity with some hardware or software languages, but takes a practical, descriptive view that avoids formalism.
A broad-ranging survey of our current understanding of visual languages and their theoretical foundations. Its main focus is the definition, specification, and structural analysis of visual languages by grammars, logic, and algebraic methods and the use of these techniques in visual language implementation. Researchers in formal language theory, HCI, artificial intelligence, and computational linguistics will all find this an invaluable guide to the current state of research in the field.
Object-Z is an object-oriented extension of the formal specification language Z. It adds to Z notions of classes and objects, and inheritance and polymorphism. By extending Z's semantic basis, it enables the specification of systems as collections of independent objects in which self and mutual referencing are possible. The Object-Z Specification Language presents a comprehensive description of Object-Z including discussions of semantic issues, definitions of all language constructs, type rules and other rules of usage, specification guidelines, and a full concrete syntax. It will enable you to confidently construct Object-Z specifications and is intended as a reference manual to keep by your side as you use and learn to use Object-Z. The Object-Z Specification Language is suitable as a textbook or as a secondary text for a graduate-level course, and as a reference for researchers and practitioners in industry.
Cooperating Heterogeneous Systems provides an in-depth introduction to the issues and techniques surrounding the integration and control of diverse and independent software components. Organizations increasingly rely upon diverse computer systems to perform a variety of knowledge-based tasks. This presents technical issues of interoperability and integration, as well as philosophical issues of how cooperation and interaction between computational entities is to be realized. Cooperating systems are systems that work together towards a common end. The concepts of cooperation must be realized in technically sound system architectures, having a uniform meta-layer between knowledge sources and the rest of the system. The layer consists of a family of interpreters, one for each knowledge source, and meta-knowledge. A system architecture to integrate and control diverse knowledge sources is presented. The architecture is based on the meta-level properties of the logic programming language Prolog. An implementation of the architecture is described, a Framework for Logic Programming Systems with Distributed Execution (FLiPSiDE). Knowledge-based systems play an important role in any up-to-date arsenal of decision support tools. The tremendous growth of computer communications infrastructure has made distributed computing a viable option, and often a necessity in geographically distributed organizations. It has become clear that to take knowledge-based systems to their next useful level, it is necessary to get independent knowledge-based systems to work together, much as we put together ad hoc work groups in our organizations to tackle complex problems. The book is for scientists and software engineers who have experience in knowledge-based systems and/or logic programming and seek a hands-on introduction to cooperating systems. Researchers investigating autonomous agents, distributed computation, and cooperating systems will find fresh ideas and new perspectives on well-established approaches to control, organization, and cooperation.
This uniquely authoritative and comprehensive handbook is the first to cover the vast field of formal languages, as well as its traditional and most recent applications to such diverse areas as linguistics, developmental biology, computer graphics, cryptology, molecular genetics, and programming languages. No other work comes even close to the scope of this one. The editors are extremely well-known theoretical computer scientists, and each individual topic is presented by the leading authorities in the particular field. The maturity of the field makes it possible to include a historical perspective in many presentations. The work is divided into three volumes, which may be purchased as a set. |
![]() ![]() You may like...
Efficiency and Scalability Methods for…
Boris Igelnik, Jacek M. Zurada
Hardcover
R5,366
Discovery Miles 53 660
Geospatial Information Handbook for…
John G. Lyon, Lynn Lyon
Hardcover
R8,610
Discovery Miles 86 100
Safety and Security Issues in Technical…
David Rehak, Ales Bernatik, …
Hardcover
R5,953
Discovery Miles 59 530
|