229 research outputs found

    Computer-aided exploration of architectural design spaces: a digital sketchbook

    Get PDF
    Het ontwerpproces van architecten vormt vaak geen lineair pad van ontwerpopgave tot eindresultaat, maar wordt veeleer gekenmerkt door exploratie of het doorzoeken van meerdere alternatieven in een (conceptuele) ontwerpruimte. Dit proces wordt in de praktijk vaak ondersteund door manueel schetsen, waarbij de ontwerpers schetsboek kan gelezen worden als een reeks exploraties. Dit soort interactie met de ontwerpruimte wordt in veel mindere mate ondersteund door hedendaagse computerondersteunde ontwerpsystemen. De metafoor van een digitaal schetsboek, waarbij menselijke exploratie wordt versterkt door de (reken)kracht van een computer, is het centrale onderzoeksthema van dit proefschrift. Hoewel het opzet van een ontwerpruimte op het eerste gezicht schatplichtig lijkt aan het onderzoeksveld van de artificiële intelligentie (AI), wordt het ontwerpen hier ruimer geïnterpreteerd dan het oplossen van problemen. Als onderzoeksmethodologie worden vormengrammatica’s ingezet, die enerzijds nauw aanleunen bij de AI en een formeel raamwerk bieden voor de exploratie van ontwerpruimtes, maar tegelijkertijd ook weerstand bieden tegen de AI en een vorm van visueel denken en ambiguïteit toelaten. De twee bijhorende onderzoeksvragen zijn hoe deze vormengrammatica’s digitaal kunnen worden gerepresenteerd, en op welke manier de ontwerper-computer interactie kan gebeuren. De resultaten van deze twee onderzoeksvragen vormen de basis van een nieuw hulpmiddel voor architecten: het digitaal schetsboek

    Visualisierung komplexer reaktiver Systeme: Annotierte Bibliographie

    Get PDF
    Reaktive Systeme müssen kontinuierlich auf ihre Umwelt reagieren; die meisten eingebetteten Echtzeitsysteme sind reaktive Systeme. Ein wesentliches Hilfsmittel für die Entwicklung reaktiver Systeme ist die Visualisierung des Systemverhaltens. Der modellbasierte Entwurf unterstützt diese Verhaltensvisualisierung; bisherige Visualisierungsmechanismen sind jedoch nur für Systeme bis zu einer gewissen Größe effektiv einsetzbar. Dieser Bericht untersucht Ursachen hierfür, und fasst bisherige Ergebnisse auf verschiedenen hierfür relevanten Gebieten der Informatik zusammen

    Algorithm-aided Information Design: Hybrid Design approach on the edge of associative methodologies in AEC

    Get PDF
    Dissertação de mestrado em European Master in Building Information ModellingLast three decades have brought colossal progress to design methodologies within the common pursuit toward a seamless fusion between digital and physical worlds and augmenting it with the of computation power and network coverage. For this historically short period, two generations of methodologies and tools have emerged: Additive generation and parametric Associative generation of CAD. Currently, designers worldwide engaged in new forms of design exploration. From this race, two prominent methodologies have developed from Associative Design approach – Object-Oriented Design (OOD) and Algorithm-Aided Design (AAD). The primary research objective is to investigate, examine, and push boundaries between OOD and AAD for new design space determination, where advantages of both design methods are fused to produce a new generation methodology which is called in the present study AID (Algorithm-aided Information Design). The study methodology is structured into two flows. In the first flow, existing CAD methodologies are investigated, and the conceptual framework is extracted based on the state of art analysis, then analysed data is synthesized into the subject proposal. In the second flow, tools and workflows are elaborated and examined on practice to confirm the subject proposal. In compliance, the content of the research consists of two theoretical and practical parts. In the first theoretical part, a literature review is conducted, and assumptions are made to speculate about AID methodology, its tools, possible advantages and drawbacks. Next, case studies are performed according to sequential stages of digital design through the lens of practical AID methodology implementation. Case studies are covering such design aspects as model & documentation generation, design automation, interoperability, manufacturing control, performance analysis and optimization. Ultimately, a set of test projects is developed with the AID methodology applied. After the practical part, research returns to the theory where analytical information is gathered based on the literature review, conceptual framework, and experimental practice reports. In summary, the study synthesizes AID methodology as part of Hybrid Design, which enables creative use of tools and elaborating of agile design systems integrating additive and associative methodologies of Digital Design. In general, the study is based on agile methods and cyclic research development mixed between practice and theory to achieve a comprehensive vision of the subject.Last three decades have brought colossal progress to design methodologies within the common pursuit toward a seamless fusion between digital and physical worlds and augmenting it with the of computation power and network coverage. For this historically short period, two generations of methodologies and tools have emerged: Additive generation and parametric Associative generation of CAD. Currently, designers worldwide engaged in new forms of design exploration. From this race, two prominent methodologies have developed from Associative Design approach – Object-Oriented Design (OOD) and Algorithm-Aided Design (AAD). The primary research objective is to investigate, examine, and push boundaries between OOD and AAD for new design space determination, where advantages of both design methods are fused to produce a new generation methodology which is called in the present study AID (Algorithm-aided Information Design). The study methodology is structured into two flows. In the first flow, existing CAD methodologies are investigated, and the conceptual framework is extracted based on the state of art analysis, then analysed data is synthesized into the subject proposal. In the second flow, tools and workflows are elaborated and examined on practice to confirm the subject proposal. In compliance, the content of the research consists of two theoretical and practical parts. In the first theoretical part, a literature review is conducted, and assumptions are made to speculate about AID methodology, its tools, possible advantages and drawbacks. Next, case studies are performed according to sequential stages of digital design through the lens of practical AID methodology implementation. Case studies are covering such design aspects as model & documentation generation, design automation, interoperability, manufacturing control, performance analysis and optimization. Ultimately, a set of test projects is developed with the AID methodology applied. After the practical part, research returns to the theory where analytical information is gathered based on the literature review, conceptual framework, and experimental practice reports. In summary, the study synthesizes AID methodology as part of Hybrid Design, which enables creative use of tools and elaborating of agile design systems integrating additive and associative methodologies of Digital Design. In general, the study is based on agile methods and cyclic research development mixed between practice and theory to achieve a comprehensive vision of the subject

    Model Transformation Languages with Modular Information Hiding

    Get PDF
    Model transformations, together with models, form the principal artifacts in model-driven software development. Industrial practitioners report that transformations on larger models quickly get sufficiently large and complex themselves. To alleviate entailed maintenance efforts, this thesis presents a modularity concept with explicit interfaces, complemented by software visualization and clustering techniques. All three approaches are tailored to the specific needs of the transformation domain

    Model-Driven Engineering in the Large: Refactoring Techniques for Models and Model Transformation Systems

    Get PDF
    Model-Driven Engineering (MDE) is a software engineering paradigm that aims to increase the productivity of developers by raising the abstraction level of software development. It envisions the use of models as key artifacts during design, implementation and deployment. From the recent arrival of MDE in large-scale industrial software development – a trend we refer to as MDE in the large –, a set of challenges emerges: First, models are now developed at distributed locations, by teams of teams. In such highly collaborative settings, the presence of large monolithic models gives rise to certain issues, such as their proneness to editing conflicts. Second, in large-scale system development, models are created using various domain-specific modeling languages. Combining these models in a disciplined manner calls for adequate modularization mechanisms. Third, the development of models is handled systematically by expressing the involved operations using model transformation rules. Such rules are often created by cloning, a practice related to performance and maintainability issues. In this thesis, we contribute three refactoring techniques, each aiming to tackle one of these challenges. First, we propose a technique to split a large monolithic model into a set of sub-models. The aim of this technique is to enable a separation of concerns within models, promoting a concern-based collaboration style: Collaborators operate on the submodels relevant for their task at hand. Second, we suggest a technique to encapsulate model components by introducing modular interfaces in a set of related models. The goal of this technique is to establish modularity in these models. Third, we introduce a refactoring to merge a set of model transformation rules exhibiting a high degree of similarity. The aim of this technique is to improve maintainability and performance by eliminating the drawbacks associated with cloning. The refactoring creates variability-based rules, a novel type of rule allowing to capture variability by using annotations. The refactoring techniques contributed in this work help to reduce the manual effort during the refactoring of models and transformation rules to a large extent. As indicated in a series of realistic case studies, the output produced by the techniques is comparable or, in the case of transformation rules, partly even preferable to the result of manual refactoring, yielding a promising outlook on the applicability in real-world settings

    Model Transformation Languages with Modular Information Hiding

    Get PDF
    Model transformations, together with models, form the principal artifacts in model-driven software development. Industrial practitioners report that transformations on larger models quickly get sufficiently large and complex themselves. To alleviate entailed maintenance efforts, this thesis presents a modularity concept with explicit interfaces, complemented by software visualization and clustering techniques. All three approaches are tailored to the specific needs of the transformation domain

    Assessing and improving the quality of model transformations

    Get PDF
    Software is pervading our society more and more and is becoming increasingly complex. At the same time, software quality demands remain at the same, high level. Model-driven engineering (MDE) is a software engineering paradigm that aims at dealing with this increasing software complexity and improving productivity and quality. Models play a pivotal role in MDE. The purpose of using models is to raise the level of abstraction at which software is developed to a level where concepts of the domain in which the software has to be applied, i.e., the target domain, can be expressed e??ectively. For that purpose, domain-speci??c languages (DSLs) are employed. A DSL is a language with a narrow focus, i.e., it is aimed at providing abstractions speci??c to the target domain. This makes that the application of models developed using DSLs is typically restricted to describing concepts existing in that target domain. Reuse of models such that they can be applied for di??erent purposes, e.g., analysis and code generation, is one of the challenges that should be solved by applying MDE. Therefore, model transformations are typically applied to transform domain-speci??c models to other (equivalent) models suitable for di??erent purposes. A model transformation is a mapping from a set of source models to a set of target models de??ned as a set of transformation rules. MDE is gradually being adopted by industry. Since MDE is becoming more and more important, model transformations are becoming more prominent as well. Model transformations are in many ways similar to traditional software artifacts. Therefore, they need to adhere to similar quality standards as well. The central research question discoursed in this thesis is therefore as follows. How can the quality of model transformations be assessed and improved, in particular with respect to development and maintenance? Recall that model transformations facilitate reuse of models in a software development process. We have developed a model transformation that enables reuse of analysis models for code generation. The semantic domains of the source and target language of this model transformation are so far apart that straightforward transformation is impossible, i.e., a semantic gap has to be bridged. To deal with model transformations that have to bridge a semantic gap, the semantics of the source and target language as well as possible additional requirements should be well understood. When bridging a semantic gap is not straightforward, we recommend to address a simpli??ed version of the source metamodel ??rst. Finally, the requirements on the transformation may, if possible, be relaxed to enable automated model transformation. Model transformations that need to transform between models in di??erent semantic domains are expected to be more complex than those that merely transform syntax. The complexity of a model transformation has consequences for its quality. Quality, in general, is a subjective concept. Therefore, quality can be de??ned in di??erent ways. We de??ned it in the context of model transformation. A model transformation can either be considered as a transformation de??nition or as the process of transforming a source model to a target model. Accordingly, model transformation quality can be de??ned in two di??erent ways. The quality of the de??nition is referred to as its internal quality. The quality of the process of transforming a source model to a target model is referred to as its external quality. There are also two ways to assess the quality of a model transformation (both internal and external). It can be assessed directly, i.e., by performing measurements on the transformation de??nition, or indirectly, i.e., by performing measurements in the environment of the model transformation. We mainly focused on direct assessment of internal quality. However, we also addressed external quality and indirect assessment. Given this de??nition of quality in the context of model transformations, techniques can be developed to assess it. Software metrics have been proposed for measuring various kinds of software artifacts. However, hardly any research has been performed on applying metrics for assessing the quality of model transformations. For four model transformation formalisms with di??fferent characteristics, viz., for ASF+SDF, ATL, Xtend, and QVTO, we de??ned sets of metrics for measuring model transformations developed with these formalisms. While these metric sets can be used to indicate bad smells in the code of model transformations, they cannot be used for assessing quality yet. A relation has to be established between the metric sets and attributes of model transformation quality. For two of the aforementioned metric sets, viz., the ones for ASF+SDF and for ATL, we conducted an empirical study aiming at establishing such a relation. From these empirical studies we learned what metrics serve as predictors for di??erent quality attributes of model transformations. Metrics can be used to quickly acquire insights into the characteristics of a model transformation. These insights enable increasing the overall quality of model transformations and thereby also their maintainability. To support maintenance, and also development in a traditional software engineering process, visualization techniques are often employed. For model transformations this appears as a feasible approach as well. Currently, however, there are few visualization techniques available tailored towards analyzing model transformations. One of the most time-consuming processes during software maintenance is acquiring understanding of the software. We expect that this holds for model transformations as well. Therefore, we presented two complementary visualization techniques for facilitating model transformation comprehension. The ??rst-technique is aimed at visualizing the dependencies between the components of a model transformation. The second technique is aimed at analyzing the coverage of the source and target metamodels by a model transformation. The development of the metric sets, and in particular the empirical studies, have led to insights considering the development of model transformations. Also, the proposed visualization techniques are aimed at facilitating the development of model transformations. We applied the insights acquired from the development of the metric sets as well as the visualization techniques in the development of a chain of model transformations that bridges a number of semantic gaps. We chose to solve this transformational problem not with one model transformation, but with a number of smaller model transformations. This should lead to smaller transformations, which are more understandable. The language on which the model transformations are de??ned, was subject to evolution. In particular the coverage visualization proved to be bene??cial for the co-evolution of the model transformations. Summarizing, we de??ned quality in the context of model transformations and addressed the necessity for a methodology to assess it. Therefore, we de??ned metric sets and performed empirical studies to validate whether they serve as predictors for model transformation quality. We also proposed a number of visualizations to increase model transformation comprehension. The acquired insights from developing the metric sets and the empirical studies, as well as the visualization tools, proved to be bene??cial for developing model transformations

    Graph-based software specification and verification

    Get PDF
    The (in)correct functioning of many software systems heavily influences how\ud we qualify our daily lives. Software companies as well as academic computer\ud science research groups spend much effort on applying and developing techniques for improving the correctness of software systems. In this dissertation\ud we focus on using and developing graph-based techniques to specify and verify\ud the behaviour of software systems in general, and object-oriented systems more\ud specifically. We elaborate on two ways to improve the correctness (and thereby\ud the quality) of such systems.\ud Firstly, we investigate the potential of using the graph transformation tech-\ud nique to formally specify the dynamic semantics of (object-oriented) program-\ud ming languages. Those semantics are typically specified in natural language.\ud Such specifications are often hard to understand or even ambiguous. We show\ud how the graph transformation framework provides formal and intuitive means\ud for their specification.\ud Secondly, we develop techniques to verify systems of which the behaviour is\ud specified as graph production systems. For the verification of such systems, we\ud introduce an algorithm that combines a well-known on-the-\ud y model checking\ud algorithm with ideas from bounded model checking. One of the main prob-\ud lems of model checking is the state-explosion problem. This problem is often\ud tackled using partial order reduction techniques. Unfortunately, many such\ud techniques are based on assumptions that do not hold for graph production sys-\ud tems. Therefore, we develop a new dynamic partial order reduction algorithm\ud based on selecting so-called probe sets and prove its correctness.\ud Most of the techniques developed in this dissertation have been implemented\ud in the graph transformation tool GROOVE

    IM-sgi an interface model for shape grammar implementations

    Get PDF
    This research arises from the interest in computing as offering new paradigms in the design practice. Information technologies are the driving force for progress in the processes of design, enabling new forms of creativity. The increasing sophistication of computer applications, their easier access, and lower cost have had a significant impact on design practices and can be regarded as a paradigm shift. The invention and creativity are thus seen as knowledge processing activities and can, at least partially, be carried out with the support of computer applications. In this context Shape Grammars (SG) as production systems of designs through rules have the potential to create designs with variable user input and the ability to evaluate a large number of alternatives that may lead to innovative designs. Most architects and designers use computers on their daily practice as a representation tool for their projects, but not as a facilitator or increaser of the creative process. SG computational implementations have the potential to enhance creativity with the test of a wide range of design options, helping the appearance of new solutions, either through the emergence of new shapes or by stimulating the designer’s creativity with the possibilities presented. As Architects and Designers haven't adopted existing SG computational implementations, that take advantage of computation to facilitate and enhance their work, could the problem be on the communication between the applications and the user? If the interface of the SG implementation does not allow the user to understand how to use it or how to control and make use of its results, it can’t be successfully used. With interest in SG implementations as creative partners in the creative process, our research starts with the analysis of existing SG implementations, trying to understand if they had the potential to be adopted by architects and designers in their practice and, if not, what could be done to lead to that objective. User Interface Inspection Methods were used to perform this analysis and allowed us to understand that there are interactions and communication issues that need to be addressed for SG implementations to be adopted by designers. Taking this direction, we understood that models of interaction between the user and SG implementations have already been developed. The present research proposal started from the analysis of the interaction model of Scott Chase, where he defines the different levels of interaction between the user and SG implementation, with more or less input from the user, establishing different ways to combine synergies to obtain new creative solutions. Taking this interaction model as a starting point, next, we must assure the correct communication between user and implementation occurs. The means of communication between these two agents is the computational interface. Understanding the importance of the interface to allow the user to know how to use the computational implementation and be able to produce results, our research presents the development of an interface model for SG implementations to help to take a step towards the adoption of SG for creative projects. For this, we used methods from Human-Computer Interaction discipline, and we also took Bastien & Scapin's "List of Ergonomic Criteria Guidelines" as guiding lines to define the Criteria of our interface model, called IM-sgi, Interface Model for Shape Grammar Implementations. Thus, IM-sgi, an interface model for SG Implementations, has the purpose of helping SG implementations developers to address the interface on the right path to a correct communication with the particular type of user that architects and designers are. Interface prototypes following IM-sgi criteria are finally developed and presented to test the suitability of the IM-sgi Model to SG implementations and validate the objectives we propose.A presente pesquisa surge do interesse na computação por oferecer novos paradigmas na prática do design. As tecnologias da informação são a força motriz para o progresso nos processos de design, permitindo novas formas de criatividade. A crescente sofisticação das aplicações computacionais, o acesso mais fácil às mesmas e menor custo associado tiveram um grande impacto nas práticas de projeto e podemos considerar estar perante uma mudança de paradigma. A invenção e a criatividade são, portanto, vistas como atividades de processamento de conhecimento e podem, pelo menos parcialmente, ser realizadas com o suporte do computador. Nesse contexto, As Gramáticas de Forma, como sistemas de produção de designs através de regras, têm o potencial de criar projetos com entradas com níveis variáveis de intervenção do utilizador e apresentam a capacidade de avaliar um grande número de alternativas que podem levar a designs inovadores. A maioria dos arquitetos e designers usa o computador na sua prática diária como uma ferramenta de representação para seus projetos, mas não como um facilitador ou potenciador do processo criativo. As implementações computacionais de Gramáticas de Forma têm o potencial de aumentar a criatividade com o teste de uma ampla gama de opções de design, ajudando no surgimento de novas soluções, seja pela emergência de novas formas ou estimulando a criatividade do designer com as opções desenvolvidas. Uma vez que as implementações computacionais de Gramáticas de Forma existentes não foram adotadas por Arquitetos e Designers, que claramente tiram proveito de aplicações computacionais para facilitar e aperfeiçoar o seu trabalho, poderá o problema estar na comunicação entre as implementações e o utilizador? Se a interface da implementação não permitir que o utilizador entenda como usá-la ou como controlar e utilizar os seus resultados, ela não poderá ser utilizada com sucesso. Com interesse nas implementações de Gramáticas de Forma como parceiros criativos no processo criativo, a nossa investigação começa com a análise das implementações de Gramáticas de Forma existentes, tentando entender se estas têm potencial para ser adotadas pelos criativos na sua prática e, se não, o que poderia ser feito para chegar a este objetivo. Foram usados métodos de inspeção para realizar esta análise para nos permitir compreender que há interações e problemas de comunicação que precisam de ser resolvidos para que as implementações de Gramáticas de Forma sejam adotadas pelos projetistas. Seguindo essa direção de investigação, percebemos que foram já desenvolvidos modelos de interação entre o utilizador e as implementações de Gramáticas de Forma. A presente proposta de pesquisa surgiu a partir da análise do modelo de interação de Scott Chase, onde este define os diferentes níveis de interação entre utilizador e implementação de Gramáticas de Forma, com maior ou menor input do utilizador, estabelecendo diferentes formas de combinar sinergias para obter novas soluções criativas. Tomando esse modelo de interação como ponto de partida, devemos assegurar que a comunicação correta entre o utilizador e a implementação ocorra. O meio de comunicação desses dois agentes é o interface computacional. Entendendo a importância do interface para permitir que o utilizador entenda como usar a implementação computacional e seja capaz de produzir resultados, a nossa pesquisa apresenta o desenvolvimento de um modelo de interface para implementações de Gramáticas de Forma para ajudar a dar um passo na direção da adoção das Gramáticas de Forma para projetos criativos. Deste modo, aplicámos métodos da disciplina de HCI e também adotámos a Lista de Diretrizes e Critérios Ergonómicos de Bastien & Scapin como linhas de orientação para definir os Critérios do nosso modelo de interface, denominado IM-sgi. O IM-sgi, um modelo de interface para Implementações de Gramática de Forma, tem a finalidade de ajudar programadores de implementações de Gramáticas de Forma a endereçar a interface no sentido de atingir uma comunicação correta com o tipo particular de utilizador que são os arquitetos e designers. Protótipos de interface seguindo os critérios IM-sgi são finalmente desenvolvidos e apresentados para testar a adequação do modelo IM-sgi e validar os objetivos que propomos
    corecore