Any discipline has to deal with an invisible dimension. The fourth dimension of engineering is maintenance. As soon as we construct something or buy an artifact – the responsibility of its maintenance comes along with it. So, most engineers are stuck with maintaining their creations. The only way to get out of the tiresome routine of maintenance is to disclose how the artifact was constructed so that the users can maintain it themselves or someone else can take over the maintenance activity. More importantly, it can be enhanced by others and we get useful feedback. Canopus Consulting is an open sources consulting – we don’t keep our knowledge and techniques a secret. The system of design that we use is made public in this section. You can use the material in this section for your own education and learning purposes. If you use any of these documents, articles, techniques in your work – please acknowledge the source. This material can be used freely for any non commercial purposes.

Advanced Topics in Software Engineering

This was a full semister course taught at IIIT-Hyderabad along with Dr. Vasudeva Varma. We explored the application of systems thinking to software engineernig and software architecture, the semantic structures of design and problem solving.
In this course, we proposed that Software Engineering is perhaps the only discipline whose aim is to teach problem-solving, not to […]

Software Architecture: Do & Describe

This workshop was conducted with Prof T.V.Prabhakar of IIT-Kanpur in Bangalore. It was a four day workshop. There were two tracks – one track dealt with various architecture methodologies, and how to describe and document architectures. The second track dealt with how to design architectures.

Lecture-1: Architecture Driven Organizations – Invited talk by Anand Sudarshan, then […]

A Systems Model of Diagnosis – application of heuristics in diagnosis

Diagnosis is one of the toughest problem solving exercises – be it diagnosing problems in a complex software application, or diagnosing a disease. The medical discipline and the software engineering adopted two very different approaches to diagnosis. The medical science over a period of several decades came up with many diagnostic equipment, various procedures for […]

Principles and Techniques of Software Architecture – Language Interfaces

Almost all successful software systems provide a programming language as their main interface. Relational Databases provide SQL as the primary interface to the data management, Unix was very successful primarily because of the C programming language interface, networking protocols like TCP/IP, messaging products and applications like POP3, IMAP were all successful because of their simple […]

A real world application of collaborative computing

In this paper, we describe the ‘semantics’ of collaborative computing, a philosophical explanation of Web2.0, propose a semantic model of users and then go on to apply this model to create a model for delivering distance education. If you are interested in implementing this as a business model – please let us know. We can […]

What is wrong with the Indian Software Industry?

Dr. Vasudeva Varma published a paper that described the main factors that contributed to the phenomenal growth of the Indian Software Industry. In this paper, Vasu studied one of the largest and most successful software companies in India, interviewed many top people in the organization to understand the factors behind their success, how they started […]

Large Scale Email Engine

We designed and implemented a very large scale, web based email-engine system for a media company in India. The design objectives that the system delivered were:

Support a very large user base – the initial system was designed to support up to 20 Million users with an average mail-box size of 2GB
Stringent performance and throughput requirements […]

Real Time Financial Search Engine

Nagaraju Pappu of Canopus Consulting worked as the chief architect of Vhayu Technologies and was responsible for the architecture and design of Vhayu’s Real Time Search Technology. When we started working on this project, the problem definition was very simple. We are asked to design a search engine for stock market data – a system […]

Integrate architecture driven methodologies into project management

Integrate architecture driven methodologies into project management effectively and smoothly
Service offerings:
Enterprise Architecture Services for Technology services companies
Case reference:
The next generation banking platform, the data aggregation solution as well as the Ports and Logistics management applications we developed at Planetasia serve as good examples of architecture driven development integrated into a classical CMM […]