Formal Executable specification and verification; software composition, reflection, and metaprogramming; object-oriented specification and software architecture; concurrent, distributed and mobile computing; logical frameworks and formal interoperability; and logical and semantic foundations