Skip to main content

Welcome to Computing Integrity

Welcome to Computing Integrity!

Consulting and Tools for Architectural Modernization and Transformation

Computing Integrity is ready to assist with consulting, tools, mentoring, and development skills for any application modernization from full transformation to small, incremental projects.

Register and Login to leave comments.

ABL Best Practice Programming

This presentation was given to the Russian Progress Users Group (RuPUG) on 24 September 2012.

If anyone has suggestions for additions, please contact me and I will consider updating it with more material or making some kind of supplement. Similarly, if anyone is interested in my putting together a complementary talk on worst practices, what not to do, please let me know.

In Search of the Lazy Programmer

Code Generation and Model-Driven Development in ABL

In the history of ABL development, there have been a number of initiatives of generating code with or without models as a basis. The motive has frequently been productivity, particularly reducing effort for routine tasks, but quality and stability and nimbleness have been motivations of some efforts. This paper is intended to review the various types of these efforts in order to gain understanding of the advantages and limitations of each approach.

This whitepaper is inspired by a Birds of a Feather session of the same title held at PUG Challenge EMEA on 3 November 2011 lead by Julian Lyndon-Smith, Marian Edu, Jurjen Dijkstra, and myself.

Object to Object Relations

This presentation was originally made at the 2011 PUG Challenge Americas on 7 June 2011. A revised version was given at the EMEA PUG Challenge on 3 November 2011.

A fundamental difference between OO thinking and traditional ABL is that in OO one object is connected to another object directly by what is called a “relation”, but data in traditional ABL is accessed via keys in local or database tables. A relation is directly navigated as opposed to the lookup that key access requires. This presentation will explore the significance of this difference and how it is implemented in ABL code. The discussion will cover both single and multiple targets of the relation, core concepts in collections, and implementing collections in ABL with sample code and preliminary benchmarks.

Analysis of Existing ABL Code

This was presented as a workshop 5 June 2011 at PUG Challenge Americas and as a paper at EMEA PUG Challenge 4 November 2011.

Many ABL systems have their origins many years ago. Most have received many layers of modification, typically resulting in complex and poorly structured systems. Modifying or extending such systems can often be extremely difficult. Good analysis is needed to avoid unintended collateral damage from changes and to decide where to make a changes in the first place. Good analysis is also the first step in transformation, since one must know what is there before deciding how to replace it. In this workshop, we will explore a variety of analytic tools, evaluate their utility and limitations, and become introduced to their use “hands on”. Tools will include XREF, OE Architect, Search Tools, ProLint, Proparse, Analyst, and ABL2UML.

Model-Based Development: A Day In The Life

Model-Based Development for ABL has enormous potential for reducing the time and cost of original development while increasing quality and providing really dramatic improvements in the responsiveness to changed requirements. This presentation describes various development scenarios and describes how Model-Based Development would happen in each environment.

Practical Considerations in OOABL Programming

Presented at Revolution 2011 - 19-22 September 2011.

Although there are some possible parallels, best practice 3GL object-oriented programming (OOP) is very different in structure from traditional ABL programming. This presentation will review a number of principles of best practice
OOP and explore how these principles can be implemented in the context of ABL. Comparisons will be made of alternate approaches based on performance and principles. The goal of this session will be to assist in making choices about OO implementation alternatives.

Presentation is attached.

To Code or Not To Code: That is the Question

This presentation was originally given 7 June 2011 at PUG Challenge Americas.

Thinking OO for the Legacy ABL Programmer

This presentation was delivered at PUG Challenge Americas on 6 June 2011.

A Path to Model-To-Code Translation in ABL

Model-to-Code translation has the potential to provide the high development productivity and responsiveness required to meet modern business requirements. This paper reviews issues of completeness, action language, realized code, user interfaces, alternate models, and frameworks. This discussion leads to a proposed recommended path for the development of these tools.

Background

Rapid Business Change and ABL Productivity

Experts tell us that the rate of change in business today has increased dramatically. This creates demands for rapid software development and quick changes to existing software. The compelling story for ABL as a fourth generation language (4GL) has always been productivity. However, the productivity advantage ABL once enjoyed over third generation languages seems not to be as great as it was 20 years ago. I review issues in ABL productivity leading to a proposal for Progress Software to explore Model-to-Code translation techniques as a means of substantially boosting ABL productivity and responsiveness.

Syndicate content