In this 5th international Workshop on SOA and Web Services, we will explore best-practices in the adoption, design, implementation, management and monitoring of SOA- and Web services-related methods, tools and technol...
详细信息
ISBN:
(纸本)9781595938657
In this 5th international Workshop on SOA and Web Services, we will explore best-practices in the adoption, design, implementation, management and monitoring of SOA- and Web services-related methods, tools and technologies. This workshop is a continuation of a highly successful series of workshops at OOPSLA 2006, OOPSLA 2005, OOPSLA 2004, and OOPSLA 2003.
Everyone talks about software bloat, feature creep and the ever-increasing complexity of software. Each new version of a software package adds in new features. Very rarely, features are removed. But what really happen...
详细信息
ISBN:
(纸本)9781595938657
Everyone talks about software bloat, feature creep and the ever-increasing complexity of software. Each new version of a software package adds in new features. Very rarely, features are removed. But what really happens as software evolves? This animated film illustrates the evolution of PowerPoint over seven versions from 1987-2001. With each version the user has faced increasing application complexity. Knowing how software evolves is of increasing importance as we move to building ultra-large scale software and developing software in the context of software ecologies. This film uses abstract graphical representations of the application features and relationships between features. Time-lapse animation of these abstract representations are used to convey an understanding of how this application has evolved. This animation is based on data from a project that is mapping the user interface and application functionality available in every release of Microsoft PowerPoint for the Macintosh. To date this study spans 7 releases of this application.
Modular monadic semantics (MMS) is a well-known technique for structuring modular denotational semantic definitions. Families of language constructs are independently defined using syntactic functors and semantic alge...
详细信息
ISBN:
(纸本)9781595938824
Modular monadic semantics (MMS) is a well-known technique for structuring modular denotational semantic definitions. Families of language constructs are independently defined using syntactic functors and semantic algebras that can be combined in a mix-and-match fashion to create complete language definitions. We introduce InterpreterLib, a Haskell library that implements and extends MMS techniques for writing composable analyses. In addition to modular analyses composition, InterpreterLib provides algebra combinators, explicit algebra semantics, preprocessors for boiler plate generation and generic programming techniques adapted to language analysis. The key benefits of these features are reliability, increased code reuse via modularity and the ability to rapidly retarget component analyses. Copyright 2007 ACM.
In runtime monitoring, a programmer specifies a piece of code to execute when a trace of events occurs during program execution. Previous and related work has shown that runtime monitoring techniques can be useful in ...
详细信息
ISBN:
(纸本)9781595938657
In runtime monitoring, a programmer specifies a piece of code to execute when a trace of events occurs during program execution. Previous and related work has shown that runtime monitoring techniques can be useful in order to validate or guarantee the safety and security of running programs. Yet, those techniques have not yet been able to make the transition to everyday use in regular software development processes. This is due to two reasons. Firstly, many of the existing runtime monitoring tools cause a significant runtime overhead, lengthening test runs unduly. This is particularly true for tools that allow reasoning about single objects, opposed to classes. Secondly, the kind of specifications that can be verified by such tools often follow a quite cumbersome notation. This leads to the fact that only verification experts, not programmers, can at all understand what a given specification means and in particular, whether it is correct. We propose a methodology to overcome both problems by providing a design and efficient implementation of expressive formal monitoring techniques with programmerfriendly notations.
By-name subtyping (or user-defined subtyping) and structural subtyping each have their own strengths and weaknesses. By-name subtyping allows programmers to explicitly express design intent, and, when types are associ...
详细信息
ISBN:
(纸本)9781595938657
By-name subtyping (or user-defined subtyping) and structural subtyping each have their own strengths and weaknesses. By-name subtyping allows programmers to explicitly express design intent, and, when types are associated with run time tags, enables run-time "type" tests and external/multimethod dispatch. On the other hand, structural subtyping is flexible and compositional, allowing unanticipated reuse. To date, nearly all object-oriented languages fully support only one subtyping paradigm or the other. I propose a language that combines the key aspects of by- name and structural subtyping in a unified framework. The goal is to provide the flexibility of structural subtyping while still allowing static typechecking of external methods. The work offers a clean foundation for the design of future languages that enjoy the benefits of both by-name and structural subtyping. I also propose a language extension to Java that combines by-name and structural subtyping, and includes parametric polymorphism. The practical utility of this language will be illustrated through case studies that show that code written in the new language is more flexible and easier to modify than the original code.
We present a generalized Gel fond-Lifschitz transformation in order to define stable models for a logic program with arbitrary abstract constraints on sets (c-atoms). The generalization is based on a formal semantics ...
详细信息
The stream programming paradigm aims to expose coarse-grained parallelism in applications that must process continuous sequences of events. The appeal of stream programming comes from its conceptual simplicity. A prog...
详细信息
ISBN:
(纸本)9781595937865
The stream programming paradigm aims to expose coarse-grained parallelism in applications that must process continuous sequences of events. The appeal of stream programming comes from its conceptual simplicity. A program is a collection of independent filters which communicate by the means of uni-directional data channels. This model lends itself naturally to concurrent and efficient implementations on modern multiprocessors. As the output behavior of filters is determined by the state of their input channels, stream programs have fewer opportunities for the errors (such as data races and deadlocks) that plague shared memory concurrent programming. This paper introduces STREAMFLEX, an extension to Java which marries streams with objects and thus enables to combine, in the same Java virtual machine, stream processing code with traditional object-oriented components. STREAMFLEX targets high-throughput low-latency applications with stringent quality-of-service requirements. To achieve these goals, it must, at the same time, extend and restrict Java. To allow for program optimization and provide latency guarantees, the STREAMFLEX compiler restricts Java by imposing a stricter typing discipline on filters. On the other hand, STREAMFLEX extends the Java virtual machine with real-time capabilities, transactional memory and type-safe region-based allocation. The result is a rich and expressive language that can be implemented efficiently.
Something extraordinarily strange is going on in the computer industry. Despite the widespread availability of jobs, the challenging and exciting nature of the work, and the impressive earning potential of workers, th...
详细信息
ISBN:
(纸本)9781595938657
Something extraordinarily strange is going on in the computer industry. Despite the widespread availability of jobs, the challenging and exciting nature of the work, and the impressive earning potential of workers, the industry is experiencing a massive decline in the number of new recruits. Universities and companies alike are starting to wonder: where did all the warm bodies go? Numbers from the US are showing declines upwards of 20%, and across North America it is not uncommon to find decreases in students applying to computer science postsecondary programmes that double that. It appears that a dearth of highly-trained professionals is looming, which is bound to negatively impact future advances in computer technology and ultimately threaten major economies. Given the current crisis, many groups are addressing the issue, with varying approaches and perspectives. The film "The Elephant in the Room: Who Will Take Care of the Code?", exposes the symptoms of this problem and examines some of the current solutions. In particular, this film profiles efforts at the University of Victoria in the CScIDE (Computer Science Initiatives for Diversity and Equity) research group and their experiements introducing programming concepts to children in grades two through seven.
Computer Scientists have been talking about the use of of object-orientation (under a variety of rubrics) to achieve "separation of concerns" for more than 40 years. In all that time, it has been taken for g...
详细信息
ISBN:
(纸本)9781595938657
Computer Scientists have been talking about the use of of object-orientation (under a variety of rubrics) to achieve "separation of concerns" for more than 40 years. In all that time, it has been taken for granted that it was the structure of the program text itself that mattered. Whenever it was felt that additional information was needed it was assumed that this would be closely associated with the program text either as simple comments, as in-line assertions, or "woven" in with the program text using elaborate tools. This talk takes a different position. It argues that for true separation of concerns we need an integrated set of separate documents, some of which are to be read by people who will never read the code, some that describe the structure of the code, and some that describe the behaviour of individual components. It describes a collection of mathematical ideas and notations that make it possible to produce documentation that is both precise and readable. We then describe the use of these documents in testing and inspection. Finally, it discusses the way that other programming paradigms, particularly functional programming, can be used to make these documents more useful.
Focused ion beam (FIB) lithography is used to fabricate patterned Co nano-elements from ultra-thin (30 nm thick), electron-beam-evaporated Co films. The spin- and spatially-resolved surface magnetic structure (SMS) of...
详细信息
Focused ion beam (FIB) lithography is used to fabricate patterned Co nano-elements from ultra-thin (30 nm thick), electron-beam-evaporated Co films. The spin- and spatially-resolved surface magnetic structure (SMS) of the nano-scale Co elements is imaged in situ by using scanning ion microscopy with polarization analysis (SIMPA). SIMPA spin maps directly reveal the detailed spin structure of magnetic vortex and antivortex states, which can be utilized for ultra-high density, non-volatile magnetic memory devices. It is found that the SMS of the nano-magnetic structures depends strongly on the size of the patterned Co elements. In addition, FIB etching is utilized in situ to create well-defined defects (antidots) in the patterned Co elements, which strongly modify the previously existing SMSs leading to novel nano-magnetic states. The results show that ion-surface interaction, as provided by SIMPA spin mapping and in situ FIB processing, can be profitably exploited for studying SMSs of patterned magnetic systems to be used for nano-scale magnetic memory and magnetic logic devices. (c) 2006 Elsevier B.V. All rights reserved.
暂无评论