Dissertação para obtenção do Grau de Mestre em Engenharia InformáticaIn an object-oriented setting, objects are modeled by their state and operations. The programmer should be aware of how each operation implicitly changes the state of an object. This is due to the fact that in certain states some operations might not be available, e.g., reading from a file when it is closed. Additional care must be taken if we consider aliasing, since many references to the same object might be held and manipulated. This hinders the ability to identify the source of a modification to an object, thus making it harder to track down its state. These difficulties increase in a concurrent setting, due to the unpredictability of the behavior of concurrent pro...
Java makes easier the coding phase of concurrent applications and provides friendly mechanisms for t...
This work was partially supported by the EU H2020 RISE programme under the Marie Skłodowska-Curie gr...
Inheritance is a valuable mechanism which enhances reusability and maintainability of software. A la...
Dissertação para obtenção do Grau de Mestre em Engenharia InformáticaIn an object-oriented setting,...
The proliferation of shared mutable state in object-oriented programming complicates software develo...
AbstractEvolving and refactoring concurrent Java software can be error-prone, resulting in race cond...
We describe a generative approach that enables concurrent typestate-oriented programming in Java and...
A number of type systems have used typestates to specify and statically verify protocol compliance. ...
The proliferation of shared mutable state in object-orientedprogramming complicates software develop...
AbstractAction-based concurrent object-oriented programs express autonomous behavior of objects thro...
Generic programming has turned out very useful in the development of reusable software. With the Jav...
none4siThe state of a concurrent object, intended as some abstraction over the values of the fields ...
Java and its library provide powerful concurrency control mechanisms. However, their use can lead to...
Tese de mestrado, Engenharia Informática (Engenharia de Software), Universidade de Lisboa, Faculdade...
The Java programming language provides safety and security guarantees such as type safety and its se...
Java makes easier the coding phase of concurrent applications and provides friendly mechanisms for t...
This work was partially supported by the EU H2020 RISE programme under the Marie Skłodowska-Curie gr...
Inheritance is a valuable mechanism which enhances reusability and maintainability of software. A la...
Dissertação para obtenção do Grau de Mestre em Engenharia InformáticaIn an object-oriented setting,...
The proliferation of shared mutable state in object-oriented programming complicates software develo...
AbstractEvolving and refactoring concurrent Java software can be error-prone, resulting in race cond...
We describe a generative approach that enables concurrent typestate-oriented programming in Java and...
A number of type systems have used typestates to specify and statically verify protocol compliance. ...
The proliferation of shared mutable state in object-orientedprogramming complicates software develop...
AbstractAction-based concurrent object-oriented programs express autonomous behavior of objects thro...
Generic programming has turned out very useful in the development of reusable software. With the Jav...
none4siThe state of a concurrent object, intended as some abstraction over the values of the fields ...
Java and its library provide powerful concurrency control mechanisms. However, their use can lead to...
Tese de mestrado, Engenharia Informática (Engenharia de Software), Universidade de Lisboa, Faculdade...
The Java programming language provides safety and security guarantees such as type safety and its se...
Java makes easier the coding phase of concurrent applications and provides friendly mechanisms for t...
This work was partially supported by the EU H2020 RISE programme under the Marie Skłodowska-Curie gr...
Inheritance is a valuable mechanism which enhances reusability and maintainability of software. A la...