Agile Automation sunset

Agile Automation, Inc.

PO BOX 336405

North Las Vegas, NV 89033-6405

office (702) 489-8490

fax (702) 489-9203

Software Development

Agile Automation specializes in developing machine control software. Our founder created an object-oriented framework for machine control software that he named Agility during the early 1990’s. He later redefined the framework and named it AWSEM, which stands for Agile Wired Services and Events Mechanism. The framework has been refined over the years as various projects were developed. The framework still exists, but has never become a full-blown product, as originally intended.

All development projects take advantage of the concepts used to define Agility and AWSEM and a few reusable libraries have evolved. Agile Development has emerged and used to define and develop very flexible software systems for controlling various types of machinery.

Agile Development stems from object-oriented concepts. There is a software object to represent every single entity comprised in every application. Object classes can group similar objects together and define their similar behavior. Each object can then derive their common behavior from their class and define only the behavior that makes it unique. All machine control applications will contain many of the same object classes (as well as many derived classes), so they all benefit by the concept of reuse. These object classes will then comprise one or more libraries shared by all applications, which then becomes a foundation or a framework.

The machine control framework is not a unique concept and is not what puts the agile in Agile Development. The framework simply becomes the foundation for all future projects. The framework is a living entity, meaning it continues to grow as developers discover and define new object classes. Using the framework allows other developers to focus on what makes their application unique rather than spend time developing the same basic behaviors that exist in every application.

Agility comes from how objects connect to each other, the way objects communicate with each other, and how the framework accepts new objects in the future. Developers design objects, for the most part, without the knowledge or dependency of other objects. Developers maximize system agility by defining all object dependencies at the object class level whenever possible. The application is free to wire the final objects together to create the configuration required. Either the developer will define the wiring within the application (hard wired), or the user will from a configuration utility (soft wired), or a combination of the two. The former method maximizes agility even further and allows multiple users to configure the exact same application for the devices specific to their system.