Throughout the project there was a fair amount of design and implementation issues raised. The course of action taken and the methods
followed to resolve them had a long-term goal the accomplishment of cetain aspects and features which I would like to bring to the reader's mind.

In addition, I would like to comment on the (highly criticized) Cadence tool, VCC, which we used thoroughly the past 9 weeks as it was the
tool on which our implementation was based.



Features


  • Re-usability - Modularity

    Throughout the project, the core module and game rule implementation was done in such a way, so as to be easily replacable.
    By replacable we mean that different game rules can be plugged in the system without needing to change anything else. The only aspect
    that should be preserved is the interface. Should a developer desire to build a different program in the future he should replace the game
    rules but provide the interface required.
    The interface is displayed below:


    As we see the interface consists of two input ports and four output ports.


    This is very important as it results to the SLIP2002 project being more than just a network game. It is a platform offering services
    which can be used in the future by other developers to develop different applications.

  • Criticality

    The game rules of each game is possibly its most important aspect. This system has been developed in such a way, that the core section is
    the heart of the system, providing not only the rules but also the links from the front-end of the game to the back-end. For this reason,
    I focused on the simple aspect of th eimplemenation while trying to provide as many security handlers as possible.


  • Expandability

    By expandability I refer to the addition of further consoles in the system without needing to alter the implementation of the core module.
    Thus to add any number of observers or players in the system someone need only wire my modukes int the system.

  • Speed

    Speed is a crucial aspect of all implementations. In this system, special consideration had to be given mainly in the communication
    formed between the core module and the graphics module. When sending multiple draw commands, there had to be a slight gap between them
    to allow the port to receive and process the command without losing the other one that is coming in.
    In order to enhance speed, this gap was tested and minimised as much as possible.



    VCC

    VCC is the tool used for implementation of the system. Despite being very frustrating until you learn it, once this is done it may
    end up being a very useful tool.

    During my project, I saw the advantage in using it. Because of the nature of my task, I was assisted by the high level and abstract
    representation of different parts of the system. It was very easy to visualise the communication and connection between the modules.
    In addition, I found helpful the fact that debugging was performed again using this representation.

    At the disadvantages I should note the below serious problems:
  • not being able to use MANY ANSI C functions, that in other platforms are considered predefined. This offers limited services and causes many headaches
  • the poor error message descriptions that many times distracts you to look at some other part of your implementation.
  • warnings of messages between ports lost could be added

    Please email me if you have any questions.

    Back to core module home page


    Copyright © 2002 Spyros Lambrinidis
    Last Updated 16/03/02