|
EventHelix Update Q1 2003EventHelix.com Update for Q1 2003 Resource Dimensioning Using Erlang-B and Erlang-C Resource dimensioning is an important step of architecture design. The system architect needs to study the system performance requirements and come up with an architecture that will meet or exceed the requirements in a cost effective fashion. By resources we mean any hardware or software entity needed to perform transactions initiated by customers. For example, if you are developing a telephone switching system, resources would be things like outgoing digital trunks, timeslots, tone detectors etc. In this article we will focus on resource dimensioning using Erlang-B and Erlang-C formulas. Many times resource dimensioning is determined by simulating the system being developed. Simulating the system is often an expensive endeavor and in most systems reasonably good results can be obtained by using the Erlang formulas. UML (Unified Modeling Language) also supports sequence diagram generation. Here is a comparison of EventStudio's sequence diagrams with their UML counterparts... Design by Contract Programming in C++ The Eiffel programming language introduced "design by contract" to object oriented programming. The main idea here is to model interfaces between classes as contracts. In this article, we will be applying this powerful technique to C++ programming. In legal terms, a contract is a binding document that describes the responsibilities and expectations of the parties entering into the contract. Interfaces between classes can be modeled in the same way. Whenever an object invokes a method of an other object, this interaction should be viewed as a contract between the caller and the called method New Features:
The Liskov Substitution Principle of object oriented design states: In class hierarchies, it should be possible to treat a specialized object as if it were a base class object. The basic idea here is very simple. All code operating with a pointer or reference to the base class should be completely transparent to the type of the inherited object. It should be possible to substitute an object of one type with another within the same class hierarchy. Inheriting classes should not perform any actions that will invalidate the assumptions made by the base class. -- EventHelix.com Team |
|