520,133 research outputs found

    Pattern-based model transformation: a metamodel-based approach to model evolution

    Get PDF
    Software systems continue to grow in complexity at a rapid pace, creating systems that are complex to build and evolve. The problems that accompany changes in requirements, system upgrades, and error correction produce a desire for software evolution methods that increase the efficiency and effectiveness of adapting complex software to changes. As software systems evolve, design models must be modified to accommodate the required changes. Techniques that control the changes to models in a systematic manner are a key to model evolution. A process that improves the ability to effectively modify a design, thereby enhancing design qualities, supports the need for improved model evolution techniques. Design patterns are common forms of reusable design experiences. They offer solutions to common design problems, reduce complexity by naming and defining abstractions, and provide a foundation for building reusable software. Well-known pattern solutions are expressed in a natural language as fragments of code which are sometimes difficult to understand and implement by software modelers. With increased focus on development of model-driven approaches, rigorous descriptions of design patterns that capture solutions during design instead of implementation are needed. This research defines an approach for the transformation of models that supports controlled model evolution. More precisely, a process for capturing design patterns in UML class diagrams is defined. This process involves defining a metamodel-level representation which specifies how a software developer can introduce design patterns into existing design models. We defined transformation patterns as an extension of the UML metamodel to characterize source and target model elements. The transformation pattern consists of specialized metamodel elements that specify the structure of source and target metamodels. Transformation patterns were specified for the Abstract Factory, Bridge and Visitor design patterns to show how the model-level transformations can be perform on patterns that represent different functionalities. We developed an action language to specify constructs which add, delete, retrieve and connect model elements. We used the constructs of the action language to define transformation specifications that implement model-level transformations on class diagrams. To determine the potential of this approach we manually implemented the transformation specification on a UML design

    CSM-424- Evolutionary Complexity: Investigations into Software Flexibility

    Get PDF
    Flexibility has been hailed as a desirable quality since the earliest days of software engineering. Classic and modern literature suggest that particular programming paradigms, architectural styles and design patterns are more “flexible” than others but stop short of suggesting objective criteria for measuring such claims. We suggest that flexibility can be measured by applying notions of measurement from computational complexity to the software evolution process. We define evolution complexity (EC) metrics, and demonstrate that— (a) EC can be used to establish informal claims on software flexibility; (b) EC can be constant ����or linear� in the size of the change; (c) EC can be used to choose the most flexible software design policy. We describe a small-scale experiment designed to test these claims

    On the complexity and the information content of cosmic structures

    Full text link
    The emergence of cosmic structure is commonly considered one of the most complex phenomena in Nature. However, this complexity has never been defined nor measured in a quantitative and objective way. In this work we propose a method to measure the information content of cosmic structure and to quantify the complexity that emerges from it, based on Information Theory. The emergence of complex evolutionary patterns is studied with a statistical symbolic analysis of the datastream produced by state-of-the-art cosmological simulations of forming galaxy clusters. This powerful approach allows us to measure how many bits of information are necessary to predict the evolution of energy fields in a statistical way, and it offers a simple way to quantify when, where and how the cosmic gas behaves in complex ways. The most complex behaviors are found in the peripheral regions of galaxy clusters, where supersonic flows drive shocks and large energy fluctuations over a few tens of million years. Describing the evolution of magnetic energy requires at least a twice as large amount of bits than for the other energy fields. When radiative cooling and feedback from galaxy formation are considered, the cosmic gas is overall found to double its degree of complexity. In the future, Cosmic Information Theory can significantly increase our understanding of the emergence of cosmic structure as it represents an innovative framework to design and analyze complex simulations of the Universe in a simple, yet powerful way.Comment: 15 pages, 14 figures. MNRAS accepted, in pres

    CItyMaker

    Get PDF
    Due to its complexity, the evolution of cities is something that is difficult to predict and planning new developments for cities is therefore a difficult task. This complexity can be identified on two levels: on a micro level, it emerges from the multiple relations between the many components and actors in cities, whereas on a macro level it stems from the geographical, social and economic relations between cities. However, many of these relations can be measured. The design of plans for cities can only be improved if designers are able to address measurements of some of the relationships between the components of cities during the design process. These measurements are called urban indicators. By calculating such measurements, designers can grasp the meaning of the changes being proposed, not just as simple alternative layouts, but also in terms of the changes in indicators adding a qualitative perception. This thesis presents a method and a set of tools to generate alternative solutions for an urban context. The method proposes the use of a combined set of design patterns encoding typical design moves used by urban designers. The combination of patterns generates different layouts which can be adjusted by manipulating several parameters in relation to updated urban indicators. The patterns were developed from observation of typical urban design procedures, first encoded as discursive grammars and later translated into parametric design patterns. The CItyMaker method and tools allows the designer to compose a design solution from a set of programmatic premises and fine-tune it by pulling parameters whilst checking the changes in urban indicators. These tools improve the designer’s awareness of the consequences of their design moves

    CItyMaker:

    Get PDF
    Due to its complexity, the evolution of cities is something that is difficult to predict and planning new developments for cities is therefore a difficult task. This complexity can be identified on two levels: on a micro level, it emerges from the multiple relations between the many components and actors in cities, whereas on a macro level it stems from the geographical, social and economic relations between cities. However, many of these relations can be measured. The design of plans for cities can only be improved if designers are able to address measurements of some of the relationships between the components of cities during the design process. These measurements are called urban indicators. By calculating such measurements, designers can grasp the meaning of the changes being proposed, not just as simple alternative layouts, but also in terms of the changes in indicators adding a qualitative perception. This thesis presents a method and a set of tools to generate alternative solutions for an urban context. The method proposes the use of a combined set of design patterns encoding typical design moves used by urban designers. The combination of patterns generates different layouts which can be adjusted by manipulating several parameters in relation to updated urban indicators. The patterns were developed from observation of typical urban design procedures, first encoded as discursive grammars and later translated into parametric design patterns. The CItyMaker method and tools allows the designer to compose a design solution from a set of programmatic premises and fine-tune it by pulling parameters whilst checking the changes in urban indicators. These tools improve the designer’s awareness of the consequences of their design moves

    Complexity, Development, and Evolution in Morphogenetic Collective Systems

    Full text link
    Many living and non-living complex systems can be modeled and understood as collective systems made of heterogeneous components that self-organize and generate nontrivial morphological structures and behaviors. This chapter presents a brief overview of our recent effort that investigated various aspects of such morphogenetic collective systems. We first propose a theoretical classification scheme that distinguishes four complexity levels of morphogenetic collective systems based on the nature of their components and interactions. We conducted a series of computational experiments using a self-propelled particle swarm model to investigate the effects of (1) heterogeneity of components, (2) differentiation/re-differentiation of components, and (3) local information sharing among components, on the self-organization of a collective system. Results showed that (a) heterogeneity of components had a strong impact on the system's structure and behavior, (b) dynamic differentiation/re-differentiation of components and local information sharing helped the system maintain spatially adjacent, coherent organization, (c) dynamic differentiation/re-differentiation contributed to the development of more diverse structures and behaviors, and (d) stochastic re-differentiation of components naturally realized a self-repair capability of self-organizing morphologies. We also explored evolutionary methods to design novel self-organizing patterns, using interactive evolutionary computation and spontaneous evolution within an artificial ecosystem. These self-organizing patterns were found to be remarkably robust against dimensional changes from 2D to 3D, although evolution worked efficiently only in 2D settings.Comment: 13 pages, 8 figures, 1 table; submitted to "Evolution, Development, and Complexity: Multiscale Models in Complex Adaptive Systems" (Springer Proceedings in Complexity Series
    • …
    corecore