Why TimeLike

Top  Previous  Next

We have tried to design the TimeLike simulation framework so that it could be used to construct a computer model of any kind of time-dependent system, at any required level of fidelity.  This is an ambitious goal, but perhaps not quite as ambitious as it might appear, because we already know of one kind of tool that meets this requirement: a general purpose programming language. Of course, it may take a great deal of work to model a large, complex system starting from scratch, using a general purpose programming language, but it can be done, and has been done, many times.  The purpose of a simulation framework is to make the task of constructing a model somewhat easier, by providing working mechanisms to implement commonly needed functionality, and especially to help the modeler break up his modeling problem into smaller sub-problems, which he can tackle one at a time.  Many simulation frameworks follow this same basic strategy, however most of these frameworks, such as Simulink and SystemBuild, have been designed to address some relatively limited application domain, such as digital controls.  This has its advantages, first because it simplifies the tool designers’ task, and at the same time it allows them to offer a higher degree of support to their users, because they know what kinds of applications the tool will be used for.  The disadvantage, however, is that this approach results in tools that may be very useful for modeling systems that fall entirely within their intended application domain, but which may be of little or no use for modeling systems with significant elements that do not fall within their intended domain.  A tool for modeling digital controls systems is of little use for modeling message-passing communications systems, and vice versa.


In recent years, it has become increasingly widely recognized that we need better tools for modeling large, complex heterogeneous systems, systems which can involve effects and interactions that cut across many different scientific and engineering domains.  This is especially true for systems combining cyber-mechanical systems, involving mechanical interactions, sensors, computers, communication networks, and embedded software.   TimeLike is designed to meet this need.