• Phil Ly

Stuart Selip’s Closer Look at: Software Modeling

Have you ever considered modeling?

No, we’re not suggesting you strut down the fashion runway or try to get that little ship to fit inside the bottle.  We are talking about modeling software-intensive systems using Unified Modeling Language (UML2).

Before we talk about modeling software, let’s look at a more familiar kind of model, a blueprint for a home. A home is a complex set of elements like rooms, stairways, entrance ways, windows, electrical services, and plumbing that must work together to form a useful, safe, and enjoyable living environment.

Over time, the architecture profession has evolved a set of standard drawing types that capture the organization, placement, and interaction of these building block elements. Three examples of blueprint drawings show an external view, floor plan, and electrical services of a home.

Long ago, it took years of drafting apprenticeship to create such plans. Today, it still takes training and skill to do the architecture, but architects use powerful computer-aided design (CAD) tools to render these plans and make them useful. In fact, if you purchase a factory-built home, the design models used to generate these drawings also drive the automated production process of the home.

Modeling business applications using UML2 is much the same as the modern building architecture process. As an IT architect, you still must know how users will interact with your system, and how available and reliable it must be. The architect must estimate the system’s transaction capacity, screens, controllers, data entities needed, and service behavior.

However, this is little different than the home’s architect knowing know how the home buyer will use the home (e.g. daily living, weekend cabin, summer shore), the home’s expected living capacity (e.g. number of bedrooms and bathrooms, size of kitchen, finished basement, separate apartment), and its necessary electrical, heating, cooling, and plumbing capacities.

To create business application systems UML2 models let you express meaning about the structure and behavior of software by drawing diagrams. If you construct the right models in the right way, and have the right Model-Driven Architecture (MDA) tools, you can turn your models directly into executable code. This is no different from a CAD model driving the production process of a factory-built home. To learn more about MDA, see our blog post on Model-Driven Architecture.

Which are the right models?

The right models are Clear and transparent. The models that are understandable to business stakeholders and technologists are usually Platform-Independent Models (PIM).  The PIM exactly captures the user interaction, behavior, and structure of your software solution without all the technical details that obscure business meaning. Remember that the architecture drawings of your home had to be clear and transparent, or the builders would have had real problems creating the structures and services.

Tthe PIM is not just a great communication tool. The PIM has First Class IT Asset Value. Remember that with the right MDA tool support, you can transform your PIM directly into executable software.  We do exactly that with our BluAge MDA tool suite. We transform PIMs directly into your desired target technologies, like Java or .Net.   This means your PIM is a first class IT asset that has value and life beyond any particular technical implementation. It becomes the “Single Source of Truth” for your software. Homeowners who have home renovation done without the benefit of a set of architectural drawings learn quickly that renovation turns from engineering into guessing and hoping.

Beyond communication and IT Assets, the PIM is about process efficiency and effectiveness. Drawing models is much faster than writing system design documents, and so is reading the model diagrams.  Transforming models directly into code is much faster and more reliable than error-prone hand coding. This is especially true if you have not yet established mastery of the target technology platform. Whether the domain is home building or application software, when the power of modeling and automated production is applied, the result is high-quality output, built on time and in budget.

When our BluAge tool suite transforms models, it is using the latest frameworks and techniques appropriate to the target architecture you select. The faster your PIM turns into code, the faster it can be tested and approved, or scheduled for PIM review and enhancement.

So, we’ve given you three good reasons to do some modeling.

  1. Clarity and Transparency – Your business stakeholders will understand your software design intentions much more easily and thoroughly, when compared to reading requirements or trying to understand code

  2. Asset Value – You will have a first class IT asset that documents your software in a language-independent way, and that transcends any particular implementation technology

  3. Efficiency and Effectiveness – Authoring models is faster than writing functional and technical specifications, and reading and checking models is faster than reading weighty documents.  Transforming models into code is much faster than hand coding and rapid transition to testing means efficient and effective approval, or feedback.

NonStop, MDA, and Modeling

TIC Software, using the MDA tool suite from our business partner BluAge, and focused modeling techniques tailored to BluAge,  is helping customers build NonStop Java applications quickly. Sorry, but we don’t build houses.

Here are some modeling specifics, at a glance.

  1. BluAge only requires three of more than one dozen UML2 diagram types.

  2. Each diagram type delivers a specific view of your system’s structure and behavior.

  3. The rich set of UML2 Stereotypes and Tags helps you clarify your model’s meaning.

  4. A set of intuitive “Modeling Wizards” multiplies your modeling efficiency

  5. BluAge’s model checker quickly finds model “syntax” errors, when you don’t use wizards.

Instead of building every conceivable UML2 diagram, confusing your stakeholders, and wasting valuable time, we speed things up by building the models that your users will understand, and that BluAge can turn directly into executable code. The generated code is tested, and approved, or the model is changed and the code regenerated, as necessary.  There is no extra diagramming and no hand coding!

We said that the Platform Independent Model (PIM) avoids technical implementation details.  Modelers focus on building business logic rather than dealing with technical matters like which Java frameworks to use.  Today, our generated code uses popular Java frameworks like “Hibernate” and “Spring”, also recommended by HP.   Of course, as the Java world marches on, BluAge will march with it, using the best technical frameworks then available.





Take Away

Our modeling approach focuses on creating the right model diagrams that will result in generating the right software solution for you.  Building the right models enables business stakeholders and technical staff to participate together, in the modeling process.  Modeling focuses on business rules, calculations, and process flows, while code generation handles “application burden” with frameworks.

Our BluAge MDA tool suite immediately generates those business models into executable solutions so business stakeholders can validate them, or make changes.  The bottom line is protected by delivering value on time, and avoiding disaster.

Whether you are interested in brand-new development, or want to re-engineer your existing COBOL applications into Java, TIC, and our modeling with BluAge, will make things happen more quickly, with higher quality, and lower solution lifecycle cost.

Are you ready to learn more about TIC, MDA and NonStop?  Send us an e-mail Schedule a conversation by emailing us at TIC Sales.

Feedback pleaseDo you find this tutorial blog helpful? Let us know what you think, and how we can make it even better. Don’t forget, you can subscribe to our blogs (top right-hand corner of this page) to get automatic email notification when a new blog is available.

 

#NonStop #TICSoftware #BluAge #HPENonStop #Java #COBOL

0 views0 comments

Recent Posts

See All