TL;DR: AspectJ implementations of the GoF design patterns show modularity improvements in 17 of 23 cases, manifested in terms of better code locality, reusability, composability, and (un)pluggability.
Abstract: AspectJ implementations of the GoF design patterns show modularity improvements in 17 of 23 cases. These improvements are manifested in terms of better code locality, reusability, composability, and (un)pluggability.The degree of improvement in implementation modularity varies, with the greatest improvement coming when the pattern solution structure involves crosscutting of some form, including one object playing multiple roles, many objects playing one role, or an object playing roles in multiple pattern instances.
TL;DR: This paper explores how conceptual modeling could provide applications with direct support of trajectories (i.e. movement data that is structured into countable semantic units) as a first class concept and proposes two modeling approaches based on a design pattern and a dedicated data types.
Abstract: Analysis of trajectory data is the key to a growing number of applications aiming at global understanding and management of complex phenomena that involve moving objects (e.g. worldwide courier distribution, city traffic management, bird migration monitoring). Current DBMS support for such data is limited to the ability to store and query raw movement (i.e. the spatio-temporal position of an object). This paper explores how conceptual modeling could provide applications with direct support of trajectories (i.e. movement data that is structured into countable semantic units) as a first class concept. A specific concern is to allow enriching trajectories with semantic annotations allowing users to attach semantic data to specific parts of the trajectory. Building on a preliminary requirement analysis and an application example, the paper proposes two modeling approaches, one based on a design pattern, the other based on dedicated data types, and illustrates their differences in terms of implementation in an extended-relational context.
TL;DR: In this article, the authors present a framework for introducing design patterns that facilitate or improve the techniques used during ontology lifecycle, and some distinctions are drawn between kinds of ontology design patterns.
Abstract: The paper presents a framework for introducing design patterns that facilitate or improve the techniques used during ontology lifecycle. Some distinctions are drawn between kinds of ontology design patterns. Some content-oriented patterns are presented in order to illustrate their utility at different degrees of abstraction, and how they can be specialized or composed. The proposed framework and the initial set of patterns are designed in order to function as a pipeline connecting domain modelling, user requirements, and ontology-driven tasks/queries to be executed.
TL;DR: In this paper, the authors define design as any intentional change of landscape pattern for the purpose of sustainably providing ecosystem services while recognizably meeting societal needs and respecting societal values, and they conclude that landscape design created collaboratively by scientists and practitioners in many disciplines improves the impact of landscape science in society and enhances the saliency and legitimacy of landscape ecological scientific knowledge.
Abstract: Landscape ecological science has produced knowledge about the relationship between landscape pattern and landscape processes, but it has been less effective in transferring this knowledge to society. We argue that design is a common ground for scientists and practitioners to bring scientific knowledge into decision making about landscape change, and we therefore propose that the pattern–process paradigm should be extended to include a third part: design. In this context, we define design as any intentional change of landscape pattern for the purpose of sustainably providing ecosystem services while recognizably meeting societal needs and respecting societal values. We see both the activity of design and the resulting design pattern as opportunities for science: as a research method and as topic of research. To place design within landscape ecology science, we develop an analytic framework based on the concept of knowledge innovation, and we apply the framework to two cases in which design has been used as part of science. In these cases, design elicited innovation in society and in science: the design concept was incorporated in societal action to improve landscape function, and it also initiated scientific questions about pattern–process relations. We conclude that landscape design created collaboratively by scientists and practitioners in many disciplines improves the impact of landscape science in society and enhances the saliency and legitimacy of landscape ecological scientific knowledge.
TL;DR: The concept of Flexible Web-Application Partitioning is introduced, a programming model and implementation infrastructure that allows developers to apply the Model/View/Controller design pattern in a partition-independent manner.
Abstract: The Model/View/Controller design pattern is very useful for architecting interactive software systems. This design pattern is partition-independent, because it is expressed in terms of an interactive application running in a single address space. Applying the Model/View/Controller design pattern to web-applications is therefore complicated by the fact that current technologies encourage developers to partition the application as early as in the design phase. Subsequent changes to that partitioning require considerable changes to the application's implementation-despite the fact that the application logic has not changed. This paper introduces the concept of Flexible Web-Application Partitioning, a programming model and implementation infrastructure, that allows developers to apply the Model/View/Controller design pattern in a partition-independent manner Applications are developed and tested in a single address-space; they can then be deployed to various client/server architectures without changing the application's source code. In addition, partitioning decisions can be changed without modifying the application.