📜 ⬆️ ⬇️

Tunnel modeling v0.1 - pseudocode

Good time to read, dear members habrahabr.ru

Tunnel modeling is a modeling method based on a combination of the level of abstractness (nine-level extension of the open systems interaction model) and the Deming cycle.

In a previous post, habrahabr.ru/post/176391 presented a collection of graphic primitives for use in modeling. An example of the use of graphic notation is given in the article Tunnel modeling of Unified knowledge. In this article we will discuss the possibility of using standard PC keyboard symbols for building such models.

Since this technique is in a state of "can this be?", Then we assign the version number 0.1 to the elements used in the simulation. At the same time, I ask readers to take into account that many components of modeling (the number of levels, the placement of components by levels of abstractness and phases of the Deming cycle, and the set of selected terms) are in the process of formation.
')
At the beginning of 2013, the model consists of four phases and nine levels.

Strikingly, the number of possible brackets on the keyboard is four pairs (and corresponds to the number of suits in the cards).

For pairs of brackets the following assignment is selected:
Loop element
Deming
a pair of bracketsCause
Act[...]Type designation for optional parameters
Plan{...}Compliance with this direction of the structure element
Do<...>As designation for tags and required parameters
Check(...)Use for parameters functions that
get the value at the time of the call


Approximately such matches in the number of characters were found for levels of abstractness.

Denote the symbols for the levels:
Level of abstractnessSymbolCause
Applied?compliance with the functional level and classification problems
Executive@consistency with context and interfaces
Session%ability to compare changes
Transport^associated with pascal pointers
Transformative!as a display of the importance of action
Network&AND, as a symbol of interaction
Systemic*recalls the integrity of the system
Channel$reminds about accumulation as the main task at this level
Physical#as the least suitable symbol for other levels


For use in programs and in the description of symbols of levels of abstractness and paired brackets can be used arbitrarily in accordance with the traditions, therefore meaningful when describing a model should be elements identified only by special sequences - special pair pairs:
- opening, consisting of the symbol of the corresponding opening bracket and the next character corresponding to the level
- closing, consisting of the character corresponding to the level and following it with the corresponding closing bracket

Special units must be separated from other text by whitespace. And, perhaps, each special box should be on a separate line. Or - the name of the model element can be found behind the opening bracket on a separate line.

Then standard bracket symbols can be used for use inside the model. However, you can enter one more special boxes to describe the hierarchy of the inclusion of elements: a pair of brackets {: ...:}. An environment rule with whitespace is also applied to them. Similar pairs of brackets are waiting for the definition of their application: [: ...:], <: ...:>, (: ... :)

List of terms for tunnel simulation version 0.2:

[ Perfection ]{ Planning }< Action >( Check )
Idea
Logical
[ Need ]{ Directivity }< Non-existence >( Denial )
navigation (link tracking, navigation) (1)
association end (association pole) (1)
dynamic simulation
(dynamic modeling) (1)
generalization set name (set name
generalizations) (1)
metadata (1)
N-ary association (N-ary
association) (1)
navigability (navigability) (1)
system
conception (conceptualization)
systems) (1)
Business leaders (2)
Motivation
(-) (2)
Scheduler (2)
NULL (zero) (1)
virtual (overlapping) (1)
Applied
[ Target ]{ Respondent }< Function >( Condition )
actor (actor) (1)
namespace (1)
swimlane (swimming track) (1)
People, Organizations (2)
abstract operation (abstract operation) (1)
application analysis
(application analysis) (1)
metaclass (1)
pattern
pattern) (1)
use case (use case) (1)
Architecture
applications (2)
List of key business processes (2)
Functions,
Processes (2)
composite state (composite state) (1)
enumeration
(transfer) (1)
ordered (1)
state
(condition) (1)
Executive
[ Viewpoint ]{ Generalization }< Interface >( Evaluation )
layer (1)
Scope (context) (2)
abstraction (1)
class (class) (1)
classification
(classification) (1)
generalization (generalization) (1)
model
(model) (1)
superclass (superclass) (1)
abstract class (1)
API (1)
application
programming interface (application programming interface) (1)
boundary class (1)
encapsulation
(encapsulation) (1)
interface (in java) (1)
user interface
(user interface) (1)
wrapper
(wrapper) (1)
Owner, manager (2)
Session
[ Criterion ]{ Forecast }< Culture >( History )
Enterprise Model (2)
rapid prototyping (fast prototyping) (1)
system design
(system design) (1)
Highlights (2)
Master plan
implementations (2)
Motivation (2)
Perspectives (rows in a table) (2)
interactive interface (1)
N-tier
architecture (layered architecture) (1)
OO development
(object-oriented development) (1)
SQL (1)
system architecture
(system architecture) (1)
three-tier architecture (three-tier
architecture) (1)
UML (1)
unified modeling language (unified modeling language
modeling language) (1)
visibility (1)
origin class (source class) (1)
persistent object (permanent
object) (1)
UML1 (1)
UML2 (1)
Transport
[ Strategy ]{ Planning }< Training >( Cognition )
architecture (architecture) (1)
single inheritance
inheritance) (1)
strong typing (1)
weak typing
(weak typing) (1)
Business goals and strategies (2)
Model
systems (2)
Running business strategies (2)
Business Plan (2)
derived class (1)
descendant class
(child class) (1)
enterprise model (1)
polymorphism (polymorphism) (1)
state model (state model) (1)
analysis (1)
reverse engineering (engineering analysis) (1)
Manager
[ Scenario ]{ Provision }< Project >( Audit )
activity (1)
control (1)
forward
engineering (direct engineering) (1)
life cycle (life
cycle) (1)
policy method (1)
scenario
(script) (1)
waterfall development (waterfall model
development) (1)
Technological (physical) model (2)
extend (extension) (1)
iterator (iterator) (1)
programming-in-the-large (programming large
systems) (1)
IT managers and
developers (2)
Designer (2)
Technological architecture (2)
class design (class design) (1)
class diagram (diagram
classes) (1)
denormalization (1)
Systemic
project (2)
integration testing (1)
system testing
(system testing) (1)
Evaluating
[ Attitude ]{ Help }< Management >( Accounting )
composition (composition) (1)
inheritance
(inheritance) (1)
User Interface Architecture (2)
extensibility (1)
method caching (caching
methods) (1)
active object (1)
controller (manager
object) (1)
delegation (delegation) (1)
lock
(lock) (1)
Time, schedules (2)
Business Events (2)
Leveling
[ Role ]{ Organization }< Competition >( Control )
People (2)
Roles and models of business rules (2)
dynamic binding (1)
interaction model
(interaction model) (1)
object-orientation (object
orientation) (1)
OO (1)
modularity (1)
race condition (race situation) (1)
activity token (activity marker) (1)
unit testing (modular
testing) (1)
Technological
Practical
[ Competence ]{ Reconcile }< Implementation >( Result )
library (library) (1)
Real people, organizations (2)
friend (1)
implementation modeling (1)
methodology (1)
multiple inheritance (multiple
inheritance) (1)
peer (equal, peer) (1)
Working
enterprise (2)
development (development) (1)
implementation
(implementation) (1)
Implementation of business logic (2)
Implementation Details (2)
Network location of systems (2)
Responsible
Stable
[ Responsibility ]{ Regulation }< Border >( Sustainability )
responsibility (1)
activity diagram (1)
development life cycle
(development life cycle) (1)
sequence diagram
sequences) (1)
substate (substate) (1)
thread of control
(control flow) (1)
final (for java class) (1)
final (for java method) (1)
system
boundary (system boundary) (1)
Security Architecture (2)
changeability (variability) (1)
coherence (consistency,
wholeness) (1)
implementation inheritance (inheritance in
implementation) (1)
leaf class (leaf class) (1)
robust
(stability) (1)
Parallel
[ Procedure ]{ Interaction }< Instance >( Completion )
partition (partition) (1)
specialization (specification) (1)
concurrent (parallel) (1)
direction (direction) (1)
transaction manager (transaction manager) (1)
focus of control (1)
lifeline (line
life) (1)
object (object) (1)
reification (incarnation) (1)
transient object (temporary object) (1)
Dislocation,
network (2)
Operating programs (2)
automatic transition (automatic transition) (1)
completion
transition (transition upon completion) (1)
destructor (1)
garbage collection (1)
Special
[ Requirement ]{ Supplier }< Products >( Consumer )
signature (signature) (1)
subclass (subclass) (1)
Architecture
presentations (2)
Developer (2)
ancestor class (ancestor class) (1)
concrete class (concrete
class) (1)
constructor (constructor) (1)
fourth generation language
(fourth generation language) (1)
method resolution
methods) (1)
new (object creation operator) (1)
object management
group (object management group) (1)
OMG (1)
public
(open) (1)
server (server) (1)
stored procedure
procedure) (1)
client (client) (1)
Internetwork
[ Composition ]{ Log in }< Process >( Logout )
include (inclusion) (1)
iterative development (iterative
development) (1)
Key Organizations (2)
Model
business processes (2)
Program Code (2)
Network (2)
Structure
processes (2)
entry activity (entry activity) (1)
schema (schematic) (1)
activation (activation) (1)
batch transformation (batch
transformation) (1)
continuous transformation
transformation) (1)
development stage (1)
do
activity (current activity) (1)
method (method) (1)
operation
(operation) (1)
service (1)
software engineering
software) (1)
Model Zahman (2)
Scheme
logistics (2)
Functions (2)
exit activity (exit activity) (1)
view
(presentation) (1)
Systemic
[ Knowledge ]{ System }< Alternative >( Usage )
association class (1)
data dictionary
data) (1)
object constraint language (object language
restrictions) (1)
OCL (Object Language Restrictions) (1)
shopping-list
operation (list operation) (1)
Designer, architect (2)
Model
workflow (workflow) (2)
Business Rules Descriptions (2)
database management system (1)
DBMS (DBMS) (1)
information hiding (1)
package
(package) (1)
private (private) (1)
protected (1)
relational dbms (relational subd) (1)
system (system) (1)
brain teaser
data models (2)
OO database (object-oriented database) (1)
OO
programming language (object oriented language
programming) (1)
OO-DBMS (Object-Oriented DBMS) (1)
override (substitution or overlap) (1)
fire (run actually) (1)
implementation method
implementation) (1)
overloading (overload) (1)
refactoring
(refactoring) (1)
state diagram (state diagram) (1)
Network
architecture (2)
Channel
[ Rule ]{ Structure }< Subject >( Resource )
access specifier (1)
base class (base
class) (1)
condition (condition) (1)
constraint (1)
derived element (1)
guard condition (guard
condition) (1)
normal form (normal form) (1)
aggregation (1)
assembly (set) (1)
class
model (class model) (1)
container class (container class) (1)
dictionary (1)
framework (frame) (1)
index (index) (1)
link (link) (1)
procedure-driven control (procedural
management) (1)
relational database (1)
subsystem (subsystem) (1)
table (table) (1)
use case diagram
(use case diagram) (1)
Distributed model
architecture (2)
Description of the data structure (2)
Physical model
data (2)
access modifier (1)
effect (action) (1)
event-driven control (1)
reference
(link) (1)
reflection (1)
this (target
object) (1)
Management structures (2)
attribute (1)
bag (multiset) (1)
database
data) (1)
member (class component, in c ++) (1)
passive object
(passive object) (1)
qualifier (1)
submachine
(nested state machine) (1)
value
(value) (1)
Data (2)
Data (2)
Physical
[ Essence ]{ Object }< Message >( Event )
_ test line (1)
List of important concepts and objects (2)
domain analysis (domain analysis) (1)
extent of a class
(class extent) (1)
Conceptual data model (2)
Territorial
location (2)
call-by-value (call by value) (1)
cardinality (cardinal
number, power) (1)
default value (default value) (1)
identifier (id) (1)
object identity (individuality
object) (1)
qualified association (1)
signal (1)
value-based identity (personality based
on the meanings) (1)
change event (1)
event (1)
nested
state (nested state) (1)
region (1)
signal event
(signal event) (1)
time event (1)
transition
(transition) (1)
Time (2)
Definition of time references (2)
Chaotic
[ Existence ]{ Communication }< Ability >( Accident )
entity-relationship (ER) model (entity-relationship model) (1)
ER
(entity-relationship) (1)
association (1)
call-by-reference
link) (1)
foreign key (foreign key) (1)
primary key (primary
key) (1)
scope (1)
sequence
(sequence) (1)
ternary association
association) (1)
candidate key (potential key) (1)
feature (component) (1)
identity (personality) (1)
multiplicity (1)
object
diagram (object diagram) (1)
static (data and class methods) (1)
transitive closure (1)
real-time system (1)
Spatial
Empty
1) UML 2.0. Object-oriented modeling and
development. 2nd ed. - SPb .: Peter, 2007.
2) Zahman - Architecture and strategy. "Yin" and "Yang"
information technology enterprise


The opinion of the author may not coincide with the Truth. In order and publication to get closer to the Truth.

Regarding the questions - please evaluate the possibility of placing them in relevant topics:

By levels of abstractness - habrahabr.ru/post/176249 (Abstractness and open systems interaction model)

On the Deming cycle and graphic modeling - habrahabr.ru/post/176391 (Open Systems Interconnection Model, Deming Cycle and Tunnel Modeling)

A library for the MS Visio environment has been developed for creating graphic models. It is available at palexisru.narod.ru/sisyphus/visio/TunnelElements.zip . The use of the SADT template is recommended for working with this library. Especially - the frame of the template.

The psychological basis for this approach is the three-dimensional scale of Hans JĂĽrgen Aysenck (psychoticism, neuroticism, extraversion). This suggests that a person has a predisposition to such an approach.

At this point I say goodbye to the participants of habrahabr.ru, as the author of the idea of ​​tunnel modeling, and I immediately return as a supporter of this approach.

This version of the simulation was successfully tested on unpretentious, not requiring decomposition, tasks. At the same time, the desire for symmetry was revealed: if the problem has a description at the upper levels, then it can be described at the lower levels with the same distance from the opposite pole.

You can find information by the keywords “tunnel modeling” in the search bar.

I am waiting for questions, refutations, suggestions, tasks for checking the approach.
Thank.

Literature:
Rambo, M. Blaha UML 2.0. Object-oriented modeling and development 2nd ed.-SPb: Peter, 2007
Danilin A., Slyusarenko A. Architecture and strategy. “Yin” and “Yang” of information technology of an enterprise: Internet-Inform. Technology, 2005

UPD: related articles

Abstraction and open systems interaction model habrahabr.ru/post/176249
Open Systems Interconnection Model, Deming Cycle and Tunnel Modeling habrahabr.ru/post/176391

UPD2: 05/31/2014 - the list of terms has been updated in accordance with the nineteen-level model of open systems interconnection habrahabr.ru/post/203770

Source: https://habr.com/ru/post/176935/


All Articles