Glossary

C

CASE

CASE (computer-aided software engineering) is the use of a computer-assisted method to organize and control the development of software, especially on large, complex projects involving many software components and people. Using CASE allows designers, code writers, testers, planners, and managers to share a common view of where a project stands at each stage of development. CASE helps ensure a disciplined, check-pointed process. A CASE tool may portray progress (or lack of it) graphically. It may also serve as a repository for or be linked to document and program libraries containing the project's business plans, design requirements, design specifications, detailed code specifications, the code units, test cases and results, and marketing and service plans. (Source: whatis.com)

See UML, XMI

CORBA

Common Object Request Broker Architecture (CORBA) is an architecture and specification for creating, distributing, and managing distributed program objects in a network. It allows programs at different locations and developed by different vendors to communicate in a network through an “interface broker”. CORBA was developed by a consortium of vendors through the Object Management Group (OMG), which currently includes over 500 member companies. Both International Organization for Standardization (ISO) and X/Open have sanctioned CORBA as the standard architecture for distributed objects (which are also known as components). CORBA 3 is the latest level. (Source: whatis.com)

See IDL.

I

IDL

Interface Definition Language (IDL) is a generic term for a language that lets a program or object written in one language communicate with another program written in an unknown language. In distributed object technology, it's important that new objects be able to be sent to any platform environment and discover how to run in that environment. An Object Request Broker (ORB) is an example of a program that would use an interface definition language to “broker” communication between one object program and another one. (Source: whatis.com)

See CORBA.

J

JSP

Java Server Page (JSP) is a technology for controlling the content or appearance of Web pages through the use of servlets, small programs that are specified in the Web page and run on the Web server to modify the Web page before it is sent to the user who requested it. JSP is comparable to Microsoft's Active Server Page (ASP) technology. Whereas a Java Server Page calls a Java program that is executed by the Web server, an Active Server Page contains a script that is interpreted by a script interpreter (such as VBScript or JScript) before the page is sent to the user. (Source: whatis.com)

JSP are defined in the JSP specification by Sun Microsystems. There are numerous tutorials published on the web. Very helpful - as a quick reference - is the JSP Syntax Card.

In iQgen JSP are not used for Web pages, but rather as templates for generating artifacts like classes, SQL scripts or configuration files that can be used for a software application. More information about how JSP are used in iQgen can be found here.

M

Model

A model of a system is a description or specification of that system and its environment for some certain purpose. A model is often presented as a combination of drawings and text. The text may be in a modeling language such as UML or in a natural language. (Source: OMG MDA Guide)

MOF

This is probably the least known of the OMG standards, but maybe the most important one. The Meta-Object Facility (MOF) is a conceptual framework for describing meta-data. Meta-data is, as the names suggests, data about data. To explain this, consider the following layers:

  1. A customer, ACME Corp., has placed an order for 32 boxes of candy on the 23rd of April.

  2. A customer has a name and can place zero to n orders, each order having a date and referencing a specfic item that is being sold.

  3. Classes have attributes which have a type, and classes can be related to each other.

  4. There are things that describe something, and there are connections between those things.

With numbers increasing, we move away from pure information (level 1) to a model layer (2), to a meta-model layer roughly resembling UML (3), to a meta-meta-model layer representing a way to describe meta-models.

MOF is mainly concerned with level 4, for which it contains a hard-coded set of “things”. (in fact this layer is a subset of UML).

So what is MOF? MOF is a way to describe meta-models, which in turn describe a specific way to model something. One example of a well-known meta-model is UML. But the separation allows MOF to be independent of UML and support other meta-models as well. MOF is thus a very generic and very powerful framework for expressing model and meta data information.

Apart from being a conceptual framework, MOF also defines a CORBA IDL mapping that specifies how MOF data can be accessed from CORBA applications. With JMI, the Java Metadata Interface, the Java Community Process (JCP) has just finalized a mapping of these interfaces for the Java language.

P

Platform

A platform is a set of subsystems and technologies that provide a coherent set of functionality through interfaces and specified usage patterns, which any application supported by that platform can use without concern for the details of how the functionality provided by the platform is implemented. (Source: OMG MDA Guide)

Platform Independent Model

A platform independent model (PIM) is a view of a system from the platform independent viewpoint. A PIM exhibits a specified degree of platform independence so as to be suitable for use with a number of different platforms of similar type.

A very common technique for achieving platform independence is to target a system model for a technology-neutral virtual machine. A virtual machine is defined as a set of parts and services (communications, scheduling, naming, etc.), which are defined independently of any specific platform and which are realized in platform specific ways on different platforms. A virtual machine is a platform, and such a model is specific to that platform. But that model is platform independent with respect to the class of different platforms on which that virtual machine has been implemented. This is because such models are unaffected by the underlying platform. (Source: OMG MDA Guide)

See Platform Specific Model.

Platform Specific Model

A platform specific model (PSM) is a view of a system from the platform specific viewpoint. A PSM combines the specifications in the PIM with the details that specify how that system uses a particular type of platform.

S

Stereotype

Stereotypes are the core extension mechanism of the UML. They let you create modeling constructs that aren't included in the UML, but are very similiar to something that is. An example are interfaces. Interfaces are very similiar to classes, but really aren't the same. Parts of the UML extended with a defined set of stereotypes can together form a UML profile.

U

UML

The Unified Modeling Language (UML) has become the one and only wide-spread standard modeling language, so that if anybody uses a modeling tool or simply draws something on a whiteboard, it will most likely follow UML conventions. UML defines a lot of different diagram types, the best-known of which are the class and the interaction diagram. Most CASE tools can export UML models as XMI files.

UML Profile

A UML profile is a specification that does one or more of the following:

  • Identifies a subset of the UML metamodel (which may be the entire UML metamodel).

  • Specifies “well-formedness” rules beyond those specified by the identified subset of the UML metamodel. “Well-formedness rule” is a term used in the normative UML metamodel specification to describe a set of constraints written in natural language and UML's Object Constraint Language (OCL) that contributes to the definition of a metamodel element.

  • Specifies “standard elements” beyond those specified by the identified subset of the UML metamodel. “Standard element” is a term used in the UML metamodel specification to describe a standard instance of a UML stereotype, tagged value or constraint.

  • Specifies semantics, expressed in natural language, beyond those specified by the identified subset of the UML metamodel.

  • Specifies common model elements (i.e., instances of UML constructs), expressed in terms of the profile.

(Source: UML Profile for CORBA)

See the section called “UML Profile Design”.

X

XMI

XML Metadata Interchange (XMI) is a standard, XML-based language to exchange model information between tools. All of the leading CASE tools, such as Rose, Together, Innovator, ArgoUML, Enterprise Architect and so on support XMI as their standard import and export format. XMI is not as standard as one could hope, but it's getting there.