Francisco Martins - Academia.edu (original) (raw)

Uploads

Papers by Francisco Martins

Research paper thumbnail of SENSORCOMM 2015 Committee SENSORCOMM Advisory Chairs Social sensing Abdulrahman Alarifi, King Abdulaziz City for Science and Technology (KACST), Kingdom of Saudi Arabia

Research paper thumbnail of Ad-hoc changes in IoT-aware business processes

2010 Internet of Things (IOT), 2010

The Internet of Things makes it possible to adapt the behaviour of business processes in response... more The Internet of Things makes it possible to adapt the behaviour of business processes in response to real-time context updates. In addition, physical items can run and validate parts of the business processes and optimise their execution, while reducing message transmissions. State-of-the-art event-driven, service-oriented architecture approaches contribute to enabling inter-organisational collaboration and interoperability of heterogeneous hardware, but their applicability is limited to preplanned, well-structured processes. We take a step forward by supporting ad-hoc changes within business processes, considering changes in the state of the Things; likewise, whenever needed, the software controlling the behaviour of sensors may be dynamically reconfigured as a result of changes in the functional specifications of business processes.

Research paper thumbnail of Controlling Security Policies in a Distributed Environment

This paper presents a type system to control the migration of code between nodes in a concurrent ... more This paper presents a type system to control the migration of code between nodes in a concurrent distributed framework, using Dπ. We express resource policies with types and enforce them via a type system. Sites are organised hierarchically in subnetworks that share the same security policies, statically specified by a network administrator. The type system guarantees that, at runtime, there are no security policies violations.

Research paper thumbnail of A multithreaded typed assembly language

We present an assembly language targeted at shared memory multiprocessors, where CPU cores synchr... more We present an assembly language targeted at shared memory multiprocessors, where CPU cores synchronize via locks, acquired with a traditional test and set lock instruction. We show programming examples taken from the literature on Operating Systems, and discuss a typing system that enforces a strict protocol on lock usage and that prevents race conditions.

Research paper thumbnail of Robust Programming for Sensor Networks

Aiming at a sound formal basis for the design and implementation of robust programming languages ... more Aiming at a sound formal basis for the design and implementation of robust programming languages for sensor networks, we present a process calculus that captures their main characteristics in terms of computational resources and communication abilities. The calculus, which has straightforward semantics and is rather expressive, features a static type system that allows premature detection of application protocol errors. Our main results include subject reduction and type safety proofs, as well as an initial implementation of a modular interpreter.

Research paper thumbnail of A calculus for sensor networks

We consider the problem of providing a rigorous model for programming wireless sensor networks. A... more We consider the problem of providing a rigorous model for programming wireless sensor networks. Assuming that collisions, packet losses, and errors are dealt with at the lower layers of the protocol stack, we propose a Calculus for Sensor Networks (CSN) that captures the main abstractions for programming applications for this class of devices. Besides providing the syntax and semantics for the calculus, we show its expressiveness by providing implementations for several examples of typical operations on sensor networks. Also included is a detailed discussion of possible extensions to CSN that enable the modeling of other important features of these networks such as sensor state, sampling strategies, and network security.

Research paper thumbnail of A formal model for programming wireless sensor networks

In this paper we present new developments in the expressiveness and in the theory of a Calculus f... more In this paper we present new developments in the expressiveness and in the theory of a Calculus for Sensor Networks (CSN). We combine a network layer of sensor devices with a local object model to describe sensor devices with state. The resulting calculus is quite small and yet very expressive. We also present a type system and a type invariance result for the calculus. These results provide the fundamental framework for the development of programming languages and run-time environments.

Research paper thumbnail of Static control of code migration

This paper presents a type system to control the migration of code between sites in a concurrent ... more This paper presents a type system to control the migration of code between sites in a concurrent distributed framework. The type system constitutes a decidable mechanism to ensure specific security policies, which control remote communication, process migration, and channel creation. The approach is as follows: each network administrator specifies sites privileges, and a type system checks that the processes running at those sites, as well as the composition of the sites, respect these policies. At runtime, well-typed networks do not violate the security policies declared for each site.

Research paper thumbnail of Type Inference for Deadlock Detection in a Multithreaded Polymorphic Typed Assembly Language

Electronic Proceedings in Theoretical Computer Science, 2010

Research paper thumbnail of History-based access control for distributed processes

This paper presents a type system to control the migration of code between network nodes in a con... more This paper presents a type system to control the migration of code between network nodes in a concurrent distributed framework, using the Dπ language. We express resource access policies as types and enforce policies via a type system. Types describe paths travelled by migrating code, enabling the control of history sensitive access to resources. Sites are logically organised in subnetworks that share the same security policies, statically specified by a network administrator. The type system guarantees that well-typed networks are exempt from security policies violations at runtime.

Research paper thumbnail of Towards the safe programming of wireless sensor networks

Sensor networks are rather challenging to deploy, program, and debug. Current programming languag... more Sensor networks are rather challenging to deploy, program, and debug. Current programming languages for these platforms suffer from a significant semantic gap between their specifications and underlying implementations. This fact precludes the development of (type-)safe applications, which would potentially simplify the task of programming and debugging deployed networks. In this paper we define a core calculus for programming sensor networks and propose to use it as an assembly language for developing type-safe, high-level programming languages.

Research paper thumbnail of COMPILING THE Pi-CALCULUS INTO A MULTITHREADED TYPED ASSEMBLY LANGUAGE

Agradeço ao meu orientador, Francisco Martins, pelo seu apoio, paciência, rigor e minúcia. Ensino... more Agradeço ao meu orientador, Francisco Martins, pelo seu apoio, paciência, rigor e minúcia. Ensinou-me a ter força para “n˜ao morrer na praia”, a ter perseverança para ... Agradeço também ao Vasco Vasconcelos por me ensinar a olhar pela primeira vez algo que o sei de cor. ...

Research paper thumbnail of Behavioural theory at work: program transformations in a service-centred calculus

We analyse the relationship between object-oriented modelling and session-based, service-oriented... more We analyse the relationship between object-oriented modelling and session-based, service-oriented modelling, starting from a typical UML Sequence Diagram and providing a program transformation into a service-oriented model. We also provide a similar transformation from session-based specifications into request-response specifications. All transformations are specified in SSCCa process calculus for modelling and analysing service-oriented systems-and proved correct with respect to a suitable form of behavioural equivalence (full weak bisimilarity). Since the equivalence is proved to be compositional, results remain valid in arbitrary contexts.

Research paper thumbnail of Disciplining orchestration and conversation in service-oriented computing

We give a formal account of a calculus for modeling service-based systems, suitable to describe b... more We give a formal account of a calculus for modeling service-based systems, suitable to describe both service composition (orchestration) and the protocol that services run when invoked (conversation). The calculus includes primitives for defining and invoking services, for isolating conversations between clients and servers, and for orchestrating services. The calculus is equipped with a reduction and a labeled transition semantics related by an equivalence result. To hint how the structuring mechanisms of the language can be exploited for static analysis we present a simple type system guaranteeing the compatibility between client and server protocols, an application of bisimilarity to prove equivalence among services, and we discuss deadlock-avoidance.

Research paper thumbnail of Middleware for Network Eccentric and Mobile Applications

Middleware is a critical foundation needed to leverage the development of a wide range of mobile ... more Middleware is a critical foundation needed to leverage the development of a wide range of mobile and ubiquitous applications. Intrinsic challenges when building such middleware require the combination of expertise from areas like distributed systems, networking, software engineering, and application development. This textbook provides a comprehensive introduction to the main fundamental problems, technologies, paradigms, and solutions of concern to developers of middleware for mobile environments. The ...

Research paper thumbnail of Type Systems for Open Networks

In the last decade, several foundational formalisms for global computing have appeared in literat... more In the last decade, several foundational formalisms for global computing have appeared in literature to improve the understanding of the complex mechanisms underlying such new computational scenario. In their design, the integration of security mechanisms is a major challenge and great efforts have been recently devoted to embed such mechanisms within standard programming features. In this deliverable, we shall focus on the security mechanisms put forward by type systems, that are used for expressing and checking ...

Research paper thumbnail of SENSORCOMM 2015 Committee SENSORCOMM Advisory Chairs Social sensing Abdulrahman Alarifi, King Abdulaziz City for Science and Technology (KACST), Kingdom of Saudi Arabia

Research paper thumbnail of Ad-hoc changes in IoT-aware business processes

2010 Internet of Things (IOT), 2010

The Internet of Things makes it possible to adapt the behaviour of business processes in response... more The Internet of Things makes it possible to adapt the behaviour of business processes in response to real-time context updates. In addition, physical items can run and validate parts of the business processes and optimise their execution, while reducing message transmissions. State-of-the-art event-driven, service-oriented architecture approaches contribute to enabling inter-organisational collaboration and interoperability of heterogeneous hardware, but their applicability is limited to preplanned, well-structured processes. We take a step forward by supporting ad-hoc changes within business processes, considering changes in the state of the Things; likewise, whenever needed, the software controlling the behaviour of sensors may be dynamically reconfigured as a result of changes in the functional specifications of business processes.

Research paper thumbnail of Controlling Security Policies in a Distributed Environment

This paper presents a type system to control the migration of code between nodes in a concurrent ... more This paper presents a type system to control the migration of code between nodes in a concurrent distributed framework, using Dπ. We express resource policies with types and enforce them via a type system. Sites are organised hierarchically in subnetworks that share the same security policies, statically specified by a network administrator. The type system guarantees that, at runtime, there are no security policies violations.

Research paper thumbnail of A multithreaded typed assembly language

We present an assembly language targeted at shared memory multiprocessors, where CPU cores synchr... more We present an assembly language targeted at shared memory multiprocessors, where CPU cores synchronize via locks, acquired with a traditional test and set lock instruction. We show programming examples taken from the literature on Operating Systems, and discuss a typing system that enforces a strict protocol on lock usage and that prevents race conditions.

Research paper thumbnail of Robust Programming for Sensor Networks

Aiming at a sound formal basis for the design and implementation of robust programming languages ... more Aiming at a sound formal basis for the design and implementation of robust programming languages for sensor networks, we present a process calculus that captures their main characteristics in terms of computational resources and communication abilities. The calculus, which has straightforward semantics and is rather expressive, features a static type system that allows premature detection of application protocol errors. Our main results include subject reduction and type safety proofs, as well as an initial implementation of a modular interpreter.

Research paper thumbnail of A calculus for sensor networks

We consider the problem of providing a rigorous model for programming wireless sensor networks. A... more We consider the problem of providing a rigorous model for programming wireless sensor networks. Assuming that collisions, packet losses, and errors are dealt with at the lower layers of the protocol stack, we propose a Calculus for Sensor Networks (CSN) that captures the main abstractions for programming applications for this class of devices. Besides providing the syntax and semantics for the calculus, we show its expressiveness by providing implementations for several examples of typical operations on sensor networks. Also included is a detailed discussion of possible extensions to CSN that enable the modeling of other important features of these networks such as sensor state, sampling strategies, and network security.

Research paper thumbnail of A formal model for programming wireless sensor networks

In this paper we present new developments in the expressiveness and in the theory of a Calculus f... more In this paper we present new developments in the expressiveness and in the theory of a Calculus for Sensor Networks (CSN). We combine a network layer of sensor devices with a local object model to describe sensor devices with state. The resulting calculus is quite small and yet very expressive. We also present a type system and a type invariance result for the calculus. These results provide the fundamental framework for the development of programming languages and run-time environments.

Research paper thumbnail of Static control of code migration

This paper presents a type system to control the migration of code between sites in a concurrent ... more This paper presents a type system to control the migration of code between sites in a concurrent distributed framework. The type system constitutes a decidable mechanism to ensure specific security policies, which control remote communication, process migration, and channel creation. The approach is as follows: each network administrator specifies sites privileges, and a type system checks that the processes running at those sites, as well as the composition of the sites, respect these policies. At runtime, well-typed networks do not violate the security policies declared for each site.

Research paper thumbnail of Type Inference for Deadlock Detection in a Multithreaded Polymorphic Typed Assembly Language

Electronic Proceedings in Theoretical Computer Science, 2010

Research paper thumbnail of History-based access control for distributed processes

This paper presents a type system to control the migration of code between network nodes in a con... more This paper presents a type system to control the migration of code between network nodes in a concurrent distributed framework, using the Dπ language. We express resource access policies as types and enforce policies via a type system. Types describe paths travelled by migrating code, enabling the control of history sensitive access to resources. Sites are logically organised in subnetworks that share the same security policies, statically specified by a network administrator. The type system guarantees that well-typed networks are exempt from security policies violations at runtime.

Research paper thumbnail of Towards the safe programming of wireless sensor networks

Sensor networks are rather challenging to deploy, program, and debug. Current programming languag... more Sensor networks are rather challenging to deploy, program, and debug. Current programming languages for these platforms suffer from a significant semantic gap between their specifications and underlying implementations. This fact precludes the development of (type-)safe applications, which would potentially simplify the task of programming and debugging deployed networks. In this paper we define a core calculus for programming sensor networks and propose to use it as an assembly language for developing type-safe, high-level programming languages.

Research paper thumbnail of COMPILING THE Pi-CALCULUS INTO A MULTITHREADED TYPED ASSEMBLY LANGUAGE

Agradeço ao meu orientador, Francisco Martins, pelo seu apoio, paciência, rigor e minúcia. Ensino... more Agradeço ao meu orientador, Francisco Martins, pelo seu apoio, paciência, rigor e minúcia. Ensinou-me a ter força para “n˜ao morrer na praia”, a ter perseverança para ... Agradeço também ao Vasco Vasconcelos por me ensinar a olhar pela primeira vez algo que o sei de cor. ...

Research paper thumbnail of Behavioural theory at work: program transformations in a service-centred calculus

We analyse the relationship between object-oriented modelling and session-based, service-oriented... more We analyse the relationship between object-oriented modelling and session-based, service-oriented modelling, starting from a typical UML Sequence Diagram and providing a program transformation into a service-oriented model. We also provide a similar transformation from session-based specifications into request-response specifications. All transformations are specified in SSCCa process calculus for modelling and analysing service-oriented systems-and proved correct with respect to a suitable form of behavioural equivalence (full weak bisimilarity). Since the equivalence is proved to be compositional, results remain valid in arbitrary contexts.

Research paper thumbnail of Disciplining orchestration and conversation in service-oriented computing

We give a formal account of a calculus for modeling service-based systems, suitable to describe b... more We give a formal account of a calculus for modeling service-based systems, suitable to describe both service composition (orchestration) and the protocol that services run when invoked (conversation). The calculus includes primitives for defining and invoking services, for isolating conversations between clients and servers, and for orchestrating services. The calculus is equipped with a reduction and a labeled transition semantics related by an equivalence result. To hint how the structuring mechanisms of the language can be exploited for static analysis we present a simple type system guaranteeing the compatibility between client and server protocols, an application of bisimilarity to prove equivalence among services, and we discuss deadlock-avoidance.

Research paper thumbnail of Middleware for Network Eccentric and Mobile Applications

Middleware is a critical foundation needed to leverage the development of a wide range of mobile ... more Middleware is a critical foundation needed to leverage the development of a wide range of mobile and ubiquitous applications. Intrinsic challenges when building such middleware require the combination of expertise from areas like distributed systems, networking, software engineering, and application development. This textbook provides a comprehensive introduction to the main fundamental problems, technologies, paradigms, and solutions of concern to developers of middleware for mobile environments. The ...

Research paper thumbnail of Type Systems for Open Networks

In the last decade, several foundational formalisms for global computing have appeared in literat... more In the last decade, several foundational formalisms for global computing have appeared in literature to improve the understanding of the complex mechanisms underlying such new computational scenario. In their design, the integration of security mechanisms is a major challenge and great efforts have been recently devoted to embed such mechanisms within standard programming features. In this deliverable, we shall focus on the security mechanisms put forward by type systems, that are used for expressing and checking ...