Toolkit for Conceptual Modeling

Last updated

The Toolkit for Conceptual Modeling (TCM) is a collection of software tools to present specifications of software systems in the form of diagrams, tables, trees, and the like. TCM offers editors for techniques used in Structured Analysis as well as editors for object-oriented (UML) techniques. For some of the behavior specification techniques, an interface to model checkers is offered. More in particular, TCM contains the following editors.

Contents

The Toolkit for Conceptual Modeling was written circa 1996, by Roel Wieringa and Frank Dehne, for Wieringa's conceptual modeling courses and books, Requirements Engineering: Frameworks for Understanding, [1] [2] and Design Methods for Reactive Systems: Yourdon, Statemate and the UML. [3]

PDF versions of the User Guide [4] and report, The Yourdon Systems Method and the toolkit for conceptual modeling [5] are available for download.

TCM was an example of Computer Aided Software Engineering support for Method for Conceptual Modeling (MCM) in Model-Driven Architecture in Practice. [6] It was referenced in Petri Net Technology for Communication-Based Systems, [7] Formal Ontology in Information Systems, [8] and Proceedings : Ninth International Workshop on Software Specification and Design. [9]

TCM has been cited in patents for automatic software production. [10] [11]

In 1997, NASA converted TCM C++ source to Java for a Web-based Hyper-text Environment for Requirements Engineering (WHERE) project. [12]

See also

Related Research Articles

Unified Modeling Language Software system design modeling tool

The Unified Modeling Language (UML) is a general-purpose, developmental, modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.

The XML Metadata Interchange (XMI) is an Object Management Group (OMG) standard for exchanging metadata information via Extensible Markup Language (XML).

A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure.

The following outline is provided as an overview of and topical guide to software engineering:

Model Driven Architecture® (MDA®) is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model Driven Architecture is a kind of domain engineering, and supports model-driven engineering of software systems. It was launched by the Object Management Group (OMG) in 2001.

Round-trip engineering (RTE) is a functionality of software development tools that synchronizes two or more related software artifacts, such as, source code, models, configuration files, and even documentation. The need for round-trip engineering arises when the same information is present in multiple artifacts and therefore an inconsistency may occur if not all artifacts are consistently updated to reflect a given change. For example, some piece of information was added to/changed in only one artifact and, as a result, it became missing in/inconsistent with the other artifacts.

Entity–relationship model Model or diagram describing interrelated things

An entity–relationship model describes interrelated things of interest in a specific domain of knowledge. A basic ER model is composed of entity types and specifies relationships that can exist between entities.

A data-flow diagram is a way of representing a flow of data through a process or a system. The DFD also provides information about the outputs and inputs of each entity and the process itself. A data-flow diagram has no control flowthere are no decision rules and no loops. Specific operations based on the data can be represented by a flowchart.

A functional software architecture (FSA) is an architectural model that identifies enterprise functions, interactions and corresponding IT needs. These functions can be used as a reference by different domain experts to develop IT-systems as part of a co-operative information-driven enterprise. In this way, both software engineers and enterprise architects can create an information-driven, integrated organizational environment.

Metamodeling

A metamodel or surrogate model is a model of a model, and metamodeling is the process of generating such metamodels. Thus metamodeling or meta-modeling is the analysis, construction and development of the frames, rules, constraints, models and theories applicable and useful for modeling a predefined class of problems. As its name implies, this concept applies the notions of meta- and modeling in software engineering and systems engineering. Metamodels are of many types and have diverse applications.

Information model

An information model in software engineering is a representation of concepts and the relationships, constraints, rules, and operations to specify data semantics for a chosen domain of discourse. Typically it specifies relations between kinds of things, but may also include relations with individual things. It can provide sharable, stable, and organized structure of information requirements or knowledge for the domain context.

The Shlaer–Mellor method, also known as Object-Oriented Systems Analysis (OOSA) or Object-Oriented Analysis (OOA) is an object-oriented software development methodology introduced by Sally Shlaer and Stephen Mellor in 1988. The method makes the documented analysis so precise that it is possible to implement the analysis model directly by translation to the target architecture, rather than by elaborating model changes through a series of more platform-specific models. In the new millennium the Shlaer–Mellor method has migrated to the UML notation, becoming Executable UML.

Executable UML is both a software development method and a highly abstract software language. It was described for the first time in 2002 in the book "Executable UML: A Foundation for Model-Driven Architecture". The language "combines a subset of the UML graphical notation with executable semantics and timing rules." The Executable UML method is the successor to the Shlaer–Mellor method.

Systems Modeling Language

The Systems Modeling Language (SysML) is a general-purpose modeling language for systems engineering applications. It supports the specification, analysis, design, verification and validation of a broad range of systems and systems-of-systems.

Process specification is a generic term for the specification of a process. It is not unique to business activity, but can be applied to any organizational activity.

Structured analysis

In software engineering, structured analysis (SA) and structured design (SD) are methods for analyzing business requirements and developing specifications for converting practices into computer programs, hardware configurations, and related manual procedures.

Enterprise engineering is the body of knowledge, principles, and practices used to design all or part of an enterprise. An enterprise is a complex socio-technical system that comprises people, information, and technology that interact with each other and their environment in support of a common mission. One definition is: "an enterprise life-cycle oriented discipline for the identification, design, and implementation of enterprises and their continuous evolution", supported by enterprise modelling. The discipline examines each aspect of the enterprise, including business processes, information flows, material flows, and organizational structure. Enterprise engineering may focus on the design of the enterprise as a whole, or on the design and integration of certain business components.

Applications of UML

UML is a modeling language used by software developers. UML can be used to develop diagrams and provide users (programmers) with ready-to-use, expressive modeling examples. Some UML tools generate program language code from UML. UML can be used for modeling a system independent of a platform language. UML is a graphical language for visualizing, specifying, constructing, and documenting information about software-intensive systems. UML gives a standard way to write a system model, covering conceptual ideas. With an understanding of modeling, the use and application of UML can make the software development process more efficient.

Roelf Johannes (Roel) Wieringa is a Dutch computer scientist who was a Professor of Information Systems at the University of Twente, specialized in the "integration of formal and informal specification and design techniques".

Menthor Editor

Menthor Editor is a free ontology engineering tool for dealing with OntoUML models. It also includes OntoUML syntax validation, Alloy simulation, Anti-Pattern verification, and MDA transformations from OntoUML to OWL, SBVR and Natural Language.

References

  1. "Toolkit for Conceptual Modeling (TCM)". 2012-05-11. Archived from the original on 2012-05-11. Retrieved 2020-03-06.
  2. Wieringa, Roel (1996-05-03). Requirements Engineering: Frameworks for Understanding. Wiley. ISBN   978-0-471-95884-0.
  3. Wieringa, R. J. (2003-01-09). Design Methods for Reactive Systems: Yourdon, Statemate, and the UML. Elsevier. ISBN   978-0-08-050395-0.
  4. "Toolkit for Conceptual Modeling (TCM) User's Guide and Reference" (PDF). Retrieved March 28, 2020.
  5. The Yourdon Systems Method and the Toolkit for Conceptual modeling (PDF). Free University, Amsterdam. 2003.
  6. Pastor, Oscar; Molina, Juan Carlos (2007-06-14). Model-Driven Architecture in Practice: A Software Production Environment Based on Conceptual Modeling. Springer Science & Business Media. p. 29. ISBN   978-3-540-71868-0.
  7. Ehrig, Hartmut; Reisig, Wolfgang; Rozenberg, Grzegorz; Weber, Herbert (2003-11-17). Petri Net Technology for Communication-Based Systems: Advances in Petri Nets. Springer. ISBN   978-3-540-40022-6.
  8. Guarino, Nicola (1998). Formal Ontology in Information Systems: Proceedings of the First International Conference (FOIS'98), June 6–8, Trento, Italy. IOS Press. ISBN   978-90-5199-399-8.
  9. Proceedings : Ninth International Workshop on Software Specification and Design: April 16-18, 1998, Ise-Shima, Japan. IEEE Computer Society Press. 1998. ISBN   978-0-8186-8439-5.
  10. ,"Automatic software production system",issued 2006-10-04
  11. ,"Automatic software production system",issued 2008-09-26
  12. Dhaliwal, Swarn S. (1997-12-05). Providing the Persistent Data Storage in a Software Engineering Environment Using Java/COBRA and a DBMS (Thesis).