This is the year 2008 and ML-style exceptions are everywhere. Most modern languages, whether academic or industrial, feature some variant of this mechanism. Languages such as Java even feature static coverage-checking for such exceptions, something not available for ML languages, at least not without resorting to external tools. In this document, we demonstrate a design principle and a tiny library for managing errors in a functional manner, with static coveragechecking, automatically-inferred, structurally typed and hierarchical exceptional cases, with a reasonable run-time penalty. Our work is based on OCaml and features monads, polymorphic variants, compile-time code rewriting and trace elements of black magic.
This is the year 2008 and ML-style exceptions are everywhere. Most modern languages, whether academic or industrial, feature some variant of this mechanism. Languages such as Java even feature static coverage-checking for such exceptions, something not available for ML languages, at least not without resorting to external tools. In this document, we demonstrate a design principle and a tiny library for managing errors in a functional manner, with static coverage-checking, automatically-inferred, structurally typed and hierarchical exceptional cases, with a reasonable run-time penalty. Our work is based on OCaml and features monads, polymorphic variants, compile-time code rewriting and trace elements of black magic.
Slowly but surely, industry is discovering the need for programming languages, runtime environments and methodologies adapted to collaborative and distributed computing platforms. However, current distributed platforms, whether industrial or academic, are generally fragile with respect to resource exhaustion, and can provide, at best, ad hoc solutions to counter accidents or denial of service attacks. In this paper, we examine the problem of resource management in Erlang, that is providing services for distant use, while ensuring that untrusted third-parties using the services may not cause the exhaustion of memory, file handles or other limited resources. For this, we use targettable/extendable pi-calculus specification language and provide a formal semantics for a subset of core Erlang, as well as a model of some of its library. From these models, we derive a type system for formally guaranteeing robustness of services with respect to denial of service attacks.
The Committee fuses the unique characteristics of a think tank and incubator. Corporations engaging with this learning process enables CSR to become a ‘practice what you preach’ concept generating trust, a small step towards the resolution of complex community issues in which all citizens can take part. Ironically, in a corporate environment necessarily focused on the bottom line, trust is the only commodity once produced that grows exponentially with use, yet the one that cities and communities tend to least invest in, the Committee however is one such investment. With trust being the ultimate sustainable resource and an active ingredient in citizenship, corporations engaging in CCP are those most mindful that ‘a business that makes nothing but money is a poor business’ (Henry Ford). The emotional competencies held by the Committee, and evident in its membership, allow this unique structure to successfully build CSR through CCP. These competencies include: – Organising groups: formatting stakeholder representation across multiple sectors thereby assisting to break down the silo mentality; – Negotiating: inviting partners to come together in a common space thereby assisting to create trust through openness created by common purpose over and above competition; – Developing personal connections: networking across government, community and corporations to create ‘neural’ connections that may otherwise not have had the opportunity to develop; – Social analysis: trans-disciplinary evaluations that fuse social and business measurements together to reinforce that social wellbeing and business wellbeing can be closely related.
Techniques such as mobility and distribution are often used to overcome limitations of resources such as the amount of memory or the necessity for specialised devices. Indeed, questions related to such limitations are crucial in matters of security, compilation and quality of service. However, few attempts have been made at formalising this notion of resource limitation in presence of mobility, distribution or concurrency. In this paper, we present a formalisation of resource usage, resource limitations and garbage-collection, using as a support a variant of the π-calculus, the controlled π-calculus. We use this calculus to study formally the notion of garbage-collection and to produce an effective proof system for respect of resource bounds, aware of resource transfer between processes and resource reuse thanks to finalisation. We also present an example of transformation of a protocol for compliance with such limitations and we confront informally our definitions with commonly-used garbage-collectors such as those of OCaml, Java and C#.
Although limits of resources such as memory or disk usage are one of the key problems of many communicating applications, most process algebras fail to take this aspect of mobile and concurrent systems into account. In order to study this problem, we introduce the Controlled gp-calculus, an extension of the gp-calculus with a notion of recovery of unused resources with an explicit (parametrized) garbage-collection and dead-process elimination. We discuss the definition of garbage collection and dead-process elimination for concurrent, communicating applications, and provide a type-based technique for statically proving resource bounds. Selected examples are presented and show the poten tial of the Controlled gp-calculus
By 2010 over 50% of the world population will be living in cities. Urban populations are facing increasingly complex economic, social and environmental issues. It is proposed that the Cities Programme of the United Nations Global Compact be developed as an effective mechanism with which to develop blueprint solutions to tackle seemingly intractable urban problems. It is further proposed that the Melbourne Model be considered as a framework for the Cities Programme within which business, government and civil society combine resources to identify and respond to issues that, first, directly impact on all three sectors, and, second, can only be resolved with direct input from all three sectors. Successful and proven solutions developed within this framework will then be placed in an international learning forum to be made available to other cities facing similar issues around the world. ● Melbourne
Failing to control resources in mobile, concurrent and distributed systems may lead to important breakdowns or Denial of Service-like attacks. In order to address this problem, we present enhanced versions of several calculi for mobile and distributed computing, namely NBA, Seals, Nomadic π and Kells. In each case, we make the formalism resource-conscious and define a type system in order to guarantee statically compliance with resource control policies. Comparing the solutions we proposed for these calculi, we try and define the necessities of resource-control in mobile and distributed formalisms.
Current software and hardware systems, being parallel and reconfigurable, raise new safety and reliability problems, and the resolution of these problems requires new methods. Numerous proposals attempt at reducingthe threat of bugs and preventing several kinds of attacks. In this paper, we develop an extension of the calculus of Mobile Ambients, named Controlled Ambients, that is suited for expressing such issues, specifically Denial of Service attacks. We present a type system for Controlled Ambients, which makes resource control possible in our setting.
: Proof-carrying code (PCC), as pioneered by Necula and Lee, allows a code producer to provide a compiled program to a host, along with a formal proof of safety. The PCCbased systems often rely on solving integer constraints to prove the soundness of the index types and to control resource consumption. Unfortunately, existing approaches often require the inclusion of an oracle-like constraints solver into the trusted computing base (TCB) or at least lock the safety policy with one particular solver. This paper presents a feasibility study for dissociating the constraints solver from the TCB and the safety policy from the actual solver algorithm. To demonstrate this, we produce a simple framework, we show how to adapt the popular solvers such as the Omega test and the Simplex method into this framework and we study some of its properties.
The nose is an organ that serves many functions. These functions are intimately involved in an organ that occupies a very aesthetically prominent position on the face. A thorough knowledge of the anatomy is of the utmost importance for surgeons attempting to preserve or improve the functional capability and the aesthetic appearance of the nose. Nasal anatomy is extremely complex with a myriad of different three-dimensional variances. The middle third of the nose has largely been overlooked in its importance. The components of this portions of the nose consist of the paired upper lateral cartilages, the dorsal aspect of the septum, and the scroll of the upper lateral cartilages upon the lower lateral cartilages. This area is of key importance to the nasal valve area and can have a major impact on the functional capabilities of the nose. A description of the confluence of the flare of the septum to the upper lateral cartilages is necessary for an understanding of changes that may occur during rhinoplastic operations. A knowledge of the anatomy of the middle third of the nose may prevent nasal valve collapse, a pinched appearance of this portion of the nose, or an aesthetically unappealing appearance.
Techniques such as mobility and distribution are often used to overcome limitations of resources such as the amount of memory or the necessity for specialized devices. Indeed, questions related to such limitations are crucial in matters of security, compilation or quality of service. However, few attempts have been made at formalizing the notion of limited resources in process algebras for mobility and distribution. In this paper, we present a -calculus with semantics for allocation and deallocation of resources, including garbage-collection. We also produce a type system to provide guarantees of respect of complex protocols on resources. We demonstrate the interest of this controlled -calculus by building a model of a complex resources manager for concurrent systems, with manual and automatic garbage-collection, error-handling and statically distributed and transmitted authorizations and resources.