18 research outputs found

    Procol - A concurrent object-oriented language with protocols delegation and constraints

    Get PDF
    PROCOL is an object-oriented language with distributed delegation. It strongly supports concurrency: many objects may be active simultaneously, they execute in parallel unless engaged in communication. An object has exported operations, called Actions. Only one Action can be active at a time, however special interrupt Actions may interrupt regular Actions. Communication is performed via remote procedure call, or via a one-way synchronous message with short-time binding. In communications both client and server can be specified, either by object instance identifiers, or by type. Therefore client-server mappings may be 1-1, n-1, or 1-n, though only 1 message is transferred. PROCOL controls object access by an explicit per-object protocol. This protocol is a specification of the legality and serialization of the interaction between the object and its clients. It also provides for client type checking. The use of protocols in object communication fosters structured, safer and potentially verifiable information exchange between objects. The protocol also plays an important role as a partial interface specification. In addition it acts as a composition rule over client objects, representing relations with the client objects. PROCOL's communication binding is dynamic (run-time); it functions therefore naturally in a distributed, incremental and dynamic object environment. PROCOL also supports constraints, without compromising information hiding. An implementation is available in the form of a C extension

    Probable late Messinian tsunamiites near Monte Dei Corvi, Italy, and the Nijar Basin, Spain: expected architecture of offshore tsunami deposits

    Get PDF
    Three distinct, 30- to 80-cm-thick, graded, multilayered, coarse-grained sandstone layers, intercalated in the late Messinian mudstones of the Colombacci formation in Lago Mare facies of the Trave section are interpreted as tsunamiites (Ts1-Ts3). Each of these layers is sheet-like and could be followed along strike over several tens of meters. The lower two layers (Ts1-Ts2) occur in the lower part of the Colombacci formation and the third (Ts3) just below a conspicuous white "colombacci" limestone near the top of the formation. The three sandstone layers represent unique sedimentary events within the 120-m-thick San Donato-Colombacci mudstones, which contain many thin, fine-grained, possibly storm-related turbidites. Each of the three clastic layers is overall graded and strongly cross-bedded. A single layer consists of a stack of several graded sublayers that are eroded into the underlying mudstones and into each other. Absence of hummocky cross-stratification (HCS) indicates that the layers are not produced during a large, catastrophic storm event. Current ripples such as dm-sized trough cross-beds suggest strong, prolonged, unidirectional currents, capable of carrying coarse conglomeratic sands. Climbing ripples in middle-fine sand units indicate a high suspension load settling under waning current strength. Each of the Ts1-Ts3 beds satisfies a combination of criteria, described in this paper, that allow interpretation as a tsunamiite in an offshore environment. Tsunamiite Ts2 is underlain by a 15-cm-thick meshwork of synsedimentary fissures, filled with coarse sand. Ground movements induced by strong earthquakes probably caused these crevasses. The uniqueness of each layer, the erosion of the base of each of the sublayers into underlying mudstones and previously deposited sublayer and the consistent stacking of graded sandstone beds within each of the three layers, underlain by earthquake-produced fissures, strongly point to deposition by traction currents produced by the surges of a large tsunami event, triggered by a large vertical fault movements. Vertical fault displacements most likely occurred along the thrust faults like the Sibilline thrust at the SW of the Laga foreland basin, which were active at late Messinian times. A series of cyclic graded turbidites, underlain by seismically induced sand-filled fissures in the Late Messinian Feos formation in SE Spain, are interpreted as tsunamiites produced by a tsunami or seiche. © 2011 The Author(s)

    Experimental measurement of breath exit velocity and expirated bloodstain patterns produced under different exhalation mechanisms

    Get PDF
    In an attempt to obtain a deeper understanding of the factors which determine the characteristics of expirated bloodstain patterns, the mechanism of formation of airborne droplets was studied. Hot wire anemometry measured air velocity, 25 mm from the lips, for 31 individuals spitting, coughing and blowing. Expirated stains were produced by the same mechanisms performed by one individual with different volumes of a synthetic blood substitute in their mouth. The atomization of the liquid at the lips was captured with high-speed video, and the resulting stain patterns were captured on paper targets. Peak air velocities varied for blowing (6 to 64 m/s), spitting (1 to 64 m/s) and coughing (1 to 47 m/s), with mean values of 12 m/s (blowing), 7 m/s (spitting) and 4 m/s (coughing). There was a large (55–65%) variation between individuals in air velocity produced, as well as variation between trials for a single individual (25–35%). Spitting and blowing involved similar lip shapes. Blowing had a longer duration of airflow, though it is not the duration but the peak velocity at the beginning of the air motion which appears to control the atomization of blood in the mouth and thus stain formation. Spitting could project quantities of drops at least 1600 mm. Coughing had a shorter range of near 500 mm, with a few droplets travelling further. All mechanisms could spread drops over an angle >45°. Spitting was the most effective for projecting drops of blood from the mouth, due to its combination of chest motion and mouth shape producing strong air velocities. No unique method was found of inferring the physical action (spitting, coughing or blowing) from characteristics of the pattern, except possibly distance travelled. Diameter range in expirated bloodstains varied from very small (<1 mm) in a dense formation to several millimetres. No unique method was found of discriminating expirated patterns from gunshot or impact patterns on stain shape alone. Only 20% of the expirated patterns produced in this study contained identifiable bubble rings or beaded stains

    Persistent Graphical Objects in Procol

    No full text
    Persistent objects are objects whose contents may outlive the execution time of the program. This paper describes the process of introducing persistent objects in the object-oriented programming language Procol. The strength of persistent objects in an object-oriented programming language is the integration of a database system with programming language. Persistent objects make the program development easier, because the programmer does not have to implement the explicit loading and saving of data. Besides the general functional aspects, special attention is paid to graphical applications in order to deal with their specific geometric requirements. For example, it must be possible to find, in an efficient manner, all graphical objects that fall within a given region. These issues, persistent objects and their geometric rquirements, have not yet got the attention they deserve in the literature covering object-oriented graphical systems where modeling and functional aspects dominate

    Object Protocols as Functional Parsers

    No full text

    Information Hiding and the Complexity of Constraint Satisfaction

    No full text
    This paper discusses the complexity of constraint satisfaction, and the effect of information hiding. On the one hand, powerful constraint satisfaction is necessarily global, and tends to break information hiding. On the other hand, preserving strict information hiding increases the complexity of constraint satisfaction, or severely limits the power of the constraint solver. Ultimately, under strict information hiding, constraint satisfaction on complex objects cannot be guaranteed
    corecore