the industry of software-intensive systems is facing today both economical and technical challenges. On one hand, shrinking budgets and sharp competition require to reduce significantly development and maintenance cos...
ISBN:
(纸本)354066954X
the industry of software-intensive systems is facing today both economical and technical challenges. On one hand, shrinking budgets and sharp competition require to reduce significantly development and maintenance costs, shorten lead time, and improve predictability. On the other hand, the size and complexity of systems have dramatically increased in the past few years and have brought considerable technological problems. In order to face these issues, major changes are required regarding the way software products are developed. A promising approach, which is gaining wide acceptance, is to replace traditional development models by product-line development. Traditional life cycle models have originally been conceived under the assumption that they apply to the development of individual software products, inhibiting the sharing of common assets between projects. Product-line development is based on a different approach, which naturally promotes and supports software reuse. In a productline approach, products addressing a same domain are regarded as a whole and developed as members of a product family.
Software Architecture has become an established area of study within the software engineering community for a considerable time now. Recently, Software Architecture has become a topic of interest within the object-ori...
详细信息
this paper reports the activities of the ecoop’99Workshop on Interactive System Design withobject Models (WISDOM’99). the paper presents the workshop rational, format, the discussion framework and its four identifi...
详细信息
Virtual types have been proposed as a notation for generic programming in object-oriented languages|an alternative to the more familiar mechanism of parametric classes. the tradeoffs between the two mechanisms are a m...
详细信息
this paper presents a formal system based on the notion of objects and asynchronous communication. Built on Milner’s work on π-calculus, the communication primitive of the formal system is purely based on asynchrono...
详细信息
object-oriented systems must implement message dispatch efficiently in order not to penalize the object-orientedprogramming style. We characterize the performance of most previously published dispatch techniques for ...
详细信息
ISBN:
(纸本)3540601600
object-oriented systems must implement message dispatch efficiently in order not to penalize the object-orientedprogramming style. We characterize the performance of most previously published dispatch techniques for both statically- and dynamically-typed languages with both single and multiple inheritance. Hardware organization (in particular, branch latency and superscalar instruction issue) significantly impacts dispatch performance. For example, inline caching may outperform C++-style ''vtables'' on deeply pipelined processors even though it executes more instructions per dispatch. We also show that adding support for dynamic typing or multiple inheritance does not significantly impact dispatch speed for most techniques, especially on superscalar machines. Instruction space overhead (calling sequences) can exceed the space cost of data structures (dispatch tables), so that minimal table size may not imply minimal run-time space usage.
this report summarizes the contributions and discussion of the 4thecoop Workshop on Quantitative Approaches in object-oriented Software Engineering held in Sophia Antipolis on Tuesday, June 13, 2000. this workshop ai...
详细信息
Traditionally, object-oriented software adopts the Observer pattern to implement reactive behavior. Its drawbacks are well-documented and two families of alternative approaches have been proposed, extending object-ori...
详细信息
An active area of research in computer science is the prevention of violations of object protocols, i.e., restrictions on temporal orderings of method calls on an object. However, little is understood about object pro...
详细信息
ISBN:
(纸本)9783642226557;9783642226540
An active area of research in computer science is the prevention of violations of object protocols, i.e., restrictions on temporal orderings of method calls on an object. However, little is understood about object protocols in practice. this paper describes an empirical study of object protocols in some popular open-source Java programs. In our study, we have attempted to determine how often object protocols are defined, and how often they are used, while also developing a taxonomy of similar protocols. In the open-source projects in our study, comprising almost two million lines of code, approximately 7.2% of all types defined protocols, while 13% of classes were clients of types defining protocols. (For comparison, 2.5% of the types in the Java library define type parameters using Java Generics.) this suggests that protocol checking tools are widely applicable.
Today companies apply software systems with more than 14 million Lines of Code (LOC), which are still maintainable and expandable in spite of their size. On the other hand, you will find smaller software systems (>...
详细信息
ISBN:
(纸本)9780769535890
Today companies apply software systems with more than 14 million Lines of Code (LOC), which are still maintainable and expandable in spite of their size. On the other hand, you will find smaller software systems (> 200,000 LOC), which can either only be adopted with considerable effort, or which cannot be adapted at all. Why are some software systems fraught with maintenance problems while others remain manageable? Based on twenty-four industrial case studies on object-oriented Java projects, this paper identifies, aspects of architectural complexity and describes which route should be taken to keep the architectural complexity of large-scale software systems controllable. In this context it becomes clear that in every case the architectural style is pivotal in determining whether the software system will be maintainable over a longer period and thus prevent software erosion.
暂无评论