I continue my notes on this year's SOFSEM conference where I left them. 
On Wednesday, I attended the tutorial session by Andrew Butterfield on 
Unifying Theories of Programming (UTP), a paradigm introduced by C.A.R. 
Hoare. Broadly speaking, UTP combines denotational, operational and 
algebraic semantics in a unified framework for both the formal 
specification and implementation. It is almost as there was no distinction 
between syntax and semantics. Andrew Butterfield also showed us  his 
tool UTP2, programmed in Haskell, and how the library for UTP in the 
Isabelle theorem prover works. 
One important 
part in any conference is to be able to discuss with other colleagues 
and experts about interesting papers. On Wednesday I missed the keynote 
talk by Jakko Hollmen about Predictive Analytics because I was 
talking about some papers with colleagues. (I found that to be a valid excuse to miss a 
talk in a conference!) Also, on Wednesday we had the social programme: 
an excursion with a guide around the city centre of Limerick and the 
conference dinner in the Bunratty Castle. Inside the castle we not only 
enjoyed a typical Irish dinner but also an entertainment program. It was
 a dinner with a medieval flavour because of the place but also because 
of the show we saw and the way we ate. We had a broth, pork ribs and 
chicken... But without forks! So we ate with our hands while listening 
to some typical Irish songs performed by the very talented people of the
 Bunratty Castle.
That's not all that happened 
on Wednesday. The organization had a surprise for us: since the lunch 
break was two hours long, during the second hour we had a talk about 
music and computers. Inside the Department of Computer Science in 
Limerick there is the Digital Media & Arts Research Centre, and the 
organization took advantage of this fact in order to propose them to 
give 3 talks: one on Wednesday and two on Thursday. The first talk was 
done by Mikael Fernström (http://www.idc.ul.ie/mikael/) , who explained us his work. He uses computers in order to produce new 
sounds (frequencies that a physical instrument wouldn't be able to make)
 and algorithms in order to create music for "things". As an example, he
 created a piece that took some variables from meteorological data so we
 could listen to how the weather in Ireland sounds.
On Thursday, in this special sessions, Giuseppe Torre (http://www.muresearchlab.com/ )
 showed us his work, where he uses computers to represent art. For 
example, his work 'AI PRISON' is a program in C++ that outputs '0' 
unless the technological singularity in Kurzweil's sense (or 
'Terminator' sense) appears. It is exposed in the BLITZ Contemporary Art
 Gallery in Malta. Finally, Kerry l. Hagan (http://www.kerrylhagan.net/)
 played some of his musical works. Again, the use of computers is the cornerstone. She uses a program that allows her to program and compose 
the music she is going to play. This three artistic sessions where a really 
nice touch from the organization.
Back to the 
science, on Thursday we started with a keynote talk by Óscar Pastor 
López about Model-driven Development. The idea is that developers should
 be freed from programming concerns and be able to concentrate on 
guaranteeing that the final software product corresponds to what the 
company asked for. There are two basic notions in this field: capability
 and the Model Driven Architecture. The first one is especially used at 
the earliest steps of a software process in order to characterize the 
relevant modelling components to be specified. Whereas the Model Driven 
Architecture is used in the definition of the desired software process 
in order to structure the development from requirements to code.
Afterwards
 I attended the tutorial by Cristina Seceleanu about verification and 
test-case generation for Automotive Systems. Nowadays a car is developed
 with more electric components than hydraulic ones. For example, the 
connection between the steering wheel and the steering control is done 
by wires and software. This makes mandatory the use of testing in order 
to verify the correct behaviour of a car. In this field of research 
tools as UPPAAL are of great use. After the lunch we had the second 
keynote talk of the day. Paul Spirakis explained us about "programmable 
matter", which at the beginning seemed a field closest to sci-fi than 
actual computer science. So, let me explain what I understood, nowadays 
digital information (as internet) has spread along the world. That 
information is simply data, which can be manipulated. This vision is 
focused in our ability to manipulate data, and thus extended to 
manipulate matter via information-theoretic and computing mechanisms, 
incorporating information to the physical world. This is inspired in the
 biological world where living organisms are built by cells and those 
cells are built by information (DNA). Paul Spirakis explained us how 
Network Constructions is a promising technique for modelling this idea 
of "programmable matter". Broadly speaking, Network Constructions is 
simply a collection of finite-automata that interact randomly like 
molecules according to the rules of a common protocol.
The
 last session on Thursday for me was the tutorial session by Louis-Marie
 Traonouez by Plasma Lab, a statistical model checker (SMC). A SMC and 
uses less resources than a model checker at the cost of losing 
certainty. SMCs answers with a confidence level. Plasma Lab is SMC a 
library written in Java that can be used in tools as UPPAAL. The 
properties can be described in a form of bounded linear temporal logic 
(like LTL but with bounds in the length of the paths).
The
 last keynote talk of SOFSEM 2017 was on Friday and by Igor Walukiewicz.
 The topic of the talk was automatic verification of recursive programs 
with thread creation. Although this situation appears in programming 
languages such as Java, Scala or Erlang it doesn't behave well in 
automatic verification. For example, reachability is not decidable even 
for pushdown systems where two threads are communicating over a 2-bit 
shared variable. Igor Walukiewicz showed us some decidable setting by 
relaxing the semantics of thread creation operation. The obtaining 
result might not be very efficient but at least is computable.
Finally,
 I want to end these notes on SOFSEM by acknowledging the excellent work
 of the local organization at Limerick. It's true that SOFSEM 2017 
didn't start very well in June, but all things considered everything 
went smooth and fine in Limerick. Also, the organization always tried to
 add something new to the conference (as those special talks about art 
and computer science), which is always nice for the participants.
Next year SOFSEM will be held in Austria and my recommendation is to check it out!
No comments:
Post a Comment