Scala

Term

Scala

Aliases

-

Identity

  • Term ID: src/main/doxsite/glossary/object-functional-programming/scala.dox

  • English label: Scala

  • Japanese label: Scala

  • Category: Object-Functional Programming

  • Status: normative

  • Definition authority: SimpleModeling BoK

Definition

Scala is a programming language that combines object-oriented and functional constructs in one static type system and is a primary realization target for connecting CML model structures to executable programs in SimpleModeling.

UML

UML Type, Classifier, and Class are not identical to Scala type, trait, and class. They are mapped when a design model is realized in the implementation language.

Object-Functional Paradigm

Scala connects object-side structures such as classes, traits, and enums with functional-side structures such as functions, values, effects, and composition through a shared type system. SimpleModeling uses this property to realize its Object-Functional Paradigm.

CML

Cozy maps CML model elements to Scala classes, traits, case classes, enums, function types, and other constructs. This is a meaning-based transformation and is not necessarily one-to-one.

Scala

This viewpoint treats Scala-specific constructs such as class, trait, case class, enum, opaque type, union type, intersection type, and function type as language constructs used to realize models. These Scala constructs can be mapped to UML and CML Types, Classifiers, and Classes, but they are neither identical concepts nor fixed one-to-one correspondences.

simplemodeling-lib

simplemodeling-lib is implemented in Scala 3 and provides runtime contracts for Schema Data Types, Runtime Data Types, Value Domains, multiplicity, constraints, and related concepts. The library’s current structure is not the definition of the Scala language.

Public Usage

Scala is a proper name and remains Scala in Japanese articles and videos. Its English label is not redundantly repeated at first occurrence.

Boundary

  • A Scala Type is not identical to a CML model Type.

  • Scala is a realization target, not the authority for SimpleModeling model meaning.

  • Type

  • Class

  • Trait

  • Object-Functional Paradigm

  • CML

  • Cozy

  • simplemodeling-lib

References

  • Scala 3 Reference

  • /Users/asami/src/dev2025/simplemodeling-lib/build.sbt

  • /Users/asami/src/dev2025/simplemodeling-lib/src/main/scala/org/goldenport/schema/DataType.scala

  • /Users/asami/src/dev2025/simplemodeling-lib/src/main/scala/org/goldenport/schema/Schema.scala

  • docs/spec/glossary-entry-format.md