11,095 research outputs found
Ten virtues of structured graphs
This paper extends the invited talk by the first author about the virtues
of structured graphs. The motivation behind the talk and this paper relies on our
experience on the development of ADR, a formal approach for the design of styleconformant,
reconfigurable software systems. ADR is based on hierarchical graphs
with interfaces and it has been conceived in the attempt of reconciling software architectures
and process calculi by means of graphical methods. We have tried to
write an ADR agnostic paper where we raise some drawbacks of flat, unstructured
graphs for the design and analysis of software systems and we argue that hierarchical,
structured graphs can alleviate such drawbacks
Left Recursion in Parsing Expression Grammars
Parsing Expression Grammars (PEGs) are a formalism that can describe all
deterministic context-free languages through a set of rules that specify a
top-down parser for some language. PEGs are easy to use, and there are
efficient implementations of PEG libraries in several programming languages.
A frequently missed feature of PEGs is left recursion, which is commonly used
in Context-Free Grammars (CFGs) to encode left-associative operations. We
present a simple conservative extension to the semantics of PEGs that gives
useful meaning to direct and indirect left-recursive rules, and show that our
extensions make it easy to express left-recursive idioms from CFGs in PEGs,
with similar results. We prove the conservativeness of these extensions, and
also prove that they work with any left-recursive PEG.
PEGs can also be compiled to programs in a low-level parsing machine. We
present an extension to the semantics of the operations of this parsing machine
that let it interpret left-recursive PEGs, and prove that this extension is
correct with regards to our semantics for left-recursive PEGs.Comment: Extended version of the paper "Left Recursion in Parsing Expression
Grammars", that was published on 2012 Brazilian Symposium on Programming
Language
Graph Algorithm Animation with Grrr
We discuss geometric positioning, highlighting of visited nodes and user defined highlighting that form the algorithm animation facilities in the Grrr graph rewriting programming language. The main purpose of animation was initially for the debugging and profiling of Grrr code, but recently it has been extended for the purpose of teaching algorithms to undergraduate students. The animation is restricted to graph based algorithms such as graph drawing, list manipulation or more traditional graph theory. The visual nature of the Grrr system allows much animation to be gained for free, with no extra user effort beyond the coding of the algorithm, but we also discuss user defined animations, where custom algorithm visualisations can be explicitly defined for teaching and demonstration purposes
Repotting the Geraniums: On Nested Graph Transformation Rules
We propose a scheme for rule amalgamation based on nested graph predicates. Essentially, we extend all the graphs in such a predicate with right hand sides. Whenever such an enriched nested predicate matches (i.e., is satisfied by) a given host graph, this results in many individual match morphisms, and thus many âsmallâ rule applications. The total effect is described by the amalgamated rule. This makes for a smooth, uniform and very powerful amalgamation scheme, which we demonstrate on a number of examples. Among the examples is the following, which we believe to be inexpressible in very few other parallel rule formalism proposed in the literature: repot all flowering geraniums whose pots have cracked.\u
CItyMaker:
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
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
AI EDAM special issue: advances in implemented shape grammars: solutions and applications
This paper introduces the special issue âAdvances in Implemented Shape Grammars: Solutions and Applicationsâ and frames the topic of computer implementations of shape grammars, both with a theoretical and an applied focus. This special issue focuses on the current state of the art regarding computer implementations of shape grammars and brings a discussion about how those systems can evolve in the coming years so that they can be used in real life design scenarios. This paper presents a brief state of the art of shape grammars implementation and an overview of the papers included in the current special issue categorized under technical design, interpreters and interface design, and uses cases. The paper ends with a comprehensive outlook into the future of shape grammars implementations.info:eu-repo/semantics/acceptedVersio
Recommended from our members
On curves and computation with shapes
Few computer implementations of shape grammars have been written that are applicable to curved shapes. The reason for this is that underlying representations of curves do not lend themselves to providing a unique description of curved shapes. Such a representation is essential for shape algorithms. This paper explains the problems posed in representing curves for shape grammar implementation. The paper demonstrates how the fundamental structures for implementing shape grammars for straight lines can be extended to shapes with curved elements
- âŚ