Skip to content
Noel Farrugia edited this page Jun 22, 2021 · 24 revisions

SimCommSys is a very powerful and as a consequence complex system which requires a fairly steep learning curve. This wiki contains a set of documents aimed at helping someone getting to grips with the system and hopefully provide enough detail to get going, If you find that any of the documents is unclear or contains wrong/out-of-date information then please update them so that the next person doesn't have to rediscover the mistakes. Available documents are listed below, grouped separately for developers and users.

Overview of Documentation

User Documentation

  • [Installing Prerequisites](Installing Prerequisites): Provides details on the required development packages.
  • [Checking out the Source Code](Checking out the Source Code): Provides details on how to check out the code and contribute to the project.
  • [Building and Installing SimCommSys](Building and Installing SimCommSys): Provides details on how to build and install SimCommSys.
  • [Setting up and Running a Simulation](Setting up and Running a Simulation): Provides details on how to
    • Set up a new simulation
    • Run a simulation locally and on the cluster
  • [Plotting Results of a Simulation](Plotting Results of a Simulation): Provides details on how to turn the simulation results into graphs.
  • [Framework Overview](Framework Overview): Explains how the various components fit together, and provides links to the serialization format of each component. The serialization formats are grouped as follows:
    • [Defining Inner Codes](Defining Inner Codes): Explains how to define insertion/deletion correcting inner codes.
    • [Defining Outer Codes](Defining Outer Codes): Explains how to define conventional error correcting codes.

Development Documentation

  • [Installing Prerequisites](Installing Prerequisites): Provides details on the required development packages.
  • [Checking out the Source Code](Checking out the Source Code): Provides details on how to check out the code and contribute to the project.
  • [Setting up your Development Environment](Setting up your Development Environment): Provides instructions on how to set up Eclipse/Visual Studio
  • [Framework Overview](Framework Overview)
  • [Extending SimCommSys](Extending SimCommSys): Provides a quick introduction to:
    • The classes required to write a codec
    • The serialisation macros
  • [Profiling Your Code](Profiling Your Code): For guidance on using the profiler to help with code optimization.
  • [Project ToDo List](Project ToDo List)

Other Documentation

  • [Moving parts of an SVN repository into another repository](Moving parts of an SVN repository into another repository) : Useful for moving material to a new SVN repository, keeping version history. This is currently of little use to this project, since the move from svn to git, but has been kept for completeness.
  • [Connecting a local GIT repository to a new remote](Connecting a local GIT repository to a new remote) : Explains how to reconfigure local repositories to point to a new server. This procedure is necessary to update local repositories following the migration of the development server.

Contact Us

  • For bug reports, use the issue tracker.
  • User and developer project forums
    • Discussions about the use of simcommsys should be tagged with the 'User' category.
    • Longer discussions about simcommsys development should be tagged with the 'Developer' category.

About the project

Contributing Authors

This is the list of authors who have contributed directly to the code base, together with their last known contact details. Authors are listed in order of decreasing contribution.

Project Funding

Various parts of this software have been developed with support from the following funding sources. Sources are listed in chronological order.

  • The Fourth Italo-Maltese Financial Protocol, 1997-1999.
  • EUMedGrid FP6 project, contract No 026024, 2007.
  • Engineering and Physical Sciences Research Council (EPSRC) UK, grant EP/E056407/1, 2007-2010.

Parts of this software were developed while the authors were studying or employed with the following institutions. These are listed in chronological order.

  • University of Malta, 1997-1999
    • JAB was employed as a Research Engineer on the project "Integrated DigitalSignal Processing and Telecommunication Systems" in collaboration with the University of Lecce, and later as an Assistant Lecturer.
    • The software was developed as part of his M.Phil. studies.
  • Oakland University, Rochester MI, 2000-2003
    • JAB was employed as a Graduate Assistant with the Dept of Electronics and Systems Engineering.
    • The software was developed as part of his PhD studies.
  • University of Malta, 2004-2007
    • JAB was employed as a Lecturer.
    • The software was developed as part of his ongoing research.
  • University of Surrey, 2007-2014
    • JAB was employed as a Research Fellow on the Error-Control Watermaring project, and later as a Lecturer.
    • SW was employed as a Research Fellow on the same project, and later as a Tutor.
    • The software was developed for the ECW project and later as part of the authors' ongoing research.
  • University of Malta, 2014-
    • JAB was employed as a Lecturer.
    • The software was developed as part of his ongoing research.