242,078 research outputs found

    Towards a design theoretic characterisation of software development process models

    Get PDF
    Effective assessment, comparison, selection and adaptation of software development processes remain an acute problem in Software Engineering practice. The quest for a unified theory which might serve this purpose is ongoing. Objective: To take a first step towards such a theory, with focus on characterising and comparing features of software development process models. Method: We consider a theory of design as problem solving and investigate how it can be applied to characterise and explicate specific process features in well known process models from the literature. The intention is to characterise emerging trade-offs between resource expenditure and risk mitigation, which result from the interplay between process efforts into problem and solution exploration vs. stakeholder validation. The analysis, at this point performed, is purely qualitative, and the treatment of resource expenditure and risk quite abstract. Results: We provide an initial characterisation and comparison of features found in a wide range of process models from the literature, within a design theoretic framework using a single building block -- the Problem Oriented Engineering (POE) Process Pattern -- that allows the characterisation of information flow, the relationship between actors, resource usage and developmental risk. Conclusions: The initial characterisation identifies repeated structure in diverse processes, which allows basic process comparison across models. The interpretations are modular, allowing the possibility of relationships between different process models to be explored. As such, the theory allows for a unified means to characterise and compare systematically key features of different process models. In being of an exploratory nature, the work has a number of limitations, which should be addressed by further research

    Quality-aware model-driven service engineering

    Get PDF
    Service engineering and service-oriented architecture as an integration and platform technology is a recent approach to software systems integration. Quality aspects ranging from interoperability to maintainability to performance are of central importance for the integration of heterogeneous, distributed service-based systems. Architecture models can substantially influence quality attributes of the implemented software systems. Besides the benefits of explicit architectures on maintainability and reuse, architectural constraints such as styles, reference architectures and architectural patterns can influence observable software properties such as performance. Empirical performance evaluation is a process of measuring and evaluating the performance of implemented software. We present an approach for addressing the quality of services and service-based systems at the model-level in the context of model-driven service engineering. The focus on architecture-level models is a consequence of the black-box character of services

    Pattern languages in HCI: A critical review

    Get PDF
    This article presents a critical review of patterns and pattern languages in human-computer interaction (HCI). In recent years, patterns and pattern languages have received considerable attention in HCI for their potential as a means for developing and communicating information and knowledge to support good design. This review examines the background to patterns and pattern languages in HCI, and seeks to locate pattern languages in relation to other approaches to interaction design. The review explores four key issues: What is a pattern? What is a pattern language? How are patterns and pattern languages used? and How are values reflected in the pattern-based approach to design? Following on from the review, a future research agenda is proposed for patterns and pattern languages in HCI

    Review of research in feature-based design

    Get PDF
    Research in feature-based design is reviewed. Feature-based design is regarded as a key factor towards CAD/CAPP integration from a process planning point of view. From a design point of view, feature-based design offers possibilities for supporting the design process better than current CAD systems do. The evolution of feature definitions is briefly discussed. Features and their role in the design process and as representatives of design-objects and design-object knowledge are discussed. The main research issues related to feature-based design are outlined. These are: feature representation, features and tolerances, feature validation, multiple viewpoints towards features, features and standardization, and features and languages. An overview of some academic feature-based design systems is provided. Future research issues in feature-based design are outlined. The conclusion is that feature-based design is still in its infancy, and that more research is needed for a better support of the design process and better integration with manufacturing, although major advances have already been made

    KEMNAD: A Knowledge Engineering Methodology for Negotiating Agent Development

    Get PDF
    Automated negotiation is widely applied in various domains. However, the development of such systems is a complex knowledge and software engineering task. So, a methodology there will be helpful. Unfortunately, none of existing methodologies can offer sufficient, detailed support for such system development. To remove this limitation, this paper develops a new methodology made up of: (1) a generic framework (architectural pattern) for the main task, and (2) a library of modular and reusable design pattern (templates) of subtasks. Thus, it is much easier to build a negotiating agent by assembling these standardised components rather than reinventing the wheel each time. Moreover, since these patterns are identified from a wide variety of existing negotiating agents(especially high impact ones), they can also improve the quality of the final systems developed. In addition, our methodology reveals what types of domain knowledge need to be input into the negotiating agents. This in turn provides a basis for developing techniques to acquire the domain knowledge from human users. This is important because negotiation agents act faithfully on the behalf of their human users and thus the relevant domain knowledge must be acquired from the human users. Finally, our methodology is validated with one high impact system

    A tool-mediated cognitive apprenticeship approach for a computer engineering course

    Get PDF
    Teaching database engineers involves a variety of learning activities. A strong focus is on practical problems that go beyond the acquisition of knowledge. Skills and experience are equally important. We propose a virtual apprenticeship model for the knowledge- and skillsoriented Web-based education of database students. We adapt the classical cognitive apprenticeship theory to the Web context utilising scaffolding and activity theory. The choice of educational media and the forms of student interaction with the media are central success criteria

    Automated Verification of Design Patterns with LePUS3

    Get PDF
    Specification and [visual] modelling languages are expected to combine strong abstraction mechanisms with rigour, scalability, and parsimony. LePUS3 is a visual, object-oriented design description language axiomatized in a decidable subset of the first-order predicate logic. We demonstrate how LePUS3 is used to formally specify a structural design pattern and prove (‗verify‘) whether any JavaTM 1.4 program satisfies that specification. We also show how LePUS3 specifications (charts) are composed and how they are verified fully automatically in the Two-Tier Programming Toolkit

    Designing Software Architectures As a Composition of Specializations of Knowledge Domains

    Get PDF
    This paper summarizes our experimental research and software development activities in designing robust, adaptable and reusable software architectures. Several years ago, based on our previous experiences in object-oriented software development, we made the following assumption: ‘A software architecture should be a composition of specializations of knowledge domains’. To verify this assumption we carried out three pilot projects. In addition to the application of some popular domain analysis techniques such as use cases, we identified the invariant compositional structures of the software architectures and the related knowledge domains. Knowledge domains define the boundaries of the adaptability and reusability capabilities of software systems. Next, knowledge domains were mapped to object-oriented concepts. We experienced that some aspects of knowledge could not be directly modeled in terms of object-oriented concepts. In this paper we describe our approach, the pilot projects, the experienced problems and the adopted solutions for realizing the software architectures. We conclude the paper with the lessons that we learned from this experience
    corecore