International Code Council
The purpose of a building code is to establish minimum requirements necessary to protect public health, safety and welfare in the built environment. The International Code Council (ICC), a US based membership association dedicated to building safety and fire prevention, develops codes for use within the US and elsewhere to construct residential and commercial buildings. Most U.S. cities, counties and states have elected to base their requirements on ICC codes.
ICC Codes are model codes. Legislative bodies do not have to use model building safety or fire prevention codes, and may write their own code or portions of a code. However, many jurisdictions use model codes because they keep construction costs down by establishing uniformity in the construction industry. Federal, state and local agencies also make amendments to the codes and these typically include modifications and additional criteria to meet local requirements. A model code has no legal standing until it is adopted as law by a competent legislative body (federal agency, state legislature, county board, city council, etc.) and each state has its own legislative and enforcement structure. When adopted as law, all owners of property within the boundaries of the adopting jurisdiction are required to comply with the referred codes. Currently, the International Codes are adopted at either the state or local level in all 50 states and by many federal agencies.
In 2004, ICC determined that it needed to look at using object based technology for representing their codes and for testing submissions against them. Having researched the topic and looked at developments in Singapore, Norway and elsewhere, the Board of Directors of ICC comprised of building regulatory leaders from state and local agencies approved investment in and leadership of a project in late 2005 to make automated code checking a reality in the US. Solely funded by ICC, this project has been underway since January 2006 and, amongst other activities under the project, is creating SMARTcodes for the International Codes.
Interpretation Using SMARTcodes
The SMARTcodes project uses lessons learned in previous code checking development projects and from improvements in technology. In doing so, it represents a further step in the development of automated code checking in building construction. For the first time in such a project, it is working directly with the building codes themselves as well as with the automated checking of submissions against the codes.
In previous projects, the key obstacle has been the interpretation and presentation of the building codes and the encoding of that presentation in a rule base. Presentation has been difficult because of the need to ensure that the result was the same as if checking had been done by the human expert and this involved extensive consultation with building regulatory officials. Developing the rule base was an issue because of the need to encode the rules by hand within a single rule checking system (although the rules themselves were encoded in the ISO standard EXPRESS-X language).
When work commenced, the ICC codes were already electronically available in a form of XML. This provided a significant platform for the next stage of the work.
Research showed that work on text processing was making significant progress in the legal and other sectors so that transcripts and other court documents could be searched based on knowledge criteria. By examining this research, an approach was determined that could achieve a similar result with building codes. This was tested and proved to work and in the project is referred to as the SMARTcodes protocol.
The major breakthrough then occurred with the development of a simple Windows-based approach that enabled ICC staff and building code officials familiar with the codes to take the ICC codes or unique amendments or additions to the codes and, with the protocol guiding them, create SMARTcodes. This is done using the electronic equivalent of a 'highlighting pen' with different colours used for each concept in the mark-up and is referred to as the 'SMARTcode Builder' software. Tests have shown that code officials understand the approach very quickly and do not make mark-up errors. This resolves the issue of presentation of the codes in a ''smart'' format and the massive effort it would otherwise require. It also enhances the uniformity in creating codes, thereby allowing for multiple people to work concurrently on creating SMARTcodes for all the ICC Codes. The speed and effectiveness of ICC mark-up is expected to be much higher than was previously the case and the cost significantly less.
To simplify presentation further, the SMARTcode Builder is essentially a customised XML editor only allows mark-up according to the SMARTcodes schema. This tool is a very easy to learn and use and gets over the fact that tools like XML Spy, whilst perfectly capable of doing the task, have so many features that they can become confusing to use.
Although the number of mark-up tags used by SMARTcodes is currently limited, the number of properties that are within the codes and that need to be tested and that have to be encoded as attributes of the tags is very large. The same property can occur within the codes in many places and it is important that it is always assigned the same meaning and unit of measurement.
To assist this, a dictionary of the properties found within the building codes is being developed. The dictionary is being developed as part of the International Framework for Dictionaries effort and, in the US, is being managed by the Construction Specifications Institute (CSI) in cooperation with ICC. This work is also enabling the properties within the codes to be identified against appropriate tables within the Omniclass classification system that has been developed by CSI.
An added advantage of the dictionary and classification based aspect of the work is that it enables the codes to be searched to determine only those that are relevant to a particular topic and to deliver these exclusive of all the other, non-relevant codes. This can reduce the total set of building codes that have to be consulted for a project not only in the automated code checking application but the manual code searching capability that is being created by ICC to allow those without a BIM to interact with SMARTcodes to secure and apply project-relevant code criteria and related support materials such as reference standards, code commentary, interpretations and manufacturers data on building products and systems.
The Requirements Model
Having presented the building codes in ''smart'' format, the second breakthrough of the project is that, through the execution of an automatic process, the actual rules against which submissions will be checked can be automatically generated directly from the code mark-up. In fact, what results is a 'requirements model' that is captured in the form of a series of constraints encoded according to the IFC constraint model. This is a standardized representation of the rules. This makes it completely independent of any rule checking software and allows for a ''plug and play'' scenario for any codes, standards or regulations that are put in this ''smart'' format.
The approach has been tested with multiple software applications that have been adapted to use the IFC constraint based requirements model as a rule base.
Comparing Solution and Requirements
The vision behind the project is that IFC based submissions from architects, engineers, contractors or others that are regulated should be able to be automatically checked for code compliance using computer systems before submission to building regulatory authorities. Within the terminology of the SMARTcodes development, an IFC file representing the building model is considered to be a 'solutions model'. The intent is to test it against the SMARTcodes derived 'requirements model' and identify any conflicts or areas where the building model does not contain the information necessary to assess compliance.
Working without a solution model
In the near term the majority of building projects may not be available as an IFC building model or BIM. However the 'requirements model' can be used to support conventional design and code search/checking processes. It can also be used to drive a web-based dialogue between a regulatory official and designer or between each of them and SMARTcodes. The dialogue can pose design and code-related questions on-screen, and the user need only answer those he knows. The most immediate use is to drive the filtering down of the regulatory set to identify only those requirements applicable to the specific location and the specifics of the building as described by the user (e.g. building type, height, area, existence or use of specific materials or systems, etc.). The dialogue can also drive towards assessing pass-or-fail, or creating an acceptable solution, or suggesting alternative approaches by exploring the pre-conditions and pre-requisites. If the information provided by the user is stored, the result will be a partial, non-geometric IFC building model or ''mini-BIM''.
SMARTcodes is a registered name and trade mark of the International Code Council Inc. 500 New Jersey Ave. NW, 6th FloorWashington D.C. 2001, USA
A demonstration of SMARTcodes and their operation in conjunction with the Solibri and Xabio software applications is available at http://www.smartcodes.org. This allows several different test buildings to be checked for energy code compliance in multiple geographic locations.