Home

Anonymous

Goal

Hum is designed to be the next business programming language. Future business languages will program a distributed network of collaborating business actors. Hum provides the language, the network, and the key actors.

Notations

Hum and the Hum run-time system "Rube" are designed to make it possible to write useful programs in as natural a language as possible. The language notation is designed to allow all instructions to be written as simple English statements. The syntax is completely relaxed. While there are certain recommended forms, they are mainly a matter of style - to assure consistency and readability.

While Hum is designed with a relaxed and natural syntax, Hum is still a programming language; and thus, it is still a set of notations. The notations are designed to allow one to express an idea in a way that is clear, brief, and reasonably natural. Rather than designing notations that are convenient for the translation software, we have designed a set of notations that are convenient for the human authors and readers.

Frames

One does not so much program the Hum system as advise it.
Different kinds of advice are given in different types of frames.

  • Task frames - explain how goals and actions are related.
  • Role frames - explain how a role accomplishes assigned actions.
  • Dictionary frames - define the operational meaning of nouns.
  • Dialog frames - show how to carry on a conversation with a user.
  • View frames - show how to present data about a specific subject.
  • Data frames - provide a notation for communnicating data.

Actors

Actors provide the connection between role frames and reality. A real-world actor might be a human being or a robot of some type. (In this context, a robot could be any programmable device.) A virtual-world actor might be an avatar or a simulation of a robot. Thus, an actor provides the connection to real-world reality or to a virtual reality.

Actors are assigned to one or more roles. The only requirement for an actor is that it can "understand" any action statement in the action frames that are related to an assigned role.

Actors may be programmed outside of the Hum system. Thus, they might be programmed in any appropriate programming language. Human actors are generally trained (not programmed) and will understand the Hum instructions directly.

Resources

The Simple run-time system is designed to operate in a business environment. Accordingly, it contains the necessary subsystems to track inventories of resources and account for their use. The system even includes a light-weight accounting system.

Resources are allocated from resource pools as needed. If the resources are parts and material, you can think of such a pool as an inventory. Actors are resources and they are allocated from pools also. If the actors are humans, you can think of such a pool as a staffing pool.

Simulations and Games

If the actors are operating in a virtual reality, we are running a simulation. The purpose of the simulation might be to tune-up a business process, to study an ecology, or to operate a gaming environment.