Download or read book Modularity in the Presence of Subclassing written by Raymond Paul Stata and published by . This book was released on 1997 with total page 122 pages. Available in PDF, EPUB and Kindle. Book excerpt: Abstract: "Classes are harder to subclass than they need be. This report addresses this problem, showing how to design classes that are more modular and easier to subclass without sacrificing the extensibility that makes subclassing useful to begin with. We argue that a class should have two interfaces, an instance interface used by programmers manipulating instances of the class, and a specialization interface used by programmers building subclasses of the class. Instance interfaces are relatively well understood, but design principles for specialization interfaces are not. In the context of single inheritance, we argue that specialization interfaces should be partitioned into class components. A class component groups part of a class's state together with methods to maintain that state. Class components establish abstraction boundaries within classes, allowing modular replacement of components by subclasses. Achieving this replaceability requires reasoning about each component as an independent unit that depends only on the specifications of other components and not on their implementations. We introduce the concept of abstract representation to denote the view of a class's state given in its specialization interface. This view is more detailed than the view used to describe instances of the class, revealing details that describe the interfaces between class components. It is less detailed than the actual implementation, hiding implementation details that should not be exposed even to specializers. We also consider multiple inheritance, specifically, Snyder's model of encapsulated multiple inheritance. We advocate separating class components into individual classes called mixins. Instantiable classes are built by combining multiple mixins. With the mixin style of design, class hierarchies have more classes than in equivalent single-inheritance designs. These classes have smaller, simpler interfaces and can be reused more flexibly. To explore the impact our ideas might have on program design, we consider classes from existing libraries in light of the proposed single- and multiple-inheritance methodologies. To explore the impact our ideas might have on language design, we present two different extensions to Java, one that provides a level of static checking for single-inheritance designs, and another that adds the encapsulated model of multiple inheritance."
Download or read book Invasive Software Composition written by Uwe Aßmann and published by Springer Science & Business Media. This book was released on 2013-11-11 with total page 333 pages. Available in PDF, EPUB and Kindle. Book excerpt: Invasive software composition as a new, component-based way to construct software systems is presented. To improve reuse, this method regards software components as greybox and integrates them during composition. Components are distinct in design, but are merged in implementations, leading to highly integrated and more efficient systems. Building on a minimal set of program transformations, composition operator libraries can be developed that parameterize, extend, connect, mediate, and aspect-weave components. Invasive software composition unifies several software engineering techniques such as generic programming, architecture systems, inheritance, and aspect-oriented programming. The book is centered around the JAVA language and a freely available demonstrator library called COMPOST. The book provides a wealth of material for researchers, students and professional software architects alike.
Download or read book Variational Object Oriented Programming Beyond Classes and Inheritance written by Mira Mezini and published by Springer Science & Business Media. This book was released on 2013-06-29 with total page 271 pages. Available in PDF, EPUB and Kindle. Book excerpt: Purpose of the Book This book presents an approach to improve the standard object-oriented pro gramming model. The proposal is aimed at supporting a larger range of incre mental behavior variations and thus promises to be more effective in mastering the complexity of today's software. The ability of dealing with the evolutionary nature of software is one of main merits of object-oriented data abstraction and inheritance. Object-orientation allows to organize software in a structured way by separating the description of different kinds of an abstract data type into different classes and loosely connecting them by the inheritance hierarchy. Due to this separation, the soft ware becomes free of conditional logics previously needed for distinguishing between different kinds of abstractions and can thus more easily be incremen tally extended to support new kinds of abstractions. In other words, classes and inheritance are means to properly model variations of behavior related to the existence of different kinds of an abstract data type. The support for extensi bility and reuse with respect to such kind-specific behavior variations is among the main reasons for the increasing popularity of object-oriented programming in the last two decades. However, this popularity does not prevent us from questioning the real effec tiveness of current object-oriented techniques in supporting incremental vari ations. In fact, this popularity makes a critical investigation of the variations that can actually be performed incrementally even more important.
Download or read book Verification Theory and Practice written by Nachum Dershowitz and published by Springer. This book was released on 2004-02-24 with total page 798 pages. Available in PDF, EPUB and Kindle. Book excerpt: This festschrift volume constitutes a unique tribute to Zohar Manna on the occasion of his 64th birthday. Like the scientific work of Zohar Manna, the 32 research articles span the entire scope of the logical half of computer science. Also included is a paean to Zohar Manna by the volume editor. The articles presented are devoted to the theory of computing, program semantics, logics of programs, temporal logic, automated deduction, decision procedures, model checking, concurrent systems, reactive systems, hardware and software verification, testing, software engineering, requirements specification, and program synthesis.
Download or read book Laboratory for Computer Science Progress Report written by Massachusetts Institute of Technology. Laboratory for Computer Science and published by . This book was released on 1997 with total page 354 pages. Available in PDF, EPUB and Kindle. Book excerpt:
Download or read book ECOOP 2002 Object Oriented Programming written by Boris Magnusson and published by Springer. This book was released on 2003-08-02 with total page 648 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book constitutes the refereed proceedings of the 16th European Conference on Object-Oriented Programming, ECOOP 2002, held in Malaga, Spain, in June 2002. The 24 revised full papers presented together with one full invited paper were carefully reviewed and selected from 96 submissions. The book offers topical sections on aspect-oriented software development, Java virtual machines, distributed systems, patterns and architectures, languages, optimization, theory and formal techniques, and miscellaneous.
Download or read book Reports 100 150 written by and published by . This book was released on 1998 with total page 78 pages. Available in PDF, EPUB and Kindle. Book excerpt:
Download or read book ECOOP 2004 Object Oriented Programming written by Martin Odersky and published by Springer Science & Business Media. This book was released on 2004-06-08 with total page 622 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book constitutes the refereed proceedings of the 18th European Conference on Object-Oriented Programming, ECOOP 2004, held in Oslo, Norway in June 2004. The 25 revised full papers presented together with the abstracts of 2 invited talks were carefully reviewed and selected from a total of 132 submissions. The papers are organized in topical sections on encapsulation, program analysis, software engineering, aspects, middleware, types, verification, and systems.
Download or read book Programming Languages written by Norman Ramsey and published by Cambridge University Press. This book was released on 2022-10-27 with total page 799 pages. Available in PDF, EPUB and Kindle. Book excerpt: Teaches students about great programming-language ideas and how to use them in programming practice.
Download or read book Dissertation Abstracts International written by and published by . This book was released on 2008 with total page 850 pages. Available in PDF, EPUB and Kindle. Book excerpt:
Download or read book Modular Specification and Verification of Object Oriented Programs written by Peter Müller and published by Springer. This book was released on 2003-07-31 with total page 297 pages. Available in PDF, EPUB and Kindle. Book excerpt: Software systems play an increasingly important role in modern societies. Smart cards for personal identi?cation, e-banking, software-controlled me- cal tools, airbags in cars, and autopilots for aircraft control are only some examples that illustrate how everyday life depends on the good behavior of software. Consequently, techniques and methods for the development of hi- quality, dependable software systems are a central research topic in computer science. A fundamental approach to this area is to use formal speci?cation and veri?cation. Speci?cation languages allow one to describe the crucial p- perties of software systems in an abstract, mathematically precise, and implementation-independent way. By formal veri?cation, one can then prove that an implementation really has the desired, speci?ed properties. Although this formal methods approach has been a research topic for more than 30 years, its practical success is still restricted to domains in which devel- ment costs are of minor importance. Two aspects are crucial to widen the application area of formal methods: – Formal speci?cation techniques have to be smoothly integrated into the software and program development process. – The techniques have to be applicable to reusable software components. This way, the quality gain can be exploited for more than one system, thereby justifying the higher development costs. Starting from these considerations, Peter Muller ̈ has developed new te- niques for the formal speci?cation and veri?cation of object-oriented so- ware. The speci?cation techniques are declarative and implementati- independent. They can be used for object-oriented design and programming.
Download or read book VMCAI 2004 written by Bernhard Steffen and published by Springer Science & Business Media. This book was released on 2004-01-07 with total page 344 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book constitutes the refereed proceedings of the 5th International Conference on Verification, Model Checking, and Abstract Interpretation, VMCAI 2004, held in Venice, Italy in January 2004. The 22 revised full papers presented together with 4 invited contributions were carefully reviewed and selected from 68 submissions. The papers are organized in topical sections on security, formal methods, model checking, software checking, liveness and completeness, and miscellaneous.
Download or read book A Logic of Object oriented Programs written by Martín Abadi and published by . This book was released on 1998 with total page 58 pages. Available in PDF, EPUB and Kindle. Book excerpt: Abstract: "We develop a logic for reasoning about object-oriented programs. The logic is for a language with an imperative semantics and aliasing, and accounts for self-reference in objects. It is much like a type system for objects with subtyping, but our specifications go further than types in detailing pre- and postconditions. We intend the logic as an analogue of Hoare logic for object-oriented programs. Our main technical result is a soundness theorem that relates the logic to a standard operational semantics."
Download or read book Model Driven Engineering and Software Development written by Slimane Hammoudi and published by Springer Nature. This book was released on 2020-01-03 with total page 412 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book constitutes thoroughly revised and selected papers from the 7th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2019, held in Prague, Czech Republic, in February 2019. The 16 thoroughly revised and extended papers presented in this volume were carefully reviewed and selected from 76 submissions. They address some of the most relevant challenges being faced by researchers and practitioners in the field of model-driven engineering and software development and cover topics like language design and tooling; programming support tools; code and text generation from models, behavior modeling and analysis; model transformations and multi-view modeling; as well as applications of MDD and its related techniques to cyber-physical systems, cyber security, IoT, autonomous vehicles and healthcare.
Download or read book ECOOP written by and published by . This book was released on 2005 with total page 668 pages. Available in PDF, EPUB and Kindle. Book excerpt:
Download or read book Static Analysis written by Roberto Giacobazzi and published by Springer. This book was released on 2004-11-18 with total page 403 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book constitutes the refereed proceedings of the 11th International Symposium on Static Analysis, SAS 2004, held in Verona, Italy in August 2004. The 23 revised full papers presented with an invited paper and abstracts of 3 invited talks were carefully reviewed and selected from 63 submissions. The papers are organized in topical sections on program and systems verification, security and safety, pointer analysis, abstract interpretation and algorithms, shape analysis, abstract domain and data structures, shape analysis and logic, and termination analysis.
Download or read book ECOOP 2006 Object Oriented Programming written by David Thomas and published by Springer Science & Business Media. This book was released on 2006-06-26 with total page 538 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book constitutes the refereed proceedings of the 20th European Conference on Object-Oriented Programming, ECOOP 2006, held in Nantes, France in July 2006. 20 revised full papers, together with 3 keynote papers were carefully reviewed and selected. The papers are organized in topical sections on program query and persistence, ownership and concurrency, languages, type theory, types for object-oriented languages, tools, and modularity. 5 more papers celebrate the 20th anniversary of ECOOP.