Leonardo Freitas - Academia.edu (original) (raw)
Papers by Leonardo Freitas
Earth Surface Processes and Landforms, 2010
Urbanization can change catchment hydrology, accelerating gully erosion and causing serious damag... more Urbanization can change catchment hydrology, accelerating gully erosion and causing serious damage to urban structures like roads, bridges and buildings. Increased impervious surfaces lead to large, rapid increases in surface runoff in urban catchments during storm events, as well as changes in the upslope contributing area due to rerouting of urban runoff that can exacerbate erosion. Accounting for changes in surface drainage patterns Gama City, Brazil, is used to predict areas prone to accelerate gullying and develop a method of assessing the potential for gully erosion produced by urbanization. The method is based on the analysis and comparison of detailed digital elevation models (DEMs) of the natural condition before urbanization and the topography after urbanization. The study site is located in an area where changes in drainage patterns associated with rapid urbanization in the last 30 years have resulted in severe gullying. Our analysis identifies areas potentially susceptible to gullying and highlights the erosional influence of increased flow concentration caused by urban occupation, a finding that has implications and applications for strategies to prevent gully development in cities or areas undergoing urban expansion. Copyright © 2010 John Wiley & Sons, Ltd.
The construction of concurrent programs is especially complex due mainly to the inherent non-dete... more The construction of concurrent programs is especially complex due mainly to the inherent non-determinism of their execution, which makes it difficult to repeat test scenarios. Concurrency has proved to be a fascinating subject and there are many subtle distinctions which one can make. This dissertation presents an approach for constructing concurrent programs using a set of process algebra constructs (for CSP) implemented as an object-oriented framework in Java called JACK; it stands for Java Architecture with CSP kernel.
The construction of concurrent programs is especially complex due mainly to the inherent non-dete... more The construction of concurrent programs is especially complex due mainly to the inherent non-determinism of their execution, which makes it difficult to repeat test scenarios. Process algebras have been used to design and reason about these programs. This paper presents an approach to developing concurrent programs using a set of process algebra constructs implemented as an object-oriented framework in Java, called JACK. The main objective of the framework is the design and implementation of process algebra constructs that provides as naturally as possible, the algebraic idiom as an extension package to Java. This work emphasises the use of design patterns and pattern languages to properly build frameworks like this, achieving desired software engineering properties and software quality requirements. The user of the JACK framework is able to describe its process specification in Java.
FM 2005: Formal Methods, 2005
Circus is a combination of Z, CSP, and the refinement calculus, and is based on Hoare & He's Unif... more Circus is a combination of Z, CSP, and the refinement calculus, and is based on Hoare & He's Unifying Theories of Programming. A model checker is being constructed for the language to conduct refinement checking in the style of FDR, but supported by theorem proving for reasoning about the complex states and data types that arise from the use of Z. FDR deals with bounded labelled transition systems (LTSs), but the Circus model checker manipulates LTSs with possibly infinite inscriptions on arcs and in nodes, and so, in general, the success or failure of a refinement check depends on interaction with a theorem prover. An LTS is generated from a source text using an operational interpretation of Circus; we present a Structured Operational Semantics for Circus, including both its process-algebraic and state-rich features.
Earth Surface Processes and Landforms, 2010
Urbanization can change catchment hydrology, accelerating gully erosion and causing serious damag... more Urbanization can change catchment hydrology, accelerating gully erosion and causing serious damage to urban structures like roads, bridges and buildings. Increased impervious surfaces lead to large, rapid increases in surface runoff in urban catchments during storm events, as well as changes in the upslope contributing area due to rerouting of urban runoff that can exacerbate erosion. Accounting for changes in surface drainage patterns Gama City, Brazil, is used to predict areas prone to accelerate gullying and develop a method of assessing the potential for gully erosion produced by urbanization. The method is based on the analysis and comparison of detailed digital elevation models (DEMs) of the natural condition before urbanization and the topography after urbanization. The study site is located in an area where changes in drainage patterns associated with rapid urbanization in the last 30 years have resulted in severe gullying. Our analysis identifies areas potentially susceptible to gullying and highlights the erosional influence of increased flow concentration caused by urban occupation, a finding that has implications and applications for strategies to prevent gully development in cities or areas undergoing urban expansion. Copyright © 2010 John Wiley & Sons, Ltd.
The construction of concurrent programs is especially complex due mainly to the inherent non-dete... more The construction of concurrent programs is especially complex due mainly to the inherent non-determinism of their execution, which makes it difficult to repeat test scenarios. Concurrency has proved to be a fascinating subject and there are many subtle distinctions which one can make. This dissertation presents an approach for constructing concurrent programs using a set of process algebra constructs (for CSP) implemented as an object-oriented framework in Java called JACK; it stands for Java Architecture with CSP kernel.
The construction of concurrent programs is especially complex due mainly to the inherent non-dete... more The construction of concurrent programs is especially complex due mainly to the inherent non-determinism of their execution, which makes it difficult to repeat test scenarios. Process algebras have been used to design and reason about these programs. This paper presents an approach to developing concurrent programs using a set of process algebra constructs implemented as an object-oriented framework in Java, called JACK. The main objective of the framework is the design and implementation of process algebra constructs that provides as naturally as possible, the algebraic idiom as an extension package to Java. This work emphasises the use of design patterns and pattern languages to properly build frameworks like this, achieving desired software engineering properties and software quality requirements. The user of the JACK framework is able to describe its process specification in Java.
FM 2005: Formal Methods, 2005
Circus is a combination of Z, CSP, and the refinement calculus, and is based on Hoare & He's Unif... more Circus is a combination of Z, CSP, and the refinement calculus, and is based on Hoare & He's Unifying Theories of Programming. A model checker is being constructed for the language to conduct refinement checking in the style of FDR, but supported by theorem proving for reasoning about the complex states and data types that arise from the use of Z. FDR deals with bounded labelled transition systems (LTSs), but the Circus model checker manipulates LTSs with possibly infinite inscriptions on arcs and in nodes, and so, in general, the success or failure of a refinement check depends on interaction with a theorem prover. An LTS is generated from a source text using an operational interpretation of Circus; we present a Structured Operational Semantics for Circus, including both its process-algebraic and state-rich features.