Escolar Documentos
Profissional Documentos
Cultura Documentos
1
University of Arizona, Tucson, AZ, EUA
sprinkle@ECE.Arizona.Edu RWTH
2
Aachen University, Alemanha http://www.se-
rwth.de McGill University, Montreal,
3
Canadá hv@cs.mcgill.ca Vanderbilt
University, Nashville, TN, EUA
4
gabor.karsai@vanderbilt.edu
www.se-rwth.de/publications
taton o te sintaxe o moes metamoes também pode ser usado para ene te de modelos,
Machine Translated by Google
como discutiremos mais tarde. A abordagem em camadas para modelagem (thr
tamodelling) é representada na Figura 3.1.
Meta-metamodelo camada M0
define
conforme a
Metamodelo camada M1
define
conforme a
Modelo camada M2
resumos
implemento
Artefatos semânticos
(por exemplo, código, simulação) camada M3
Fig. 3.1. A arquitetura de metamodelagem de quatro camadas [5, 2, 6]. Alguns publicam
a numeração dessas camadas, mas nós usamos essa numeração, pois as plataformas
podem criar camadas de profundidade arbitrária (por exemplo, M3 pode de fato ser
modificado em outra camada M2).
arquetípico Desc
Conceito
Aula Classes específicas de entidades que existem em um determinado
sistema ou modelos de domínio são as próprias entidades e podem
conter entidades. Entidades são instâncias de classes. Classes
(portanto, podem ter atributos.
Associação Associações binárias e n-árias entre classes (e entidades) Associaçã
Especialização binária entre classes denotando um relacionamento IS-A Associação
Hierarquia binária entre classes denotando “contenção de agregação”. Realiza
encapsulamento e informações Uma expressão que define o co
Limitação (computável estaticamente) de parte do modelo : somente se todas
essas restrições avaliarem o modelo é chamado de “bem formado”.
Metamodelo
Especificações
Ambiente de modelagem
Construtor de modelo
Metamodelo modelos
Semântica
Tradução
Interpretação
Mapeamento semântico
Funções
Aplicativo
Evolução
Aplicativo. Aplicativo. Aplicativo.
1 2 N
Domínio de aplicativo
Classes EMOF Os
arquétipos fundamentais da metamodelagem são facilmente visíveis na Figura
(parede à Tabela 3.1). No entanto, como este é o metamodelo do MOF, ele foi
ligeiramente reescrito. O MOF permite que objetos de classe (que herdam de
objetos de tipo classe poderão conter recursos de propriedade e operação, os
recursos de propriedade e operação que pertencem a uma classe são derivados
de objetos de parâmetro ou associados a objetos de propriedade.
Deve ficar claro para o leitor, ao examinar os tipos de at este metamodelo,
que um dos principais objetivos do MOF é a modelagem de software mo é, o
objeto Class tem um membro de dados específico isAbstract, que é comumente
associado à arquitetura de software. Nem todas as metatécnicas são usadas
simplesmente como abstrações para modelos de software, como veremos na
Seção 3.1.5.
Dada a ampla aceitação do EMOF como uma estrutura de metamodelagem,
estão alguns dos principais recursos e benefícios do EMOF. É possível serializar
modelos usando o padrão XMI que o acompanha (que fornece o mapa de
EMOF para XML). Há também mapeamentos de EMOF para Java, gerando
arquiteturas de software e APIs a partir dos modelos. Usando as formas, também
é possível gerar operações reflexivas em software, manipulação de elementos
de metamodelo.
Machine Translated by Google
0..1 atributopropriedade Propriedade isReadOnly : 1
aula {pedido} 0..* Boolean = false default : String
[0..1] isComposite : Boolean = 0..1
false isDerived : Boolean = oposto
false isID : Boolean
0..*
superClasse
Operação
0..1 propriedadeParâmetro Parâmetro
{pedido} 0..*
0..1 OwnOperation
aula {pedido} 0..*
0..* 0..* Tipo
levantadaException
Inp
Fora afundar
p2 p4
source2
Inp Fora
p5
param2
Inp c1 Inp
Inp
source1 p1 p3
Fora
Inp c2 Inp
Inp
afundar
source2 p2 p4
c3
p5
param1
Fig. 3.4. Essas duas figuras mostram como os mesmos elementos estruturais podem ter
aspectos diferentes para visualizar os elementos do sistema de maneira eficaz. Em (a), é
dado o st relacionado ao fluxo de sinal. Em (b) os parâmetros compartilhados entre c são
facilmente vistos - e facilmente alterados.
Tipo 1 Tipo 1
Type2 Type2
isAbstract : Boolean = false isAbstract : Boolean = false
Novos padrões e estruturas não concebidos no momento do design da linguagem podem surgir
depois que os metamodelos foram projetados. Muitos ambientes de modelo permitem a
especificação em tempo de modelagem de um novo tipo de sistema, permitindo que um
modelador desenvolva um novo “tipo” a partir da composição e de instâncias de tipos de
domínio. Nesse caso, o novo “tipo” pode ser instanciado várias vezes e pode propagar as
alterações feitas em quaisquer instâncias desse tipo.
Com relação aos valores dos atributos desses modelos, sempre que um clone ou tipo é
criado, ele recebe os valores dos atributos do protótipo. A partir daí, existem várias questões
semânticas que devem ser abordadas pelo ambiente.
1
Esse metamodelo é reutilizado no Capítulo 9 para discutir a evolução
Machine Translated by Google
InPort OutPort
p1 pa
Componente1 Componente 2
p3 p2 pb peças
Componente1
p11
C1 p13 p1
p12
p21
p3 C2 p23 p2
p22
Fig. 3.6. (a) Um metamodelo que permite a interconexão de portas entre o modelo
compone construído usando o metamodelo em (a). A “seta” final da conexão com
a função dst.
Ferramentas e ambientes que permitem protótipos e clones adotam uma visão consistent
dessas questões. Ambos GME [12] e Ptolomeu II [3] atribuem modificações de valor de
clones. No caso de alterações no ori totype, é utilizado um comportamento copy-on-write
específico do atributo, em que os valores do atributo u refletem os valores do protótipo,
em vez de mantê-los no tempo de instanciação. Discutiremos na próxima seção como a
seleção por conter novos objetos em clones e protótipos pode criar alguma confusão.
Geralmente, cabe ao desenvolvedor da ferramenta determinar como visualizar protótipos
e clones. Se for fornecido um navegador separado que permita pesquisar e reproduzir
apenas hierarquias de protótipo e clone, não é necessário ter uma indicação visual de
que um determinado objeto é um clone.
protótipo se propaga para um cones desse protótipo. um oect conta um protótipo
Machine Translated by Google
é excluído, todos os clones removem suas associações de objetos
correspondentes a esse modelo, conforme apropriado).
0..*
0..*
Variável Descrição
0..*
min : Float max : FlowDynam :
0..* Float Strin fire( ) : vector<
Evento de Descrição
0..*
transição : Guarda do comportamento : Descrição Descrição
de string: Ação de String fire(): void da restrição : AlgebraicBeh :
string: String String isValid( ): Boolean Strin fire( ) : vector<
DST
Estado Descrição
éInicial: Boolean = false 0..* do sistema : String
fire(): void
origem
Equivalente
0..* 0..*
0..* 0..*
Transição Comportamento Variável Descrição
evento : String descrição: String fire(): min: Flutuar FlowDynamics : String
guard : String void máx.: Flutuante fire( ) : vector<Variable>
action : String 0..*
Limitação Descrição do
descrição: String comportamento algébrico :
isValid( ): Booleano String fire( ) : vector<Variable>
Fig. 3.7. Elementos dos domínios discreto e contínuo são mesclados em um novo
domínio, e uma relação de equivalência é usada para indicar o elemento idêntico em
cada metamodelo
capaz de modelar sistemas híbridos (aqueles sistemas onde cada disco tem uma dinâmica contínua),
podemos mesclar os dois metamodelos, e i relação de equivalência entre Comportamento na linguagem
de sistemas discretos Sistema na linguagem de sistemas contínuos. Nesta nova linguagem de
modelagem então é possível criar novos objetos do tipo System dentro de um State, mas isso não é
mostrado explicitamente através de relações de contenção entre Sy State. É possível ainda atribuir
relações entre objetos, uso, associação ou outras relações.
A metamodelagem como tecnologia fornece um poder significativo aos designers e tem sido
amplamente explorada em termos de dados de modelagem, linguagens suaves. Embora muitas das
propriedades, semântica e usos do delling sejam agora problemas “resolvidos”, há desafios de pesquisa
significativos.
Machine Translated by GoogleUma Questão Unificadora: Semântica
Uma característica unificadora de quase todas as questões de pesquisa pendentes
que dizem respeito à metamodelagem é a questão da semântica. O significado de
modelos e metamodelos clonados, evoluídos, etc., pode não ser claro, dependendo
das circunstâncias em que essas operações são realizadas.
3.3 Conclusões
[3] Sprinkle, J., Karsai, G., L´edeczi, A., Nordstrom, G.: A nova metam neração. In:
Eighth Annual IEEE International Conference and Works Engineering of Computer
Based Systems, abril de 2001, pp. 10), 64–72 (2004)
[5] Peltier, M., B´ezivin, J., Ziserman, F.: Sobre os níveis de transformação do modelo
Europa 2000, pp. 1–17 (2000)
[6] Sprinkle, J.: Computação integrada por modelo. IEEE Potentials 23(1), 28–3 [7]
Vangheluwe, H., de Lara, J.: Fundamentos da modelagem multiparadigma ção:
modelagem multiparadigma automatizada por computador: transformação da
metamodelagem. In: WSC 2003: Proceedings of the 35th Conference Simulation,
Winter Simulation Conference, pp. 595–603 (2003)
[8] Weisem¨oller, I., Sch¨urr, A.: Uma comparação de idiomas específicos de domínio
de maneira compatível com o padrão. In: ATEM 2007: 4th International Worksho
ware) Language Engineering, em conjunto com MoDELS (2007)
[9] Grupo de gerenciamento de objetos: Meta Object Facility 2.0 (janeiro de 2006)
[10] Object Management Group: Unified Modeling Language 2.1.2: Superstr
Infrastructure (novembro de 2007)
[11] Emerson, M., Neema, S., Sztipanovits, J.: 33. In: Metamodeling Lang
Metaprogrammable Tools. CRC Press, Boca Raton (2008) ISBN: 9781 [12]
Ledeczi, A., Bakay, A., Maroti, M., Volgyesi, P., Nordstrom, G., S Karsai, G.: Composiçã
de design específico de domínio ambientes. Cálculo 44–51 (2001)
[13] Tolvanen, JP, Rossi, M.: Metaedit+: definindo e usando linguagens de especificação
de domínio e geradores de código. In: OOPSLA 2003: Companion o Conferência
Anual ACM SIGPLAN sobre Linguagens de Programação Orientada a Objetos e
Aplicações, pp. 92–93. ACM, Nova York (2003)
[14] Mosterman, PJ, Vangheluwe, H.: Multi-paradi ling automatizado por computador:
uma introdução. Simulação: Transações da Society for Mo Simulation International
80(9), 433–450 (2004); Edição Especial: Grande para Modelagem e Simulação.
[15] de Lara, J., Vangheluwe, H., Alfonseca, M.: Meta-modelagem e gráfico para
modelagem multiparadigma em AToM3. Software e Sistemas Mod 194–209 (2004)
[16] Kurtev, I., B´ezivin, J., Jouault, F., Valduriez, P.: Model-based dsl fr Em: OOPSLA
Companion, pp. 602–616 (2006)
[17] Gray, J., Sprinkle, J., Rossi, M., Tolvanen, JP (eds.): 8th OOPSLA W Domain-
Specific Modeling (DSM 2008), University of Alabama at Bir OOPSLA (outubro de
2008), ISBN : 978-0-61523-024-5
ovanen, .., ray, ., prne, . es.: orsop o
Machine Translated by Google Modelagem Específica (DSM 2006), Universidade de Jyv¨askyl¨a, Jyv¨askyl¨a
OOPSLA (outubro de 2006), ISBN: 951-39-2631-1
[20] Tolvanen, JP, Sprinkle, J., Rossi, M. (eds.): 5th OOPSLA Workshop o Specific
Modeling (DSM 2005), University of Jyv¨askyl¨a, Jyv¨askyl¨a OOPSLA (outubro de
2005) , ISBN 951-39-2202-2
[21] Gray, J., Tolvanen, JP, Kelly, S., Gokhale, A., Neema, S., Sprinkle, J. modelagem
específica. In: Fishwick, PA (ed.) Handbook of Dynamic Syst ling. Chapman & Hall/
CRC, Boca Raton (2007), ISBN: 1584885653 [22] Warmer, J., Kleppe, A.: The
Object Constraint Language: Precise Mod
UML. Addison-Wesley, Reading (1999)
[23] Whitley, K.: Linguagens de programação visual e as evidências empíricas contra.
Journal of Visual Languages and Computing 8(1), 109–142 (1 [24] Knuth, DE:
backus normal form vs. backus naur form. Commun. A 735–736 (1964)
[25] Rekers, J., Sch¨urr, A.: Definindo e Analisando Linguagens Visuais com Laye
Grammars. Journal of Visual Languages and Computing 8(1), 27–55 ([26] Pierce,
BC: Types and Programming Languages. The MIT Press,
(2002)
[27] Winskel, G.: A semântica formal das linguagens de programação. Foun Computing
Series. The MIT Press, Cambridge (1993)
[28] Krahn, H., Rumpe, B., V¨olkel, S.: MontiCore: Linguagens específicas de domínio
de desenvolvimento modular. Em: Paige, RF, Meyer, B. (eds.) Proceedi 46ª
Conferência Internacional Objetos, Modelos, Componentes, Padrões Europa), pp.
297–315. Springer, Heidelberg (2008)
[29] Minas, M.: Especificação Visual de Editores Visuais com VisualDiaGen.
JL, Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, páginas Springer,
Heidelberg (2004)
[30] Karsai, G., Maroti, M., Ledeczi, A., Gray, J., Sztipanovits, J.: Compo cloning em
modelagem e meta-modelagem. IEEE Transactions on Contr Technology 12(2),
263–278 (2004)
[31] Eker, J., Janneck, J., Lee, E., Liu, J., Liu, X., Ludvig, J., Neuendorffer, S., Xiong, Y.:
Domando a heterogeneidade – a abordagem de Ptolomeu. Procedimento IEEE
91(1), 127–144 (2003)
[32] Ledeczi, A., Nordstrom, G., Karsai, G., Volgyesi, P., Maroti, M.: O del composer.
In: Proceedings of the 2001 IEEE International Con Control Applications (CCA
2001), pp. 756–760 (2001)
[33] Nordstrom, S., Shetty, S., Chhokra, KG, Sprinkle, J., Eames, B., L Anemic: ativador
de interface automática para computação integrada de modelo. ning, F.,
Smaragdakis, Y. (eds.) GPCE 2003. LNCS, vol. 2830, pp. 138– ger, Heidelberg
(2003)
[34] Jackson, E., Sztipanovits, J.: Formalizando a semântica estrutural de linguagens de
modelagem específicas. Modelagem de Software e Sistemas 8(4), 451– [35] Chen,
K., Sztipanovits, J., Abdelwahed, S., Jackson, E.: Transformações semânticas de
modelos de ancoragem. In: Hartman, A., Kreische, D. (eds.) ECMDA LNCS, vol.
3748, pp. 115–129. Springer, Heidelberg (2005)
, ., , .., , . –
Machine Translated by Google Modelo para UML: O modelo de máquina de estado. Relatório Técnico TUM-
I071 f¨ur Informatik, Technische Universit¨at M¨unchen (fevereiro de 2007)
[38] Broy, M., Cengarle, MV, Rumpe, B.: Semântica de UML – Rumo a um S
del para UML: O Modelo de Dados Estruturais. Relatório Técnico TUM-
I061 f¨ur Informatik, Technische Universit¨at M¨unchen (junho de 2006)
[39] Sprinkle, J., Karsai, G.: Uma linguagem visual específica de domínio para solução
de domínio. Journal of Visual Languages and Computing 15(3-4), 291–307 (2
edição oficial: Modelagem de domínio específico com linguagens visuais