3,258 research outputs found

    Bridging the gap between design and implementation of components libraries

    Get PDF
    Object-oriented design is usually driven by three main reusability principles: step-by-step design, design for reuse and design with reuse. However, these principles are just partially applied to the subsequent object-oriented implementation, often due to efficienc y constraints, yielding to a gap between design and implementation. In this paper we provide a solution for bridging this gap for a concrete framework, the one of designing and implementing container-like component libraries, such as STL, Booc h Components, etc. Our approach is based on a new design pattern together with its corresponding implementation. The proposal enhances the same principles that drive the design process: step-by--step implementation (adding just what is needed in every step), implementation with reuse (component implementations are reused while library implementation progresses and component hierarchies grow) and implementation for reuse (intermediate component implementations can be reused in many different points o f the hierarchy). We use our approach in two different manners: for building a brand-new container-like component library, and for reengineering an existing one, Booch Components in Ada95.Postprint (published version

    The C++0x "Concepts" Effort

    Full text link
    C++0x is the working title for the revision of the ISO standard of the C++ programming language that was originally planned for release in 2009 but that was delayed to 2011. The largest language extension in C++0x was "concepts", that is, a collection of features for constraining template parameters. In September of 2008, the C++ standards committee voted the concepts extension into C++0x, but then in July of 2009, the committee voted the concepts extension back out of C++0x. This article is my account of the technical challenges and debates within the "concepts" effort in the years 2003 to 2009. To provide some background, the article also describes the design space for constrained parametric polymorphism, or what is colloquially know as constrained generics. While this article is meant to be generally accessible, the writing is aimed toward readers with background in functional programming and programming language theory. This article grew out of a lecture at the Spring School on Generic and Indexed Programming at the University of Oxford, March 2010

    MELT - a Translated Domain Specific Language Embedded in the GCC Compiler

    Full text link
    The GCC free compiler is a very large software, compiling source in several languages for many targets on various systems. It can be extended by plugins, which may take advantage of its power to provide extra specific functionality (warnings, optimizations, source refactoring or navigation) by processing various GCC internal representations (Gimple, Tree, ...). Writing plugins in C is a complex and time-consuming task, but customizing GCC by using an existing scripting language inside is impractical. We describe MELT, a specific Lisp-like DSL which fits well into existing GCC technology and offers high-level features (functional, object or reflexive programming, pattern matching). MELT is translated to C fitted for GCC internals and provides various features to facilitate this. This work shows that even huge, legacy, software can be a posteriori extended by specifically tailored and translated high-level DSLs.Comment: In Proceedings DSL 2011, arXiv:1109.032

    Designing a reusable class cluster: a hypertext cluster

    Get PDF
    This thesis is a contribution to the study of object-oriented software engineering, focusing upon the reuse-approach to build reliable and extendable software. A hypertext system has been developed to study the reuse. The ET++ and MacApp framework class libraries provide standard components that can be re-used to develop application-specific programs. A plug-compatible design is presented in this work; this design approach facilitates building applications that work with frameworks based on similar principles running on different platforms. Hypertext is chosen as an example domain for designing class clusters, while ET++ and MacApp are selected as frameworks. A survey of reuse and hypertext is done at various levels. The hypertext specific classes are designed, keeping the commonalities in mind to provide adequate generalization. These classes are implemented on the ET++ and MacApp frameworks. There are variations in the two implementations, but overall design of the classes remains the same. The design is validated by testing it against the changing requirements of the system and adding new functionality to the system. The effectiveness of the plug-compatible approach is explored

    Domain-specific languages

    Get PDF
    Domain-Specific Languages are used in software engineering in order to enhance quality, flexibility, and timely delivery of software systems, by taking advantage of specific properties of a particular application domain. This survey covers terminology, risks and benefits, examples, design methodologies, and implementation techniques of domain-specific languages as used for the construction and maintenance of software systems. Moreover, it covers an annotated selection of 75 key publications in the area of domain-specific languages

    Proceedings of the Resolve Workshop 2006

    Get PDF
    The aim of the RESOLVE Workshop 2006 was to bring together researchers and educators interested in: Refining formal approaches to software engineering, especially component-based systems, and introducing them into the classroom. The workshop served as a forum for participants to present and discuss recent advances, trends, and concerns in these areas, as well as formulate a common understanding of emerging research issues and possible solution paths

    FAT FOR LIFE: THE DEVELOPMENT OF A LOW-CARBOHYDRATE HIGH-FAT DIETARY TOOLKIT FOR TYPE 2 DIABETES IN RURAL SOUTHEAST KANSAS

    Get PDF
    The purpose of this project was to identify the feasibility of a low-carbohydrate high-fat (LCHF) diet in less affluent type 2 diabetics in rural Southeast Kansas, specifically, Crawford County. The author assessed this through the identification of the resources offered in Crawford County, and ultimately, the development of an LCHF dietary toolkit utilizing these resources. The toolkit offers an array of LCHF resources including compliant foods, grocery prices, shopping lists, phone applications, books, internet websites and blogs, accountability forums, and fitness centers. Upon completion of the dietary toolkit a select few healthcare providers directly involved with diabetes in Crawford County were sought out for feedback. Findings from the LCHF dietary toolkit development indicated an LCHF diet for less affluent type 2 diabetics is feasible from a financial and resource standpoint. The feedback received from providers was also positive. While more research is recommended on long-term adherence, the toolkit offers a great starting foundation for implementing an LCHF diet
    • …
    corecore