Ropley Information Technology Ltd. is an independent software consultancy firm that specializes in .NET architecture and application development as well as tooling an organisation for agile development using the Microsoft development tools. Other areas of expertise are in agile process mentoring, requirements modelling, analysis, design, and software architecture/development for Microsoft applications. The company has recent extensive commercial comsultancy and contract experience in modern .NET application development, and in practical Scrum agile coaching, troubleshooting and mentoring. The company also provides course authorship and technical training services in these subject areas, principally through Learning Tree International. For details about the company's recent contracting and consulting activities, follow this link.


Ropley IT develops and supports a number of software products. These products are all written in .NET and are currently Microsoft platform hosted. Some are licensed commercially, others are free-licensed binaries with source code IP kept within the company. One or two products are published with source code under the MIT licence, and are available to download or access from GitHub.

The Use Case Editor is a tool used by business analysts and requirements engineers for capturing and organising functional and non-functional requirements. Specifically it captures and formally documents use cases using an automated document template, captures logical data models,  and automatically generates activity diagrams from use case primary and alternative path specifications. The tool is available for download by selecting the file UCEditorInstaller.msi from the download page. Documentation giving instructions on  its installation and use can be found here.

The GLR parsing suite PARSELR is a tool that generates and provides the runtime for .NET hosted generalised LR grammar parsers, as well as generating C# state machines from formal state machine descriptions. Similar in purpose to Bison or Yacc, this tool also incorporates the state-splitting algorithms used to extend it into a GLR parser. The tool takes an input grammar, and converts it into a C# source code parsing engine that is then incorporated into an application that needs a parser.

The parser can act as a compile-time tool generating fixed source code for a parser for a specific grammar. Alternatively it can operate dynamically, allowing the grammar rules to be specified or changed dynamically at run-time, with a new state machine parser being generated and launched as and when the grammar changes.

Note that the parser also incorporates the ability to call condition-testing functions at each shift or reduction. It is this that enables it to also implement complex finite state machines driven by grammar rules. For more information on the parser suite and instructions on how to use it, see this link.

The DynamicCSharp library is a .NET Core library that makes it possible to read C# source code from a string or a file in a running program, to compile it to an assembly, to load that assembly back into the same running program, and to invoke the methods and classes of the dynamically generated assembly. This project is released under the MIT licence, and is available together with its documentation from its Github repository as source code, or from as a NuGet package.

The VSClean utility is a tool for cleaning out all but the bare essential files from a C# solution and its project sub-folders. When Visual Studio is run to build and run automated tests for an application, a huge overhead in binary folders and test data folders gets created. Combine this with the download and installation of packages from repositories such as NuGet, and your solution folder becomes too big to zip up and attach to emails, or to put on a USB key. VSClean strips all these unnecessary files out, leaving the bare minimum files needed to reconstruct the product later.

VSClean uses a filter file that itself uses the same filter specification as used in Git's .gitignore files. Because of this, it is possible to configure VSClean to clean files from folders for other languages and development environments than its default C# filter set.

VSClean is available at source code level together with its documentation at its own

The ImagePacking application is a tool written in C# for shrinking images from one folder into another, while preserving the maximum quality in the images achievable for the output image size. So often poeple upload images onto web servers and web sites that are way bigger than the small rectangle in which they are displayed, leading to slow page downloads and unnecessary server disk use. ImagePacking allows you to identify maximum width height and file size in kilobytes for each image file, then shrinks all images from an input folder to smaller versions in a selected output folder, while preserving image aspect ratio in each case.

The ImagePacking suite is made available on Github under the MIT license.

Other legacy resources

Assorted sample programs for the .NET Framework can be obtained by downloading the file

The demonstration software for the now retired Learning Tree International course 323 on Object Oriented Analysis and Design using UML may be found by downloading the file

The course exercises and specimen solutions for  retired Learning Tree course 302 on Win32 Systems and Network Programming may be obtained by downloading the file

Some course exercises and specimen solutions for an example enterprise Web site using ASP.NET may be obtained by downloading the zip file

Back to top

Electronic mail address:

Web address:

Skype ID:

Mobile: (+44) 797 400 8224