![]() |
Mohammad Mahdi Jaghoori |
As I mentioned in the first page, my interests include all software related topics. However, I have been able to do research in the following fields. Some of them have led to publications that you can see at the bottom of each section.
Rebeca:
My main field of research had been Rebeca. Rebeca
stands for 'reactive objects language'. It is a
modeling language based on the Actor model. To model a (distributed) system in
this language, you need to first identify the classes of objects interacting
in the system. Then you specify how each object behaves, just by defining how
it responds to the incoming messages.
We have worked on the verification
of the models constructed in this language.
Reo:
Reo is another
modeling language. It is based on component oriented modeling. Each component
is considered a black box (ie. we don't know what exactly happens inside, but
we do know the overall behavior of this box); nevertheless, they have input
and output ports for communication. The components are connected through some
channels of different types. The behavior of basic channels are predefined. As
a result, the behavior of the whole system is obtained by considering the
whole system as a unit. The behavior of these models are expressed with
'constraint automata'.
We are preparing a paper in this regards:
This project is joint with
CWI at the Netherlands. There are some MS
theses defined on Reo at Sharif. Also some students at the University of
Tehran work on Reo.
Mobile
Databases:
Mobile databases include those accessed by mobile
and wireless clients. Clients have a very limited bandwidth towards the
server; therefore, they rely on the server periodically sending update
information (since the link from server toward clients has a better
bandwidth). Continually disconnecting clients need some mechanisms to make
sure of the validity of the data items in their cache. Invalidation reports
serve to this purpose. The following paper is still unpublished (presented
at the "advanced databases" course):