10 research outputs found

    TOWARD EASING THE INSTANTIATION OF APPLICATIONS USING GRENJ FRAMEWORK BY MEANS OF A DOMAIN SPECIFIC LANGUAGE

    Get PDF
    White-box frameworks are a collection of extensible classes representing reusable designs that can be extended, to varying degrees, to instantiate custom-tailored software systems. Due to its inherent benefits (e.g., large-scale reuse of code, design, and domain knowledge), such domain-specific reuse approach has become a de facto standard to implement business systems. However, in order to fully realize the advantages of white-box frameworks, developers need to have substantial architectural and technical knowledge. In effect, developers must be familiar with the framework's extension points (e.g., hot spots) and how to program those extensions using the programming language in which the framework was implemented. GRENJ is a white-box framework implemented in Java. Thus, instantiating applications through such framework is quite complex and demands detailed architectural knowledge and advanced Java programming skills. In order to lessen the amount of source code, effort, and expertise required to instantiate applications by using GRENJ framework, we have developed a domain specific language that manages all application instantiation issues systematically. This domain specific language facilitates the application instantiation process by acting as a facade over GRENJ framework as well as providing the user with a more concise, human-readable syntax than Java. In this paper, we contrast the major differences and benefits resulting from instantiating applications solely using GRENJ framework and indirectly reusing its source code by applying our domain specific language.White-box frameworks are a collection of extensible classes representing reusable designs that can be extended, to varying degrees, to instantiate custom-tailored software systems. Due to its inherent benefits (e.g., large-scale reuse of code, design, and domain knowledge), such domain-specific reuse approach has become a de facto standard to implement business systems. However, in order to fully realize the advantages of white-box frameworks, developers need to have substantial architectural and technical knowledge. In effect, developers must be familiar with the framework's extension points (e.g., hot spots) and how to program those extensions using the programming language in which the framework was implemented. GRENJ is a white-box framework implemented in Java. Thus, instantiating applications through such framework is quite complex and demands detailed architectural knowledge and advanced Java programming skills. In order to lessen the amount of source code, effort, and expertise required to instantiate applications by using GRENJ framework, we have developed a domain specific language that manages all application instantiation issues systematically. This domain specific language facilitates the application instantiation process by acting as a facade over GRENJ framework as well as providing the user with a more concise, human-readable syntax than Java. In this paper, we contrast the major differences and benefits resulting from instantiating applications solely using GRENJ framework and indirectly reusing its source code by applying our domain specific language

    ParadisEO: A Framework for the Reusable Design of Parallel and Distributed Metaheuristics

    Full text link

    Análise e conceção de uma framework de reporting genérica e parametrizável

    Get PDF
    Dissertação de mestrado em Engenharia de InformáticaActualmente as aplicações PRIMAVERA incluem componentes de reporting que exigem demasiado esforço de implementação e de manutenção, na medida em que todo o seu desenvolvimento é manual, repetitivo e assente em tecnologia desactualizada. Estes componentes de reporting são baseados nas soluções Crystal Reports, sendo necessária a construção/desenho em tempo de desenvolvimento de todos os relatórios que são pretendidos para um determinado produto. Cada um destes relatórios tem o seu desenho próprio, a suas próprias características e configurações, não existindo qualquer forma de partilhar determinadas propriedades que possam ser comuns aos vários relatórios. Por norma pretende-se que todos os relatórios de um produto tenham um aspecto uniforme, como por exemplo o layout ou fonte utilizada para determinados campos (por exemplo o título do relatório). Significa isto que é necessário na construção de cada um dos relatórios replicar todas estas características que são comuns, o que exige um esforço significativo e pode ser propício ao erro quando as regras de desenho de relatórios não estão bem definidas no início do desenvolvimento. Este problema torna-se mais evidente quando por exemplo num produto com um elevado número de relatórios se pretende fazer uma alteração numa destas características comuns. A simples alteração do tipo de fonte do título do relatório acaba por ser um processo bastante dispendioso, uma vez que é necessário editar todos os relatórios individualmente. Esta dissertação surgiu da necessidade de desenvolver um novo componente de reporting que possa responder às limitações actuais. No âmbito do projecto PRIMAVERA ATHENA, está inserida a Framework de Reporting, cuja finalidade é dar suporte à criação, geração e apresentação de relatórios nos produtos desenvolvidos sobre a Framework ATHENA. Um dos principais objectivos da Framework de Reporting é a geração automática de relatórios a partir dos modelos das aplicações, acabando assim com todo o processo manual de criação de relatórios.Currently, PRIMAVERA applications include components for reporting that requires too much effort of implementation and maintenance, because the development is manual, repetitive and based on out dated technology. These components are based on Crystal Reports solutions, which require the construction/design at development time of all reports that are intended for a particular product. Each one of these reports has its own design, its own characteristics and settings, and there is no way to share certain properties that may be common to multiple reports. Usually it is intended that all reports of a product share a uniform appearance, such as the layout and font used for certain fields (for example the report title). This means that in the construction of each report is necessary to replicate all of these common characteristics, which requires a significant effort and may cause more errors if the design rules are not correctly defined in the beginning of the development. This problem becomes even more evident when in a product with a high number of reports is necessary to make a change in one of these common characteristics. The simple change of the report title font turns out to be a very expensive process, since it is necessary to individually edit all reports. This work arose from a need to develop a new reporting component that can respond to the current limitations. Within the scope of PRIMAVERA ATHENA project, is the Reporting Framework, which aims to support the creation, generation and presentation of reports on products developed in the Athena Framework. One of the main objectives of the Reporting Framework is to provide automatic generation of reports from the applications model, ending with all the manual process in reports development

    Improving the distributed evolution of software through heuristic evaluation

    Get PDF
    Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2011.Cataloged from PDF version of thesis.Includes bibliographical references (p. 65-67).In order to create the increasingly complex software systems needed to deal with today's technological challenges, we must be able to build on previous work. However, existing software solutions are quite often not an exact fit. Software developers have found multiple ways of approaching the problem of designing software that can be adapted as well as otherwise changed; Most of this effort has been aimed at the structural properties of the software, by creating open-architecture systems. However, there are still significant usability hurdles to overcome. A developer-oriented evaluation of open architecture interfaces could help meet some of these challenges. In this thesis, I present a set of guidelines for designing a developer-oriented interface for software open architectures, developed through a survey of several related fields. I use these guidelines to design and implement an interface to the Maritime Open Architecture Autonomy, one such software framework. Finally, through two case studies, I demonstrate the usefulness of these guidelines as the basis of a low cost method of usability evaluation. Study observations and limitations are presented, as well as suggestions for further research into heuristic evaluation.by Amy Jo Wooten.M.Eng

    Framework-Specific Modeling Languages

    Get PDF
    Framework-specific modeling languages (FSMLs) help developers build applications based on object-oriented frameworks. FSMLs formalize abstractions and rules of the framework's application programming interfaces (APIs) and can express models of how applications use an API. Such models, referred to as framework-specific models, aid developers in understanding, creating, and evolving application code. We present the concept of FSMLs, propose a way of specifying their abstract syntax and semantics, and show how such language specifications can be interpreted to provide reverse, forward, and round-trip engineering of framework-specific models and framework-based application code. We present a method for engineering FSMLs that was extracted post-mortem from the experience of building four such languages. The method is driven by the use cases that the FSMLs under development are to support. We present the use cases, the overall process, and its instantiation for each language. The presentation focuses on providing concrete examples for engineering steps, outcomes, and challenges. It also provides strategies for making engineering decisions. The presented method and experience are aimed at framework developers and tool builders who are interested in engineering new FSMLs. Furthermore, the method represents a necessary step in the maturation of the FSML concept. Finally, the presented work offers a concrete example of software language engineering. FSML engineering formalizes existing domain knowledge that is not present in language form and makes a strong case for the benefits of such formalization. We evaluated the method and the exemplar languages. The evaluation is both empirical and analytical. The empirical evaluation involved measuring the precision and recall of reverse engineering and verifying the correctness or forward and round-trip engineering. The analytical evaluation focused on the generality of the method

    Advances in component-oriented programming

    Get PDF
    WCOP 2006 is the eleventh event in a series of highly successful workshops, which took place in conjunction with every ECOOP since 1996. Component oriented programming (COP) has been described as the natural extension of object-oriented programming to the realm of independently extensible systems. Several important approaches have emerged over the recent years, including component technology standards, such as CORBA/CCM, COM/COM+, J2EE/EJB, and .NET, but also the increasing appreciation of software architecture for component-based systems, and the consequent effects on organizational processes and structures as well as the software development business as a whole. COP aims at producing software components for a component market and for late composition. Composers are third parties, possibly the end users, who are not able or willing to change components. This requires standards to allow independently created components to interoperate, and specifications that put the composer into the position to decide what can be composed under which conditions. On these grounds, WCOP\u2796 led to the following definition: "A component is a unit of composition with contractually specified interfaces and explicit context dependencies only. Components can be deployed independently and are subject to composition by third parties." After WCOP\u2796 focused on the fundamental terminology of COP, the subsequent workshops expanded into the many related facets of component software. WCOP 2006 emphasizes reasons for using components beyond reuse. While considering software components as a technical means to increase software reuse, other reasons for investing into component technology tend to be overseen. For example, components play an important role in frameworks and product-lines to enable configurability (even if no component is reused). Another role of components beyond reuse is to increase the predictability of the properties of a system. The use of components as contractually specified building blocks restricts the degrees of freedom during software development compared to classic line-by-line programming. This restriction is beneficial for the predictability of system properties. For an engineering approach to software design, it is important to understand the implications of design decisions on a system\u27s properties. Therefore, approaches to evaluate and predict properties of systems by analyzing its components and its architecture are of high interest. To strengthen the relation between architectural descriptions of systems and components, a comprehensible mapping to component-oriented middleware platforms is important. Model-driven development with its use of generators can provide a suitable link between architectural views and technical component execution platforms. WCOP 2006 accepted 13 papers, which are organised according to the program below. The organisers are looking forward to an inspiring and thought provoking workshop. The organisers thank Jens Happe and Michael Kuperberg for preparing the proceedings volume

    Specifying Reuse Interfaces for Task-Oriented Framework Specialization

    Get PDF
    Reuse of existing carefully designed and tested software improves the quality of new software systems and reduces their development costs. Object-oriented frameworks provide an established means for software reuse on the levels of both architectural design and concrete implementation. Unfortunately, due to frame-works complexity that typically results from their flexibility and overall abstract nature, there are severe problems in using frameworks. Patterns are generally accepted as a convenient way of documenting frameworks and their reuse interfaces. In this thesis it is argued, however, that mere static documentation is not enough to solve the problems related to framework usage. Instead, proper interactive assistance tools are needed in order to enable system-atic framework-based software production. This thesis shows how patterns that document a framework s reuse interface can be represented as dependency graphs, and how dynamic lists of programming tasks can be generated from those graphs to assist the process of using a framework to build an application. This approach to framework specialization combines the ideas of framework cookbooks and task-oriented user interfaces. Tasks provide assistance in (1) cre-ating new code that complies with the framework reuse interface specification, (2) assuring the consistency between existing code and the specification, and (3) adjusting existing code to meet the terms of the specification. Besides illustrating how task-orientation can be applied in the context of using frameworks, this thesis describes a systematic methodology for modeling any framework reuse interface in terms of software patterns based on dependency graphs. The methodology shows how framework-specific reuse interface specifi-cations can be derived from a library of existing reusable pattern hierarchies. Since the methodology focuses on reusing patterns, it also alleviates the recog-nized problem of framework reuse interface specification becoming complicated and unmanageable for frameworks of realistic size. The ideas and methods proposed in this thesis have been tested through imple-menting a framework specialization tool called JavaFrames. JavaFrames uses role-based patterns that specify a reuse interface of a framework to guide frame-work specialization in a task-oriented manner. This thesis reports the results of cases studies in which JavaFrames and the hierarchical framework reuse inter-face modeling methodology were applied to the Struts web application frame-work and the JHotDraw drawing editor framework

    An Investigation into Design-driven Approaches within Fast Moving Consumer Goods Brand Development.

    Get PDF
    The attention of design has evolved from developing new products to developing a mechanism to offer more innovative and competitive products. Driven by design thinking and design-driven innovation perspectives, expanded roles for design have been highlighted in academia and business and have been identified as a means to bring innovation to organisations through the application of designerly approaches. Such approaches are often applied to diverse organisational activities in a manner that is at odds with conventional roles for design. However, there has been little research investigating how to undertake such a new role for design corresponding to specific industry contexts. In addition little research has explored using (the role of) design in the FMCG industry: research has predominately been confined to design's contribution to brand identity development. Therefore, this PhD aims to propose a way to underpin a new role for design within fast moving consumer goods (FMCG) industry, via the following research phases. First, preliminary research in the form of content analysis of relevant literature was undertaken to discover how an expanded role of design is defined and the manner in which they are being adopted in a number of sectors, which entails a concept of design-driven approaches (DDA): approaches to applying a way of designerly conceptualising and exploiting tasks. Secondly, based on the features of DDA, this research was conducted through transformative mixed methods: a sequence of online survey and in-depth semi-structured interviews in order to explore phenomena which enhance and/or hinder design's integration within business. Grounded on the findings from a series of research activities and empirical data analysis, this research proposes a conceptual model - a framework and roadmap - of how the FMCG industry can overcome impediments to design's integration within brand development and organisational management by establishing a collaborative designerly frame to encompass activity-based and relational perspectives and elucidating contemporary and expanded roles of design. Finally, via member-checking validation, this model proposes an appropriate way to embed designerly ways into FMCG brand development by underpinning a collaborative ideas generation phase, especially for establishing environmental and organisational change to enhance designerly application

    An Investigation into Design-driven Approaches within Fast Moving Consumer Goods Brand Development.

    Get PDF
    The attention of design has evolved from developing new products to developing a mechanism to offer more innovative and competitive products. Driven by design thinking and design-driven innovation perspectives, expanded roles for design have been highlighted in academia and business and have been identified as a means to bring innovation to organisations through the application of designerly approaches. Such approaches are often applied to diverse organisational activities in a manner that is at odds with conventional roles for design. However, there has been little research investigating how to undertake such a new role for design corresponding to specific industry contexts. In addition little research has explored using (the role of) design in the FMCG industry: research has predominately been confined to design's contribution to brand identity development. Therefore, this PhD aims to propose a way to underpin a new role for design within fast moving consumer goods (FMCG) industry, via the following research phases. First, preliminary research in the form of content analysis of relevant literature was undertaken to discover how an expanded role of design is defined and the manner in which they are being adopted in a number of sectors, which entails a concept of design-driven approaches (DDA): approaches to applying a way of designerly conceptualising and exploiting tasks. Secondly, based on the features of DDA, this research was conducted through transformative mixed methods: a sequence of online survey and in-depth semi-structured interviews in order to explore phenomena which enhance and/or hinder design's integration within business. Grounded on the findings from a series of research activities and empirical data analysis, this research proposes a conceptual model - a framework and roadmap - of how the FMCG industry can overcome impediments to design's integration within brand development and organisational management by establishing a collaborative designerly frame to encompass activity-based and relational perspectives and elucidating contemporary and expanded roles of design. Finally, via member-checking validation, this model proposes an appropriate way to embed designerly ways into FMCG brand development by underpinning a collaborative ideas generation phase, especially for establishing environmental and organisational change to enhance designerly application

    Active Guidance of Framework Development

    No full text
    . An app op iate combination of objecto iented p og amming concepts allows the development not only of single eusable components but also of semifinished a chitectu es (= f amewo ks)
    corecore