CA2249386C

Computer system and computer implemented process for representing software system descriptions and for generating executable computer programs and computer system configurations from software system descriptions

Abstract

A computer software system includes interdependent collections of software components. That is, at the architectural level, softwarecomponents and their interdependencies are two distinct equally important entities. The software components represent the core functionalpieces of an application and deal with concepts specific to an application domain. Interdependencies relate to concepts orthogonal to theproblem domain in most applications, such as transportation, sharing of resources and synchronization constraints among components. Anarchitectural description language which represents activities and dependencies between activities as separate entities. Dependencies aremanaged by coordination processes associated with the dependency. Activities and dependencies are connected through ports which encodeinterfaces between activities and coordination processes. The language may also represent resources which may be understood as the outputof some activity beyond the scope of the system. Each entity, i.e., activity, dependency, port or resource, may also have attributes which arename value pairs, specifying additional information about the entity. Attributes may be inherited. That is, activities and dependencies maybe specialized into particular versions of an activity or dependency. The attributes for a particular activity are inherited by its specializations.An editor repository and design assistant may be based on this language to provide a system that automatically generates executable code.

CA2249386C, drawing sheet 1
Sheet 1 of 27

Term

Term ended

Expired 19 March 2017, 9.5 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

7 claims: 1 independent, 6 dependent

  1. 1
    CA 02249386 2003-05-14 64371-149 -59CLAIMS :1. A computer system for automatically generating computer code for a software system from a representation of the software system, wherein the representation is defined 5 by activities, dependencies and ports through which activities are connected to dependencies, comprising: means for specializing each activity and dependency in the representation to identify one or more associated computer programs for implementing the activity 10 or managing the dependency;means for combining the associated computer programs in the specialized representation to provide the computer code for the software system.