Perspectives on Computing

The Perspectives Language introduces a novel and human-centered way to model and build applications in computing. It is a domain-specific language that captures how users (as roles) interact with data, each other, and the systems around them. At its core, Perspectives is designed to mirror the way people naturally understand roles, contexts, and permissions—bridging the gap between human reasoning and digital logic.

Roles and Contexts as First-Class Citizens

In traditional computing, entities are modeled using objects or data tables, often lacking inherent awareness of who is interacting and why. Perspectives shifts this paradigm by placing Roles and Contexts at the heart of system modeling. A Role—which can be a person, group, or system component—is always understood in relation to a Context—such as an organization, process, or event. This contextual modeling allows developers to build applications that are dynamic, adaptive, and closer to real-life social and organizational structures.

Perspectives as Access Control and View Logic

A key computing concept embedded in the language is access control. In Perspectives, access is defined not by static rules but by the Perspective one Role has on another. This ON relation determines what properties a Role can view, update, or create in another Role. It’s a fine-grained, declarative way to manage permissions—similar in spirit to Role-Based Access Control (RBAC), but more flexible and embedded in the model itself.

Additionally, Perspectives introduces Views—customized subsets of properties visible through a Perspective. This is conceptually related to database views or filtered queries, but integrated directly into the interaction model, making user interfaces and permissions consistent by design.

Multiroles, Inheritance, and Composition

Roles in Perspectives can be single or multi-instance (Multiroles), which ties directly into data structure design and UI layout—single instances create forms, while multiroles generate tables. Furthermore, Roles can be composed or filled by other Roles using the IN relation, much like inheritance or composition in object-oriented programming. This supports reuse and extension of behavior and properties, while also aligning with nested organizational structures.

Decentralized Architecture and Distributed Computing

A standout feature of the Perspectives Platform is its support for distributed computing without central servers. Instead of a central data store, users collaborate by exchanging messages, and each participant plays the role of a post office, forwarding messages when others are offline. This aligns with principles of eventual consistency in distributed systems and ensures data privacy, energy efficiency, and resilience against centralized failures or attacks—key goals in modern computing architectures.

Modeling Interaction and UI Logic

Perspectives also models user interface behavior through its language. Widgets like charts, maps, images, and calendars are linked to Roles and Properties directly in the model. This leads to automatic generation of application prototypes from the model itself, reducing the need for separate UI development. The result is a highly declarative and consistent development approach, where the same logic governs data, views, and interface.

Context-Awareness and Navigation

Another advanced computing concept implemented in Perspectives is context-awareness. Because every interaction happens in a defined context and because contexts can be nested, the system can guide users in navigating complex applications. The platform’s “Who-What-Where” model reflects a contextual computing perspective: Who am I (role), What can I do or see (perspective), and Where am I or can I go (contextual navigation).