In the United States, the International Building Code (IBC) specifies how commercial and residential construction must be carried out. Professional architects and engineers pass rigorous state licensing exams to participate. Contractors and trades people undertake apprenticeships and follow well established construction methods and conventions. Their work is verified by building inspectors during all stages of construction. Very little is left to chance and the vast majority of projects are completed successfully.

Contrast the above approach to an average software development project. Likely, there is little in common. At many companies, software development does not follow any standards and the results are unpredictable. In fact, it is much more likely that any two software systems will be more different then alike. In the software industry there is no IBC, no professional licenses, and no inspectors. Much is left to chance and the vast majority of projects are not completed successfully, on time, or within budget. This lack of any standardization within companies, and across the development industry, is a root cause of high development and maintenance costs, and results in many failed projects.

The emergence of multicore processors will further exacerbate this situation. The industry is approaching the end of ad-hoc software system architectures. Ad-hoc designs that worked on single or dual core processors, will not scale up to an 8, 16, or 32 core processor. These new multicore processors will require development methods based on task dispatching and message passing frameworks. We see this shift already in Apple's MAC OS X 10.6 (Snow Leopard). Apple introduced Grand Central Dispatch (GCD), a major new architectural component, precisely for this reason. GCD is a move away from the ad-hoc, lock based, multi-threaded programming model to a dispatch based model.
appCORE solves the myriad problems of ad-hoc designs and the high development and maintenance costs they incur. The business goal for appCORE is simple: enable the creation of software products in less time and for a lower cost compared to ad-hoc methods. The technical goal of appCORE is more ambitious: to provide a simpler, standardized approach to building multi-threaded software systems on multicore processors that reduces project complexity and risk and can be leveraged over and over again.

appCORE is a product that promotes and enables the standardization of software systems. Like the IBC for the construction industry, appCORE defines a way to build software systems that leaves very little to chance. Structurally, appCORE defines standard methods that can be applied across all types of applications. appCORE defines the process, threading, and messaging architecture and how these elements work together. appCORE does not leave the structure of the system to chance, or to a development team's whim, or its lack of experience.

appCORE is a Ready-To-Run product. This means that appCORE provides both the building blocks and the initial foundation. With appCORE, you don't start from scratch. Fully operational application templates and a multi-platform build system are the starting point for your system. Within a few hours of receipt, your staff will have the skeleton application running and will be able to interact with the sample applications to investigate appCORE's methods and features.

Binary Systems offers consulting services and instruction on appCORE to assist your development staff.