Architecture vs Framework vs Methodology

Work in Progress

What is an Architecture? What is a Model?

Architecture – the fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution. (ANSI/IEEE 1471-2000 & ISO/IEC 42010:2007)

Architecture Description – a collection of artifacts or work products used to describe an architecture. IEEE 1471-2007 Conceptual Framework

Architecture Framework – describes the principles and practices used to develop an architecture description.  

Architecture Model – a representation of a model which typically consists of numerous constituent models including descriptive models, analytical models, requirements models, etc.  

Metamodel – “Model of the model”. Describes the conventions, relationships, etc. used within an architecture model.

What is a Framework?

A framework is a set of assumptions, concepts, values, and practices that provide a foundation for an activity or process. It is a structure that can be used to guide and inform decision-making, problem-solving, and the design and implementation of plans, projects, and programs.

A framework is how the entity is structured and how it is viewed.

What is a Methodology?

A methodology is a set of procedures, methods, and practices used to guide the development and implementation of a project, program, or system. It is a system of activities that includes the sequence of tasks, the tools and techniques used, and the resources required to complete the activities.

"In general a methodology can be defined as the collection of related processes, methods, and tools used to support a specific discipline (Martin, 1996).  That more general notion of methodology can be specialized to MBSE methodology, which we characterize as the collection of related processes, methods, and tools used to support the discipline of SE a "model based" or " model-driven" context (Estefan, 2008)."

"A number of methods available for MBSE is not significant (Nikolaidou et al., 2009). Most of them provide no architecture framework to organize modeling effort and thus are too abstract for solving a real-world problem. In systems and software engineering, the notion of architecture framework dates to the 1970s (Dave and Jim, 2005). The motivation for the term definition is to promote sharing the information about systems, architectures, and techniques for architecture description, inter-working to enable improved understanding, and interoperability between architecture communities who are using different conceptual foundations (Aurum and Wohlin, 2005)." 

MBSE methodologies are solving different tasks of systems engineering process (Dickerson and Mavris, 2009), (Friedenthal et al., 2007). Not only identification and gathering of artefacts in proper sequence is challenging for them. They also need to deal with information complexity issue. Most of the described methodologies use iterations to collect information step by step. However, this doesn't help to identify different levels of abstraction, which may result in model incorrectness or even become a serious obstacle to allocate responsibilities to teams, stakeholders, or contractors."-MBSE Grid

Methodologies:

Read More about each Methodology here: MBSE Methodologies

What is an Enterprise Architecture Framework (EAF)?

To manage different levels of abstraction, enterprise architecture frameworks (EAFs) can be used.  (Bernard, 2004) describes EAF as “It is a structure for organizing information that defines the scope of the architecture and how the areas of the architecture relate to each other”. -MBSE Grid

Enterprise Architecture Framework

Read more about each Enterprise Architecture Framework here: EAFs

What is an Ontology?

An ontology is a formal, explicit specification of a shared conceptualization. It is a conceptual model of the world or universe of discourse, consisting of a set of types, roles, and constraints that define and describe the types of objects and the relationships between them.

What is a Schema?

A schema is a logical structure that is used to organize and store data in a database. It is a collection of related data items, such as tables and fields, that can be used to model a specific problem domain, such as a customer database.

How These Terms Relate

"The Framework IS the ontology for describing the Enterprise. The Framework (ontology) is a STRUCTURE whereas a methodology is a PROCESS. A Structure is NOT a Process. A Structure establishes definition whereas a Process provides Transformation.  Processes based on ontological structure will be predictable and produce repeatable results (for example, Chemistry, based on the Periodic Table).  Conversely, Processes without ontological structures are ad hoc, fixed and dependent on practitioner skills (for example, Alchemy, based on trial and error). "

(www.zachman.com/about-the-zachman-framework)